异构算力硬件调度关键技术研究_第1页
异构算力硬件调度关键技术研究_第2页
异构算力硬件调度关键技术研究_第3页
异构算力硬件调度关键技术研究_第4页
异构算力硬件调度关键技术研究_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

异构算力硬件调度关键技术研究系统软件研究3应用系统硬件内核、框架、工具

…CPUGPU/TPU/

NPUNVMRDMASmartSSDDPU系统软件研究4CPUGPU/TPU/

NPUNVMRDMADPUSmartSSD应用系统硬件发展快周期长演进快内核、框架、工具

…高吞吐、低时延、可扩展、

大规模

…内核、框架、工具

…算力、存力、带宽、持久、隔离

…系统软件研究5发展趋势源自”共性”演进趋势需求系统能力应用硬件演进快发展快系统软件研究——智能时代6应用

智能应用需求

系统

能力硬件人工智能应用

(尤其是深度学习)带来了爆发式的算力需求增长系统能力GPT-3:310

ZFLOPsMoore’sLaw系统软件研究——智能时代7应用需求智能应用大算力硬件系统软件研究——智能时代8应用需求

系统

能力硬件算力共享RecSys:10

T

ParamsAcceleratorMemory内存墙智能车1.

障碍物检测2.

红绿灯识别3.

语音助理4.

疲劳监测

5.

…+强实时、高性价比、大内存、..算力需求亚毫秒级剧烈波动典型DNN任务:3.5~13.6ms智能应用大算力900GB/s

total3.6TB/s

BW大算力、领域加速、异构互联NPU/XPU

、NVLink/NVSwitch/RDMA系统软件研究——智能时代9能力硬件

GPU、大算力

+强实时、高性价比、大内存、..TPU/

NPU/ASIC

...NVLink/

NVSwitch/

RDMAA100108

SMs6,912cores应用需求

系统

智能应用GPU操作系统核心功能

直通怯

系统软件研究——智能时代10大算力、领域加速、高速互联 GPU

、NPU/XPU

、NVLink/NVSwitch/RDMA应用需求

系统

能力硬件大算力

+强实时、高性价比、大内存、..异构算力操作系统关键技术系统框架/服务智能应用系统软件研究——智能时代11核心功能

系统框架/服务直通怯

操作系统

—核心功能大算力、领域加速、高速互联 GPU

、NPU/XPU

、NVLink/NVSwitch/RDMA应用需求

系统

能力硬件大算力

+强实时、高性价比、大内存、..异构算力操作系统关键技术智能应用算力硬件繁荣GPU

TPUNPUSoCAI·PC

是一个“混合体”在硬件上集成了混合AI算力单元且能够本地运行个人大模型创建个性化的本地知识库实现自然语言交互——《AI·PC产业(中国)白皮书》AI·PC12算力硬件多任务调度现状GPU

TPUNPUSoC现有算力硬件(XPU:GPU/

NPU/

DSA/

…)任务调度方法×硬件调度:功能有限(First-Come-First-Serve,

RR)、不同硬件差异巨大

×软件调度:绑定特定软硬件功能(+修改)

、实现工作量大、方法迁移困难13OpenVINO/oneAPIIntel®Core

Ultra

9CPU

GPU

NPUASUS

NUC

14

Pro

PlusLinux

Fake

Background

WebcamGoogle

mediapipeApp

#2whisper.cppOpenAIwhisperApp

#1多任务调度问题演示14NPU原生调度NPU抢占怯调度XPU协同调度App#1:/fangfufu/Linux-Fake-Background-WebcamApp#2:/ggerganov/whisper.cpp1

GPUx

8GPCs/

GPUx

8TPCs/

GPCx2

SMs/TPC=

128

SMs*GPU

Architecture(Nvidia

Ampere)StreamingMultiprocessor高并发算力GPU您步提交软硬协同GPU多任务调度16GPU任务调度*GPU调度单元

NVIDIA使用SM

、ARM使用CU2048

Thds/SMGPU多任务调度17任务时延

(ms)#并发任务关键技术:GPU实时任务抢占*未考虑GPU内存切换、任务加载等开销时间维度vs.

CPUms级任务调度延迟o执行时间更长(5~100

ms)o调度延迟更低(~5

μs)典型DNN推理任务:3.5~13.6

ms调度开销接近一半

*Testbed:AMDRadeonInstinctMI50GPUGPUGPU实时任务抢占18GPUA100o

128SMso256

KB

regs/SMo

164

KBshmem/SM

CPU<1μs切换延迟思路/方法关键洞见:GPU任务多有“幂等性”重置执行中的任务(不保存状态)切换延迟

5

μs1.

大算力硬件状态多任务切换慢}

