Ahoj Habr! Sady dat pro Big Data a strojové učení exponenciálně rostou a musíme je stíhat zpracovávat. Náš příspěvek je o další inovativní technologii v oblasti vysoce výkonných výpočtů (HPC, High Performance Computing), která byla představena na stánku Kingston na . Toto je aplikace hi-end systémů úložišť dat (SÚD) na serverech s grafickými procesory (GPU) a technologií sběrnice GPUDirect Storage. Díky přímému přenosu dat mezi SÚD a GPU, obcházejícímu CPU, se výrazně zrychluje načítání dat do GPU akcelerátorů, což umožňuje, aby se aplikace Big Data vykonávaly na maximální výkon, který GPU poskytují. Zároveň zajímají vývojáře HPC systémů dosažené úspěchy v oblasti SÚD s nejvyššími rychlostmi vstupu/výstupu — takové, jaké vyrábí Kingston.

Výkon GPU předčí načítání dat
Od doby, kdy byla v roce 2007 vytvořena CUDA — softwarová a hardwarová architektura paralelních výpočtů založená na GPU pro vývoj aplikací obecného použití, se hardwarové možnosti samotných GPU mimořádně zvýšily. Dnes se GPU stále více využívají v oblasti HPC aplikací, jako jsou velká data (Big Data), strojové učení (ML, machine learning) a hluboké učení (DL, deep learning).
Uvědomme si, že i přes podobnost termínů, poslední dva představují algoritmicky odlišné úkoly. ML školí počítač na základě strukturovaných dat, zatímco DL na základě odezvy od neuronové sítě. Příklad, který pomáhá pochopit rozdíly, je poměrně jednoduchý. Představme si, že počítač má rozlišit fotografie koček a psů, které se načítají z úložiště. Pro ML byste měl poskytnout sadu obrázků s mnoha tagy, z nichž každý definuje nějaký jeden rys zvířete. U DL stačí nahrát mnohem větší počet obrázků, ale pouze s jedním tagem „to je kočka“ nebo „to je pes“. DL velmi připomíná, jak se učí malé děti — prostě jim ukazují obrázky psů a koček v knihách a v životě (často dokonce aniž by detailně vysvětlovali rozdíly), a mozek dítěte si posléze začne určovat typ zvířete po určitém kritickém počtu obrázků k porovnání (odhaduje se, že jde o zhruba stovku nebo dvě ukázek za celé rané dětství). Algoritmy DL zatím nejsou tak dokonalé: aby neuronová síť mohla úspěšně pracovat na identifikaci obrazů, je nutné poskytnout a zpracovat v GPU miliony obrázků.
Závěr úvodu: na bázi GPU lze budovat HPC aplikace v oblasti Big Data, ML a DL, ale existuje problém — datové sady jsou tak velké, že čas strávený načítáním dat ze systému úložiště do GPU začíná snižovat celkový výkon aplikace. Jinými slovy, rychlé grafické procesory zůstávají nedostatečně využitelné kvůli pomalému vstupu/výstupu dat ze strany jiných subsystémů. Rozdíl v rychlosti vstupu/výstupu GPU a sběrnice k CPU/úložišti může být v řádu.
Jak funguje technologie GPUDirect Storage?
Proces vstupu a výstupu je řízen CPU, stejně jako proces načítání dat ze úložiště do grafických procesorů pro následné zpracování. Odtud se objevila potřeba technologie, která by zajistila přímý přístup mezi GPU a NVMe disky pro rychlou interakci mezi sebou. První takovou technologii navrhla společnost NVIDIA a nazvala ji GPUDirect Storage. V podstatě se jedná o variaci dříve vyvinuté technologie GPUDirect RDMA (Remote Direct Memory Address).

