Authors: Ravindranath C K, Chris Nitin Petrus, Dhruvkumar Kadia, Kumaresh Babu
The SONiC Hackathon 2024 was a global virtual event that showcased ten innovative projects from around the world. The fact that each project could achieve such a significant impact in just under three days highlights the transformative power of SONiC’s open and disaggregated design.
We are thrilled to announce that our project won the prestigious “Most Wanted by Users” Award at the 2024 SONiC Hackathon. Our solution’s ability to simplify deployments, enhance configuration flexibility, and improve cross-platform operability clearly resonated with the community, making it the most sought-after project. This marks Marvell’s second participation in the SONiC Hackathon, and we have got the “Most Wanted by Users” award on both occasions.
The Challenge
Many hackathon projects have focused on improving the monitoring, troubleshooting, debuggability, and testing of SONiC. However, we believe one of the core roles of a Network Operating System (NOS) is to optimize the use of the hardware data plane (i.e., the NPUs and networking ASICs). As workloads become increasingly demanding, it is crucial to maximize the efficiency of the data plane. Commercial black box NOS are tailored to specific NPUs/ASICs to achieve optimal performance, and we at Marvell have been assisting in this area for decades. SONiC, however, supports a diverse range of NPUs/ASICs, presenting a unique challenge.
We have been contributing features to SONiC to ensure optimal use of the underlying networking ASIC resources. Over time, we recognized the need to provide operators with flexibility in utilizing ASIC resources while reducing the platform-specific complexity gradually being introduced into SONiC’s core component, the Orchagent. This approach will help SONiC operators to maintain consistent device configurations, even when using devices from different platform vendors.
The Solution
During this Hackathon, we developed a framework called “BYOC: Bring Your Own Configuration,” allowing networking ASIC vendors to expose their hardware capabilities in a file describing intent. A new agent transforms the user’s configuration into an optimal SONiC configuration based on the capabilities file. This approach allows ASIC vendors to ensure that user configurations are converted to optimal ASIC configurations. It also allows SONiC operators to fine-tune the hardware resources consumed based on the deployment needs. It further helps in optimally migrating configurations from vendor NOS to SONiC based on the SONiC platform’s capability.
Potential Impact
This project benefits various members of the SONiC community:
- Operators: Simplifies adoption and deployment across different vendors, and allows fine-tuning based on deployment needs.
- Platform Vendors: Optimizes the use of networking ASIC resources and facilitates onboarding new ASICs without modifying core code.
- Developer Community: Results in cleaner code and demonstrates the power of disaggregation and open interfaces.
Future Steps
We plan to invite the SONiC community (including other networking ASIC vendors and SONiC operators) to be a part of a working group that will define use-cases requiring SONiC customization. The goal is to integrate these into the BYOC framework, benefiting the entire SONiC community. Once standardized, the orchestration working group will clean up platform-specific handling in the Orchagent code. After which, BYOC can be available to all community members.