GaiaGPU: 在容器云中共享GPU

容器技术由于其轻量级和可伸缩的优势而被广泛使用。GPU也因为其强大的并行计算能力被用于应用程序加速。在云计算环境下,容器可能需要一块或者多块GPU计算卡来满足应程序的资源需求,但另一方面,容器独占GPU计算卡常常会带来资源利用率低的问题。因此,对于云计算资源提供商而言,如何解决在多个容器之间共享GPU计算卡是一个很有吸引力的问题。本文中我们提出了一种称为GaiaGPU的方法,用于在容器间共享GPU存储和GPU的计算资源。GaiaGPU会将物理GPU计算卡分割为多个虚拟GPU并且将虚拟GPU按需分配给容器。同时我们采用了弹性资源分配和动态资源分配的方法来提高资源利用率。实验结果表明GaiaGPU平均仅带来1.015%的性能损耗并且能够高效的为容器分配和隔离GPU资源。

编译 GaiaGPU 服务

配置 git 加速

$ git config --global url."https://github.com.cnpmjs.org".insteadOf "https://github.com"

$ vim /etc/profile
export GOPROXY=https://goproxy.cn,direct
export GO111MODULE=on
$ source /etc/profile

vCUDA Controller $ git clon

安装Go

安装

https://golang.google.cn/dl/ 下载对应操作系统的安装包。

Mac

wget https://golang.google.cn/dl/go1.17.7.darwin-amd64.pkg

Linux

wget https://golang.google.cn/dl/go1.17.7.linux-amd64.tar.gz
sudo tar -C /usr/local/ -xzf go1.17.7.linux-amd64.tar.gz

Ubuntu

sudo apt install golang

配置

$ sudo vim /etc/profile
PATH=$PATH:/usr/local/go/bin

#Go代理配置(解决墙的问题)
export GOPROXY=https://goproxy.cn,direct
export GO111MODULE=on
$ source /etc/profile

查看 Go 版本信息

$ go version
go version go1.17.7 linux/amd64

参考资料

使用终端浏览Markdown和HTML

浏览Markdown

sudo apt install lynx
sudo apt install pandoc

pandoc README.md | lynx -stdin
sudo pip install grip
sudo apt install lynx

grip -b README.md
lynx http://localhost:6419/
sudo apt install pandoc
pandoc README.md -t plain | less

浏览HTML

sudo apt install w3m

w3m index.html
sudo apt install lynx
sudo apt install pandoc

pandoc index.html | lynx -stdin
sudo pip install grip

grip -b index.html

参考资料

编译寒武纪MLU220的嵌入式操作系统

OpenIL 是一个基于 Buildroot 的开源项目,专为嵌入式工业解决方案而设计。

Buildroot 是一个简单、高效、易用的工具,通过交叉编译生成嵌入式 Linux 系统。

获取 OpenIL

git clone https://github.com/openil/openil.git
cd openil/

切换版本

查看版本

$ git tag
OpenIL-201705
OpenIL-201708
OpenIL-201712
OpenIL-201803
OpenIL-201805
OpenIL-201808
OpenIL-201810
OpenIL-201901
OpenIL-201904
OpenIL-201908
OpenIL-v1.10-202012
OpenIL-v1.10-202012-EAR
OpenIL-v1.11-202104
OpenIL-v1.11-RC2
OpenIL-v1.6.1-201909
OpenIL-v1.6.2-201911
OpenIL-v1.7-202001
OpenIL-v1.7-202001-update
OpenIL-v1.8-202005
OpenIL-v1.8.1-202009
OpenIL-v1.8.2-202009
OpenIL-v1.9-202009

切换版本

git branch OpenIL-v1.8-202005

Linux下查看img文件内容

img 磁盘镜像文件

查看分区表信息 $ fdisk sdcard.img Welcome to fdisk (util-linux 2.34). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Command (m for help): p Disk sdcard.img: 2.19 GiB, 2348810240 bytes, 4587520 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x00000000 Device Boot Start End Sectors Size Id Type sdcard.img1 * 131072 393215 262144 128M c W95 FAT32 (LBA) sdcard.