NetThreads-10G: Software packet processing on NetFPGA-10G in a virtualized networking environment demonstration abstract

Stuart Byma, J. Steffan, P. Chow
{"title":"NetThreads-10G: Software packet processing on NetFPGA-10G in a virtualized networking environment demonstration abstract","authors":"Stuart Byma, J. Steffan, P. Chow","doi":"10.1109/FPL.2013.6645624","DOIUrl":null,"url":null,"abstract":"FPGAs are often used in high speed networking and telecommunications environments, where they have been shown to be very capable of line rate forwarding and routing. However, complex processes are more easily described in high-level software. In addition, many researchers do not have backgrounds in complex hardware design. NetThreads 10G is a solution to both of these problems - a soft, multithreaded multicore network processor implemented on the NetFPGA-10G[1], and software programmable using C. NefThreads10G is a port and upgrade of the original NetThreads [2] system designed for the NetFPGA: the number of cores has been doubled, packet buffer capacity increased, and a new Ethernet packet based programming system has been implemented. NetThreads 10G has a bus-based architecture connecting four MIPS-like processors to a shared data cache and a shared packet I/O buffer (Figure 1). Each core has a private instruction cache and four independent threads executed in a round robin fashion. Sixteen hardware locks are included for protecting critical code sections. The NetFPGA-10G onboard RLDRAM provides up to 128MB of main memory. During the demonstration, a sample application is developed and compiled using the NetThreads cross compiler tool. NefThreads10G is configured on the NetFPGA10G, and the application is downloaded remotely via Ethernet packets. The application is a deep packet inspection program that can detect suspicious keywords in packet payloads and keeps a record in shared memory. The demo shows how NetThreads affords us complete programmable and stateful control over OSI Layer 2 and above. The demonstration also shows NetThreads in the context of the SAVI (Smart Applications on Virtual Infrastructure) testbed. SAVI [3] is a new approach to network and Internet infrastructure - completely virtualized and extremely flexible, it views infrastructure as \"converged\", where processing, compute, networking and reconfigurable resources are all part of a shared and managed pool. Having reconfigurable hardware in such a virtualized and programmable environment will open up new avenues of research in reconfigurable systems.","PeriodicalId":200435,"journal":{"name":"2013 23rd International Conference on Field programmable Logic and Applications","volume":"47 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2013-10-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"2","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2013 23rd International Conference on Field programmable Logic and Applications","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/FPL.2013.6645624","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 2

Abstract

FPGAs are often used in high speed networking and telecommunications environments, where they have been shown to be very capable of line rate forwarding and routing. However, complex processes are more easily described in high-level software. In addition, many researchers do not have backgrounds in complex hardware design. NetThreads 10G is a solution to both of these problems - a soft, multithreaded multicore network processor implemented on the NetFPGA-10G[1], and software programmable using C. NefThreads10G is a port and upgrade of the original NetThreads [2] system designed for the NetFPGA: the number of cores has been doubled, packet buffer capacity increased, and a new Ethernet packet based programming system has been implemented. NetThreads 10G has a bus-based architecture connecting four MIPS-like processors to a shared data cache and a shared packet I/O buffer (Figure 1). Each core has a private instruction cache and four independent threads executed in a round robin fashion. Sixteen hardware locks are included for protecting critical code sections. The NetFPGA-10G onboard RLDRAM provides up to 128MB of main memory. During the demonstration, a sample application is developed and compiled using the NetThreads cross compiler tool. NefThreads10G is configured on the NetFPGA10G, and the application is downloaded remotely via Ethernet packets. The application is a deep packet inspection program that can detect suspicious keywords in packet payloads and keeps a record in shared memory. The demo shows how NetThreads affords us complete programmable and stateful control over OSI Layer 2 and above. The demonstration also shows NetThreads in the context of the SAVI (Smart Applications on Virtual Infrastructure) testbed. SAVI [3] is a new approach to network and Internet infrastructure - completely virtualized and extremely flexible, it views infrastructure as "converged", where processing, compute, networking and reconfigurable resources are all part of a shared and managed pool. Having reconfigurable hardware in such a virtualized and programmable environment will open up new avenues of research in reconfigurable systems.
NetThreads-10G:虚拟化网络环境下NetFPGA-10G的数据包处理演示摘要
fpga通常用于高速网络和电信环境,在这些环境中,它们已被证明具有非常强的线路速率转发和路由能力。然而,复杂的过程更容易在高级软件中描述。此外,许多研究人员没有复杂硬件设计的背景。netthreads10g解决了这两个问题——在NetFPGA-10G上实现了一个软的、多线程的多核网络处理器[1],使用c进行软件编程。NefThreads10G是为NetFPGA设计的原始NetThreads[2]系统的一个端口和升级:内核数量增加了一倍,数据包缓冲容量增加了,并且实现了一个新的基于以太网数据包的编程系统。NetThreads 10G具有基于总线的架构,将四个类似mips的处理器连接到共享数据缓存和共享数据包I/O缓冲区(图1)。每个核心都有一个私有指令缓存和四个以轮询方式执行的独立线程。包含16个硬件锁,用于保护关键代码段。NetFPGA-10G板载RLDRAM提供高达128MB的主存。在演示过程中,使用NetThreads交叉编译器工具开发和编译了一个示例应用程序。NetFPGA10G上配置了NefThreads10G,应用程序通过以太网数据包远程下载。该应用程序是一个深度数据包检测程序,可以检测数据包有效负载中的可疑关键字,并在共享内存中保留记录。该演示展示了NetThreads如何为我们提供对OSI第2层及以上层的完整可编程和状态控制。该演示还展示了在SAVI(虚拟基础设施上的智能应用程序)测试平台上下文中的NetThreads。SAVI[3]是一种网络和互联网基础设施的新方法——完全虚拟化和极其灵活,它将基础设施视为“融合”,其中处理、计算、网络和可重构资源都是共享和管理池的一部分。在这样一个虚拟化和可编程的环境中拥有可重构的硬件将为可重构系统的研究开辟新的途径。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信