更全的杂志信息网

一种高性能计算网络下的TCP查找哈希算法

更新时间:2009-03-28

0 引 言

随着计算机技术和电力行业的迅猛发展,智能电网与高性能计算机集群的联系越来越密切。由于电力系统本身对数据实时性及计算性能的高要求,智能电网中的数据处理主要由计算机集群提供的高性能计算服务完成,其中的数据传输主要由计算机集群之间的高性能计算网络完成,高性能计算网络就是指能够在集群主机之间提供极高通信性能的网络[1]。由于通信机制越来越难设计,所以通信往往成为开发的瓶颈,如何使高性能计算机集群运行得更快、更高效一直是研究的热点[2]。事实上,高性能计算已被公认为是继理论科学和实验科学之后,人类认识世界改造世界的第三大科学研究方法,是科技创新的重要手段[3]。因此这就对计算机集群的计算性能提出了更高要求。目前,高性能计算网络在广域网中主要依赖于TCP来实现[4],但随着高性能计算网络中TCP会话数量的快速增长,传统TCP会话的查找算法很难在查找速率和查找时所占用的计算机处理器的缓存大小之间达到平衡。TCB(传输控制块)是一种用于维持每个TCP会话状态的数据结构。一般来说,TCB的大小为280~1 300字节。在如今的高性能计算网络中,TCP会话的数量一般可以达到一百万个,也就是说TCB将占用280 MB~1.3 GB的储存空间,而主流的计算机处理器的最后一级高速缓存(LLC)的规模通常为10 MB,这就使得TCB的存储器占用空间是LLC的大小的几十万倍。对于这种巨大的工作量,几乎每个沿链表的搜索步骤都会导致查找TCP会话时计算机的缓存不够。已有研究[5-7]表明,TCP会话的查找时间主要是由主存储器访问的CPU性能决定的,而不是由指令的执行时间决定的。因此,即使只是次要的存储器访问也会显著增加TCP查找的时间,也就是说,传统的TCP查找算法中哈希表的数据结构已经不能满足查找高性能计算网络中大量TCP会话的要求,且会对计算机的处理器缓存造成极大负担。为了解决这些问题,必须提出一种适合现代计算机处理器的TCP会话的哈希查找算法。

1 技术背景

哈希表是在当前TCP过程中计算机查找TCB最广泛使用的方法。当TCP会话到达时,计算机按照哈希函数将TCP会话标识符映射为哈希值,然后使用哈希值定位哈希桶,最后在发生哈希冲突时对冲突链表进行搜索。只有当装填因子较低时,哈希表才有较好的性能。在数百万个TCP会话并行的情况下,如果装填因子仍要保持较低水平,则TCB哈希表将变得特别大,这就会占用计算机极大的存储空间,然而,限制哈希表大小又会大大增加发生哈希冲突的可能性,这就使哈希表的优点不再存在。

文献[8]介绍了目前的算法会导致计算机查找TCP会话时因TCP会话过多而产生性能急剧恶化的现象,这是因为哈希表的大小与会话数量成比例增长会导致计算机占用的内存空间增加。此外,由于对TCB的访问缺乏规律,当有大量的TCP会话需要处理时,增加计算机缓存大小并不能带来较大的性能优化。为了改善哈希表的查找瓶颈,文献[9-13]提出了一些优化方案来减少计算机的查找时间和内存占用,然而它们都不能适应高性能计算网络的要求,特别是不能适应在实际系统中对高性能网络的缓存有效使用。

近年来也有许多采用硬件来优化TCB查找的方案。文献[14]中利用网络会话的特点设计出了服务器专用的TCB缓存硬件。文献[15]设计了一种复杂的函数,该函数将会话签名和TCB位置转换为32位代码,存储在专用TCB缓存硬件中。由于资源有限,上述解决方案都只能用来处理少量TCP会话,且它们的扩展成本非常高,这无法满足高性能计算网络中百万数量级的TCP会话的要求。除了性能和价格这对矛盾之外,硬件解决方案还需要修改现有的网络栈结构,这是很难实现的。

