SHF: CNS Core: Small: Server architecture optimizations for microsecond-scale RPCs

SHF:CNS Core:小型:微秒级 RPC 的服务器架构优化

基本信息

  • 批准号:
    2006602
  • 负责人:
  • 金额:
    $ 40万
  • 依托单位:
  • 依托单位国家:
    美国
  • 项目类别:
    Standard Grant
  • 财政年份:
    2020
  • 资助国家:
    美国
  • 起止时间:
    2020-10-01 至 2024-09-30
  • 项目状态:
    已结题

项目摘要

Modern datacenters host online services that are decomposed into multiple software tiers spanning thousands of servers. Servers coordinate and communicate with each other using Remote Procedure Calls (RPCs) over the internal datacenter network. The ongoing productivity-boosting software architecture trend of microservices is pushing software decomposition of deployed services to the extreme, resulting in more frequent inter-server communication and finer-grained RPCs, often with runtimes of only a few microseconds. With shrinking per-RPC runtime, networking efficiency directly impacts the performance of an online service as a whole: networking-related overheads that would otherwise be negligible are amplified by the fine-grained nature of the application-level logic triggered per RPC. A promising approach to address this challenge is to promote the role of each server’s NIC—the gateway between a server’s compute resources and the network—from simple RPC delivery to active RPC manipulation. Historically, the NIC agnostically delivers incoming packets, by writing them into memory; the packets are later picked up by a CPU core for processing, resulting in excess data movement, inter-core synchronization overheads, or inter-core load imbalance. ROAr is a new server architecture optimized for efficient handling of microsecond-scale RPCs, featuring a NIC that dynamically monitors system-wide behavior and intelligently steers incoming RPCs within the server’s memory hierarchy, including direct placement in CPU cores’ private caches. An RPC-oriented protocol allows the NIC to raise the level of abstraction it operates on from network packets to RPCs—i.e., from data chunks to messages that trigger some computation. The more information exposed to the NIC about the computation an RPC will trigger, the better the RPC steering decision the NIC can make. In the ROAr architecture, the NIC monitors incoming RPCs and makes a number of novel decisions to judiciously distribute them within a modern server’s memory hierarchy and across CPU cores. Overall, ROAr’s techniques can drastically improve the efficiency and performance of handling microsecond-scale RPCs. A direct consequence is improved quality for a plethora of large-scale online services deployed on modern datacenters, which make heavy use of such RPCs. Therefore, ROAr has the potential to influence the design of future server architectures.ROAr involves extensive hardware-software co-design, breaking the conventionally rigid boundaries between network and compute. The NIC’s role is promoted from oblivious placement of incoming RPCs into a server’s memory hierarchy to active RPC acceleration. The NIC’s natural position in an RPC’s processing lifetime establishes it as an excellent agent to stage the cache hierarchy for optimized data movement and reduced latency. ROAr features three main mechanisms. First, it alleviates detrimental memory-bandwidth interference by keeping all incoming RPCs within the cache hierarchy, early-rejecting requests that are predicted to miss their deadline because of excessive ongoing queuing. Second, ROAr makes dynamic inter-core balancing decisions for incoming RPCs, by taking into account real-time system load information, and steers RPCs all the way to the private cache of the selected CPU core. Third, while an RPC is queued, waiting to be executed, the NIC prefetches the RPC’s corresponding instructions and critical data, thus accelerating the RPC’s startup time when it is eventually picked up by the core for processing. The nature of such prefetching is novel, as decisions are not based on predictions, but on prescience: the NIC’s early knowledge of an RPC’s arrival from the network. The proposed research involves theoretical modeling, simulation, and prototyping. Queuing analysis on a variety of RPC service-time distributions will be conducted to develop NIC-driven inter-core load distribution policies. A cycle-accurate simulation model of ROAr will be developed to evaluate in-cache network buffer management, RPC-to-core steering, and prefetching mechanisms. Finally, the applicability of NIC-driven load-balancing policies on existing architectures featuring discrete NICs will be evaluated, with the use of a programmable FPGA-based NIC.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.
现代网络中心托管的在线服务被分解为跨越数千台服务器的多个软件层。服务器通过内部数据中心网络使用远程过程调用(RPC)相互协调和通信。微服务持续的提高生产力的软件架构趋势正在将部署服务的软件分解推向极致,导致更频繁的服务器间通信和更细粒度的RPC,通常运行时间只有几微秒。随着每个RPC运行时的缩减,网络效率直接影响整个在线服务的性能:与网络相关的开销本来可以忽略不计,但每个RPC触发的应用程序级逻辑的细粒度特性却放大了这些开销。解决这一挑战的一个有前途的方法是提升每个服务器的NIC(服务器计算资源和网络之间的网关)的作用,从简单的RPC传递到主动的RPC操作。从历史上看,NIC通过将传入数据包写入内存来不可知地传递传入数据包;数据包稍后由CPU核心拾取以进行处理,从而导致过量的数据移动、核心间同步开销或核心间负载不平衡。ROAr是一种新的服务器架构,针对微秒级RPC的高效处理进行了优化,其特点是NIC可以动态监控系统范围的行为,并智能地引导服务器内存层次结构中的传入RPC,包括直接放置在CPU内核的私有缓存中。面向RPC的协议允许NIC将其操作的抽象级别从网络分组提高到RPC-即,从数据块到触发某些计算的消息。暴露给NIC的有关RPC将触发的计算的信息越多,NIC可以做出的RPC引导决策就越好。在ROAr体系结构中,NIC监视传入的RPC,并做出许多新颖的决定,以明智地将它们分布在现代服务器的内存层次结构中和CPU内核中。总的来说,ROAr的技术可以大大提高处理微秒级RPC的效率和性能。一个直接的结果是提高了现代网络中心部署的大量大规模在线服务的质量,这些服务大量使用这种RPC。因此,ROAr有可能影响未来服务器架构的设计。ROAr涉及广泛的硬件-软件协同设计,打破了传统的网络和计算之间的严格界限。NIC的角色从不经意地将传入RPC放置到服务器的内存层次结构中提升为主动RPC加速。NIC在RPC处理生命周期中的自然位置使其成为一个出色的代理,用于暂存该高速缓存层次结构,以优化数据移动并减少延迟。注重成果的年度报告有三个主要机制。首先,它通过将所有传入的RPC保持在该高速缓存层次结构内来消除有害的存储器带宽干扰,从而提前拒绝由于过多的正在进行的排队而被预测为错过其最后期限的请求。其次,ROAr通过考虑实时系统负载信息为传入的RPC做出动态核间平衡决策,并将RPC一直引导到所选CPU核的私有高速缓存。第三,当RPC排队等待执行时,NIC预取RPC的相应指令和关键数据,从而在RPC最终被核心拾取进行处理时加速RPC的启动时间。这种预取的本质是新颖的,因为决策不是基于预测,而是基于预知:NIC对RPC从网络到达的早期知识。建议的研究涉及理论建模,仿真和原型。将对各种RPC服务时间分布进行深入分析,以开发NIC驱动的核间负载分布策略。将开发一个周期精确的ROAr仿真模型,以评估高速缓存中的网络缓冲区管理,RPC到核心的转向和预取机制。最后,NIC驱动的负载平衡政策在现有的具有离散的网络结构上的适用性将被评估,使用基于FPGA的可编程NIC。该奖项反映了NSF的法定使命,并已被认为是值得通过使用基金会的智力价值和更广泛的影响审查标准进行评估的支持。

