• 学前教育
  • 小学学习
  • 初中学习
  • 高中学习
  • 语文学习
  • 数学学习
  • 英语学习
  • 作文范文
  • 文科资料
  • 理科资料
  • 文档大全
  • 当前位置: 雅意学习网 > 文科资料 > 正文

    【多核平台下网络设备软件接口的设计与实现】 多核系统体系结构

    时间:2019-03-30 03:32:45 来源:雅意学习网 本文已影响 雅意学习网手机站

      摘要:随着网络技术的发展,高性能的网络设备在构建复杂的应用系统中发挥着至关重要的作用。该文基于OCETON MIPS64多核处理器,设计并实现了一套适合于多核处理器开发平台的软件接口,最大限度的发挥了多核处理器所带来的性能优势,同时保证了对于系统的复杂应用的支持,最大限度的减少了用户对于原有系统的修改。
      关键词:多核;接口;linux kernel;Fast Path
      中图分类号:TP316文献标识码:A文章编号:1009-3044(2012)16-3808-03
      Design and Implementation of Network Interface in Multi-core Framework
      LI Xi,LIU Hong
      (College of Mathematics and Computer Science,Hunan Normal University,Changsha 410081,China)
      Abstract:With the rapid progress of networking technology, high performance network devices will play a dominant role in future net? work. Based on OCTEON MIPS64 multi-core processes, we introduce a general software development interfaces, which adapt to differ? ent kinds of multi-core platform. With this interface, developers are easy to working on multi-core platforms. The network device can get high performance and keep network complexity.
      Key words: multi-core; interface; linux kernel; Fast Path
      随着计算机技术和网络设备的迅速发展,通信网络的应用日趋复杂,大量新的业务不断涌现。这种形势下,人们对网络系统中的业务流量控制能力和安全性提出了更高的要求,而作为网络系统的核心单元——网络处理器,则面临着更严峻的挑战。一方面,接入用户数量的迅猛增长以及业务需求的多样化使得各种网络设备必须提供足够的吞吐量;另一方面,由于网络应用不断更新和变化,新业务不断涌现,这就要求服务提供商能快速地满足用户的需求,增多盈利模式,从而巩固和提高竞争力。多核处理器便是为解决这些问题而研发出来的产品,它能够提供更强大的吞吐量。多核平台为提高网络设备的吞吐率提供了一种崭新的模式,为网络应用的集成化、复杂化、简易化和高性能化提供了新的技术支持。多核平台的应用也对网络工程技术人员提出新的要求和挑战。
      目前市场上新推出的应用与网络设备的多核处理器,如Cavium公司和RMI公司的多核产品,更关注于如何提高应用性能;通过广泛的、根据条件的时钟控制来降低功耗;处理器核心内建硬件加速器;使用多核技术,而不是简单的提高CPU的频率;一体化的针对不同应用的专用协处理器;使用标准指令集的简单软件模型。(简单概述这些系统的优缺点,或者是研发目的的不同侧重角度,从而说明本论文的研究是有意义的,有必要的)
      该文将论述网络软件体系中多核接口部分。它负责管理控制平面(Control Plane)和数据平面(Data Plane)以及数据平面中多核处理与Linux之间的数据传递,是软件平台能够工作的基础。
      平台接口:慢速通道和快速通道的接口。接口的设计是在搭建此多核平台中非常重要的一部分。快速通道处理速度快,性能高是我们所看重的,但是正因为如此,其功能也必然简单化。作为一个网络设备,必须考虑到各种复杂的环境,因此接口就将决定对于快速通道不能处理的数据包的命运,接口设计的模式将决定整体框架的结构。另外接口是Linux内核与多核平台交互的接口,
      1)事件定义:定义所要处理的相关信息,此类事件应该是Slow Path和Fast Path均能够处理的。Linux已经的netlink/pfkey等socket已经为我们提供了大量的内核消息,如需要我们可以自行扩展。
      2)事件收集:收集慢速通道中信息的变化。此类有些是用户行为,如用户主动添加了路由;有些为状态发生了改变,比如内核存储的某些缓存过期,需要删除此类信息;还有如内核出现了某些异常错误,需要通知快速通道等。
      3)事件处理:将收集到的慢速通的信息按照消息类型传递给快速通道。即使用户修改了一个简单的配置,我们也应该遵循先设置慢速通道,再由事件处理模块传递给快速通道的模式,否则会导致慢速通道和快速通道不同步。
      以下是一个对于接口路由的简单例子,其余应用可以按照这种模式类似的加如CSM,每个模块的处理不同,体现了模块化。
      为了使得Linux当加入GMVI之后,Linux Kernel的改动最小,数据包处理与原有过程无大的区别,我们采用如下数据结构来描述一个从多核向Linux发送的一个数据包,它的具体实现具体与多核体系相关,该文的测试是在Cavium的Simple Executive和RMI的RMIOS上进行。
      当网卡接收到数据包,需要向Linux内核发送转发这个数据包的时候,可以通过Simple Executive的POW接口发向Linux。在Linux中我们通过虚拟网卡来接受来自多核处理器的异常包。
      这样带来的优点是对于Linux内核而言,就如同只是增加了一个网卡,而整个框架并没有因为在多核模式下而发生变化;同时又可以利用Linux所提供的强大的网络功能进行与性能无关协议。
       4实验及性能分析
      为了验证此软件接口为我们在多核平台开发的便利性,我们以IPsec隧道模式下的吞吐率实验来证明。因为Octeon的Simple Executive提供了IPsec对于数据包加密封装的处理,而我们所设计的软件接口则可以将Fast Path不能处理的IKE的协商问题交给Linux kernel和应用程序完成,这些为许多Open source软件已经提供。这样即体现了多核的性能优势,又可以利用原有系统已有的复杂功能。以下是用SMARTBITS 6000在不同核心数目及不同数据包大小的测试结果。我们可以从结果看到采用GMVI技术之后,我们可以充分利用多核技术带来的性能优势,较快的开发高性能网络设备,同时又能够利用原有系统的复杂应用。
      该文描述了多核处理器和Linux之间的接口,为软件开发提供了一个良好的框架。但是我们看到,多核硬件平台还为我们提供了丰富的硬件加速接口,如何利用这些硬件加速功能,如加密功能,内容过滤功能等是我们下一步的研究重点。
      多核系统应用与网络设备平台最近在美国和欧洲市场有迅猛发展,而国内许多网络设备厂家仍处于试验和观望的状态。该文所描述的网络平台软件介绍是在这种崭新的网络应用平台下的尝试,对未来如何利用多核系统构建高性能、应用复杂的平台有重要的借鉴作用。

    推荐访问:多核 网络设备 接口 设计

    • 文档大全
    • 故事大全
    • 优美句子
    • 范文
    • 美文
    • 散文
    • 小说文章