2 一种基于哈希表的TCP查找优化算法

2.1 签名算法

文中提出了一种基于哈希查找的签名算法,它不再使用TCP会话的4元组,即源IP地址、目的地IP地址、源端口、目的端口来生成哈希值,而是使用32位的短签名来标记TCP会话。由于不需要将完整的TCB标识符存储在哈希表中,而只需要存储短签名,哈希表的大小大大减少,查找时需要的缓存也大大减少。签名算法的主要作用是数据压缩,这就有可能产生匹配冲突的现象,即不同的TCP会话恰好具有相同的签名。因此,每当在哈希表中匹配到对应的TCP会话的签名时,应访问相应的TCB,并比较4元组,对实际匹配的TCP会话进行确认。由于签名匹配出错会导致额外的存储器访问,低匹配出错率是签名算法最重要的特性。另外,签名算法必须对每个TCP会话执行,故其计算次数不能太多。

文中采用一种较为简单的签名算法,对第一个TCP会话,简单地对其4元组执行异或来获得签名,即计算源IP地址⊕目的地IP地址⊕源端口⊕目的端口来得到签名,而对于之后的TCP会话,则将该TCP会话与前一个TCP会话按上述步骤得到的两个32位数进行异或,以作为该TCP会话的短签名。

2.2 数据结构

图1描述了优化后的TCB查找数据结构,一般用TCP会话标识符作为哈希函数的输入,每个哈希桶包含16个槽,每个槽为32位长。在对TCB阵列预分配时,引入参数N表示哈希表中的槽的数量。前N个会话与每个槽一一映射,剩余元素则被保留在TCB池中用于下次分配。当冲突的TCB的数量大于哈希桶中的最大的槽的数量时,这些冲突的TCB签名将被分配到TCB池中,它们的位置与签名一起明确地存储在相应的冲突列表中。另外,在这种数据结构下,TCB位置并不是明确地存储在查找表中,而是通过它们对应的槽的位置计算得出。TCB会话与槽的映射关系是将阵列中的序号为(i-1)×16+j的TCB会话映射到第i个哈希桶中的第j个槽。

在静态防御体系下,系统脆弱性一般保持不变,若入侵者有能力针对系统脆弱性的变换空间发起穷举性入侵,则入侵成功概率(attack success probability,asp)asp=1.然而在NDD体系下,脆弱性会因为Pi属性的变换而呈现不确定性,因此即使实施穷举性入侵,也不一定确保入侵成功.下面利用随机抽样模型计算NDD体系下的入侵成功概率.

  

图1 优化后的哈希算法的数据结构

2.3 算法描述

(1)查找会话:如图2所示,当接收到TCP分组时,用TCP的会话标识符计算该TCP会话的TCP签名。从第一个槽开始向桶的末端进行搜索签名匹配时,访问相应的TCB,并且进一步比较完整的4元组。如果发现误判,则继续进行搜索。若在哈希桶中找不到匹配,则检查相应的冲突列表,这个过程的最终返回值为相应的TCB位置或NOT FOUND。

该类油层上下围岩一般为高电阻率的生油岩,层内非均质性较强,岩性较复杂,灰质及白云质含量相对较高,单层厚度小于3m。测井响应特征为:自然电位明显负异常,自然伽马低值,微电极中高值差异小或无差异,声波时差255~290μs/m,电阻率一般大于4Ω·m,且含油性越好、电阻率越高。该类油层多分布在纯上6砂组,由于物性偏差,产能一般相对较低,而对于储层物性好、电性突出的油层,同样也可获得较高产能。

(3)删除会话:当会话关闭时,需要清除TCB签名。若能在表中找到匹配的TCB签名,则可以通过将该槽清零来删除该会话。如果在冲突列表中找到该TCB会话签名,则首先将该TCB放回到TCB池中,然后再删除冲突列表中的TCB。

  

