Háhraða bilunar-örugg þjöppun (framhald)

Þessi grein er önnur greinin í seríu um háhraða gagnaþjöppun. Í fyrstu greininni er lýst þjöppu sem starfar við 10 GB/sek á hvern örgjörvakjarna (lágmarksþjöppun, RTT-Min).

Þessi þjöppun hefur þegar verið innleidd í réttarafritunarvélar til að þjappa geymslumiðlum á háhraða og auka dulritunarstyrk. Einnig er hægt að nota hana til að þjappa sýndarvélamyndum og vinnsluminniskrám þegar þær eru geymdar á hraðvirkum SSD diskum.

Í fyrstu greininni var einnig tilkynnt um þróun þjöppunarreiknirits til að þjappa afritum af harða diskum og SSD diskum (RTT-Mid) með verulega bættum gagnaþjöppunarbreytum. Þessi þjöppun er nú fullþróuð og þessi grein fjallar um hana.

Þjöppunarforrit sem notar RTT-Mid reikniritið býður upp á þjöppunarstig sem eru sambærileg við hefðbundin skjalasafnsforrit eins og WinRar og 7-Zip sem starfa í háhraðaham. Á sama tíma er hraðinn að minnsta kosti umtalsvert hærri.

Hraði gagnaþjöppunar/afþjöppunar er mikilvægur þáttur sem ákvarðar umfang þjöppunartækni. Það er ólíklegt að nokkur myndi reyna að þjappa terabæti af gögnum á 10-15 megabætum á sekúndu (hraði skjalasafna í venjulegri þjöppunarstillingu), þar sem það myndi krefjast næstum tuttugu klukkustunda vinnslutíma við fullt álag á örgjörva.

Hins vegar er hægt að afrita sama terabætið á um 2-3 gígabætum á sekúndu á um tíu mínútum.

Þess vegna er þjöppun mikils magns gagna aðeins árangursrík ef hún er gerð á hraða sem er ekki hægari en raunverulegur inntaks-/úttakshraði. Fyrir nútíma kerfi er þetta að minnsta kosti 100 megabæt á sekúndu.

Nútíma þjöppur geta aðeins náð slíkum hraða í „hraðstillingu“. Það er í þessum núverandi stillingu sem við munum bera saman RTT-Mid reikniritið við hefðbundnar þjöppur.

Samanburðarprófanir á nýjum þjöppunarreikniritum

RTT-Mid þjöppan var notuð sem hluti af prófunarforriti. Í raunverulegu „framleiðslu“ forriti keyrir hún mun hraðar, þar sem hún notar fjölþráða á skynsamlegan hátt og notar „venjulegan“ þýðanda, ekki C#.

Þar sem þjöppurnar sem notaðar voru í samanburðarprófuninni eru byggðar á mismunandi meginreglum og þjappa mismunandi gerðum gagna á mismunandi hátt, var aðferðin „meðalhitastig sjúkrahússins“ notuð til að tryggja að prófunin væri hlutlæg.

Búið var til geira-fyrir-geira dump-skrá af rökdiski sem keyrir Windows 10. Þetta er eðlilegasta blanda af ýmsum gagnagerðum sem finnast í hverri tölvu. Þjöppun þessarar skráar gerir okkur kleift að bera saman hraða og þjöppunarhlutfall nýja reikniritsins við fullkomnustu þjöppunarforrit sem notuð eru í nútíma skjalavörpum.

Hér er dump skráin:

Háhraða bilunar-örugg þjöppun (framhald)

Skráardumpið var þjappað með PTT-Mid, 7-zip og WinRar. WinRar og 7-zip voru stillt á hámarkshraða.

Þjöppan virkar 7-zip:

Háhraða bilunar-örugg þjöppun (framhald)

Það hleður örgjörvanum á 100%, en meðalhraðinn við að lesa upprunalegu skrána er um 60 megabæt/sek.

Þjöppan virkar Winrar:

Háhraða bilunar-örugg þjöppun (framhald)

Aðstæðurnar eru svipaðar, álagið á örgjörvann er næstum 100%, meðal lestrarhraði dumpsins er um 125 megabæt/sek.

