当前位置:首页 > 报告详情

SONiC Lite - How to fit SONiC into a small box.pdf

上传人: 2*** 编号:139928 2023-08-27 18页 1.03MB

1、SONiCon a management or access switchSONiCLite:How to fit SONiCinto a small boxIT Ecosystem:NetworkingSONiCLite:How to fit SONiCinto a small boxTaras Chornyi,Solutions Architect,PLVisionAndriy Kokhan,Solutions Architect,PLVisionA typical SONiCplatformIntel Xeon-D CPUup to 16G of RAMup to 256Gb stora

2、geup to 128x100G portsruns SONiC48x1G+4x10G or 4x25GARM/MIPS/x86up 2G RAMup to 4G of storagecan run SONiC?A typical access/management switchsonic-vs VM as DUTcodebase master fffeec6eccdefault build from AzureVM resources2CPU 2GB RAMHow SONiCutilizes resourcesTools used:systemd-bootchartperftopsmempa

3、rse.py the script which parses bootchart svg and showshow often each process wascalled and howmany calls utilizedmore than 50%of CPUThe idea is to check and optimize the common SONiC partVendor-specific parts can be quite heavy for CPU/storage/RAMEvaluation must be done for specific platforms/vendor

4、sWhat about a vendor-specific part?1.Idle the system is up and running for 3min.All servicesare fully initialized.2.Config reload issue config reload ywhen the system is in idlestate.3.Show the system in idle state,show command issued in the loop 1 iteration/s.States analyzedrootsonic-1:/home/admin#

5、smem-a-k-t-wAreaUsedCache Noncachekernel dynamic memory538.8M155.0M383.8Muserspace memory1.3G87.0M1.2Gfree memory92.2M92.2M0-1.9G334.1M1.6GSONiCRAMusageSONiCRAM usageDuring the config reload the most visible impact is caused by:sonic-cfggen called 30 times.In 19/30 runs,CPU utilization exceeded 50%P

6、ython3 applications called 147 times.In 34/147 runs,CPU utilizationexceeded 50%CPU usage(reload)Move Python imports from the file scope to the function scopeDisable system-health service or refactor healthd implementationCheck for possible command-specific improvementsUp to 2 times faster executionS

word格式文档无特别注明外均可编辑修改,预览文件经过压缩,下载原文更清晰!
三个皮匠报告文库所有资源均是客户上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作商用。
本文主要探讨了如何将SONiC这一开源网络操作系统适配到小型交换机上。SONiC Lite是针对小尺寸设备优化的版本,文章提出了将其部署在资源有限的环境中的一些策略。关键数据包括:典型的SONiC平台支持16G RAM、256Gb存储和128个100G端口;而典型的接入/管理交换机使用的是小于2GB RAM的虚拟机。 文章分析了SONiC在资源利用上的表现,并提出了优化措施,例如通过调整Python代码和 services来减少CPU使用率,以及通过精简不必要的库和内核模块来减少存储占用。通过特定的配置,可以显著减少SONiC的内存和存储需求,例如移至精简的Docker基础镜像可节省约103MB空间,卸载未使用的内核模块可节省80MB。 此外,文章强调了针对特定用例定制SONiC功能列表的重要性,以减小其整体足迹。最终目标是优化SONiC工具,定义新代码添加的最佳实践,并在开发和CI/CD流程中推广性能分析。通过这些方法,可以使SONiC更适合小型交换机和管理型交换机的需求。
如何优化SONiC在小型设备中的性能? 如何根据特定用例定制SONiC功能? 如何减少SONiC镜像大小并提高速度?
客服
商务合作
小程序
服务号
折叠