近日,体系结构领域四大会议International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 2024)夏季summer轮放榜,此次收到405篇有效投稿,54篇被接收,并有33篇major revision进入fall轮修改。EPCC实验室在spring轮收获1篇的前提下,此次又有4篇论文接收,其中2篇论文经过major revison在本轮正式接收,恭喜同学们!!
距离正式会议交流和论文公布还有一段时间,我们在这里提前放出内容前瞻,对接受的4篇论文进行介绍。
论文1:GMLake: Efficient and Transparent GPU Memory Defragmentation for Large-scale DNN Training with Virtual Memory Stitching
作者:Cong Guo, Rui Zhang, Jiale Xu, Jingwen Leng, Zihan Liu, Ziyu Huang, Minyi Guo, Hao Wu, Shouren Zhao, Junping Zhao, Ke Zhang
大规模深度神经网络(DNN),如大型语言模型(LLM),已经彻底改变了人工智能(AI)领域,并变得越来越流行。然而,训练或微调此类模型需要大量的计算能力和资源,其中像GPU这样的加速设备的显存容量是最重要的瓶颈之一。由于GPU原始的显存分配器的开销太大(相较于现有缓存分配器约十倍的开销),像PyTorch和TensorFlow这样的DNN框架采用了一个缓存分配器,该分配器维护具有拆分机制的快速显存分配(释放)内存池。但对于流行的显存节省技术的混合应用,如重新计算激活值、卸载参数到其他存储系统、分布式训练和低秩分解,缓存分配器的效率会迅速下降。主要原因是这些内存减少技术引入了频繁和不规则的内存分配(释放 )请求,导致基于拆分的缓存分配器出现严重的碎片问题。
为了缓解这种碎片化问题,我们提出了一种新的基于底层GPU虚拟内存管理的内存分配框架,称为GPU显存湖GMLake。GMLake采用了一种新颖的虚拟内存拼接(Virtual Memory Stitching, VMS)机制,该机制可以将非连续内存块与虚拟内存地址映射进行融合或组合。这一创新的机制有望改善内存碎片问题,提高GPU内存的有效利用。GMLake对DNN模型和内存减少技术是完全透明的,可以减少34%的GPU内存使用,即在A100 GPU上节省27GB的内存,这为资源密集型深度学习任务的无缝执行提供了关键的支持。这一突破性的内存管理框架有望推动深度学习领域的性能提升和资源更高效的利用,特别是在需要处理内存碎片问题的情况下。
论文2:FaaSGraph: Enabling Scalable, Efficient, and Cost-Effective Graph Processing with Serverless Computing
作者:Yushi Liu, Shixuan Sun, Zijun Li, Quan Chen, Sen Gao, Bingsheng He, Chao Li, Minyi Guo
图是描述数据及其间关系的高效存储结构。图计算是大数据处理领域的重要任务。为处理大规模的图数据,研究人员曾提出大量基于IaaS模式的图计算框架,但受限于此模式,开发者们需要负责手动管理集群资源、图计算框架代码等繁琐任务。与此同时,在高度动态的图计算请求负载下,传统框架难以高效扩缩容。为此,我们提出FaaSGraph:基于Serverless计算范式的图计算系统。
图1描述了FaaSGraph的执行流。在此模式下,用户只需提交图计算函数代码,图数据以及资源配置文件,而FaaSGraph则负责图计算请求执行、自动弹性扩缩容等任务。为解决无服务器计算下较小粒度资源管理带来的高开销问题,我们设计了函数间的资源融合机制,减轻负载不均的影响,并提供高效的内存通信通道。为解决传统无服务器计算自动扩展策略带来的资源浪费,我们提出了限制性扩展策略,拦阻超额的资源扩容请求,减轻服务提供商的资源压力。与此同时,我们对传统图计算模型进行了重新设计,进一步减少了不必要的预处理时间开销以及内存开销。实验显示,相对传统图计算框架,FaaSGraph在端到端时延上最多提升可达8.4倍,并节省最多52.4%的内存。针对工业界工作负载的分析表明,FaaSGraph在保持稳定尾延迟的同时,最大能够降低85.7%的使用成本。
本篇工作也是既FaaSFlow(ASPLOS 22),DataFlower(ASPLOS 24 spring)之后,在Serverless计算范式对于拓扑图处理上的进一步探索。
论文3:JUNO: Optimizing High-Dimensional Approximate Nearest Neighbour Search with Sparsity-Aware Algorithm and Ray-Tracing Core Mapping
作者:Zihan Liu, Wentao Ni, Jingwen Leng, Yu Feng, Cong Guo, Quan Chen, Chao Li, Minyi Guo, Yuhao Zhu
近似最近邻居搜索(Approximate Nearest Neighbor Search,ANNS)作为重要的组件目前被广泛应用于如推荐系统、大模型等各种智能应用中。这一任务主要的目的为在某种距离度量下(一般为欧几里得距离或内积距离),在大量的向量(Database)中寻找与查询(Query)最近的若干向量,这些向量的维度从点云任务中的三维到大模型Embedding中的数千维不等。
目前为了优化ANNS的性能,乘积量化(Product Quantization)被广泛应用。在乘积量化中,Database中每一个高维向量首先被等分为若干段低维向量;对于某一段低维向量,在对应编码本(codebook)中计算所有条目与这段低维向量的距离;最后直接用最近的条目的ID编码这段低维向量。在Query到来后,Query也进行分段操作;而后每一段低维向量与对应编码本中的每个条目计算距离,汇总成距离查找表;最后遍历编码后的Database,根绝ID查找距离查找表并累加多段低维向量的距离,对最后总距离排序获得最后的最近邻居。在这一过程中codebook由Database中的点训练而来,其质量直接影响到编码质量。
我们发现在这一过程中,对于某个Query真正的Top-100 Nearest结果,在某一段低维向量的空间中被用到的codebook条目少且集中。少即少于25%的条目会被Top-100 Nearest使用(如图 2a),集中即被使用到的条目都在空间距离上离Query这段低维向量很近(如图 2b)。我们的Idea便是利用这一条目稀疏性和空间局部性,仅计算离Query这段低维向量近的条目的距离。若使用传统的计算方法,仍然需要计算每个条目的距离进行筛选,然而光线追踪硬件给了我们新的机会。光线追踪硬件目前广泛使用BVH树+AABB包围盒的算法,以LogE的复杂度对光线和E个实体进行相交检测。而相交检测就蕴含了距离筛选。故我们将这一想法映射到NVIDIA光线追踪核心上进行加速。使用光线追踪核心计算离Query这段低维向量近的条目的距离,并进行后续的距离累加、排序。为了提高计算效率以及距离度量覆盖率,我们提出了若干优化,诸如基于相交时间的相交距离计算及距离阈值调节,基于实体半径的距离度量切换以及张量-光追核心并行等。我们的系统在多个1,000,000和100,000,000规模数据集上取得相比基线系统FAISS 2x-9x的提升。
论文4:Amanda: Unified Instrumentation Framework for Deep Neural Networks
作者:Yue Guan, Yuxian Qiu, Jingwen Leng, Fan Yang, Shuo Yu, Yunxin Liu, Yu Feng, Yuhao Zhu, Lidong Zhou, Yun Liang, Chen Zhang, Chao Li, Minyi Guo
随着神经网络模型在各类应用中取得的成功,也出现了诸多针对神经网络的分析(例如计算图追踪)和优化(例如剪枝)的方法。然而目前这些工作依赖于不同的编程模型,开发者需要基于不同框架(例如PyTorch和TensorFlow)中的诸多编程接口来实现对神经网络的监测和修改。这导致不同的工具会产生各自不同的实现方式,甚至在实际工程中,一些工作甚至需要分别对不同的神经网络模型实现不同的修改方式。为了解决这一问题,本工作利用传统程序分析中插桩的思想,提出了在计算图层级对神经网络算子进行插桩的统一的编程模型,如下图所示,从而可以将各种对神经网络分析以及优化的应用解耦为独立的插桩工具。
基于这一神经网络插桩编程模型,本工作设计提出了Amanda插桩框架,如下图所示,基于Amanda提供的插桩接口,开发者可以开发出独立于神经网络模型源码的各种分析优化工具,并由Amanda自动应用到各种神经网络模型上。此外,基于Amanda框架提供的工具依赖机制,开发者可以进一步组合并复用插桩工具,从而进一步减少各种高抽象层级应用的开发难度,并且重复利用设计好的底层插桩工具。