项目成果

期刊论文数量(6)
专著数量(0)
科研奖励数量(0)
会议论文数量(0)
专利数量(0)
Cooperative Concurrency Control for Write-Intensive Key-Value Workloads
Cerebros: Evading the RPC Tax in Datacenters
Cerebros:逃避数据中心的 RPC 税
IDIO: Orchestrating Inbound Network Data on Server Processors
IDIO:在服务器处理器上编排入站网络数据
  • DOI:
    10.1109/lca.2020.3044923
  • 发表时间:
    2021
  • 期刊:
  • 影响因子:
    2.3
  • 作者:
    Alian, Mohammad;Shin, Jongmin;Kang, Ki-Dong;Wang, Ren;Daglis, Alexandros;Kim, Daehoon;Kim, Nam Sung
  • 通讯作者:
    Kim, Nam Sung
Patching up Network Data Leaks with Sweeper
{{ 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 }}

Alexandros Daglis其他文献

OneEdge
边缘
Algorithm/Architecture Co-Design for Near-Memory Processing
近内存处理的算法/架构协同设计
  • DOI:
    10.1145/3273982.3273992
  • 发表时间:
    2018
  • 期刊:
  • 影响因子:
    0
  • 作者:
    M. Drumond;Alexandros Daglis;Nooshin Mirzadeh;Dmitrii Ustiugov;Javier Picorel;B. Falsafi;Boris Grot;D. Pnevmatikatos
  • 通讯作者:
    D. Pnevmatikatos
