11# Aggregation Mode Setup
22
3+ ## Overview
4+
5+ The aggregation mode runs on a Paperspace GPU server. To avoid paying for the GPU
6+ 24/7, the server is kept powered off and is only started once a day:
7+
8+ 1 . The [ ` Start Aggregation Mode Server ` ] ( ../../.github/workflows/aggregation_mode.yml )
9+ GitHub Actions workflow runs daily at 15:00 UTC (12:00 GMT-3) and starts the
10+ Paperspace machine via the Paperspace API.
11+ 2 . On boot, ` aggregation_mode.service ` runs automatically and executes
12+ [ ` run.sh ` ] ( run.sh ) , which runs the SP1 and Risc0 aggregations.
13+ 3 . When the aggregations finish, ` run.sh ` powers the machine off again
14+ (` sudo shutdown -h now ` ), so Paperspace stops billing it.
15+
16+ The workflow needs:
17+
18+ - ` PAPERSPACE_API_KEY ` repository ** variable** — a Paperspace API key.
19+ - ` PAPERSPACE_MACHINE_ID ` repository ** variable** — the id of the GPU machine.
20+
321## Setup on Server with GPU
422
523To setup the server with GPU, follow the steps in [ aggregation_mode.sh] ( aggregation_mode.sh ) .
624
7- After running all the steps, ` aggregation_mode.timer ` will execute every 24hs the ` aggregation_mode.service `
25+ After running all the steps, ` aggregation_mode.service ` is enabled to run on every
26+ boot. There is no timer anymore — the daily schedule is driven by the GitHub Actions
27+ workflow described above.
828
929## Check Service Status
1030
11- To check the status of the timer, run:
12-
13- ``` bash
14- systemctl status aggregation_mode.timer --user
15- ```
16-
1731To check the status of the service, run:
1832
1933``` bash
@@ -22,7 +36,7 @@ systemctl status aggregation_mode.service --user
2236
2337## Start Service manually
2438
25- If you need to start the service manually, without waiting for the timer , run:
39+ If you need to start the service manually (the machine is already on) , run:
2640
2741``` bash
2842systemctl start aggregation_mode.service --user
@@ -33,7 +47,7 @@ systemctl start aggregation_mode.service --user
3347To check the logs of the service, run:
3448
3549``` bash
36- journalctl -xfeu aggregation_mode.service --user
50+ journalctl -xfeu aggregation_mode.service --user
3751```
3852
3953Note: You can add ` -n <n_of_lines> ` to limit the number of lines to show.
0 commit comments