低延迟网络技术和“子弹”
|
在对低延迟网络进行了一些基本的搜索之后,我提出了以下清单,程序员和系统设计人员在着手进行低延迟网络时应考虑的事项:
硬件,系统和协议的设计必须一起考虑
使用UDP而不是TCP开发协议并实现简单的确认,在应用程序级别重新发送逻辑
减少消耗或打包数据的进程或线程的上下文切换的数量(最好为零)
对操作系统使用最佳选择器(选择,队列,epoll等)
使用具有大量板载缓冲区(fifo)的高质量NIC和交换机
使用多个NIC,专门用于下游和上游数据流
减少其他设备或软件生成的IRQ的数量(如果不需要,则将其删除)
减少互斥量和条件的使用。而是尽可能使用无锁编程技术。利用该架构的CAS功能。 (无锁容器)
考虑单线程而不是多线程设计-上下文切换非常昂贵。
了解并正确利用架构的缓存系统(L1 / L2,RAM等)
建议完全控制内存管理,而不是委派给垃圾收集器
使用高质量的电缆,使电缆尽可能短,减少扭曲和卷曲的次数
我的问题:我想知道SO伙伴在开始低延迟网络时还有哪些其他重要的事情。
随时批评以上几点
没有找到相关结果
已邀请:
3 个回复
樊熄忙暖
队辅坟阮阶
缕嚏冻