Nulla-másolat

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2021. december 25-én felülvizsgált verziótól ; az ellenőrzések 5 szerkesztést igényelnek .

Zero-copy (szó szerint  angolul  -  „nulla másolatok”) - olyan műveleteket ír le, amelyek során a processzor nem hajtja végre az adatok másolását egyik memóriaterületről a másikra. A kifejezést olyan technológiák leírására használják, amelyek segítettek csökkenteni a köztes pufferek közötti másolatok számát [1] .

Áttekintés

Az operációs rendszer elemeinek , például eszközillesztőknek , fájlrendszereknek és hálózati protokollveremeknek a másolás nélküli verziói nagymértékben növelik bizonyos alkalmazásprogramok teljesítményét, és hatékonyabban használják fel a rendszererőforrásokat. A teljesítményt javítja, ha lehetővé teszi a processzor számára, hogy más feladatokra lépjen, miközben az adatokat párhuzamosan másolják a gép másik részén. Ezenkívül a nulla másolati műveletek csökkentik a kernel és a felhasználói módok közötti időigényes váltások számát. A rendszer erőforrásait hatékonyabban használják fel, mivel egy bonyolult eszköz, például processzor használata másolási műveletek végrehajtására, ami önmagában is meglehetősen egyszerű feladat, nagyon pazarló, ha a rendszer más egyszerűbb komponensei önállóan képesek másolni.

A másolásmentes szoftver létrehozásának módszerei közé tartozik a DMA -alapú másolás és a memóriakezelő egységen (MMU) keresztül történő memórialeképezés. Ezek a szolgáltatások speciális hardver támogatást igényelnek, és általában speciális memóriafoglalási követelményeket tartalmaznak.

A nulla másolati protokollok nagyon fontosak a nagy sebességű hálózatok számára, ahol a hálózati kapcsolat kapacitása megközelíti vagy meghaladja a processzor feldolgozási kapacitását. Ilyenkor a processzor szinte minden idejét az átvitt adatok másolásával tölti, és így szűk keresztmetszetté válik, a kapcsolati sebességkorlátot a lehetőségei alá állítva. Iparági közelítés szerint körülbelül egy processzor órajel-ciklust vesz igénybe egy bit bejövő adat feldolgozásához. Például egy 1 GHz -es processzor képes kezelni az 1 Gbps-os hálózati kapcsolatot normál adatmásolással, de ugyanaz a processzor lefagy a 10 Gbps-es kapcsolaton. Ezért válik elengedhetetlenné a másolat nélküli szoftver. Az 1 Gbps feletti hálózati kapcsolatok és ennek következtében a nulla másolati támogatással rendelkező hálózati szoftverek jelenleg csak szuperszámítógép - fürtökben, nagy ipari (különösen kormányzati, tudományos és kereskedelmi) adatközpontokban (DPC-k) stb. használhatók. Az információtechnológia fejlődésével , valamint az 1 Gbps, 10 Gbps, sőt 100 Gbps sebességű hálózatok elterjedésével a zero-cop megoldások is egyre keresettebbek, mivel a hálózatok sávszélessége gyorsabban nő, mint a processzorok teljesítménye. .

A nulla másolati protokollok kezdeti többletköltséggel járnak a memóriaterületek DMA-műveletekhez való előkészítésével kapcsolatban, így a szoftver I/O (PIO) csak nagy adatcsomagokhoz vagy nagy adatfolyamokhoz és személyre szabott szoftverekhez elfogadható.

Az RDMA ( Remote Direct Memory Access )  protokollok nulla másolási technikákon alapulnak .

Egyes operációs rendszerek (beleértve a Linuxot is ) támogatják a nulla másolati technológiát a fájlok hálózatra való átviteléhez meghatározott API-funkciókon keresztül, mint például a sendfile és sendfile64 , splice , vmsplice .

Megvalósítások és használati példák

Az Oracle Corporation kifejlesztette és bevezette termékeiben az RDS protokollt , amely nagyrészt nulla másolati technológián alapul.

Jegyzetek

  1. Hatékony adatátvitel nulla másolat nélkül . IBM (2009. február 17.). Letöltve: 2013. november 26. Az eredetiből archiválva : 2013. december 2.

Lásd még

Linkek