Eins og í fyrra tilvikinu er hraði skjalasafnsins takmarkaður af getu örgjörvans.

Prófunarforritið fyrir þjöppuna er nú í gangi. RTT-Mið:

Háhraða bilunar-örugg þjöppun (framhald)

Skjámyndin sýnir að örgjörvinn er í 50% nýtingu og er í aðgerðaleysi það sem eftir er tímans því það er hvergi hægt að geyma þjappaða gögnin. Gagnageymsludiskurinn (diskur 0) er næstum fullnýttur. Gagnalestrarhraði (diskur 1) sveiflast verulega en er að meðaltali yfir 200 MB/sek.

Rekstrarhraði þjöppunnar er í þessu tilfelli takmarkaður af getu þess til að skrifa þjappað gögn á disk 0.

Nú er þjöppunarhlutfall skjalasafnanna sem myndast:

Háhraða bilunar-örugg þjöppun (framhald)

Háhraða bilunar-örugg þjöppun (framhald)

Háhraða bilunar-örugg þjöppun (framhald)

Það er ljóst að RTT-Mid þjöppunarforritið stóð sig best í þjöppun; skjalasafnið sem það bjó til var 1,3 gígabætum minna en WinRar skjalasafnið og 2,1 gígabætum minna en 7z skjalasafnið.

Tími sem fór í að búa til skjalasafn:

  • 7-zip – 26 mínútur og 10 sekúndur;
  • WinRar – 17 mínútur og 40 sekúndur;
  • RTT-Mið – 7 mínútur og 30 sekúndur.

Þannig gat jafnvel prófunarforrit, sem ekki var fínstillt, og notaði RTT-Mid reikniritið, búið til skjalasafn meira en tvisvar og hálfum sinnum hraðar, en skjalasafnið reyndist vera mun minna en hjá samkeppnisaðilum...

Þeir sem trúa ekki skjáskotunum geta sjálfir staðfest áreiðanleika þeirra. Prófunarforritið er aðgengilegt á tengill, sækja og athuga.

En aðeins á örgjörvum með AVX-2 stuðningi; án stuðnings við þessar skipanir virkar þjöppunin ekki. Ekki prófa reikniritið á eldri AMD örgjörvum; þeir eru hægir við að framkvæma AVX skipanir...

Þjöppunaraðferðin sem notuð var

Reikniritið notar aðferð til að flokka endurtekna textabrot með því að nota bæti-kornagreiningu. Þessi þjöppunaraðferð hefur verið þekkt lengi en hún var ekki mikið notuð þar sem samsvörunaraðgerðin var mjög auðlindafrek og tók mun lengri tíma en orðabókargerð. Þannig er RTT-Mid reikniritið klassískt dæmi um „aftur til framtíðar“.

PTT þjöppan notar einstakan, hraðvirkan samsvörunarskanna sem flýtir fyrir þjöppunarferlinu. Skanninn er heimagerður, „elskulegi minn...“ og „hann er frekar dýr því hann er alveg handgerður“ (hann er skrifaður í samsetningarmáli).

Samsvörunarskanninn er útfærður með tveggja þrepa líkindafræðikerfi: fyrst er tilvist samsvörunar-„merkis“ skannað og aðeins eftir að „merkið“ hefur verið greint á þessum stað er ferlið við að greina raunverulegt samsvörun hafið.

Leitarglugginn hefur ófyrirsjáanlega stærð, allt eftir óreiðu gagnablokkarinnar sem verið er að vinna úr. Fyrir algjörlega handahófskennd (óþjappanleg) gögn er hann einn megabæti að stærð; fyrir gögn sem innihalda endurtekningar er hann alltaf stærri en einn megabæti.

Hins vegar eru mörg nútíma gagnasnið óþjöppanleg og það er gagnslaust og sóunarsamt að keyra auðlindafrekan skanna í gegnum þau, þannig að skanninn notar tvo vinnsluhami. Fyrst er leitað að hlutum frumtextans með mögulegum endurtekningum. Þessi aðgerð er einnig framkvæmd með líkindafræðilegri aðferð og er mjög hröð (4-6 Gb/sek). Síðan eru hlutar með mögulegum samsvörunum unnir af aðalskannanum.

