Model Runner
The Model Runner is a gRPC server that runs alongside a submitted model and makes it callable over the network. It handles three things:- Dynamic loading — discovers and instantiates the participant’s model class at startup
- Remote execution — exposes model methods over gRPC so the Coordinator can call them
- Access control — enforces the Secure Model Protocol to verify that only authorized Coordinators can reach the model
Dynamic subclass pattern
When the Coordinator initializes a model through the Client, it specifies a base class (e.g.,starter_challenge.tracker.TrackerBase) that the model must implement. The Model Runner:
- Searches the submitted code for a class that inherits from this base class
- Instantiates it
- Exposes its methods over gRPC
Health checks
The Runner exposes a health check service so the Coordinator can verify availability remotely. If a model becomes unresponsive, the Client detects it and disconnects.Model Runner Client
The Model Runner Client is the Coordinator-side Python library. It connects to the Model Orchestrator, maintains a live list of available models, and fans out calls to all of them concurrently over gRPC. It is designed for reliability at scale — even when some models are slow, buggy, or offline.Initialization
Then start the connection:
Calling models
Every call fans out to all connected models concurrently. You specify the method name and arguments:
You can also target a subset of models — for example, to allocate more inference budget to top
performers.
Timeout and failure handling
All calls execute with the configured timeout. The Client applies safeguards so a single slow or broken model cannot block the entire system:- A call is marked TIMEOUT if the model takes too long to respond
- A call is marked FAILURE if the model raises an exception or returns invalid data
Async architecture
The Client is fully asynchronous because it needs to:- Maintain a persistent connection to the Orchestrator
- Call many models concurrently on every tick
Next: Model Orchestrator
How model containers are deployed, monitored, and kept reachable.