第二章网络实现模型
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
由领域内的专家对设计进行验证
2.1 协议抽象模型
协议定义了对等实体之 间通信的规则:
定义了对等实体之间交 换的报文的格式和次序
定义了在发送报文、收 到报文或收到其它事件 后采取的动作(通常给 出一个协议状态机)
定义了调用接口
2020/11/15
协议抽象模型(续)
可将协议看成是加上了调用接口和报文格式定义的状态 机,所有协议都可以抽象为图中的状态机模型:
高速链路 + 大规模并发流:
时间局部性很差,在一个包上执行的计算,在未来短时 间内重用到另一个包上的可能性很小
Cache命中率低,消除访存瓶颈困难
TCP流占主导 + TCP处理开销大:
优化TCP实现很重要
2.2 存储器
在Байду номын сангаас代计算机系统结构中,访存是最大的性能瓶颈:
存储器访问时间比指令执行时间长很多 处理器速度和访存速度之间的鸿沟越来越宽,使得访
大量应用使用TCP协议
小包很多
路由器收到的包中大约一半为最小长度(40字节)的包 移动互联网、即时通讯应用中大量都是小包
网络设备需要处理大量的并发流
骨干网上,在一个非常短的时间内大约有一百万个并发流经 过一个路由器
网络计算机系统面临的挑战
高速链路 + 大量小包:
包速率很高 处理一个包的时间必须非常短,线速处理难度大
Interleaved DRAM(交织内存)
将几个DRAM bank集成到一个 内存芯片中,复用数据线和地 址线
利用单个DRAM bank读写周期 长的特点,在总线上交替完成 对各个DRAM bank的访问
提高内存带宽
典型的产品有:
SDRAM:集成了2个bank RDRAM:集成了16个bank
存瓶项问题更加突出
访存构成了端节点和路由器的主要性能瓶颈:
数据包、状态信息、指令等都保存在内存中
许多系统优化工作都是围绕访存优化而展开的
2020/11/15
存储器的种类
寄存器:
由一组有序的触发器构成,访问片上寄存器的耗时大约 为0.5-1 ns
SRAM:
由一组寄存器构成。一般情况下,片上SRAM的访问时 间为1-2ns,片外SRAM的访问时间为5-10ns
问题规模:
核心路由器中大约有100万条并发的流
2020/11/15
设计方案考虑
需要设计一个数据结构:
每个流维护一个计数器 支持插入和查找两种操作,查找为针对流ID的精确匹配 要求限制最坏情况下的查找时间(不超过120ns) 考虑使用平衡二叉树
问题:查找树保存在什么地方?
为了获得高速度,应保存在SRAM中:
维护100万条流的状态,需要(96+16)*1M ≈ 14MB空间,代价太高!
为了降低代价,保存在普通DRAM中:
查找一个流需要log2106≈20次访存,按照访存周期50ns计算,查找 时间为1微秒,达不到线速处理的要求!
2020/11/15
使用RDRAM实现二分查找
考虑使用交织内存RDRAM(包含16个bank)实现高度为16的 二叉树,树中第i层的所有节点存储在bank i中。
假设DRAM的读写周期为10ns,而输 出一个地址只需要10ns
2020/11/15
举例:流ID的流水化查找
应用需求:
路由器统计每个流发送的包数 每个流用五元组<源IP地址,目的IP地址,源端口号,
目的端口号,协议>(共96位)进行描述
线速处理要求:
对于2.5Gbps链路和40字节最小数据包,流ID的查找时 间不能超过128ns。(40*8/2.5Gb/s = 128ns)
本地性能测量:如路由器查找速度,使用计算机内部的 性能测量工具(如Oprofile, Vtune)测量
本课程关注数据包在本地的处理速度,线速处理是系 统优化的重要目标之一
因特网环境的特点
链路速度已达到万兆量级
10Gbps已普及,40Gbps在数据中心很常见,100Gbps已出现
TCP流量占主导
提供行地址时,选中的那一行数据 (4字节)进入到row buffer中
如果要访问的4个字节刚好位于同 一行(页),不需要再提供列地址
快页内存有利于快速访问局部性好的数据:
可以一次读取相邻的4个字节
优化访存的措施:
有意识地组织数据,将那些要被读取的数据保存在连续位置
2020/11/15
存储器的种类:交织内存
一个上层接口调用使协议状态机初始化 在某个状态时,可能发送一个报文、收到一个报文或发
生一个定时器事件,并进入一个新的状态
常见而耗时的功能(TCP/IP)
与数据包收发有关的功能: 数据操作:交换、数据拷贝、 检错等 分配资源(如内存、CPU)
与协议处理有关的功能: 重组数据包 查表及修改状态 设置定时器 调度任务
查找芯片同时对16个数据包(流ID)进行查找,比如:
第一个读周期(60ns):用第1个包的流ID查找bank 1中的根节 点,得到bank 2(第二层)中要查找的节点;
第二章 网络实现模型
模型的重要性
网络算法学的一个难题是它需要多个领域的知识:
协议、硬件、体系结构、操作系统、算法等 需要不同领域的专家协作设计出高效的网络计算机系统
不同领域的专家通过简单的模型进行对话:
模型描述了问题的要点,又不涉及不必要的细节 最低程度:模型应能定义所需要的术语(能够交流) 最好情况:领域外的专家可以根据模型进行设计,并可
现在的高端多核处理器具有L1、L2、L3 三级cache
DRAM:
存储单元组织成行、列二维结构。片上DRAM的访存延 迟大约为30ns,最快的片外DRAM访存延迟为40-60ns, 连续读的延迟约为100ns
2020/11/15
存储器的种类:快页内存
page-mode DRAM(快页内存)利 用DRAM的结构特点,优化对相邻 存储单元的连续访问:
数据包交付给应用: 解复用(确定目标程序) 控制切换(唤醒目标程序)
重要的性能指标
两个最重要的性能指标:
吞吐量:每秒处理的包数(pps)或比特数(bps) 延迟:处理一个数据包的时间(通常关注最坏情况延迟)
性能测量分为:
全局性能测量:如端到端延迟和带宽,使用网络管理工 具(如OpenView)进行测量
2.1 协议抽象模型
协议定义了对等实体之 间通信的规则:
定义了对等实体之间交 换的报文的格式和次序
定义了在发送报文、收 到报文或收到其它事件 后采取的动作(通常给 出一个协议状态机)
定义了调用接口
2020/11/15
协议抽象模型(续)
可将协议看成是加上了调用接口和报文格式定义的状态 机,所有协议都可以抽象为图中的状态机模型:
高速链路 + 大规模并发流:
时间局部性很差,在一个包上执行的计算,在未来短时 间内重用到另一个包上的可能性很小
Cache命中率低,消除访存瓶颈困难
TCP流占主导 + TCP处理开销大:
优化TCP实现很重要
2.2 存储器
在Байду номын сангаас代计算机系统结构中,访存是最大的性能瓶颈:
存储器访问时间比指令执行时间长很多 处理器速度和访存速度之间的鸿沟越来越宽,使得访
大量应用使用TCP协议
小包很多
路由器收到的包中大约一半为最小长度(40字节)的包 移动互联网、即时通讯应用中大量都是小包
网络设备需要处理大量的并发流
骨干网上,在一个非常短的时间内大约有一百万个并发流经 过一个路由器
网络计算机系统面临的挑战
高速链路 + 大量小包:
包速率很高 处理一个包的时间必须非常短,线速处理难度大
Interleaved DRAM(交织内存)
将几个DRAM bank集成到一个 内存芯片中,复用数据线和地 址线
利用单个DRAM bank读写周期 长的特点,在总线上交替完成 对各个DRAM bank的访问
提高内存带宽
典型的产品有:
SDRAM:集成了2个bank RDRAM:集成了16个bank
存瓶项问题更加突出
访存构成了端节点和路由器的主要性能瓶颈:
数据包、状态信息、指令等都保存在内存中
许多系统优化工作都是围绕访存优化而展开的
2020/11/15
存储器的种类
寄存器:
由一组有序的触发器构成,访问片上寄存器的耗时大约 为0.5-1 ns
SRAM:
由一组寄存器构成。一般情况下,片上SRAM的访问时 间为1-2ns,片外SRAM的访问时间为5-10ns
问题规模:
核心路由器中大约有100万条并发的流
2020/11/15
设计方案考虑
需要设计一个数据结构:
每个流维护一个计数器 支持插入和查找两种操作,查找为针对流ID的精确匹配 要求限制最坏情况下的查找时间(不超过120ns) 考虑使用平衡二叉树
问题:查找树保存在什么地方?
为了获得高速度,应保存在SRAM中:
维护100万条流的状态,需要(96+16)*1M ≈ 14MB空间,代价太高!
为了降低代价,保存在普通DRAM中:
查找一个流需要log2106≈20次访存,按照访存周期50ns计算,查找 时间为1微秒,达不到线速处理的要求!
2020/11/15
使用RDRAM实现二分查找
考虑使用交织内存RDRAM(包含16个bank)实现高度为16的 二叉树,树中第i层的所有节点存储在bank i中。
假设DRAM的读写周期为10ns,而输 出一个地址只需要10ns
2020/11/15
举例:流ID的流水化查找
应用需求:
路由器统计每个流发送的包数 每个流用五元组<源IP地址,目的IP地址,源端口号,
目的端口号,协议>(共96位)进行描述
线速处理要求:
对于2.5Gbps链路和40字节最小数据包,流ID的查找时 间不能超过128ns。(40*8/2.5Gb/s = 128ns)
本地性能测量:如路由器查找速度,使用计算机内部的 性能测量工具(如Oprofile, Vtune)测量
本课程关注数据包在本地的处理速度,线速处理是系 统优化的重要目标之一
因特网环境的特点
链路速度已达到万兆量级
10Gbps已普及,40Gbps在数据中心很常见,100Gbps已出现
TCP流量占主导
提供行地址时,选中的那一行数据 (4字节)进入到row buffer中
如果要访问的4个字节刚好位于同 一行(页),不需要再提供列地址
快页内存有利于快速访问局部性好的数据:
可以一次读取相邻的4个字节
优化访存的措施:
有意识地组织数据,将那些要被读取的数据保存在连续位置
2020/11/15
存储器的种类:交织内存
一个上层接口调用使协议状态机初始化 在某个状态时,可能发送一个报文、收到一个报文或发
生一个定时器事件,并进入一个新的状态
常见而耗时的功能(TCP/IP)
与数据包收发有关的功能: 数据操作:交换、数据拷贝、 检错等 分配资源(如内存、CPU)
与协议处理有关的功能: 重组数据包 查表及修改状态 设置定时器 调度任务
查找芯片同时对16个数据包(流ID)进行查找,比如:
第一个读周期(60ns):用第1个包的流ID查找bank 1中的根节 点,得到bank 2(第二层)中要查找的节点;
第二章 网络实现模型
模型的重要性
网络算法学的一个难题是它需要多个领域的知识:
协议、硬件、体系结构、操作系统、算法等 需要不同领域的专家协作设计出高效的网络计算机系统
不同领域的专家通过简单的模型进行对话:
模型描述了问题的要点,又不涉及不必要的细节 最低程度:模型应能定义所需要的术语(能够交流) 最好情况:领域外的专家可以根据模型进行设计,并可
现在的高端多核处理器具有L1、L2、L3 三级cache
DRAM:
存储单元组织成行、列二维结构。片上DRAM的访存延 迟大约为30ns,最快的片外DRAM访存延迟为40-60ns, 连续读的延迟约为100ns
2020/11/15
存储器的种类:快页内存
page-mode DRAM(快页内存)利 用DRAM的结构特点,优化对相邻 存储单元的连续访问:
数据包交付给应用: 解复用(确定目标程序) 控制切换(唤醒目标程序)
重要的性能指标
两个最重要的性能指标:
吞吐量:每秒处理的包数(pps)或比特数(bps) 延迟:处理一个数据包的时间(通常关注最坏情况延迟)
性能测量分为:
全局性能测量:如端到端延迟和带宽,使用网络管理工 具(如OpenView)进行测量