Ikuna-giga-funmorawon-Ailewu (Tẹsiwaju)

Nkan yii jẹ keji tẹlẹ ninu koko-ọrọ ti funmorawon data iyara-giga. Nkan akọkọ ṣe apejuwe compressor ti n ṣiṣẹ ni iyara ti 10 GB / iṣẹju-aaya. fun mojuto ero isise (kere funmorawon, RTT-Min).

A ti ṣe imuse konpireso yii tẹlẹ ninu ohun elo ti awọn oniwadi oniwadi fun titẹ iyara giga ti awọn idalẹnu ibi ipamọ ati imudara agbara ti cryptography; o tun le ṣee lo lati compress awọn aworan ti awọn ẹrọ foju ati awọn faili swap Ramu nigba fifipamọ wọn lori iyara giga. Awọn awakọ SSD.

Nkan akọkọ tun kede idagbasoke ti algorithm funmorawon fun fisinuirindigbindigbin awọn adakọ afẹyinti ti HDD ati awọn awakọ disk SSD (funmorawon alabọde, RTT-Mid) pẹlu awọn igbelewọn imudara data ti ilọsiwaju ni pataki. Ni bayi, konpireso yii ti ṣetan patapata ati nkan yii jẹ nipa rẹ.

Olupilẹṣẹ ti o ṣe imuse algorithm RTT-Mid n pese ipin funmorawon ti o ni afiwe si awọn ile-ipamọ boṣewa bii WinRar, 7-Zip, ti n ṣiṣẹ ni ipo iyara giga. Ni akoko kanna, iyara iṣẹ rẹ jẹ o kere ju aṣẹ titobi ga julọ.

Iyara ti iṣakojọpọ / ṣiṣi silẹ data jẹ paramita to ṣe pataki ti o pinnu ipari ti ohun elo ti awọn imọ-ẹrọ funmorawon. Ko ṣee ṣe pe ẹnikẹni yoo ronu ti funmorawon terabyte ti data ni iyara ti 10-15 MegaBytes fun iṣẹju kan (eyi ni iyara ti awọn ile ifi nkan pamosi ni ipo funmorawon boṣewa), nitori yoo gba to awọn wakati ogun pẹlu fifuye ero isise ni kikun. .

Ni apa keji, terabyte kanna ni a le daakọ ni awọn iyara ti aṣẹ 2-3Gigabytes fun iṣẹju kan ni bii iṣẹju mẹwa.

Nitorinaa, funmorawon ti alaye iwọn-nla jẹ pataki ti o ba ṣe ni iyara ti ko kere ju iyara titẹ sii / igbejade gidi. Fun awọn ọna ṣiṣe igbalode eyi jẹ o kere ju 100 Megabytes fun iṣẹju kan.

Awọn compressors ode oni le gbe iru awọn iyara bẹ nikan ni ipo “yara”. O wa ni ipo lọwọlọwọ ti a yoo ṣe afiwe algorithm RTT-Mid pẹlu awọn compressors ibile.

Idanwo afiwera ti algorithm tuntun funmorawon

RTT-Mid konpireso sise bi ara ti awọn igbeyewo eto. Ninu ohun elo “ṣiṣẹ” gidi o ṣiṣẹ ni iyara pupọ, o nlo multithreading ni ọgbọn ati lo alakojo “deede”, kii ṣe C #.

Niwọn igba ti awọn compressors ti a lo ninu idanwo afiwera ti wa ni ipilẹ lori awọn ipilẹ oriṣiriṣi ati awọn oriṣiriṣi oriṣi ti compress data ni oriṣiriṣi, fun aibikita idanwo naa, ọna ti wiwọn “iwọn otutu ni ile-iwosan” ni a lo…

Faili idalẹnu eka-nipasẹ-apakan ti disiki ọgbọn pẹlu Windows 10 ẹrọ ṣiṣe ti ṣẹda; eyi ni idapọpọ adayeba julọ ti ọpọlọpọ awọn ẹya data ti o wa nitootọ lori kọnputa kọọkan. Fifun faili yii yoo gba ọ laaye lati ṣe afiwe iyara ati iwọn ti funmorawon ti algoridimu tuntun pẹlu awọn compressors ti ilọsiwaju julọ ti a lo ninu awọn ile-ipamọ ode oni.