An Analysis of Load Imbalance in Scale-out Data Serving
横向扩展数据服务中的负载不平衡分析
Manycore Network Interfaces for in-memory rack-scale computing
用于内存机架规模计算的众核网络接口
A Case for CXL-Centric Server Processors
以 CXL 为中心的服务器处理器案例
  • DOI:
    10.48550/arxiv.2305.05033
  • 发表时间:
    2023
  • 期刊:
  • 影响因子:
    0
  • 作者:
    Albert Cho;A. Saxena;Moinuddin K. Qureshi;Alexandros Daglis
  • 通讯作者:
    Alexandros Daglis

Alexandros Daglis的其他文献

{{ item.title }}
{{ item.translation_title }}
  • DOI:
    {{ item.doi }}
  • 发表时间:
    {{ item.publish_year }}
  • 期刊:
  • 影响因子:
    {{ item.factor }}
  • 作者:
    {{ item.authors }}
  • 通讯作者:
    {{ item.author }}

{{ truncateString('Alexandros Daglis', 18)}}的其他基金

SHF: Small: Redesigning the Memory System in the Era of Compute Express Link
SHF:小型:重新设计 Compute Express Link 时代的内存系统
  • 批准号:
    2333049
  • 财政年份:
    2024
  • 资助金额:
    $ 40万
  • 项目类别:
    Standard Grant
CAREER: Architecting Datacenters for Optimized Tail Latency at Scale
职业:构建数据中心以大规模优化尾部延迟
  • 批准号:
    2237434
  • 财政年份:
    2023
  • 资助金额:
    $ 40万
  • 项目类别:
    Continuing Grant

相似国自然基金

IL-17A通过STAT5影响CNS2区域甲基化抑制调节性T细胞功能在银屑病发病中的作用和机制研究
  • 批准号:
    82304006
  • 批准年份:
    2023
  • 资助金额:
    30 万元
  • 项目类别:
    青年科学基金项目
miR-20a通过调控CD4+T细胞焦亡促进CNS炎性脱髓鞘疾病的发生及机制研究
  • 批准号:
  • 批准年份:
    2022
  • 资助金额:
    30 万元
  • 项目类别:
    青年科学基金项目
血浆CNS来源外泌体中寡聚磷酸化α-synuclein对PD病程的提示研究
  • 批准号:
    82101506
  • 批准年份:
    2021
  • 资助金额:
    30 万元
  • 项目类别:
    青年科学基金项目
基于脑微血管内皮细胞模型的毒力岛4在单增李斯特菌CNS炎症中的作用及机制研究
  • 批准号:
    32160834
  • 批准年份:
    2021
  • 资助金额:
    35 万元
  • 项目类别:
    地区科学基金项目
胱硫醚-β-合成酶介导小胶质细胞极化致糖皮质激素CNS毒性作用及机制研究
  • 批准号:
  • 批准年份:
    2021
  • 资助金额:
    30 万元
  • 项目类别:
    青年科学基金项目
生物工程化微泡干扰MAPK通路重编程CNS微环境起始脑胶质瘤免疫检查点抑制剂的应答研究
  • 批准号:
  • 批准年份:
    2021
  • 资助金额:
    30 万元
  • 项目类别:
    青年科学基金项目
百合中“桉树脑盒”挥发物生物合成关键酶基因CNS的功能解析
  • 批准号:
    32002082
  • 批准年份:
    2020
  • 资助金额:
    24.0 万元
  • 项目类别:
    青年科学基金项目
