处理器芯片全国重点实验室(以下简称“实验室”)在数据中心语义感知系统方面的相关研究取得重要进展,两篇相关成果被系统领域顶级会议NSDI 2025和OSDI 2024接收。
当前数据中心服务器的规模不断扩大,其形态正在从单节点服务器(Monolithic Server)向着机柜服务器(Rack-scale Server)快速发展,以便满足应用不断增长的算力和内存资源需求,如英伟达H100 SXM、DGX GH200等服务器。然而,大型服务器内部互联架构日趋复杂,给计算调度、内存管理等带来了全新挑战。例如,内存资源的非对称性加剧,访存延迟从纳秒级别到微秒级别不等,不同计算部件的访存带宽差异可达10倍以上。
为此,实验室完成了两篇论文《Beehive: A Scalable Disaggregated Memory Runtime Exploiting Asynchrony of Multithreaded Programs》(NSDI 2025)及其前述工作Atlas,《A Tale of Two Paths: Toward a Hybrid Data Plane for Efficient Far-Memory Applications》(OSDI 2024)。以上两篇论文均在跨编程语言、运行时、操作系统构建全新的程序语义感知的数据中心系统软件(Semantics-Aware Cloud)的思路框架下,提升了异构内存管理效率,在满足新型架构对于新型系统软件栈提升硬件资源利用率和计算效率的需求方面取得了进展。
程序语义感知的数据中心系统软件栈(Semantics-Aware Cloud)
论文Beehive(A Scalable Disaggregated Memory Runtime Exploiting Asynchrony of Multithreaded Programs,NSDI 2024)第一作者为实验室博士生李权熹,指导教师为王晨曦副研究员、崔慧敏研究员、冯晓兵研究员。为了应对Rack-scale 服务器中微秒级访存延迟,目前主流方式为创建大量轻量级用户线程(User-level Thread),并通过线程快速切换的方式提高访存并发性,掩盖访存延迟。该方案采用了多线程同步编程模型(Multithreading with Synchronous I/O Programming Model)。该编程模型逻辑直观,并且可以有效减少处理器由于等待微秒级访存而造成的空转(Idle),受到了工业界和学术界的广泛采用,发展出了一系列新型用户级线程、协程、调度框架等,以便进一步提升访存并发性。然而,我们通过研究发现,每个线程都在处理自己的数据,高频率的线程切换不但显著破坏了程序的数据局部性(相对于不切换线程,可导致高达6.5倍的L3 Miss),同时显著提升了线程的调度开销。经过分析发现,异步访存(Asynchronous I/O Programming Model)不但可以避免线程切换,最大程度的保留应用的数据局部性,同时Run-to-completion的线程调度模式也显著将降低了线程的调度开销。基于以上观察,我们提出了Beehive 异步编程框架。Beehive 允许开发者使用多线程同步编程模型撰写程序,然后由Beehive 编译器辅助将应用转为多线程异步访存模型,同时保证了编程效率和应用访存效率。当使用Rack-scale服务器时,和现有最佳多线程同步编程框架AIFM@OSDI 相比,Beehive 可将应用性能平均提升58%以上。
Beehive :多线程同步编程模型 和 异步编程模型对比
其前述工作,Atlas(A Tale of Two Paths: Toward a Hybrid Data Plane for Efficient Far-Memory Applications,OSDI 2024)第一作者为实验室博士生陈磊,指导教师为王晨曦副研究员、崔慧敏研究员、冯晓兵研究员。该工作为优化单服务器节点内数据在远端内存和近端内存之间的传递效率,是Beehive的基础。不同于现有研究的通常认知:“通过操作系统管理硬件设备,如网卡等,不但会造成上下文切换(User-Kernel Context Switching)开销,还由于现有操作系统通用性的设计理念而导致的粗粒度管理策略,无法充分发挥专用硬件的性能。” Atlas创造性的提出:一方面,现有操作系统设计已经和处理器等硬件设计深度耦合,具有TLB等一系列加速部件,可以在众多场景下发挥出高效能;另一方面,大量应用的计算模式规则而且单调,非常适合操作系统的粗粒度管理,使用用户态运行时(Runtime System)进行精细管理反而会造成显著的管理开销。因此,Atlas提出了监测应用计算、访存语义,并动态在操作系统、用户态运行时之间灵活选用最佳管理策略。
第22届USENIX网络系统设计与实现专题讨论会NSDI 2025(Symposium on Network System Design and Implementation)于2025年4月28日-30日举行。NSDI 是计算机网络顶级会议、CCF A类会议,录用率为13%。会议由USENIX组织,专注于网络和分布式系统的设计原理、实现和应用评估,目标是聚集网络和系统社区的研究人员,探索众多方式来解决重叠的研究挑战。
第18届USENIX操作系统设计与实现研讨会OSDI 2024(Symposium on Operating Systems Design and Implementation)于2024年7月10日-12日举行。OSDI 是计算机系统软件顶级会议、CCF A类会议,录用率为17%。会议由USENIX组织,汇集来自学术和工业背景的专业人士,已成为讨论系统软件的设计、实现和影响的首要论坛,强调创新研究以及系统设计和实施方面的量化或富有洞察力的经验。