Eyi ni faili idalẹnu:

Ikuna-giga-funmorawon-Ailewu (Tẹsiwaju)

Faili idalẹnu naa jẹ fisinuirindigbindigbin ni lilo PTT-Mid, 7-zip, ati awọn compressors WinRar. WinRar ati konpireso 7-zip ti ṣeto si iyara to pọ julọ.

Compressor nṣiṣẹ 7-zip:

Ikuna-giga-funmorawon-Ailewu (Tẹsiwaju)

O fifuye ero isise nipasẹ 100%, lakoko ti iyara apapọ ti kika idalẹnu atilẹba jẹ nipa 60 MegaBytes / iṣẹju-aaya.

Compressor nṣiṣẹ Winrar:

Ikuna-giga-funmorawon-Ailewu (Tẹsiwaju)

Ipo naa jẹ iru, fifuye ero isise naa fẹrẹ to 100%, iyara kika idalẹnu apapọ jẹ nipa 125 Megabytes / iṣẹju-aaya.

Gẹgẹbi ọran ti iṣaaju, iyara ti ile ifi nkan pamosi jẹ opin nipasẹ awọn agbara ero isise naa.

Eto idanwo konpireso ti nṣiṣẹ bayi RTT-Mid:

Ikuna-giga-funmorawon-Ailewu (Tẹsiwaju)

Awọn sikirinifoto fihan wipe awọn ero isise ti wa ni ti kojọpọ ni 50% ati ki o jẹ laišišẹ awọn iyokù ti awọn akoko, nitori nibẹ ni ko si ibi lati po si awọn fisinuirindigbindigbin data. Disiki ikojọpọ data (Disk 0) ti fẹrẹ kojọpọ ni kikun. Iyara kika data (Disk 1) yatọ pupọ, ṣugbọn ni apapọ diẹ sii ju 200 MegaBytes / iṣẹju-aaya.

Iyara ti konpireso ni opin ninu ọran yii nipasẹ agbara lati kọ data fisinuirindigbindigbin si Disk 0.

Bayi ipin funmorawon ti awọn ile-ipamọ abajade:

Ikuna-giga-funmorawon-Ailewu (Tẹsiwaju)

Ikuna-giga-funmorawon-Ailewu (Tẹsiwaju)

Ikuna-giga-funmorawon-Ailewu (Tẹsiwaju)

O le rii pe konpireso RTT-Mid ṣe iṣẹ ti o dara julọ ti funmorawon; ile ifi nkan pamosi ti o ṣẹda jẹ 1,3 GigaBytes kere ju ibi ipamọ WinRar ati 2,1 GigaBytes kere ju ile-ipamọ 7z lọ.

Akoko ti o lo lati ṣẹda iwe ipamọ:

  • 7-zip - 26 iṣẹju 10 aaya;
  • WinRar - 17 iṣẹju 40 aaya;
  • RTT-Mid – 7 iṣẹju 30 aaya.

Nitorinaa, paapaa idanwo kan, eto ti kii ṣe iṣapeye, ni lilo algorithm RTT-Mid, ni anfani lati ṣẹda iwe-ipamọ diẹ sii ju awọn akoko meji ati idaji lọ ni iyara, lakoko ti ile-ipamọ naa ti jade lati kere pupọ ju ti awọn oludije rẹ lọ…

Awọn ti ko gbagbọ awọn sikirinisoti le ṣayẹwo otitọ wọn funrararẹ. Eto idanwo naa wa ni ọna asopọ, gbaa lati ayelujara ati ṣayẹwo.

Ṣugbọn nikan lori awọn ilana pẹlu atilẹyin AVX-2, laisi atilẹyin fun awọn ilana wọnyi konpireso ko ṣiṣẹ, ati pe ko ṣe idanwo algorithm lori awọn ilana AMD agbalagba, wọn lọra ni awọn ofin ti ṣiṣe awọn ilana AVX…

Ọna funmorawon lo

Algoridimu nlo ọna kan fun titọka awọn ajẹkù ọrọ ti o leralera ni granularity baiti. Ọna funmorawon yii ni a ti mọ fun igba pipẹ, ṣugbọn ko lo nitori pe iṣẹ ti o baamu jẹ gbowolori pupọ ni awọn ofin ti awọn orisun pataki ati nilo akoko pupọ diẹ sii ju kikọ iwe-itumọ kan. Nitorinaa RTT-Mid algorithm jẹ apẹẹrẹ Ayebaye ti gbigbe “pada si ọjọ iwaju”…

