网络处理器的同步优化

来源 :复旦大学 | 被引量 : 0次 | 上传用户:yjddstevens
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着英特网的爆炸性增长,网络系统必须在满足不断增长的网络链接速度的同时,能够灵活的应对网络的不断演化。对速度和灵活性的双重需求催生了新一代的网络硬件——网络处理器。为了适应新情况,网络处理器往往被设计成为并行多处理机系统。如果底层的体系结构的细节被原样暴露给程序员,编写这样的系统就意味着程序员必须进行直接的资源管理,分配和协调,这会使得编程成为一件不仅十分麻烦,而且非常容易犯错的工作。为了让程序员关心的焦点从这些细节转移到程序本身上面,高级语言和编程模型则隐藏了底层细节,并且用串行语义来描述程序,正如传统的C程序一样。如果采用高级语言编写程序,编译器就需要对程序进行自动并行化,把串行程序转换为并行程序,从而使得生成的代码能够正确的运行于多个处理器上。当针对多处理机系统对源程序进行自动并行化时,被高级语言和编程模型隐藏的细节必须得到正确的处理。其中,编译器必须保证引入了适当的同步代码,从而保持原来程序的串行语义。从网络程序的角度来看,需要进行同步的变量往往都是在处理不同的包时共享的程序内部状态。而另一方面,随着网络的爆炸和复杂化,不少网络程序变得拥有越来越多的状态,尤其是对网络协议栈中第四层以上的程序来说。其中的一个例子就是上层协议的网络程序中的会话状态。在这样的程序中,有更多的共享变量以及更多的数据相关。因此,编译器面临着的问题就是生成复杂的同步代码来保护程序中大量的内部状态在并行处理时不受到破坏。为了对编译器生成的同步进行优化,我们研究了针对Intel IXPauto-partitioning C编程模型的并行编译器,提出了一个全新的编译优化框架。在这个框架中,我们采用程序划分的方法来解决同步不同的线程时面临的各种困难和议题。实验给出了一个很好的性能结果,证明了我们的方法提升程序的并行性方面获得了可观的效果。
其他文献
鉴别协议在网络安全中占有很重要的地位,而对于鉴别协议的设计和分析都是很困难的。如果通过验证已有的攻击手段来分析鉴别协议,最主要的问题是我们无法穷尽所有的攻击类型。
语音交互是人机交互最自然的方式,作为其基础的语音识别技术一直是计算机领域的热门研究议题,语音识别过程包括语音信号预处理、声学特征提取、特征向量降维处理和基于统计模
上个世纪90年代由于在计算机科学中引入了量子力学的一些性质,一些新的有强大计算能力的量子算法被提出,其中最为著名的就是Grover算法和Shor算法。这两个算法充分体现了量子
随着计算机与信息技术的发展,人们在日常事务处理和科学研究中积累了大量数据。如何从中提取或“挖掘”用户所需要的信息,是当前信息科学技术领域面临的一大挑战。数据挖掘正
随着VoIP技术的不断发展和成熟,各种形态的VoIP应用层出不穷,通话模式已由PCTOPC的方式逐渐发展为PCTOPHONE或者PHONETOPHONE,并以低廉的价格吸引了众多用户,这给电信运营企业的
网络中的合作演化机制研究主要探究网络中个体在采取背叛策略能够获得更高收益的情况下合作行为还能够保留的原因和方法。以往的合作演化机制主要针对个体间具有单一连接属性
随着互联网的普及,数字媒体的传播和获取变得非常方便,同时也给多媒体信息的传输安全和版权保护提出了挑战。现代密码学技术不足以解决数字作品版权保护所面临的问题,而数字水印
随着互联网技术的不断发展和广泛应用,网络中大量的数据均以流媒体数据的形式表现出来。而流媒体的实时性以及对带宽资源的需求使得网络资源越来越不能满足要求,为了缓解网络
随着便携式计算机的普及和移动通信技术的发展,AdHoc网络应运而生。AdHoc网络是一种不依赖于固定基础设施、自组织的无线网络,节点之间通过多跳转发机制进行数据交换。该网络具
随着网络技术的迅速发展,网络规模不断扩大,复杂性不断增加,异构性不断增加,网络业务多样化和业务数量剧增,网络动态变化,这使得网络管理面临着巨大的挑战,人们对网络管理提出了新的