From 0800dad0e453b9917570dd5f9e02c5207eead0f2 Mon Sep 17 00:00:00 2001 From: arora Date: Tue, 30 Jul 2024 09:49:59 +0200 Subject: [PATCH 1/2] (doc): Added a new doc on hardware requirements - Added information about the CPU clock-speed in 7.2 docs --- doc/HARDWARE_REQUIREMENTS.md | 136 +++++++++++++++++++++++++++++++++++ doc/ORAN_FHI7.2_Tutorial.md | 7 +- 2 files changed, 142 insertions(+), 1 deletion(-) create mode 100644 doc/HARDWARE_REQUIREMENTS.md diff --git a/doc/HARDWARE_REQUIREMENTS.md b/doc/HARDWARE_REQUIREMENTS.md new file mode 100644 index 0000000000..efdebcca94 --- /dev/null +++ b/doc/HARDWARE_REQUIREMENTS.md @@ -0,0 +1,136 @@ + + + + + +
+ + + + + + Hardware Requirement for Using OAI Stack +
+ +This document explains the minimal and performance hardware requirement for OpenAirInterface (OAI) software stack (UE and RAN stack). The information provided in this document is based on experimentation, if you have a feedback then open an issue or send an email on the mailing list. + +**Table of Contents** + +[[_TOC_]] + +# Supported CPU Architecture + +|Architecture | +|------------------------------------------ | +|x86_64 (Intel, AMD) | +|aarch64 (Neoverse-N1, N2 and Grace hopper) | + +**Note**: + +- On `x86_64` platform the CPU should support `avx2` instruction set (Minimum requirement). + +# Minimum Hardware Requirement for x86_64 Platforms + +The minimum hardware requirements depends on the radio unit you would like to use or the test case that you would like to execute. + +## Simulated Radio + +OAI offers an inbuilt simulated radio, [RFSimulator](../radio/rfsimulator/README.md). It can be used to understand how different channel model behaves. It is not designed to do high performance testing. The above requirements are valid for both 4G and 5G RAN and UE Stack. + +### Minimum requirements for RAN Stack + +- CPU: 4 +- Memory: 4Gi +- `avx2` instruction set +- `sctp` protocol should be enabled + +### Minimum requirements for UE Stack + +- CPU: 3 +- Memory: 3Gi +- `avx2` instruction set + + +## USRP B2XX or Blade RF + +USRP B2XX or Blade RF are USB based radios recommended to use with USB 3.0. You can choose a minimum hardware to do functional testing and performance hardware for performance testing. This hardware you can find in Mini-PCs or laptops. + +### Minimum requirements for RAN Stack + +- CPU: 4 +- Memory: 4Gi +- `avx2` instruction set +- `sctp` protocol should be enabled +- USB 3.0 + +### Minimum requirements for UE Stack only with USRP B2XXX + +- CPU: X +- Memory: X +- `avx2` instruction set +- USB 3.0 + +### Recommended for performance for RAN Stack + +- High clock speed CPUs > 4GHz +- DDR4 or DDR5 RAM +- Use only performance cores +- Disable CPU sleep states +- CPU: X +- Memory: 4Gi +- `avx2` instruction set +- `sctp` protocol should be enabled +- USB 3.0 + +### Recommended for performance for UE Stack only with USRP B2XXX + +- High clock speed CPUs > 4GHz +- DDR4 or DDR5 RAM +- Use only performance cores +- Disable CPU sleep states +- CPU: X +- Memory: 4Gi +- `avx2` instruction set +- USB 3.0 + +Apart from this you should follow [this document](./tuning_and_security.md) to +tune your system to get high performance. + +## USRP N3XX/X3XX/X4XX + +USRP N3XX/X3XX/X4XX requires two dedicated 10G SFP+ connections. For these radios we only recommend having performance hardware. This hardware you can find in Desktop servers or rack/blade servers. + +### Recommended for performance for RAN Stack + +- High clock speed CPUs > 4GHz +- DDR4 or DDR5 RAM +- Use only performance cores +- Disable CPU sleep states +- CPU: X +- Memory: X +- `avx2` instruction set +- `sctp` protocol should be enabled +- (Optional) Realtime kernel to have better Jitter statistics +- Intel x710/xx710/E-810 or Mellanox connect 5x or 6x + +### Recommended for performance for UE Stack + +- High clock speed CPUs > 4GHz +- DDR4 or DDR5 RAM +- Use only performance cores +- Disable CPU sleep states +- CPU: X +- Memory: X +- `avx2` instruction set +- (Optional) Realtime kernel to have better Jitter statistics +- Intel x710/xx710/E-810 or Mellanox connect 5x or 6x + +In case you are using Mellanox NIC cards then you have to download `mlnx-ofed` and configure your NIC for performance. + +Apart from this you should follow [this document](./tuning_and_security.md) to +tune your system to get high performance. + +## O-RAN Radio Units + +We have dedicated documentation for O-RAN Radio Units. [Refer to that documentation](./ORAN_FHI7.2_Tutorial.md) before purchasing a Desktop server or rack/blade server. + diff --git a/doc/ORAN_FHI7.2_Tutorial.md b/doc/ORAN_FHI7.2_Tutorial.md index a000a6c3ad..07e6fbc663 100644 --- a/doc/ORAN_FHI7.2_Tutorial.md +++ b/doc/ORAN_FHI7.2_Tutorial.md @@ -26,7 +26,12 @@ The hardware on which we have tried this tutorial: |Intel(R) Xeon(R) Gold 6354 36-Core, 128GB|Ubuntu 22.04.3 LTS (5.15.0-1033-realtime) |Intel X710, i40e, 9.00 0x8000cfeb 21.5.9 | |AMD EPYC 9374F 32-Core Processor, 128GB |Ubuntu 22.04.2 LTS (5.15.0-1038-realtime) |Intel E810 ,ice, 4.00 0x8001184e 1.3236.0| -**NOTE**: These are not minimum hardware requirements. This is the configuration of our servers. The NIC card should support hardware PTP time stamping. +**NOTE**: + +- These are not minimum hardware requirements. This is the configuration of our servers. +- The NIC card should support hardware PTP time stamping. +- If you are using Intel servers then use only Ice Lake or newer generations. In case of AMD use only 4th generation, Genoa or newer. +- If you try on any other server apart from the above listed, then choose a desktop/server with clock speed higher than 3.0 GHz and `avx512` capabilities. NICs we have tested so far: From f648c09df680a9c7b2b812b9e16a6c34f8defe34 Mon Sep 17 00:00:00 2001 From: arora Date: Wed, 31 Jul 2024 13:24:50 +0200 Subject: [PATCH 2/2] system requirements, cpu frequency information Signed-off-by: arora --- README.md | 1 + ...REQUIREMENTS.md => system_requirements.md} | 117 +++++++++--------- 2 files changed, 59 insertions(+), 59 deletions(-) rename doc/{HARDWARE_REQUIREMENTS.md => system_requirements.md} (51%) diff --git a/README.md b/README.md index 04cb4e8db0..b5d3dc46c0 100644 --- a/README.md +++ b/README.md @@ -43,6 +43,7 @@ Please see [NOTICE](NOTICE.md) file for third party software that is included in * [General overview of documentation](./doc/README.md) * [The implemented features](./doc/FEATURE_SET.md) + * [System Requirements for Using OAI Stack](./doc/system_requirements.md) * [How to build](./doc/BUILD.md) * [How to run the modems](./doc/RUNMODEM.md) diff --git a/doc/HARDWARE_REQUIREMENTS.md b/doc/system_requirements.md similarity index 51% rename from doc/HARDWARE_REQUIREMENTS.md rename to doc/system_requirements.md index efdebcca94..f231f9c398 100644 --- a/doc/HARDWARE_REQUIREMENTS.md +++ b/doc/system_requirements.md @@ -7,12 +7,12 @@ - Hardware Requirement for Using OAI Stack + System Requirements for Using OAI Stack -This document explains the minimal and performance hardware requirement for OpenAirInterface (OAI) software stack (UE and RAN stack). The information provided in this document is based on experimentation, if you have a feedback then open an issue or send an email on the mailing list. +This document describes the minimal and performant system requirements for OpenAirInterface (OAI) 4G/5G software stack (UE and gNB stack). The information provided in this document is based on experimentation, if you have a feedback then open an issue or send an email on the mailing list. **Table of Contents** @@ -29,108 +29,107 @@ This document explains the minimal and performance hardware requirement for Open - On `x86_64` platform the CPU should support `avx2` instruction set (Minimum requirement). +# Supported Operating System + +|Operating System | +|-----------------| +|Ubuntu 20/22/24 | +|RHEL 9 | +|Fedora 40 | +|Debian 11 | +|Rocky 9 | + + # Minimum Hardware Requirement for x86_64 Platforms The minimum hardware requirements depends on the radio unit you would like to use or the test case that you would like to execute. ## Simulated Radio -OAI offers an inbuilt simulated radio, [RFSimulator](../radio/rfsimulator/README.md). It can be used to understand how different channel model behaves. It is not designed to do high performance testing. The above requirements are valid for both 4G and 5G RAN and UE Stack. +OAI offers an inbuilt simulated radio, [RFSimulator](../radio/rfsimulator/README.md). It can be used to familiarize oneself with OAI, for development and debugging, and offers the possibility to use basic channel models. It is not designed to do high performance testing. The below requirements are valid for both 4G and 5G RAN and UE Stack. -### Minimum requirements for RAN Stack +The following requirements are minimum requirements for all use cases: -- CPU: 4 +### Minimum requirements for gNB Stack + +- CPU: 2 +- Minimum frequency > 2GHz - Memory: 4Gi - `avx2` instruction set - `sctp` protocol should be enabled +**NOTE**: We have not tested on Intel Atom or Celeron processors, and they +likely won't work well. + ### Minimum requirements for UE Stack -- CPU: 3 +- CPU: 2 +- Minimum frequency > 2GHz - Memory: 3Gi - `avx2` instruction set +**NOTE**: We have not tested on Intel Atom or Celeron processors ## USRP B2XX or Blade RF USRP B2XX or Blade RF are USB based radios recommended to use with USB 3.0. You can choose a minimum hardware to do functional testing and performance hardware for performance testing. This hardware you can find in Mini-PCs or laptops. -### Minimum requirements for RAN Stack +The minimum requirements stated in [simulated radio](.##simulated-radio) apply. + +### Minimum requirements for both gNB and UE Stack + +- CPU: 3 +- Memory: 5Gi +- Disable CPU sleep states +- USB 3.0 +- Intel i5, AMD Ryzen 5 + +### Recommended for performance for gNB and UE Stack - CPU: 4 -- Memory: 4Gi -- `avx2` instruction set -- `sctp` protocol should be enabled -- USB 3.0 - -### Minimum requirements for UE Stack only with USRP B2XXX - -- CPU: X -- Memory: X -- `avx2` instruction set -- USB 3.0 - -### Recommended for performance for RAN Stack - -- High clock speed CPUs > 4GHz -- DDR4 or DDR5 RAM +- Boost Frequency > 3GHz - Use only performance cores +- Disable hyper-threading - Disable CPU sleep states -- CPU: X -- Memory: 4Gi -- `avx2` instruction set -- `sctp` protocol should be enabled +- DDR4 or DDR5 RAM, minimum 5Gi - USB 3.0 -### Recommended for performance for UE Stack only with USRP B2XXX - -- High clock speed CPUs > 4GHz -- DDR4 or DDR5 RAM -- Use only performance cores -- Disable CPU sleep states -- CPU: X -- Memory: 4Gi -- `avx2` instruction set -- USB 3.0 - -Apart from this you should follow [this document](./tuning_and_security.md) to +Apart from this you should follow [tuning and security tips](./tuning_and_security.md) to tune your system to get high performance. -## USRP N3XX/X3XX/X4XX +## USRP N3XX/X3XX/X4XX/AW2S -USRP N3XX/X3XX/X4XX requires two dedicated 10G SFP+ connections. For these radios we only recommend having performance hardware. This hardware you can find in Desktop servers or rack/blade servers. +USRP N3XX/X3XX/X4XX requires two dedicated 10G SFP+ connections. For these radios we only recommend having performance hardware. This hardware you can find in Desktop servers or rack/blade servers. For the gNB, the same applies in case of using AW2S radios. -### Recommended for performance for RAN Stack +The minimum requirements stated in [simulated radio](.##simulated-radio) apply. -- High clock speed CPUs > 4GHz -- DDR4 or DDR5 RAM +Apart from this you should follow [tuning and security tips](./tuning_and_security.md) to +tune your system to get high performance. + +**NOTE**: In case you are using Mellanox NIC cards then you have to download `mlnx-ofed` and configure your NIC for performance. + +### Recommended for performance for gNB Stack + +- CPU: 8-10 +- Boost Frequency > 4GHz - Use only performance cores - Disable CPU sleep states -- CPU: X -- Memory: X -- `avx2` instruction set -- `sctp` protocol should be enabled +- DDR4 or DDR5 RAM, 5 Gi - (Optional) Realtime kernel to have better Jitter statistics - Intel x710/xx710/E-810 or Mellanox connect 5x or 6x ### Recommended for performance for UE Stack -- High clock speed CPUs > 4GHz -- DDR4 or DDR5 RAM +- CPU: 4 +- Boost Frequency > 4GHz +- DDR4 or DDR5 RAM, 5Gi - Use only performance cores - Disable CPU sleep states -- CPU: X -- Memory: X -- `avx2` instruction set - (Optional) Realtime kernel to have better Jitter statistics - Intel x710/xx710/E-810 or Mellanox connect 5x or 6x -In case you are using Mellanox NIC cards then you have to download `mlnx-ofed` and configure your NIC for performance. - -Apart from this you should follow [this document](./tuning_and_security.md) to -tune your system to get high performance. - ## O-RAN Radio Units -We have dedicated documentation for O-RAN Radio Units. [Refer to that documentation](./ORAN_FHI7.2_Tutorial.md) before purchasing a Desktop server or rack/blade server. +We have dedicated documentation for O-RAN Radio Units. [Refer to 7.2 FH documentation](./ORAN_FHI7.2_Tutorial.md) before purchasing a Desktop server or rack/blade server. +The minimum requirements stated in [simulated radio](.##simulated-radio) apply.