You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* chore: reorder import statements in README and docs
* chore: update README documentation wording
* chore: update README description for ROCK & ROLL Team
@@ -111,7 +109,7 @@ If you don't want to use uv to manage the environment, you can refer to [install
111
109
112
110
4.**OS Support**: ROCK recommends managing environments on the same operating system, such as managing Linux image environments on a Linux system. However, it also supports cross-operating system level image management, for example, launching Ubuntu images on MacOS. For specific details, please refer to the MacOS Launch section in [quickstart.md](docs/docs/rock/quickstart.md)
113
111
114
-
### Using GEM Protocol Environment
112
+
### Using Env Protocol
115
113
ROCK is fully compatible with the GEM protocol, providing standardized environment interfaces:
116
114
117
115
```python
@@ -140,9 +138,9 @@ env.close()
140
138
```python
141
139
import asyncio
142
140
141
+
from rock.actions import CreateBashSessionRequest
143
142
from rock.sdk.sandbox.client import Sandbox
144
143
from rock.sdk.sandbox.config import SandboxConfig
145
-
from rock.sdk.sandbox.request import CreateBashSessionRequest
146
144
147
145
148
146
asyncdefrun_sandbox():
@@ -163,43 +161,23 @@ if __name__ == "__main__":
163
161
164
162
## 🛠️ System Architecture
165
163
166
-
### Technical Components
164
+
### ROCK Service Architecture
165
+
The service layer implements a distributed architecture with three core node roles:
167
166
168
-
#### SDK Components
169
-
-**Sandbox Client**: Python SDK for interacting with remote sandbox environments
170
-
-**Environment Management**: Tools for building and managing development environments
171
-
172
-
#### Admin Management Server
173
-
Backend service for sandbox orchestration, supporting optional read-write separation architecture to improve performance and scalability:
174
-
-**Write Cluster**: Handles sandbox creation/destruction and other write operations
175
-
-**Read Cluster**: (Optional) Handles execution requests for existing sandboxes
176
-
-**API Endpoints**: RESTful API for sandbox management
177
-
178
-
#### Support Read-Write Separation Architecture
179
-
ROCK supports optional read-write separation architecture, routing different types of operations to dedicated server clusters to improve performance:
180
-
181
-
**Write Cluster Responsibilities**:
182
-
- Sandbox environment creation and destruction
183
-
- Other operations that modify system state
184
-
185
-
**Read Cluster Responsibilities** (Optional):
186
-
- Sandbox status queries
187
-
- Command execution
188
-
- File upload/download
189
-
- Session management operations
190
-
191
-
The read cluster is designed to reduce Ray pressure by directly managing sandboxes without going through an actor again, thereby improving overall system performance and response speed.
192
-
193
-
By default, ROCK uses a single cluster to handle all operations. When read-write separation is configured, the system routes read operations and write operations to different clusters to improve performance and scalability.
167
+
-**Admin**: The scheduling node responsible for deploying Environments as Sandboxes and managing Sandbox resource scheduling and allocation
168
+
-**Worker**: The working node that allocates machine physical resources to Sandboxes and executes the specific Sandbox runtime
169
+
-**Rocklet**: A lightweight proxy service component that handles SDK-to-Sandbox Action communication and supports external internet service access
194
170
195
171
### Core Technologies
196
-
-**Container Management**: Container orchestration using Docker SDK
197
-
-**Web Framework**: Management services provided using FastAPI and uvicorn
198
-
-**Distributed Computing**: Distributed task processing using Ray
199
-
-**Concurrent Support**: Supports launching multiple independent sandbox environments simultaneously for concurrent testing, fully utilizing system resources
172
+
-**Distributed Architecture**: Multi-node design with Admin, Worker, and Rocklet components for scalability
173
+
-**Runtime Isolation**: Stateful sandbox runtimes with multiple isolation mechanisms
174
+
-**Flexible Deployment**: Support for different deployment methods for diverse environment requirements and Operating System
175
+
-**Protocol Compatibility**: Support for multiple interaction protocols
176
+
-**Container Orchestration**: Docker-based container management with resource allocation
177
+
200
178
201
-
### GEM Protocol Support
202
-
ROCK is compatible with the GEM protocol, providing the following standard interfaces:
179
+
####GEM Protocol Support
180
+
ROCK maintains compatibility with GEM interfaces for reinforcement learning environments:
203
181
-`make(env_id)`: Create environment instance
204
182
-`reset(seed)`: Reset environment state
205
183
-`step(action)`: Execute action and return results
0 commit comments