大气细颗粒物通过NF-κB/LBP-9信号通路诱导小胶质细胞激活加剧CNS脱髓鞘损伤的作用机制研究
  • 批准号:
    82071396
  • 批准年份:
    2020
  • 资助金额:
    55 万元
  • 项目类别:
    面上项目
新型化合物组合抑制STAT6维持Foxp3-CNS2去甲基化产生稳定的iTreg细胞诱导小鼠肾移植免疫耐受的机制研究
  • 批准号:
    82070773
  • 批准年份:
    2020
  • 资助金额:
    57 万元
  • 项目类别:
    面上项目
基于菌群-肠-脑轴探讨柚皮素改善CNS髓鞘脱失的机制研究
  • 批准号:
  • 批准年份:
    2020
  • 资助金额:
    50 万元
  • 项目类别:

相似海外基金

CNS Core: Small: Core Scheduling Techniques and Programming Abstractions for Scalable Serverless Edge Computing Engine
CNS Core:小型:可扩展无服务器边缘计算引擎的核心调度技术和编程抽象
  • 批准号:
    2322919
  • 财政年份:
    2024
  • 资助金额:
    $ 40万
  • 项目类别:
    Standard Grant
CNS Core: Small: Network Wide Sensing by Leveraging Cellular Communication Networks
CNS 核心:小型:利用蜂窝通信网络进行全网络传感
  • 批准号:
    2343469
  • 财政年份:
    2024
  • 资助金额:
    $ 40万
  • 项目类别:
    Standard Grant
CNS Core: Small: Intelligent Fault Injection to Expose and Reproduce Production-Grade Bugs in Cloud Systems
CNS 核心:小型:智能故障注入以暴露和重现云系统中的生产级错误
  • 批准号:
    2317698
  • 财政年份:
    2023
  • 资助金额:
    $ 40万
  • 项目类别:
    Standard Grant
Collaborative Research: CNS Core: Medium: Reconfigurable Kernel Datapaths with Adaptive Optimizations
协作研究:CNS 核心:中:具有自适应优化的可重构内核数据路径
  • 批准号:
    2345339
  • 财政年份:
    2023
  • 资助金额:
    $ 40万
  • 项目类别:
    Standard Grant
CNS Core: Small: Repurposing Smartphones to Minimize Carbon
CNS 核心:小型:重新利用智能手机以最大限度地减少碳排放
  • 批准号:
    2233894
  • 财政年份:
    2023
  • 资助金额:
    $ 40万
  • 项目类别:
    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
  • 资助金额:
    $ 40万
  • 项目类别:
    Standard Grant
Collaborative Research: NSF-AoF: CNS Core: Small: Towards Scalable and Al-based Solutions for Beyond-5G Radio Access Networks
合作研究:NSF-AoF:CNS 核心:小型:面向超 5G 无线接入网络的可扩展和基于人工智能的解决方案
  • 批准号:
    2225578
  • 财政年份:
    2023
  • 资助金额:
    $ 40万
  • 项目类别:
    Standard Grant
CNS Core: Small: Toward Opportunistic, Fast, and Robust In-Cache AI Acceleration at the Edge
CNS 核心:小型:在边缘实现机会主义、快速且稳健的缓存内 AI 加速
  • 批准号:
    2228028
  • 财政年份:
    2023
  • 资助金额:
    $ 40万
  • 项目类别:
    Standard Grant
Collaborative Research: CNS Core: Medium: Movement of Computation and Data in Splitkernel-disaggregated, Data-intensive Systems
合作研究:CNS 核心:媒介:Splitkernel 分解的数据密集型系统中的计算和数据移动
  • 批准号:
    2406598
  • 财政年份:
    2023
  • 资助金额:
    $ 40万
  • 项目类别:
    Continuing Grant
Collaborative Research: CNS Core: Small: SmartSight: an AI-Based Computing Platform to Assist Blind and Visually Impaired People
合作研究:中枢神经系统核心:小型:SmartSight:基于人工智能的计算平台,帮助盲人和视障人士
  • 批准号:
    2418188
  • 财政年份:
    2023
  • 资助金额:
    $ 40万
  • 项目类别:
    Standard Grant
{{ showInfoDetail.title }}

作者:{{ showInfoDetail.author }}

知道了