Sparse-DySta: Sparsity-Aware Dynamic and Static Scheduling for Sparse Multi-DNN Workloads

📄 arXiv: 2310.11096v1 📥 PDF

作者: Hongxiang Fan, Stylianos I. Venieris, Alexandros Kouris, Nicholas D. Lane

分类: cs.DC, cs.AR, cs.LG

发布日期: 2023-10-17

备注: Paper accepted by MICRO'23

DOI: 10.1145/3613424.3614263

🔗 代码/项目: GITHUB


💡 一句话要点

提出Sparse-DySta以解决稀疏多DNN调度问题

🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 稀疏神经网络 深度学习调度 动态调度 静态调度 多任务处理 边缘计算 数据中心

📋 核心要点

  1. 现有方法未能有效调度稀疏多DNN工作负载,导致计算资源浪费和性能瓶颈。
  2. 提出Dysta调度器,通过结合静态和动态稀疏信息,优化稀疏多DNN的调度策略。
  3. 实验结果表明,Dysta在延迟和周转时间上显著优于现有方法,提升效果明显。

📝 摘要(中文)

在边缘设备和数据中心中,多个深度神经网络(DNN)并行运行已成为一种新兴工作负载。为了降低这些工作负载的计算和内存成本,提出了多种稀疏化方法,导致不同类型DNN模型中普遍存在稀疏性。然而,稀疏多DNN工作负载的调度问题在现有文献中尚未得到充分探讨。本文系统分析了多个稀疏DNN的使用场景,并提出了一种新颖的双层动态和静态调度器Dysta,利用静态稀疏模式和动态稀疏信息进行调度。通过构建公共基准,评估结果显示,该方法在延迟约束违反率上减少了10%,平均周转时间降低近4倍。

🔬 方法详解

问题定义:本文旨在解决稀疏多DNN工作负载的调度问题。现有方法在处理稀疏性时缺乏有效的调度策略,导致资源利用不充分和性能下降。

核心思路:Dysta调度器的核心思想是结合静态稀疏模式与动态稀疏信息,通过双层调度策略提高调度效率和准确性。这样的设计能够更好地适应不同DNN模型的稀疏特性。

技术框架:Dysta的整体架构包括静态调度模块和动态调度模块。静态模块利用预定义的稀疏模式进行初步调度,而动态模块则实时调整调度策略以应对运行时的变化。

关键创新:Dysta的主要创新在于双层调度机制的设计,能够同时考虑静态和动态稀疏性,这与传统方法单一依赖静态稀疏模式的方式有本质区别。

关键设计:在设计中,Dysta采用了特定的参数设置以优化调度效率,并结合了适应性损失函数来动态调整调度策略,确保在不同场景下的最佳性能。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

实验结果显示,Dysta在延迟约束违反率上减少了10%,并在平均周转时间上实现了近4倍的降低,显著优于现有的最先进方法。这些结果表明Dysta在稀疏多DNN调度中的有效性和优势。

🎯 应用场景

该研究的潜在应用领域包括移动设备、增强现实/虚拟现实设备以及数据中心等场景。通过优化稀疏多DNN的调度,能够显著提高资源利用率,降低延迟,提升用户体验,具有重要的实际价值和广泛的应用前景。

📄 摘要(原文)

Running multiple deep neural networks (DNNs) in parallel has become an emerging workload in both edge devices, such as mobile phones where multiple tasks serve a single user for daily activities, and data centers, where various requests are raised from millions of users, as seen with large language models. To reduce the costly computational and memory requirements of these workloads, various efficient sparsification approaches have been introduced, resulting in widespread sparsity across different types of DNN models. In this context, there is an emerging need for scheduling sparse multi-DNN workloads, a problem that is largely unexplored in previous literature. This paper systematically analyses the use-cases of multiple sparse DNNs and investigates the opportunities for optimizations. Based on these findings, we propose Dysta, a novel bi-level dynamic and static scheduler that utilizes both static sparsity patterns and dynamic sparsity information for the sparse multi-DNN scheduling. Both static and dynamic components of Dysta are jointly designed at the software and hardware levels, respectively, to improve and refine the scheduling approach. To facilitate future progress in the study of this class of workloads, we construct a public benchmark that contains sparse multi-DNN workloads across different deployment scenarios, spanning from mobile phones and AR/VR wearables to data centers. A comprehensive evaluation on the sparse multi-DNN benchmark demonstrates that our proposed approach outperforms the state-of-the-art methods with up to 10% decrease in latency constraint violation rate and nearly 4X reduction in average normalized turnaround time. Our artifacts and code are publicly available at: https://github.com/SamsungLabs/Sparse-Multi-DNN-Scheduling.