Nulová kopie

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 25. prosince 2021; kontroly vyžadují 5 úprav .

Zero-copy (doslova z  angličtiny  -  „zero copy“) - popisuje operace, během kterých procesor neprovádí úlohu kopírování dat z jedné oblasti paměti do druhé. Tento termín se používá k popisu technologií, které pomohly snížit počet kopií mezi mezilehlými buffery [1] .

Přehled

Verze s nulovými kopiemi prvků operačního systému , jako jsou ovladače zařízení , systémy souborů a zásobníky síťových protokolů , výrazně zvyšují výkon určitých aplikačních programů a efektivněji využívají systémové prostředky. Výkon je vylepšen tím, že procesor může přejít k jiným úlohám, zatímco jsou data paralelně kopírována do jiné části stroje. Kromě toho operace nulového kopírování snižují počet časově náročných přepínání mezi režimem jádra a uživatelským režimem. Systémové prostředky jsou využívány efektivněji, protože použití složitého zařízení, jako je procesor, k provádění operací kopírování, což je samo o sobě poměrně jednoduchý úkol, je velmi plýtvání, pokud jiné jednodušší součásti systému mohou nezávisle provádět kopírování.

Metody pro vytváření softwaru s nulovou kopií zahrnují použití kopírování založeného na DMA a mapování paměti prostřednictvím jednotky správy paměti (MMU). Tyto funkce vyžadují specifickou hardwarovou podporu a obvykle zahrnují specifické požadavky na přidělení paměti.

Protokoly s nulovou kopií jsou velmi důležité pro vysokorychlostní sítě, kde se kapacita síťového připojení blíží nebo překračuje kapacitu procesoru. V tomto případě procesor tráví téměř všechen čas kopírováním přenášených dat a stává se tak úzkým hrdlem, nastavuje limit rychlosti připojení pod své možnosti. Průmyslová aproximace je taková, že zpracování jednoho bitu příchozích dat trvá přibližně jeden takt procesoru. Například 1 GHz procesor zvládne síťové připojení o rychlosti 1 Gbps pro běžné kopírování dat, ale stejný procesor uvízne při připojení 10 Gbps. To je důvod, proč se software s nulovou kopií stává nezbytným. Síťová připojení nad 1 Gbps a následně i síťový software s podporou nulových kopií jsou v současnosti omezeny na použití pouze v superpočítačových clusterech, velkých průmyslových (zejména vládních, vědeckých a komerčních) datových centrech (DPC) a tak dále. S pokrokem informačních technologií a se stále běžnějšími sítěmi 1 Gb/s, 10 Gb/s a dokonce 100 Gb/s se však stále více poptávají i řešení s nulovým počtem policistů. , protože šířka pásma sítí roste rychleji než výkon procesorů. .

Protokoly s nulovým kopírováním mají určitou počáteční režii spojenou s přípravou paměťových oblastí pro operace DMA, takže softwarové I/O (PIO) jsou přijatelné pouze pro velké datové pakety nebo pro velké toky a přizpůsobený software.

Protokoly RDMA ( Remote Direct Memory Access )  jsou založeny na technikách nulových kopií.

Některé operační systémy (včetně Linuxu ) podporují technologie zero-copy pro přenos souborů do sítě prostřednictvím specifických funkcí API, jako je sendfile a sendfile64 , splice , vmsplice .

Příklady implementací a použití

Společnost Oracle Corporation vyvinula a implementovala do svých produktů protokol RDS , který je z velké části založen na technologii zero-copy.

Poznámky

  1. Efektivní přenos dat s nulovou kopií . IBM (17. února 2009). Získáno 26. listopadu 2013. Archivováno z originálu 2. prosince 2013.

Viz také

Odkazy