Výpočetní zdroje a správa zdrojů
Modely zdrojů a klasické zdroje
V této části poskytneme rámec pro uvažování o výpočetních prostředích, který lze uplatnit jak na notebook, tak po rozšíření i na superpočítače. Na konci této části budeš rozumět základním komponentám výpočetního prostředí a tomu, jak spolu souvisejí. To vše popisuje Iskandar Sitdikov v následujícím videu.
Model zdrojů
Každé klasické výpočetní prostředí je tvořeno několika vzájemně provázanými zdroji, které spolupracují, aby umožnily efektivní běh aplikací. Mezi klíčové zdroje obvykle patří:
-
CPU (Central Processing Unit, procesor): CPU je hlavní výpočetní jednotka, která interpretuje a vykonává instrukce programů. Provádí logické, aritmetické a řídicí operace a v podstatě funguje jako „mozek" systému.
-
Cache CPU (L1, L2, L3): Jedná se o nejrychlejší paměť v systému, zabudovanou přímo do jádra CPU nebo v jeho těsné blízkosti. Ukládá malé části dat a instrukcí, které CPU okamžitě potřebuje. Jednotlivé úrovně (L1, L2, L3) představují kompromis: L1 je nejmenší a nejrychlejší, zatímco L3 je největší a nejpomalejší, ale stále řádově rychlejší než RAM.
-
RAM (Random Access Memory, operační paměť): Energeticky závislá paměť, která poskytuje rozsáhlé dočasné úložiště pro instrukce programů a aktivně používaná data. Zajišťuje, že CPU může rychle přistupovat k informacím, které potřebuje během vykonávání, aniž by se neustále spoléhalo na pomalejší úložná zařízení.
-
Úložiště (lokální i síťové): Úložiště uchovává data a software i tehdy, když je systém vypnutý, a poskytuje dlouhodobou perzistenci pro velké datové sady a aplikace. Ve vysoce výkonných výpočtech musí úložná řešení zvládat obrovská množství vědeckých nebo analytických dat rychle a spolehlivě. Lokální úložiště zahrnuje SSD disky a HDD disky, přičemž SSD jsou upřednostňovány pro nižší latenci a vyšší propustnost. Pro práci s daty velkého rozsahu umožňují paralelní souborové systémy, sdílená síťová úložiště a objektově založené systémy rychlý přístup z mnoha výpočetních uzlů, zatímco cloudová a archivní úrovně úložišť podporují dlouhodobé uchovávání a škálovatelnost.
-
GPU (Graphics Processing Unit, grafický procesor): Ačkoliv byly původně navrženy pro vykreslování grafiky, moderní GPU jsou výkonné paralelní procesory. Široce se používají pro úlohy, které vyžadují mnoho současných výpočtů, jako je hluboké učení, fyzikální simulace a analýza velkých dat. Je důležité poznamenat, že GPU nenahrazují CPU; CPU řídí vyšší logiku programu a GPU urychlují vysoce paralelní kroky.
-
Spojení/sběrnice: Jedná se o komunikační cesty, které propojují CPU, paměť, úložiště a periferie. Sběrnice umožňují přenos dat a koordinaci mezi částmi systému a zajišťují plynulou komunikaci v rámci celého výpočetního prostředí. V HPC systémech jsou komponenty jako CPU, GPU a úložná zařízení propojeny vysokorychlostními propojeními, která umožňují rychlou výměnu dat. GPU se obvykle připojují k systému prostřednictvím PCIe, standardního rozhraní s několika datovými linkami pro efektivní komunikaci. Pro vyšší výkon poskytuje NVLink přímé spojení s vysokou šířkou pásma mezi GPU nebo mezi GPU a CPU, čímž snižuje latenci a urychluje paralelní výpočetní zátěž.
-
Souborový systém: Souborový systém organizuje data na úložných zařízeních. Poskytuje strukturu pro ukládání, načítání a správu souborů a umožňuje programům i uživatelům přistupovat k informacím konzistentním a logickým způsobem.
Každý typ zdroje má své vlastní výkonnostní jednotky měření. Například CPU se obvykle měří podle „jader" a „taktovací frekvence". Při nákupu notebooku jeho specifikace obvykle uvádějí počet jader. Podobný koncept platí i pro výpočetní uzly v datovém centru, kde je každý uzel spojen s konkrétním počtem jader. Výpočetní prostředí, která zahrnují více typů zdrojů (CPU, GPU, dokonce QPU), se označují jako heterogenní výpočetní prostředí. Tato uspořádání zvládají různorodou pracovní zátěž efektivněji díky využití silných stránek jednotlivých typů procesorů. Například CPU se používají pro obecné úlohy a GPU pro paralelní zpracování. V kontextu správy zdrojů a plánování – zejména u heterogenních výpočetních prostředí – mohou být kromě zde popsaných jednotek vyžadovány další jednotky měření.
U paměti je jednotkou měření Mega/Giga/Terabajt.
U grafických karet a dalších akcelerátorů závisí jednotka měření na kontextu. Zatímco jejich skutečná výpočetní schopnost se měří jemnějšími metrikami – počtem výpočetních jader, velikostí paměti a šířkou paměťového pásma –, na vysoké úrovni diskuse o zdrojích clusteru nebo plánování úloh lze GPU a podobné akcelerátory kvantifikovat na úrovni zařízení podle počtu přidělených celých zařízení (například tři GPU).
Síť/konektivita/sběrnice jsou zásadním aspektem každé výpočetní infrastruktury, protože určují, jak rychle se data přenášejí mezi výpočetními komponentami. Od LPU do cache CPU, do RAM, do PCI karet, do zařízení připojených k síti; všechno je komunikace a je klíčové mít o ní přesný mentální model, aby se daly navrhovat vysoce optimalizované algoritmy pro HPC.