ืฉืืื ืืืจ! ืืขืจืื ื ืชืื ืื ืขืืืจ Big Data ืืืืืืช ืืืื ื ืฆืืืืื ืืืืคื ืืงืกืคืื ื ืฆืืืื ืืื ืื ื ืฆืจืืืื ืืขืืื ืืงืฆื ืฉืืื. ืืคืืกื ืฉืื ื ืขื ืืื ืืืืืื ืืืฉื ืืช ื ืืกืคืช ืืชืืื ืืืฉืื ืืืฆืืขืื ืืืืืื (HPC, High Performance Computing), ืืืฆื ืืืืื ืงืื ืืกืืื ืืืชืืืช
ืืืฆืืขื GPU ืขืืืื ืขื ืืขืื ืช ืื ืชืื ืื
ืืื CUDA, ืืจืืืืงืืืจืช ืืืฉืื ืืงืืืื ืืืืกืกืช ืืืืจื ืืชืืื ื ืืคืืชืื ืืืฉืืืื ืืืืจืืช ืืืืืืช, ื ืืฆืจื ื-2007, ืืืืืืช ืืืืืจื ืฉื ืืขืืื ื-GPU ืขืฆืื ืืืื ืืฆืืจื ืืืืืื. ืืืื, ืืฉืชืืฉืื ืืืขืืื GPU ืืืชืจ ืืืืชืจ ืืืืฉืืื HPC ืืืื Big Data, ืืืืืช ืืืื ื (ML) ืืืืืื ืขืืืงื (DL).
ืฉืืื ืื ืฉืืืจืืช ืืืืืื ืืืื ืืื, ืฉืชื ืืืืจืื ืืช ืื ืืฉืืืืช ืฉืื ืืช ืืืืื ื ืืืืืจืืชืืืช. ML ืืืื ืืช ืืืืฉื ืขื ืกืื ื ืชืื ืื ืืืื ืื, ืืขืื ืฉ-DL ืืืื ืืช ืืืืฉื ืขื ืกืื ืืฉืื ืืจืฉืช ืขืฆืืืช. ืืืืื ืฉืชืขืืืจ ืืืืื ืืช ืืืืืืื ืืื ืื ืคืฉืืื. ื ื ืื ืฉืืืืฉื ืืืื ืืืืืื ืืื ืชืืื ืืช ืฉื ืืชืืืื ืืืืืื ืฉื ืืขื ืื ืืืขืจืืช ืืืืกืื. ืขืืืจ ML, ืขืืื ืืฉืืื ืกื ืชืืื ืืช ืขื ืชืืื ืจืืื, ืฉืื ืืื ืืื ืืืืืจ ืชืืื ื ืืกืืืืช ืฉื ืืขื ืืืืื. ืขืืืจ DL, ืืกืคืืง ืืืขืืืช ืืกืคืจ ืืืื ืืืจืื ืฉื ืชืืื ืืช, ืืื ืขื ืชื ืืื ืืืื "ืื ืืชืื" ืื "ืื ืืื". DL ืืืื ืืืื ืืืืคื ืฉืื ืืืืืื ืืืืื ืฆืขืืจืื - ืคืฉืื ืืจืืื ืืื ืชืืื ืืช ืฉื ืืืืื ืืืชืืืื ืืกืคืจืื ืืืืืื (ืืจืื, ืืื ืืคืืื ืืืกืืืจ ืืช ืืืืื ืืืคืืจื), ืืืืื ืฉื ืืืื ืขืฆืื ืืชืืื ืืงืืืข ืืช ืกืื ืืืื ืืืืจ ืืกืคืจ ืงืจืืื ืืกืืื ืฉื ืชืืื ืืช ืืืฉืืืื (ืืคื ืืืขืจืืืช, ืื ืื ื ืืืืจืื ืขื ืจืง ืืื ืื ืฉืชืืื ืืืคืขืื ืืืืื ืืืืืืช ืืืืงืืืช). ืืืืืจืืชืื DL ืขืืืื ืื ืื ืื ืืืฉืืืื: ืืื ืฉืจืฉืช ืขืฆืืืช ืชืขืืื ืืืฆืืื ืื ืขื ืืืืื ืชืืื ืืช, ืืฉ ืฆืืจื ืืืืื ืืืขืื ืืืืืื ื ืชืืื ืืช ืืชืื ื-GPU.
ืชืงืฆืืจ ืืืงืืื: ืขื ืืกืืก GPUs ื ืืชื ืืื ืืช ืืคืืืงืฆืืืช HPC ืืชืืื ื-Big Data, ML ื-DL, ืื ืืฉื ื ืืขืื - ืืขืจืื ืื ืชืื ืื ืื ืืืืืื ืขื ืฉืืฉื ืืืื ืืืืฉืงืข ืืืขืื ืช ืื ืชืื ืื ืืืขืจืืช ืืืืกืื ื-GPU ืืชืืื ืืืคืืืช ืืช ืืืืฆืืขืื ืืืืืืื ืฉื ืืืืฉืื. ืืืืืื ืืืจืืช, ืืขืืื GPU ืืืืจืื ื ืืชืจืื ืื ืื ืืฆืืื ืขืงื ื ืชืื ื I/O ืืืืืื ืืืืืขืื ืืชืช-ืืขืจืืืช ืืืจืืช. ืืืืื ืืืืืจืืช ื-I/O ืฉื ื-GPU ืืืืืืืืืก ื-CPU/ืืขืจืืช ืืืกืื ืืืื ืืืืืช ืืกืืจ ืืืื.
ืืืฆื ืคืืขืืช ืืื ืืืืืืืช ืืืืกืื ืฉื GPUDirect?
ืชืืืื ื-I/O ื ืฉืื ืขื ืืื ื-CPU, ืืื ืื ืชืืืื ืืขืื ืช ืื ืชืื ืื ืืืืืกืื ื-GPUs ืืขืืืื ื ืืกืฃ. ืื ืืืืื ืืืงืฉื ืืืื ืืืืืื ืฉืชืกืคืง ืืืฉื ืืฉืืจื ืืื ืืื ื ื GPU ืืืื ื ื NVMe ืืื ืืชืงืฉืจ ืืืืืจืืช ืื ืขื ืื. NVIDIA ืืืืชื ืืจืืฉืื ื ืฉืืฆืืขื ืืื ืืืืืื ืืื ืืงืจืื ืื GPUDirect Storage. ืืืขืฉื, ืืืื ืืจืืืฆืื ืฉื ืืื ืืืืืืืช GPUDirect RDMA (Remote Direct Memory Address) ืฉืื ืคืืชืื ืืขืืจ.
Jensen Huang, ืื ื"ื NVIDIA, ืืฆืื ืืช GPUDirect Storage ืืืจืกื ืฉื GPUDirect RDMA ื-SC-19. ืืงืืจ: NVIDIA
ืืืืื ืืื GPUDirect RDMA ื-GPUDirect Storage ืืื ืืืืฉืืจืื ืฉืืื ืืื ืืชืืฆืขืช ืืืชืืืช. ืืื ืืืืืืืช GPUDirect RDMA ืืืืขืืช ืืืขืืืจ ื ืชืื ืื ืืฉืืจืืช ืืื ืืจืืืก ืืืฉืง ืืจืฉืช ืืงืืื (NIC) ืืืืืจืื GPU, ื-GPUDirect Storage ืืกืคืง ื ืชืื ื ืชืื ืื ืืฉืืจ ืืื ืืืกืื ืืงืืื ืื ืืจืืืง ืืืื NVMe ืื NVMe over Fabric (NVMe-oF) ื ืืืืจืื GPU.
ืื GPUDirect RDMA ืืื GPUDirect Storage ืืื ืขืื ืชื ืืขืืช ื ืชืื ืื ืืืืชืจืืช ืืจื ืืืืจ ืืืืืจืื ื-CPU ืืืืคืฉืจืื ืืื ืื ืื ืืืืฉื ืืืฉืืจื ืืืืืจืื (DMA) ืืืขืืืจ ื ืชืื ืื ืืืจืืืก ืืจืฉืช ืื ืืืืกืื ืืฉืืจืืช ืืืืืจืื ื-GPU ืื ืืื ื - ืืื ืืื ืขืืืก ืขื ืืืขืื ืืืจืืื. ืขืืืจ ืืืกืื GPUDirect, ืืืืงืื ืฉื ืืืืกืื ืืื ื ืืฉื ื: ืื ืืืื ืืืืืช ืืืกืง NVME ืืชืื ืืืืืช GPU, ืืชืื ืืชืื, ืื ืืืืืจ ืืจื ืืจืฉืช ื-NVMe-oF.
ืชืื ืืช ืืคืขืืื ืฉื ืืืกืื GPUDirect. ืืงืืจ: NVIDIA
ืืขืจืืืช ืืืกืื Hi-End ื-NVMe ืืืืงืฉืืช ืืฉืืง ืืืฉืืื HPC
ืืชืื ืืื ื ืฉืขื ืื ืืกืชื ืฉื GPUDirect Storage, ืืขื ืืื ืฉื ืืงืืืืช ืืืืืื ืืืืฉื ืืืฆืืข ืืขืจืืืช ืืืกืื ืขื ืืืืจืืืืช ืงืื/ืคืื ืืืชืืืืืช ืืชืคืืงื ืฉื ื-GPU, ืืชืขืจืืืช SC-19 ืงืื ืืกืืื ืืจืืชื ืืืืื ืฉื ืืขืจืืช ืืืืจืืืช ื-GPU. ืืขืจืืช ืืืกืื ืืืืืกืกืช ืขื ืืืกืงืื NVMe ืืืืืื ืขื GPU, ืฉื ืืชืื ืืืคื ืชืืื ืืช ืืืืืื ืืฉื ืืื. ืืืจ ืืชืื ื ืขื ืืขืจืืช ืืืกืื ืืื ืืืืืกืกืช ืขื 10 ืืื ื ื DC1000M U.2 NVMe
ืืขืจืืช ืืืกืื ืืืืืกืกืช ืขื 10 ืืื ื ื DC1000M U.2 NVMe ืืฉืืืื ืืฆืืจื ื ืืืชื ืฉืจืช ืขื ืืืืฆืื ืืจืคืืื. ืืงืืจ: ืงืื ืืกืืื
ืืขืจืืช ืืืกืื ืื ืืชืืื ื ืช ืืืืืืช ืืชืื ืืืืื 1U ืื ืืืชืจ ืื ืืชื ืช ืืืจืืื ืืืชืื ืืืกืคืจ ืืื ื ื DC1000M U.2 NVMe, ืื ืืื ืืงืืืืืช ืฉื 3.84-7.68 TB. ื-DC1000M ืืื ืืืื ืืจืืฉืื ืฉื NVMe SSD ืืคืืจืื U.2 ืืกืืจืช ืืื ื ื ืืจืืื ืื ืชืื ืื ืฉื ืงืื ืืกืืื. ืืฉ ืื ืืืจืื ืกืืืืืช (DWPD, Drive ืืืชื ืืืื), ืืืืคืฉืจ ืื ืืฉืืชื ื ืชืื ืื ืืงืืืืืช ืืืื ืคืขื ืืืื ืืืฉื ืืืื ืืืืืืืื ืฉื ืืืื ื.
ืืืืื fio v3.13 ืืืขืจืืช ืืืคืขืื Ubuntu 18.04.3 LTS, ืืืืช ืืื ืืงืก 5.0.0-31-ืื ืจืืช, ืืืืืช ืืืืกืื ืฉื ืืชืขืจืืื ืืจืืชื ืืืืจืืช ืงืจืืื (ืงืจืืื ืืชืืฉืืช) ืฉื 5.8 ืืืืืื IOPS ืขื ืชืคืืงื ืืจืช ืงืืืื (ืจืืื ืคืก ืืชืืฉื ) ืฉื 23.8 Gbit/s.
ืืจืืื ืคืจื, ืื ืื ืขืกืงื SSD ืืงืื ืืกืืื, ืืืจ ืขื ืืขืจืืืช ืืืืกืื ืืืืฉืืช: "ืื ื ืืืื ืื ืืฆืืื ืืช ืืืืจ ืืื ืฉื ืืฉืจืชืื ืืคืชืจืื ืืช U.2 NVMe SSD ืืื ืืืกื ืจืืื ืืฆืืืืจื ืืืงืืืง ืฉื ืืขืืจืช ืื ืชืื ืื ืฉืืื ืงืฉืืจืื ืืืืคื ืืกืืจืชื ืืืืกืื. ืืฉืืืื ืฉื ืืื ื ื NVMe SSD ืื-Premium Server Premier DRAM ืฉืื ื ืืืคื ืืช ืงืื ืืกืืื ืืืื ืืกืคืงื ืคืชืจืื ืืช ืื ืชืื ืื ืืงืฆื ืืงืฆื ืืืงืืคืื ืืืืชืจ ืืชืขืฉืืื."
ืืืืงืช gfio v3.13 ืืจืืชื ืชืคืืงื ืฉื 23.8 Gbps ืขืืืจ ืืขืจืืช ืืืกืื ืืืืืื ืืืื ื ื DC1000M U.2 NVMe. ืืงืืจ: ืงืื ืืกืืื
ืืื ืชืืจืื ืืขืจืืช ืืืคืืกืืช ืืืืฉืืื HPC ืืืฉืชืืฉืช ื-GPUDirect Storage ืื ืืื ืืืืืื ืืืื? ืืืื ืืจืืืืงืืืจื ืขื ืืคืจืื ืคืืืืช ืฉื ืืืืืืช ืคืื ืงืฆืืื ืืืืช ืืชืื ืืชืื: ืืืืื ืืืช ืื ืฉืชืืื ืขืืืจ ืืืืจืื RAM, ืืกืคืจ ื ืืกืคืืช ืขืืืจ ืฆืืชื ืืืฉืื GPU ื-CPU, ืืืืืื ืืืช ืื ืืืชืจ ืขืืืจ ืืขืจืืืช ืืืกืื.
ืขื ืืืืจืื ืขื GPUDirect Storage ืืืืืคืขื ืืืคืฉืจืืช ืฉื ืืื ืืืืืืืช ืืืืืช ืืืฆืจื ื GPU ืืืจืื, ืืชืจืืืช ืืืจืืฉื ืฉื ืงืื ืืกืืื ืืืขืจืืืช ืืืกืื ืืืืืขืืืช ืืฉืืืืฉ ืืืืฉืื ืืขื ืืืฆืืขืื ืืืืืื. ืืกืื ืืืื ืืืืจืืช ืงืจืืืช ืื ืชืื ืื ืืืขืจืืช ืืืืกืื, ืืฉืืื ืืชืคืืงื ืฉื ืืจืืืกื ืจืฉืช ืฉื 40 ืื 100 ื'ืืื-ืืื ืืื ืืกื ืืืืืืช ืืืฉืื ืขื GPU. ืืคืืื, ืืขืจืืืช ืืืกืื ืืืืจืืช ืืืืืื, ืืืื NVMe ืืืฆืื ื ืืจื Fabric, ืืขืืจื ืืืืืืช ืืงืืืืืืช ืืืืื ืกืืจืื ืขืืืจ ืืืฉืืื HPC. ืื ืืกืฃ ืืืืข ืืืืฉืืืื ืคืื ื ืกืืื, ืื ืืืฆืื ืืืฉืื ืืชืืืืื ืืขืฉืืื ืจืืื ืืืจืื, ืืืื ืืขืจืืืช ืืืืื ืืจืืช ืืืืจืืคืืืื ืฉื ืืขืืจ ืืืืื ืื ืืจืืื ืืขืงื ืชืืืืจื, ืฉืืื ื ืืจืฉืืช ืืืืจืืืืช ืืืืื ืืืืืื ืฉื ืืืืืื ื ืชืืื ืืช HD ืืฉื ืืื", ืืชืืืจ. ื ืืฉืช ืืฉืืง ืฉื ืืขืจืืช ืืืืกืื ืืืืืืื
ืืืืข ื ืืกืฃ ืขื ืืืฆืจื Kingston ื ืืชื ืืืฆืื ืืืชืืืช
ืืงืืจ: www.habr.com