本篇首先介绍的是高性能共享内存对象存储(Plasma)在Ray中的使用方法,然后介绍Ray中资源的管理组要分为CPU,GPu的分配使用机制和自定义资源的分配,特别是资源的分配个数可以为分数(小数)个。最后介绍了临时文件的位置和布局,Plasma对象的存储位置。
1 Plasma 的对象存储
Plasma是一种高性能共享内存对象存储,最初是在Ray中开发的,现在正在Apache Arrow中开发。请参阅相关文档。
在Linux上,可以通过使用标准大页(huge pages)来增加Plasma对象存储的写吞吐量。您首先需要创建一个文件系统并激活如下所示的标准大页(huge pages)。
注:Huge pages 是从 Linux Kernel 2.6 后被引入的,目的是通过使用大页内存来取代传统的 4kb 内存页面, 以适应越来越大的系统内存,让操作系统可以支持现代硬件架构的大页面容量功能。Huge pages 有两种格式大小: 2MB 和 1GB , 2MB 页块大小适合用于 GB 大小的内存, 1GB 页块大小适合用于 TB 级别的内存; 2MB 是默认的页大小。
sudo mkdir -p /mnt/hugepages
gid=`id -g`
uid=`id -u`
sudo mount -t hugetlbfs -o uid=$uid -o gid=$gid none /mnt/hugepages
sudo bash -c "echo $gid > /proc/sys/vm/hugetlb_shm_group"
# This typically corresponds to 20000 2MB pages (about 40GB), but this
# depends on the platform.
sudo bash -c "echo 20000 > /proc/sys/vm/nr_hugepages"
注意: 一旦您创建了标准大页(huge pages),它们将占用内存,除非您删除标准大页(huge pages)&