CNS Core: Small: Autogenerating fast packet-processing code using program synthesis
CNS 核心:小型:使用程序合成自动生成快速数据包处理代码
基本信息
- 批准号:2008048
- 负责人:
- 金额:$ 50万
- 依托单位:
- 依托单位国家:美国
- 项目类别:Standard Grant
- 财政年份:2020
- 资助国家:美国
- 起止时间:2020-10-01 至 2023-09-30
- 项目状态:已结题
- 来源:
- 关键词:
项目摘要
Computer networks are a foundational part of today’s digital society. A critical component of these networks is the infrastructure of base stations, access points, and routers that glues computers together, and moves network traffic (broken up into ‘packets’) from place to place. Over time, in addition to packet forwarding, the network infrastructure has taken on many additional requirements to make it more efficient and robust, such as attack detection and prevention, access control, load balancing, packet scheduling, and measurement. To implement these requirements, new network devices have emerged that are ‘programmable’. This proposal proposes to develop novel compiler technology to enable fast, efficient network programmability.Programmable network devices (e.g., switches, SmartNICs, and FPGAs) are now rapidly becoming mainstream. While it is easy to get started with programming these devices, it is still hard to write fast packet-processing code that fits within the resource constraints of each device. Writing such fast packet-processing code today largely falls to experts with deep knowledge of the underlying hardware. While compilers should alleviate the burden of generating high-performance code, the compilers for these devices are still preliminary, and developing good compilers takes significant engineering effort and time. In response, the proposal proposes the use of program synthesis technology to build compilers that generate high-quality machine code for packet processing. This proposal has three key thrusts: (i) Code generation for programmable networks-developing code generators that generate high-quality machine code from a higher-level language (e.g., P4 or C) for a variety of different packet-processing substrates like programmable switches, FPGAs, and x86 processors. (ii) Speeding up program synthesis for code generation: Specializing program synthesis algorithms to the use case of code generation and speeding up synthesis algorithms in the process, so that code generation using program synthesis isn’t significantly slower than code generation using rule-based compiler techniques. (iii) Pushing the boundaries of synthesis-based code generation: Exploring relaxed notions of equivalence between higher-level programs and generated machine code so that higher-performance machine code can be generated at the cost of some loss of accuracy relative to the original program.This award reflects NSF's statutory mission and has been deemed worthy of support through evaluation using the Foundation's intellectual merit and broader impacts review criteria.
计算机网络是当今数字社会的基础。这些网络的关键组成部分是基础站,接入点和路由器的基础架构,这些基础站点,将计算机粘合在一起,并将网络流量(分解为“数据包”)从一个地方到另一个地方。随着时间的流逝,除了数据包转发外,网络基础架构还提出了许多其他要求,以使其更有效,稳健,例如攻击检测和预防,访问控制,负载平衡,数据包调度和测量。为了实现这些要求,已经出现了“可编程”的新网络设备。这项提出了开发新型编译器技术以实现快速,高效的网络编程的建议提案。尽管很容易开始编程这些设备,但仍然很难编写适合每个设备资源约束的快速数据包处理代码。今天编写如此快速的数据包处理代码很大程度上落在了对基础硬件深入了解的专家。虽然编译器应减轻生成高性能代码的Burnen,但这些设备的编译器仍然是初步的,并且开发良好的编译器会付出巨大的工程工作和时间。作为回应,建议提案使用程序合成技术来构建编译器,以生成用于数据包处理的高质量机器代码。该提案具有三个关键推力:(i)可编程网络开发代码生成器的代码生成,这些代码生成器从高级语言(例如P4或C)生成高质量的机器代码,用于各种不同的数据包处理基板,例如可编程交换机,FPGA,FPGAS和X86处理器。 (ii)加快代码生成程序的程序合成:专门针对代码生成的用例合成算法并加速了该过程中的合成算法,因此,使用基于规则的编译器技术,使用程序合成代码生成的代码生成不如代码生成。 (iii)突破基于合成的代码生成的界限:探索更高级别程序和生成的机器代码之间对等效性的轻松注释,以便可以以相对于原始程序的一定准确性而生成高性能的机器代码。该奖项反映了NSF的法定任务,反映了通过评估基金会的智力构成的诚实的支持,并诚实地对基金会进行了评估。
项目成果
期刊论文数量(7)
专著数量(0)
科研奖励数量(0)
会议论文数量(0)
专利数量(0)
Synthesizing safe and efficient kernel extensions for packet processing
综合安全高效的内核扩展进行数据包处理
- DOI:10.1145/3452296.3472929
- 发表时间:2021
- 期刊:
- 影响因子:0
- 作者:Xu, Qiongwen;Wong, Michael D.;Wagle, Tanvi;Narayana, Srinivas;Sivaraman, Anirudh
- 通讯作者:Sivaraman, Anirudh
NetVRM: Virtual Register Memory for Programmable Networks
- DOI:
- 发表时间:2022
- 期刊:
- 影响因子:0
- 作者:Hang Zhu;Tao Wang;Yi Hong;Dan R. K. Ports;Anirudh Sivaraman;Xin Jin
- 通讯作者:Hang Zhu;Tao Wang;Yi Hong;Dan R. K. Ports;Anirudh Sivaraman;Xin Jin
Snicket: Query-Driven Distributed Tracing
- DOI:10.1145/3484266.3487393
- 发表时间:2021-11
- 期刊:
- 影响因子:0
- 作者:Jessica Berg;Fabian Ruffy;Khanh Nguyen;Nicholas Yang;Taegyun Kim;Anirudh Sivaraman;R. Netravali
- 通讯作者:Jessica Berg;Fabian Ruffy;Khanh Nguyen;Nicholas Yang;Taegyun Kim;Anirudh Sivaraman;R. Netravali
CaT: A Solver-Aided Compiler for Packet-Processing Pipelines
- DOI:10.1145/3582016.3582036
- 发表时间:2023-03
- 期刊:
- 影响因子:0
- 作者:Xiangyu Gao;Divya Raghunathan;Rui Fang;Tao Wang;Xiaotong Zhu;Anirudh Sivaraman;S. Narayana;Aarti Gupta
- 通讯作者:Xiangyu Gao;Divya Raghunathan;Rui Fang;Tao Wang;Xiaotong Zhu;Anirudh Sivaraman;S. Narayana;Aarti Gupta
Isolation Mechanisms for High-Speed Packet-Processing Pipelines
- DOI:
- 发表时间:2021-01
- 期刊:
- 影响因子:0
- 作者:Tao Wang;Xiangrui Yang;Gianni Antichi;Anirudh Sivaraman;Aurojit Panda
- 通讯作者:Tao Wang;Xiangrui Yang;Gianni Antichi;Anirudh Sivaraman;Aurojit Panda
{{
item.title }}
{{ item.translation_title }}
- DOI:
{{ item.doi }} - 发表时间:
{{ item.publish_year }} - 期刊:
- 影响因子:{{ item.factor }}
- 作者:
{{ item.authors }} - 通讯作者:
{{ item.author }}
数据更新时间:{{ journalArticles.updateTime }}
{{ item.title }}
- 作者:
{{ item.author }}
数据更新时间:{{ monograph.updateTime }}
{{ item.title }}
- 作者:
{{ item.author }}
数据更新时间:{{ sciAawards.updateTime }}
{{ item.title }}
- 作者:
{{ item.author }}
数据更新时间:{{ conferencePapers.updateTime }}
{{ item.title }}
- 作者:
{{ item.author }}
数据更新时间:{{ patent.updateTime }}
Anirudh Sivaraman Kaushalram其他文献
Designing fast and programmable routers
- DOI:
- 发表时间:
2017 - 期刊:
- 影响因子:0
- 作者:
Anirudh Sivaraman Kaushalram - 通讯作者:
Anirudh Sivaraman Kaushalram
MobiTest : an evaluation infrastructure for mobile distributed applications
MobiTest:移动分布式应用程序的评估基础架构
- DOI:
- 发表时间:
2012 - 期刊:
- 影响因子:0
- 作者:
Anirudh Sivaraman Kaushalram - 通讯作者:
Anirudh Sivaraman Kaushalram
Anirudh Sivaraman Kaushalram的其他文献
{{
item.title }}
{{ item.translation_title }}
- DOI:
{{ item.doi }} - 发表时间:
{{ item.publish_year }} - 期刊:
- 影响因子:{{ item.factor }}
- 作者:
{{ item.authors }} - 通讯作者:
{{ item.author }}
{{ truncateString('Anirudh Sivaraman Kaushalram', 18)}}的其他基金
CAREER: Deadline-Ordered Multicast: A Network Primitive for Cloud-Native Distributed Systems
职业:按截止日期排序的多播:云原生分布式系统的网络原语
- 批准号:
2340748 - 财政年份:2024
- 资助金额:
$ 50万 - 项目类别:
Continuing Grant
NSF Workshop on Programmable Networks
NSF 可编程网络研讨会
- 批准号:
1833483 - 财政年份:2018
- 资助金额:
$ 50万 - 项目类别:
Standard Grant
相似国自然基金
基于NRF2调控KPNB1促进PD-L1核转位介导非小细胞肺癌免疫治疗耐药的机制研究
- 批准号:82303969
- 批准年份:2023
- 资助金额:30 万元
- 项目类别:青年科学基金项目
小胶质细胞调控外侧隔核-腹侧被盖区神经环路介导社交奖赏障碍的机制研究
- 批准号:82304474
- 批准年份:2023
- 资助金额:30 万元
- 项目类别:青年科学基金项目
肾去交感神经术促进下丘脑室旁核小胶质细胞M2型极化减轻心衰损伤的机制研究
- 批准号:82370387
- 批准年份:2023
- 资助金额:49 万元
- 项目类别:面上项目
空间邻近标记技术研究莱茵衣藻蛋白核小管与碳浓缩机制的潜在关系
- 批准号:32300220
- 批准年份:2023
- 资助金额:30 万元
- 项目类别:青年科学基金项目
polyG蛋白聚集体诱导小胶质细胞活化在神经元核内包涵体病中的作用及机制研究
- 批准号:82301603
- 批准年份:2023
- 资助金额:30 万元
- 项目类别:青年科学基金项目
相似海外基金
CNS Core: Small: Core Scheduling Techniques and Programming Abstractions for Scalable Serverless Edge Computing Engine
CNS Core:小型:可扩展无服务器边缘计算引擎的核心调度技术和编程抽象
- 批准号:
2322919 - 财政年份:2024
- 资助金额:
$ 50万 - 项目类别:
Standard Grant
CNS Core: Small: Network Wide Sensing by Leveraging Cellular Communication Networks
CNS 核心:小型:利用蜂窝通信网络进行全网络传感
- 批准号:
2343469 - 财政年份:2024
- 资助金额:
$ 50万 - 项目类别:
Standard Grant
CNS Core: Small: Intelligent Fault Injection to Expose and Reproduce Production-Grade Bugs in Cloud Systems
CNS 核心:小型:智能故障注入以暴露和重现云系统中的生产级错误
- 批准号:
2317698 - 财政年份:2023
- 资助金额:
$ 50万 - 项目类别:
Standard Grant
CNS Core: Small: Repurposing Smartphones to Minimize Carbon
CNS 核心:小型:重新利用智能手机以最大限度地减少碳排放
- 批准号:
2233894 - 财政年份:2023
- 资助金额:
$ 50万 - 项目类别:
Standard Grant
Collaborative Research: CNS Core: Small: A Compilation System for Mapping Deep Learning Models to Tensorized Instructions (DELITE)
合作研究:CNS Core:Small:将深度学习模型映射到张量化指令的编译系统(DELITE)
- 批准号:
2230945 - 财政年份:2023
- 资助金额:
$ 50万 - 项目类别:
Standard Grant