Vísitöluþjöppun er ekki mjög skilvirk, það er nauðsynlegt að skipta út endurteknum brotum fyrir vísitölur og vísitölufylkingin dregur verulega úr þjöppunarhlutfallinu.

Til að auka þjöppun eru ekki aðeins heilar bætistrengjasamsvörun skráðar, heldur einnig hlutasamsvörun, þegar strengur inniheldur bæði samsvarandi og ósamsvörun bæti. Í þessu skyni inniheldur vísitölusniðið samsvörunargrímusvið sem gefur til kynna samsvarandi bæti tveggja blokka. Til að auka enn meiri þjöppun er vísitölun notuð með því að leggja nokkra hlutasamsvörun blokka yfir núverandi blokk.

Allt þetta gerði það mögulegt að fá þjöppunarhlutfall í RTT-Mid þjöppunni sem var sambærilegt við þjöppur sem framleiddar eru með orðabókaraðferðinni, en störfuðu mun hraðar.

Hraði nýja þjöppunarreikniritsins

Ef þjöppan notar eingöngu skyndiminni (4 megabæt eru nauðsynleg fyrir hvern straum), þá sveiflast rekstrarhraðinn á bilinu 700-2000 megabæt/sek á hvern örgjörvakjarna, allt eftir því hvaða tegund gagna er verið að þjappa og er lítið háður rekstrartíðni örgjörvans.

Með fjölþráða þjöppu er virk stigstærð ákvörðuð af stærð L3 skyndiminnsins. Til dæmis, með 9 MB af skyndiminni, mun keyrsla á fleiri en tveimur þjöppunarþráðum ekki bæta afköst. Hins vegar, með 20 MB skyndiminni, er hægt að keyra fimm þjöppunarþræði.

Seinkun á vinnsluminni er einnig mikilvægur þáttur sem hefur áhrif á afköst þjöppunnar. Reikniritið notar handahófskenndar beiðnir um vinnsluminni, en sumar þeirra (um 10%) missa af skyndiminninu, sem neyðir reikniritið til að bíða eftir gögnum úr vinnsluminni, sem dregur úr afköstum.

I/O kerfið hefur mikil áhrif á hraða þjöppunar. I/O beiðnir til vinnsluminnisblokkar örgjörvans biðja um gögn, sem dregur einnig úr þjöppunarhraða. Þetta vandamál er alvarlegt fyrir fartölvur og borðtölvur. netþjónum Það er minna mikilvægt vegna háþróaðri aðgangsstýringareiningar fyrir kerfisrútu og fjölrása vinnsluminni.

Í allri greininni er fjallað um þjöppun; afþjöppun er utan umfangs þessarar greinar, þar sem hún er „allt í súkkulaðinu“. Afþjöppun er mun hraðari og takmarkast af I/O hraðanum. Einn efnislegur kjarni í einum þræði nær auðveldlega afþjöppunarhraða upp á 3-4 GB/sek.

Þetta er vegna skorts á leitaraðgerð við upppakkningu, sem „étur upp“ helstu auðlindir örgjörvans og skyndiminnsins við þjöppun.

Áreiðanleiki þjappaðrar gagnageymslu

Eins og nafnið á öllum þeim hugbúnaðartólum sem nota gagnaþjöppun (skjalvarða) gefur til kynna, eru þau hönnuð til langtímageymslu upplýsinga, ekki í mörg ár, heldur í aldir og árþúsundir…

Við geymslu tapa geymslumiðlar einhverjum gögnum sínum, hér er dæmi:

Háhraða bilunar-örugg þjöppun (framhald)

Þessi „hliðræni“ upplýsingamiðill er þúsund ára gamall, sumir brot eru glötuð, en í heildina eru upplýsingarnar „læsilegar“...

Enginn ábyrgur framleiðandi nútíma stafrænna gagnageymslukerfa og stafrænna miðla fyrir þau ábyrgist fullkomið gagnaöryggi í meira en 75 ár.
Og þetta er vandamál, en frestað vandamál, afkomendur okkar verða að leysa það...