PTT konpireso nlo a oto ga-iyara baramu search scanner, eyi ti o gba wa lati titẹ soke awọn funmorawon ilana. Ayẹwo ti ara ẹni, eyi ni “ẹwa mi…”, “o jẹ gbowolori pupọ, nitori pe o jẹ afọwọṣe patapata” (ti a kọ sinu apejọ).

Ayẹwo wiwa ibaamu naa ni a ṣe ni ibamu si ero iṣeeṣe ipele meji: akọkọ, wiwa “ami” ti ere kan ni a ṣayẹwo, ati lẹhin ti “ami” ti ṣe idanimọ ni aaye yii, ilana fun wiwa baramu gidi kan ti bẹrẹ.

Ferese wiwa ibaamu naa ni iwọn airotẹlẹ, da lori iwọn entropy ninu bulọọki data ti a ṣe ilana. Fun data laileto patapata (aiṣe-ibaramu) o ni iwọn awọn megabyte, fun data pẹlu awọn atunwi o tobi nigbagbogbo ju megabyte kan.

Ṣugbọn ọpọlọpọ awọn ọna kika data ode oni jẹ incompressible ati ṣiṣiṣẹ ọlọjẹ aladanla awọn orisun nipasẹ wọn jẹ asan ati asan, nitorinaa ọlọjẹ naa nlo awọn ipo iṣẹ meji. Ni akọkọ, awọn apakan ti ọrọ orisun pẹlu awọn atunwi ti o ṣee ṣe; iṣẹ yii tun ṣe ni lilo ọna iṣeeṣe ati pe a ṣe ni iyara pupọ (ni iyara ti 4-6 GigaBytes / iṣẹju-aaya). Awọn agbegbe pẹlu awọn ere-kere ti o ṣee ṣe lẹhinna ni ilọsiwaju nipasẹ ọlọjẹ akọkọ.

Funmorawon Atọka ko ni imunadoko pupọ, o ni lati rọpo awọn ajẹkù pidánpidán pẹlu awọn atọka, ati itọka atọka ni pataki dinku ipin funmorawon.

Lati mu ipin funmorawon pọ, kii ṣe awọn ere-kere pipe ti awọn okun baiti nikan ni a ṣe atọka, ṣugbọn awọn ti apakan, nigbati okun naa ni awọn baiti ti o baamu ati ti ko baamu. Lati ṣe eyi, ọna kika atọka pẹlu aaye boju-boju baramu ti o tọkasi awọn baiti ibaamu ti awọn bulọọki meji. Fun paapaa funmorawon ti o tobi ju, titọka ni a lo lati gbe ọpọlọpọ awọn bulọọki ibaamu ni apakan sori bulọọki lọwọlọwọ.

Gbogbo eyi jẹ ki o ṣee ṣe lati gba ninu PTT-Mid konpireso a funmorawon ratio afiwera si compressors ṣe nipa lilo awọn dictionary ọna, ṣugbọn ṣiṣẹ Elo yiyara.

Iyara ti algorithm funmorawon tuntun

Ti konpireso naa ba ṣiṣẹ pẹlu lilo iyasọtọ ti iranti kaṣe (Megabytes 4 nilo fun okun), lẹhinna iyara iṣẹ naa wa lati 700-2000 Megabytes / iṣẹju-aaya. fun mojuto ero isise, da lori iru data ti o wa ni fisinuirindigbindigbin ati ki o da diẹ lori awọn ọna igbohunsafẹfẹ ti ero isise.

Pẹlu imuse ti ọpọlọpọ-asapo ti konpireso, scalability ti o munadoko jẹ ipinnu nipasẹ iwọn ti kaṣe ipele kẹta. Fun apẹẹrẹ, nini 9 MegaBytes ti iranti kaṣe “lori ọkọ”, ko si aaye ni ifilọlẹ diẹ sii ju awọn okun funmorawon meji; iyara ko ni pọ si lati eyi. Ṣugbọn pẹlu kaṣe ti 20 Megabytes, o le ti ṣiṣẹ tẹlẹ awọn okun funmorawon marun.