Jensen Huang, generální ředitel společnosti NVIDIA, představuje GPUDirect Storage jako variantu GPUDirect RDMA na výstavě SC-19. Zdroj: NVIDIA
Rozdíl mezi GPUDirect RDMA a GPUDirect Storage spočívá v zařízeních, mezi kterými probíhá adresace. Technologie GPUDirect RDMA je určena pro přenos dat přímo mezi rozhraním síťové karty (NIC) a pamětí GPU, zatímco GPUDirect Storage poskytuje přímou cestu pro přenos dat mezi místním nebo vzdáleným úložištěm, jako je NVMe nebo NVMe přes Fabric (NVMe-oF), a pamětí GPU.
Obě možnosti, GPUDirect RDMA a GPUDirect Storage, se vyhýbají zbytečnému přenosu dat přes vyrovnávací paměť v paměti CPU a umožňují mechanismu přímého přístupu k paměti (DMA) přenášet data z síťové karty nebo úložiště přímo do paměti GPU nebo z ní – a to vše bez zátěže na centrální procesor. U GPUDirect Storage není důležité umístění úložiště: může to být NVMe disk uvnitř jednotky s GPU, uvnitř racku nebo připojený přes síť jako NVMe-oF.

Schéma fungování GPUDirect Storage. Zdroj: NVIDIA
Hi-End úložiště na NVMe jsou vyhledávaná na trhu HPC aplikací.
S vědomím, že s příchodem GPUDirect Storage se zájem velkých klientů zaměří na nabídku úložných systémů s rychlostí vstupu/výstupu odpovídající propustnosti GPU, na výstavě SC-19 Kingston předvedl demonstrační systém složený z úložiště na bázi NVMe disků a jednotky s GPU, v níž probíhaly analýzy tisíců satelitních snímků za sekundu. O takovém úložišti na bázi 10 disků DC1000M U.2 NVMe jsme již psali .

Úložiště na bázi 10 disků DC1000M U.2 NVMe skvěle doplňuje server s grafickými akcelerátory. Zdroj: Kingston
Takové úložiště se realizuje ve formě rackové jednotky 1U nebo větší a může být škálováno v závislosti na počtu disků DC1000M U.2 NVMe, kde každý má kapacitu 3,84-7,68 TB. DC1000M je první model NVMe SSD ve formátu U.2 v řadě disků Kingston pro datová centra. Má rating odolnosti (DWPD, Drive writes per day), který umožňuje přepisovat data na plnou kapacitu jednou denně po celou garantovanou dobu životnosti disku.
V testu fio v3.13 na operačním systému Ubuntu 18.04.3 LTS, Linux kernel 5.0.0-31-generic, ukázal výstavní vzorek úložiště rychlost čtení (Sustained Read) 5,8 milionu IOPS při trvalé propustnosti (Sustained Bandwidth) 23,8 Gbit/s.
Ariël Pérez, business manager SSD at Kingston, described the new storage systems as follows: "We are ready to equip the next generation of servers with U.2 NVMe SSD solutions to eliminate many of the data transfer bottlenecks traditionally associated with storage systems. The combination of NVMe SSD drives and our premium Server Premier DRAM makes Kingston one of the most comprehensive providers of data processing solutions in the industry."

The gfio v3.13 test showed a bandwidth of 23.8 Gbps for the demonstration storage system on DC1000M U.2 NVMe drives. Source: Kingston
What will a typical system for HPC applications look like where GPUDirect Storage technology or similar ones are implemented? It is an architecture with physical separation of functional blocks within a rack: one or two units for memory, a few more for GPU and CPU compute nodes, and one or more units for storage systems.
With the announcement of GPUDirect Storage and the potential emergence of similar technologies from other GPU vendors, demand for storage systems designed for high-performance computing is increasing for Kingston. A marker will be the speed of reading data from the storage system, comparable to the bandwidth of 40 or 100 Gbps network cards entering the compute unit with the GPU. Thus, ultra-fast storage systems, including external NVMe through Fabric, will transition from exotic to mainstream for HPC applications. In addition to science and financial calculations, they will find applications in many other practical areas, such as mega-city level security systems Safe City or transportation monitoring centers, where recognition and identification speeds at the level of millions of HD images per second are required,” identified the market niche for top-tier storage systems.
More information about Kingston products can be found at společnost.
Zdroj: habr.com
