首页 > 范文大全 > 正文

多线程走进网络

开篇:润墨网以专业的文秘视角,为您筛选了一篇多线程走进网络范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

网络系统对于面向应用的需求,如控制访问,分配资源,流量分级等要求是越来越高,而要在gigabit/秒的速率级仍对数据包流量进行有效地维护,则要求随机存储器的访问速率要超出传统意义上的处理器,虽然ASICs等产品在速率上有很大的突破,但却不能适应网络协议和应用频繁更迭的节奏。最近,一种新的面向应用型网络的架构方案逐渐显示出其不凡的能力:这种被称为MMT(Massive Multithreading,超级多线程)的技术被业内人士视作正确评估下一波网络设施的关键。

在最新一代的MMT处理器中,软件的threads(线程)非常规律地与硬件的线程、或streams(流)一一对应,这里的线程又通常被组织为cluster、或tribes等集群单位,以提高资源的利用率。多个tribes能在同一个芯片上实施,每个tribe都能存取自己的DRAM和一个共享的内部存储器。此外,MMT中还有几个术语,“pipeline”(管线)、或“core”(核),是指那些能执行软件指令的物理电路。

通常处理数据包流量需要以低的局部特性(locality)频繁地访问数据,因而网络与桌面计算有着本质的差异。局部特性能在处理器当前的存储器中就能获得需要的数据或指令,而流量中的数据包则是以任意的时间间隔到达的,所以网络设备几乎无法从面向PC的多处理器中受益,因为这些处理器性能的优劣,很大程度上有赖于局部特性。如果局部特性不佳,将会导致对非缓存中数据的频繁请求,最终突破延迟的底线。

MMT是通过同时激活大量的存储请求来增大存储的吞吐能力,由此MMT便能在更高的吞吐级执行一些更为复杂的协议处理,这些过程以传统方式实现则必须借助一个或多个专用的ASICs才能完成,这种RAM访问能力的优化也使得MMT克服了以往传统多处理器在包吞吐量上的限制,它可以将包并行地通过一百或更多的线程进行推进,同时包监测器可以持续的10Gbps速率(延迟不到1毫秒)进行监控,而这对于运行在当今高端4GHz时频上的两个线程任务几乎是不可能的。此外,MMT在高速主干上还提供了对VoIP和其他对延迟敏感的应用的支持。在具体操作中,每一次存储都会带来处理延迟,为了缩短延迟,提高吞吐量以应对存储需求的不断增长,面向网络的多处理架构支持大量的同步线程和执行管道,每一个都拥有其自己的专用处理资源。

可以预计,由于带宽的持续增长,对大量的同步线程的需求会越来越高。在初期,这种需求可以通过tribes中的少数高级线程来满足,这些tribes来自于独立的核中的多个流,目前最高的技术水平是128个线程,这种方式主要用于LANs中网络访问控制和基于认证的网络应用。以后随着需求和技术水平的增长,将出现更多的高级协议并行处理器,它们将拥有更多的流和执行管道。