图2 查找会话的过程

推荐理由:本书试图构建一个分析思考的理论框架,以兼收并蓄的融合视角探讨新时代下“中华传统的道德与和谐、西方文明的科学与理性、社会主义的理想与奉献”三源合流的可能性及逻辑基础。作者从文化理念的深层角度,对当下如何走出迷茫,依靠何种“定力”实现民族的伟大复兴进行了探究。

也就是说,与传统的哈希表相比,优化后的哈希算法具有很低的误判率和装填因子,且占用了更少的计算机内存空间。

哈希表的性能很大程度上取决于哈希表的装填因子。文中研究的优化后的TCB查找算法等效哈希表见图3中表B,两者的装填因子相等。图中N表示哈希表中的哈希桶数,b表示TCB签名的32位位数。

当哈希表均匀装填了M个TCP会话时,装填因子可以计算为(M/N)×(1/2b)。在该优化算法中,设定b=32,且一般M/N不超过16,则有:

2、加强农业防治措施;病菌可随病残体在土壤中越冬。因此,应采取避免重迎茬、合理轮作、清除病残体、收获后及时翻耕等措施,以减少越冬病菌。还应根据品种特性适当密植、加强田间管理以控制杂草、降低田间湿度等。

(M/N)×(1/2b)≤3.72×10-9

(2)添加会话:添加会话的过程与查找会话类似,其区别在于添加会话是要在哈希桶找到一个空的槽。当在哈希桶中找到空槽时,新的会话签名被存储在其中,并且返回与之对应的TCB。如果在哈希桶中没有找到空槽,则将包含会话签名和TCB位置的新元素添加到冲突列表。

(1)

由此可见,优化后算法实现了一种具有极地装填因子的哈希表结构,这种结构大大减少了哈希表占用的存储空间。例如,当有1 000 000个TCP会话到达且装填因子为3.72×10-9时,传统的哈希表在64位系统中需要占用2 000 TB的容量,而优化后的算法仅仅需要占用4.5 MB的容量。

  

图3 优化后哈希算法的识别率和装填因子

2.3.2 误判率

如前所述,优化后算法中每个哈希桶的误判率等于图3中表A中第二级哈希表的冲突率。表A中每个第二级哈希表含有n=232个桶,包含在该表中TCP会话的签名的平均数量不大于16。假设在第二级哈希表中均匀存储了k个TCP会话签名,并且定义Ekk个会话在表中不冲突的事件,则其概率为:

Pr{Ek}=

 

(2)

Pr{Ek}≈

538 Functional training of core muscles preventing low back pain and improving core muscle function of recruits: an observational study

文中提出的哈希表的结构可等效为一种两级哈希表结构,其中第一级表含有N个哈希桶,每个第二级表含有2b个哈希桶。在采用优化后的基于哈希算法的TCP查找算法时,采取签名算法来生成作为哈希索引的b个比特的TCB签名的第二级哈希函数。然而,在优化算法下哈希索引并不用于定位哈希桶,而是通过记录哈希索引来标识对象,这能很好地解决与开放寻址法的冲突。因此,在优化后的算法中,每个桶的TCB签名的误判率等于第二级哈希表的冲突率。

n=232k≤16的情况下,项可以被认为是无穷小的,并且ex无限接近于1+x,即ex=1+x+o(x2)。因此有:

——74岁的常州市民徐振洪依然每天带着93岁的老母亲到社区老年活动中心散步活动。为了防止母亲患老年痴呆,他还坚持让母亲做二年级数学题

1-Pr{Ek}≈k(k-1)/2n≤2.79×10-8

(3)

根据概率知识可知,至少两个会话冲突的概率等于1减去没有会话冲突的概率,从而在优化后的算法中每个哈希桶的预期误判率为:

