网络算法学:应对网络性能瓶颈的有效策略
1. 网络算法学概述
网络算法学的目标是应对网络实施中的瓶颈问题。它不仅仅局限于为网络任务设计高效算法,更重要的是采用跨学科的系统方法来简化网络实现。网络算法学涵盖了架构、操作系统、硬件设计和算法设计等多个领域,通过15条原则来优化路由器和服务器等系统,在子系统之间进行功能的时空迁移以提高效率。
2. 网络瓶颈问题
2.1 终端节点瓶颈
终端节点包括个人电脑、工作站和大型服务器等,主要用于计算而非网络。其瓶颈通常由结构和规模两个因素导致:
- 结构因素 :为运行任意代码,个人电脑和大型服务器通常有操作系统在应用程序和硬件之间进行协调。大多数大型操作系统采用分层软件结构,实施保护机制,核心操作系统例程使用通用机制以适应广泛的应用程序。然而,这些因素的组合会极大地降低网络软件的速度,即使使用最快的处理器也无济于事。
- 规模因素 :大型服务器(如Web服务器)的出现带来了更多性能问题。许多操作系统使用的低效数据结构和算法是为连接数量较少的时代设计的,无法应对大量并发客户端的需求。
终端节点的主要瓶颈及解决方案如下表所示:
| 瓶颈 | 原因 | 示例解决方案 |
| ---- | ---- | ---- |
| 复制 | 保护、结构 | 无操作系统干预的多数据块复制(如RDMA) |
| 上下文切换 | 复杂调度 | 用户级协议实现、事件驱动的Web服务器 |
| 系统调用 | 保护、结构 | 从应用程序到驱动程序的直接通道(如VIA) |
|
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