300μs问题/挑战GPU实时任务抢占19重置执行中的任务(不保存状态)切换延迟

5

μs关键设计:垂直全栈清理2.

}

>1ms典型DNN推理:50~300+任务oResNet

(307),

BERT(205),VGG(55)任务清理慢软硬协同异步提交[软]

HostQs:软件重置队列[软-硬]

Dev

Qs:编译插桩+主动退出[硬]

GPUSM:硬件指令重置~

30

μs清理延迟GPUA100o

128SMso256

KB

regs/SMo

164

KBshmem/SM

CPU<1μs切换延迟思路/方法关键洞见:GPU任务多有“幂等性”1.

大算力硬件状态多任务切换慢}

300μs问题/挑战GPU多任务调度20Microsecond-scale

PreemptionforConcurrent

GPU-accelerated

DNN

Inferences►平台:量产GPU(AMD

MI50

GPU)、开源软件栈(AMD

ROCm)►

支持优先级调度:

高优先级(实时任务

/

RT)、低优先级(后台任务/

BE)►

多任务执行:

<2%

RT任务延迟影响、

7.7×吞吐提升、百倍任务抢占延迟降低OSDI

2022vs独占执行:<2%延迟影响vs独占执行:7.7×

吞吐提升首次在量产GPU上实现了微秒级任务抢占和动态可控算力共享11

Microsecond-scalePreemptionforConcurrentGPU-acceleratedDNNInferences.OSDI2022.“力从“专用”到“通用”21✓

抢占性能好、灵活性高×硬件/软件栈依赖性强

×开发/部署/升级难度大•

利用AMDGPU

重置能力

修改驱动、运行时、应用

实现:5,500

LoC(C++)AMD

GPU开源软件栈(ROCm)1

Microsecond-scalePreemptionforConcurrentGPU-acceleratedDNNInferences.OSDI2022.成果得到学界权威会议认可从“专用”到“通用”22闭源软件栈(CUDA)滴滴当代及下一代自动驾驶组成部分✓

开发/部署难度低×硬件/软件栈依赖性强×功能和应用场景受限•

利用AMDGPU

重置能力

修改驱动、运行时、应用

实现:5,500

LoC(C++)•

利用NVGPU时间片机制•

进程级调度、不兼容MPS•

实现:100

LoC(C++)AMD

GPU开源软件栈(ROCm)N∨

GPU从“专用”到“通用”23•

利用AMDGPU

重置能力

修改驱动、运行时、应用

实现:5,500

LoC(C++)•

利用NVGPU时间片机制•

进程级调度、不兼容MPS•

实现:100

LoC(C++)(ROCm)

(CUDA)AMD

GPU开源软件栈NV

GPU闭源软件栈高优先级低优先级从“专用”到“通用”24?•

利用AMDGPU

重置能力

修改驱动、运行时、应用

实现:5,500

LoC(C++)•

利用NVGPU时间片机制•

进程级调度、不兼容MPS•

实现:100

LoC(C++)(ROCm)

(CUDA)AMD

GPU开源软件栈NV

GPU闭源软件栈Portability:方法难以跨硬件移植×依赖特定硬/软件特征,

难以复用

×NPU/AI芯片:

无抢占调度方法Uniformity:调度抽象和接口不统一×调度策略难以在不同平台迁移×难以实现多XPU的混合协同调度Evolvability:软硬件实现紧密耦合×很难集成新发布或未公开硬件特性×很难排除对过时或禁用功能的依赖XPU多任务调度需求25文件系统

任务调度抽象:

File

Pr

ive接口:

read/write

submit/wait+OPTs+OPTs统一接口架构:

VFS

VQueue

..

..

3

.

.

Cloud~500LoC~50LoCtoSFmeRUPNUPGMARSFNTXEetQueueemp通用XPU多任务调度问题/挑战1.

如何提供XPU通用调度?NVIDIA

GPUsGPU

AppsCUDA

librariesCUDA

runtimeCUDA

driver闭源、复杂思路/方法关键思路:借鉴内核的统一抽象设计CUDAoneAPI

ROCmAscend×

XPU软件栈闭源、复杂包括:驱动、运行时、应用×

XPU软件栈不兼容26e多级硬件模型L#1:不能抢占任务L#2:抢占提交任务L#3:抢占执行任务policyHint

{..}

Event

{..}XSchedevict/

resumePreempti∨eQueuesubmit

/wait

A

1submitAppevents+OPTsNP

UL#3L#2GPU.

.

.问题/挑战2.

如何支持不同种类XPU?×

XPU硬件架构差异大GPU:CUDA/ROCm

程序NPU:预设命令/功能×

XPU硬件实现差异大o

提交/等待(基础)o

中断o

计算单元重置o

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论