1-k(k-1)/2n

强化服务技能方面,谌爱容[34]、李红霞和曾英姿[35]、朱婕[36]、邓李君和杨文建[37]、陈秋萍[38]等认为,MOOC环境下图书馆员应充分利用自身的信息获取和信息分析能力,借助大数据、云计算、人工智能及人机交互技术,分析并掌握MOOC学习者的注册动机、学习路径、兴趣偏好、思维模式等学习行为特征,为MOOC课程设计和学习者学习提供精准性指导与建议;同时,MOOC环境下图书馆应通过解决版本控制、元数据管理、信息托管和归档等问题,开展MOOC课程资源的长期保存与持续利用服务。

(4)

2.3.1 装填因子

3 仿真结果与分析

3.1 单核性能

在开源TCP/IP协议栈中,文中使用优化后的TCB查找算法代替了原来的TCP查找协议,并对查找性能进行了评估。

生成了三种不同大小的跟踪文件,如表1所示。

为了全面地把握普查绩效的综合状况,克服评价的片面性,将普查绩效评价的五个主要因素对应各评价等级的隶属度模糊量值计算其平均值、最大值与最小值,分别记为dk1,dk2,dk3。结合其相应的权重,建立单项评价模糊复合物元Rd和综合评价模糊复合物元RD,则有:

 

表1 跟踪文件的特性

  

文件数据包总数数据包平均大小/B最大TCP会话数平均TCP会话数文件1524276067263252248128文件21039487067523377497986文件321862430671048987290

针对三种不同的跟踪文件,将优化后的算法与原来的算法进行了对比。优化后的哈希算法的平均查找时间如图4所示,其中原始算法(N桶-M寄存器)表示以N个区段占用了M个存储器空间的原始算法。

仿真结果表明,原始算法的性能受TCP会话数的变化而显著变化,而优化后算法的表现非常稳定,更加可靠。

VR阅读正在成为新型阅读方式之一,国内外出版企业和技术公司都在致力于这一领域的研发和推广。在2018年3月举办的意大利博洛尼亚国际儿童书展是世界少儿和青少年图书出版及多媒体产品行业最重要的展览之一。在这个展览上,备受关注的虚拟现实(VR)设备和增强现(AR)设备纷纷亮相。比如Google Daydream VR平台团队带来了可以让使用者在虚拟空间中进行3D作画的设备,作家、插画家通过这款设备可以画出虚拟的星星和火焰。新加坡MXRi公司设计的Snap-to-Learn VR头盔则专为5岁-6岁的儿童设计,内置了四款虚拟世界,重新定义了儿童阅读体验。儿童文学作家孙玉虎

3.2 并行性能

不同哈希表大小的优化算法和传统TCP查找算法的性能对比如图5所示。

  

图4 TCB查找性能

 

图5 优化算法与原始TCP查找算法的性能对比

设置150万桶为阈值,在此情况下采用文中签名算法,仅有11 257个TCP会话的签名发生冲突,另一方面,在使用传统算法时,系统性能会随着哈希表大小的增加而增加,直到达到阈值。而在10 Gbps的以太网下,采用150万个哈希桶(约12 MB)的传统算法的端口吞吐量不能高于14.88 Mpps,而优化后的算法能在同等条件下用六个内核实现15.2 Mpps的吞吐量,在七个内核上实现16.5 Mpps的吞吐量,且其查找表和冲突列表只占用7.5 MB的内存空间。显然,优化后的哈希表查找算法的系统性能更加优越。

4 结束语

哈希表是目前计算机查找TCP会话中最广泛使用的方法,但其并不能很好地处理国家电网中广域高性能计算网络中大量的TCP会话,且会导致计算机查找TCP会话的时间和占用的内存较大。为了解决这一问题,对传统的哈希查找算法进行了优化。首先设计了一种签名算法用查找表中的较短的会话签名来替换完整的TCB标识符,减少了计算机的内存占用。其次使用顺序访问替代随机访问,以增加计算机的存储器访问效率,降低了误判率。仿真结果表明,优化后的哈希查找算法的系统性能更加优越。