Stafrænar gagnageymslukerfi geta tapað gögnum ekki aðeins eftir 75 ár, heldur einnig hvenær sem er, jafnvel meðan á upptöku stendur. Hægt er að draga úr þessum villum með því að nota afritunar- og villuleiðréttingarkerfi. Afritunar- og villuleiðréttingarkerfi eru ekki alltaf fær um að endurheimta glataðar upplýsingar, og jafnvel þótt þau geri það, er engin trygging fyrir því að endurheimtaraðgerðin hafi tekist.

Og þetta er líka stórt vandamál, en ekki frestað, heldur viðvarandi.

Nútíma þjöppur sem notaðar eru til að geyma stafræn gögn eru byggðar á ýmsum útfærslum á orðabókaraðferðinni og fyrir slík skjalasöfn væri tap á broti af upplýsingum banvænt. Það er jafnvel til rótgróið hugtak yfir slíka stöðu: „brotið“ skjalasafn...

Lágt áreiðanleiki þess að geyma upplýsingar í orðabókartengdum skjalasöfnum stafar af uppbyggingu þjappaðra gagnanna. Upplýsingar í slíku skjalasafni innihalda ekki upprunalega textann; það geymir númer orðabókarfærslna, sem eru breyttar á virk hátt af núverandi þjappaða texta. Ef hluti skjalasafnsins týnist eða skemmist er ekki hægt að bera kennsl á allar síðari færslur í skjalasafninu, hvorki með innihaldi þeirra né lengd orðabókarfærslunnar, þar sem það er óljóst hvað númer orðabókarfærslunnar samsvarar.

Það er ómögulegt að endurheimta upplýsingar úr svona „brotnu“ skjalasafni.

RTT reikniritið byggir á áreiðanlegri aðferð til að geyma þjöppuð gögn. Það notar flokkunaraðferð til að taka tillit til endurtekinna brota. Þessi aðferð við þjöppun lágmarkar áhrif gagnaskaðunar á geymslumiðilinn og leiðréttir í mörgum tilfellum sjálfkrafa skemmdir sem eiga sér stað við geymslu.
Þetta er vegna þess að skjalasafnsskráin inniheldur tvö reiti þegar um vísitöluþjöppun er að ræða:

  • frumtextasviðið þar sem endurteknu köflunum er fjarlægt;
  • vísitölusvið.

Vísitölureiturinn, sem er mikilvægur fyrir gagnabjörgun, er lítill að stærð og hægt er að afrita hann til að tryggja áreiðanlega gagnageymslu. Þess vegna, jafnvel þótt brot af upprunalega textanum eða vísitölufylkinu glatist, er hægt að endurheimta allar aðrar upplýsingar án vandræða, eins og sést á myndinni með „hliðstæðum“ geymslumiðlum.

Ókostir reikniritsins

Allir kostir hafa sína galla. Vísitölubundin þjöppunaraðferð þjappar ekki stuttum, endurteknum röðum. Þetta er vegna takmarkana vísitölubundnu aðferðarinnar. Vísitölur eru að minnsta kosti 3 bæti að stærð og geta verið allt að 12 bæti. Ef endurtekning finnst sem er minni en vísitalan sem lýsir henni er hún hunsuð, sama hversu oft slíkar endurtekningar finnast í skránni sem verið er að þjappa.

Hefðbundna orðabókarbyggða þjöppunaraðferðin þjappar á áhrifaríkan hátt margar stuttar endurtekningar og nær því hærri þjöppunarhlutföllum en vísitölubyggð þjöppun. Þetta kostar þó mikla nýtingu örgjörvans. Til þess að orðabókarbyggða aðferðin nái skilvirkari gagnaþjöppun en vísitölubyggða aðferðin verður hún að draga úr gagnavinnsluhraðanum í 10-20 megabæt á sekúndu í raunverulegum tölvukerfum undir fullu álagi á örgjörvanum.

Slíkur lágur hraði er óásættanlegur fyrir nútíma gagnageymslukerfi og er frekar af „fræðilegum“ áhuga en hagnýtum.

Þjöppun upplýsinganna verður verulega aukin í næstu breytingu á RTT reikniritinu (RTT-Max), sem er þegar í þróun.

Svo, eins og alltaf, framhald fylgir...

Heimild: www.habr.com

Bæta við athugasemd