| | 418 | |
| | 419 | |
| | 420 | == Experiment Execution: Nexus == |
| | 421 | |
| | 422 | [https://github.com/functions-lab/Nexus Nexus] extends this work to '''efficient and scalable multi-cell mmWave baseband processing with heterogeneous compute'''. Unlike the single-cell Savannah pipeline above, Nexus is able to process multiple cells concurrently on shared, heterogeneous compute resources. |
| | 423 | |
| | 424 | === Download and Install Nexus === |
| | 425 | |
| | 426 | The Nexus codebase is open-source and hosted on !GitHub. On the server ({{{srv1-lg1}}}), clone and build the repository: |
| | 427 | |
| | 428 | {{{ |
| | 429 | git clone https://github.com/functions-lab/Nexus.git |
| | 430 | cd Nexus |
| | 431 | }}} |
| | 432 | |
| | 433 | Please follow the build/installation instructions in the repository's {{{README}}} to compile Nexus (it uses a CMake-based build similar to Savannah). |
| | 434 | |
| | 435 | Repository: [https://github.com/functions-lab/Nexus/tree/main https://github.com/functions-lab/Nexus/tree/main] |
| | 436 | |
| | 437 | === Run with Emulated-RU === |
| | 438 | |
| | 439 | The detailed, up-to-date execution flow is documented in the repository under the '''"Run with Emulated-RU"''' section. At a high level, you run the gNodeB (base station) in one terminal and the UE (sender) in another, passing one JSON config file per cell. Additional cells can be added by appending the corresponding JSON config files. |
| | 440 | |
| | 441 | In terminal 1, bring up the gNodeB (base station): |
| | 442 | |
| | 443 | {{{ |
| | 444 | sudo LD_LIBRARY_PATH=${LD_LIBRARY_PATH} ./build/agora <Cell-1> <Cell-2> ... <Cell-N> |
| | 445 | }}} |
| | 446 | |
| | 447 | In terminal 2, bring up the UE (sender): |
| | 448 | |
| | 449 | {{{ |
| | 450 | sudo LD_LIBRARY_PATH=${LD_LIBRARY_PATH} ./build/sender --num_threads=<X> --core_offset=<X> --enable_slow_start=1 <Cell-1> <Cell-2> ... <Cell-N> |
| | 451 | }}} |
| | 452 | |
| | 453 | For the full set of steps, configuration options, and the multi-cell setup, please refer to the '''"Run with Emulated-RU"''' section of the [https://github.com/functions-lab/Nexus/tree/main Nexus repository]. |