参考文献:

[1] 刘 颖,陈 煜,林 林,等.高性能计算集群中的网络技术研究与实践[J].中国水利水电科学研究院学报,2016,14(2):90-95.

[2] 岳菲菲,王海军,王 新,等.高性能计算通信机制分析与研究[J].计算机工程与科学,2009,31(A1):27-30.

[3] 李根国,桂亚东,刘 欣.浅谈高性能计算的地位及应用[J].计算机应用与软件,2006,23(9):3-4.

[4] 熊 兵,李 峰,姜腊林,等.面向高速网络连接记录管理的高效哈希表[J].华中科技大学学报:自然科学版,2011,39(2):19-22.

[5] CLARK D D,JACOBSON V,ROMKEY J,et al.An analysis of TCP processing overhead[J].IEEE Communications Magazine,2002,40(5):94-101.

[6] CHIANG M L,LI Y C.LyraNET:a zero-copy TCP/IP protocol stack for embedded systems[J].Real-Time Systems,2006,34(1):5-18.

[7] LI Z,MAKINENI S,ILLIKKAL R,et al.Efficient caching techniques for server network acceleration[C]//Advanced networking & communications hardware.[s.l.]:[s.n.],2004.

[8] MAKINENI S,BHUYAN L.TCP/IP cache characterization in commercial server workloads[C]//Proceedings of seventh workshop on computer architecture evaluation using commercial workloads.[s.l.]:[s.n.],2004.

[9] 马如林,蒋 华,张庆霞.一种哈希表快速查找的改进方法[J].计算机工程与科学,2008,30(9):66-68.

[10] 王 果,徐仁佐.结合哈希过滤的一种改进多连接查询优化算法[J].计算机工程,2004,30(7):57-59.

[11] SONG H,DHARMAPURIKAR S,TURNER J,et al.Fast hash table lookup using extended bloom filter:an aid to network processing[C]//Proceedings of the 2005 conference on applications,technologies,architectures,and protocols for computer communications.New York,NY,USA:ACM,2005:181-192.

[12] KUMAR S,CROWLEY P.Segmented hash:an efficient hash table implementation for high performance networking subsystems[C]//Proceedings of 2005 ACM symposium on architecture for networking and communications systems.New York,NY,USA:ACM,2005:91-103.

[13] HASAN J,CADAMBI S,JAKKULA V,et al.Chisel:a storage efficient,collision-free hash-based network processing architecture[C]//Proceedings of the 33rd annual international symposium on computer architecture.Washington,DC,USA:IEEE Computer Society,2006:203-215.

[14] LIAO G,BHUYAN L N,WU W,et al.A new TCB cache to efficiently manage TCP sessions for web servers[C]//ACM/IEEE symposium on architectures for networking and communications systems,New York,NY,USA:ACM,2010.

[15] PONG F.Fast and robust TCP session lookup by digest hash[C]//Proceedings of the 12rd IEEE international conference on parallel and distributed systems.[s.l.]:IEEE,2006.

 
张立武,冯宝,周建华,李洋,茅天奇
《计算机技术与发展》2018年第05期文献

服务严谨可靠 7×14小时在线支持 支持宝特邀商家 不满意退款

本站非杂志社官网,上千家国家级期刊、省级期刊、北大核心、南大核心、专业的职称论文发表网站。
职称论文发表、杂志论文发表、期刊征稿、期刊投稿,论文发表指导正规机构。是您首选最可靠,最快速的期刊论文发表网站。
免责声明:本网站部分资源、信息来源于网络,完全免费共享,仅供学习和研究使用,版权和著作权归原作者所有
如有不愿意被转载的情况,请通知我们删除已转载的信息 粤ICP备2023046998号