Pẹlupẹlu, lairi ti Ramu di paramita pataki ti o pinnu iyara ti konpireso. Algoridimu nlo iraye si laileto si OP, diẹ ninu eyiti ko wọle sinu iranti kaṣe (nipa 10%) ati pe o ni lati ṣiṣẹ, nduro data lati OP, eyiti o dinku iyara iṣẹ.

Ni pataki ni ipa lori iyara ti konpireso ati iṣẹ ti eto igbewọle/jade data. Awọn ibeere si OP lati awọn ibeere idilọwọ I/O fun data lati Sipiyu, eyiti o tun dinku iyara funmorawon. Iṣoro yii ṣe pataki fun awọn kọnputa agbeka ati kọǹpútà alágbèéká; fun awọn olupin ko ṣe pataki nitori ẹyọkan iṣakoso wiwọle ọkọ akero eto ilọsiwaju diẹ sii ati Ramu ikanni pupọ.

Jakejado ọrọ ti o wa ninu nkan naa a sọrọ nipa funmorawon; decompression wa ni ita aaye ti nkan yii nitori “ohun gbogbo ti bo ni chocolate”. Decompression jẹ yiyara pupọ ati pe o ni opin nipasẹ iyara I/O. Kokoro ti ara kan ninu okun kan ni irọrun pese awọn iyara ṣiṣi silẹ ti 3-4 GB / iṣẹju-aaya.

Eyi jẹ nitori isansa ti iṣẹ wiwa ibaamu lakoko ilana idinku, eyiti “jẹun” awọn orisun akọkọ ti ero isise ati iranti kaṣe lakoko titẹkuro.

Igbẹkẹle ipamọ data fisinuirindigbindigbin

Gẹgẹbi orukọ gbogbo kilasi ti sọfitiwia ti o lo funmorawon data (awọn ile ifipamọ) ṣe imọran, wọn ṣe apẹrẹ fun ibi ipamọ igba pipẹ ti alaye, kii ṣe fun awọn ọdun, ṣugbọn fun awọn ọgọrun ọdun ati ọdunrun ọdun…

Lakoko ibi ipamọ, media ipamọ padanu diẹ ninu data, eyi ni apẹẹrẹ:

Ikuna-giga-funmorawon-Ailewu (Tẹsiwaju)

Oluṣe alaye “analog” yii jẹ ọdun ẹgbẹrun ọdun, diẹ ninu awọn ajẹkù ti sọnu, ṣugbọn ni gbogbogbo alaye naa jẹ “ṣe kika”…

Ko si ọkan ninu awọn olupilẹṣẹ oniduro ti awọn ọna ipamọ data oni nọmba ode oni ati media oni nọmba fun wọn ti o pese awọn iṣeduro ti aabo data pipe fun diẹ sii ju ọdun 75.
Eyi si jẹ iṣoro, ṣugbọn iṣoro ti o sun siwaju, iru-ọmọ wa yoo yanju rẹ...

Awọn ọna ipamọ data oni nọmba le padanu data kii ṣe lẹhin ọdun 75 nikan, awọn aṣiṣe ninu data le han nigbakugba, paapaa lakoko igbasilẹ wọn, wọn gbiyanju lati dinku awọn ipalọlọ wọnyi nipa lilo apọju ati atunṣe wọn pẹlu awọn eto atunṣe aṣiṣe. Apọju ati awọn ọna ṣiṣe atunṣe ko le mu pada alaye ti o sọnu nigbagbogbo, ati pe ti wọn ba ṣe, ko si iṣeduro pe iṣẹ atunṣe ti pari ni deede.

Ati pe eyi tun jẹ iṣoro nla, ṣugbọn kii ṣe ọkan ti o da duro, ṣugbọn ọkan lọwọlọwọ.

Awọn compressors ode oni ti a lo fun fifipamọ data oni-nọmba jẹ itumọ lori ọpọlọpọ awọn iyipada ti ọna iwe-itumọ, ati fun iru awọn ile-itumọ, isonu nkan kan ti alaye yoo jẹ iṣẹlẹ apaniyan; paapaa ọrọ ti iṣeto fun iru ipo kan - ile-ipamọ “baje” ...

Igbẹkẹle kekere ti ifipamọ alaye ni awọn ile-ipamọ pẹlu funmorawon iwe-itumọ ni nkan ṣe pẹlu eto ti data fisinuirindigbindigbin. Alaye ti o wa ninu iru ile ifi nkan pamosi ko ni ọrọ orisun ninu, awọn nọmba ti awọn titẹ sii inu iwe-itumọ ti wa ni ipamọ nibẹ, ati pe iwe-itumọ funrararẹ jẹ atunṣe ni agbara nipasẹ ọrọ fisinuirindigbindigbin lọwọlọwọ. Ti ajẹkù pamosi kan ba sọnu tabi ti bajẹ, gbogbo awọn titẹ sii ile ifi nkan pamosi ti o tẹle ko le ṣe idanimọ boya nipasẹ akoonu tabi gigun ti titẹ sii ninu iwe-itumọ, nitori ko ṣe afihan kini nọmba titẹsi iwe-itumọ ṣe baamu.

Ko ṣee ṣe lati mu pada alaye pada lati iru iwe-ipamọ “bajẹ” kan.

Algoridimu RTT da lori ọna igbẹkẹle diẹ sii ti titoju data fisinuirindigbindigbin. O nlo ọna atọka ti iṣiro fun atunwi awọn ajẹkù. Ọna yii si funmorawon ngbanilaaye lati dinku awọn abajade ti ipadaru alaye lori alabọde ibi ipamọ, ati ni ọpọlọpọ awọn ọran laifọwọyi ṣatunṣe awọn ipalọlọ ti o dide lakoko ibi ipamọ alaye.
Eyi jẹ nitori otitọ pe faili pamosi ninu ọran ti titẹkuro atọka ni awọn aaye meji:

  • aaye ọrọ orisun kan pẹlu awọn apakan atunwi ti a yọ kuro ninu rẹ;
  • aaye atọka.

Aaye atọka, eyiti o ṣe pataki fun imularada alaye, ko tobi ni iwọn ati pe o le ṣe pidánpidán fun ibi ipamọ data ti o gbẹkẹle. Nitorinaa, paapaa ti ajẹkù ti ọrọ orisun tabi itọka atọka ti sọnu, gbogbo alaye miiran yoo pada laisi awọn iṣoro, bi ninu aworan pẹlu alabọde ipamọ “analog”.

Awọn alailanfani ti algorithm

Ko si awọn anfani laisi awọn alailanfani. Ọna funmorawon atọka ko ni rọpọ awọn ọna atunwi kukuru. Eyi jẹ nitori awọn idiwọn ti ọna atọka. Awọn atọka jẹ o kere ju awọn baiti 3 ni iwọn ati pe o le to awọn baiti 12 ni iwọn. Ti atunwi kan ba pade pẹlu iwọn ti o kere ju atọka ti n ṣapejuwe rẹ, lẹhinna ko ṣe akiyesi, laibikita bii igbagbogbo iru awọn atunwi ni a rii ninu faili fisinuirindigbindigbin.

Ọna funmorawon itumọ-itumọ ti aṣa ni imunadoko ni imunadoko awọn atunwi pupọ ti gigun kukuru ati nitorinaa ṣaṣeyọri ipin funmorawon ti o ga ju funmorawon atọka. Lootọ, eyi ni aṣeyọri nitori fifuye giga lori ero isise aringbungbun; ni ibere fun ọna itumọ-ọrọ lati bẹrẹ lati fun pọ si data daradara diẹ sii ju ọna atọka lọ, o ni lati dinku iyara ṣiṣe data si 10-20 megabyte fun iṣẹju kan lori gidi. iširo awọn fifi sori ẹrọ pẹlu kan ni kikun Sipiyu fifuye.

Iru awọn iyara kekere bẹẹ jẹ itẹwẹgba fun awọn ọna ṣiṣe ipamọ data ode oni ati pe o ni anfani “ẹkọ” diẹ sii ju ilowo lọ.

Iwọn ti funmorawon alaye yoo pọ si ni pataki ni iyipada atẹle ti RTT algorithm (RTT-Max), eyiti o ti wa tẹlẹ ni idagbasoke.

Nitorinaa, bi nigbagbogbo, lati tẹsiwaju ...

orisun: www.habr.com

Fi ọrọìwòye kun