Po 11 mėnesių kūrimo išleistas CRIU 4.3 („Checkpoint and Restore in Userspace“) – įrankių rinkinys, skirtas procesams išsaugoti ir atkurti vartotojo erdvėje. Įrankių rinkinys leidžia išsaugoti vieno ar kelių procesų būseną ir vėliau tęsti vykdymą iš išsaugotos vietos, įskaitant po sistemos perkrovimo arba kitame serveryje, nenutraukiant esamų tinklo ryšių. Projekto kodas parašytas C kalba ir platinamas pagal GPLv2 licenciją. CRIU naudojamas konteinerių valdymo sistemose, tokiose kaip „OpenVZ“, „LXC/LXD“ ir „Docker“. CRIU veikimui reikalingi pakeitimai buvo įtraukti į pagrindinį branduolį. Linux.
CRIU technologijos pritaikymo sritys apima OS perkrovimo užtikrinimą, netrikdant ilgai veikiančių procesų tęstinumo, tiesioginį izoliuotų konteinerių perkėlimą, lėtų procesų paleidimo pagreitinimą (galite pradėti dirbti iš išsaugotos būsenos po inicijavimo), branduolio atnaujinimų atlikimą neperkraunant paslaugų, periodiškai išsaugant ilgai vykdomų skaičiavimo užduočių būseną, kad būtų galima atnaujinti įvykį, baigiant darbą ir baigiant procesų perkėlimas į kitą mašiną (šakė į nuotolinę sistemą), vartotojų programų momentinių nuotraukų kūrimas veikimo metu jų analizei kitoje sistemoje arba tuo atveju, jei reikia atšaukti tolesnius veiksmus programoje.
Naujame leidime:
- Įdiegta galimybė suspausti atminties blokus ir puslapius naudojant LZ4 algoritmą ir daugiasriegę dekompresiją.
- Našumas pagerinamas naudojant asinchroninį įvesties/išvesties (AIO) režimą atkuriant VMA (virtualiosios atminties srities) puslapius – tai naujas būdas sustabdyti užduotis nenaudojant aparatinės įrangos lūžio taškų, ir paralelizuojant memfd bei anoniminį bendros atminties atkūrimą.
- Pridėta ARM64 GCS (apsaugoto valdymo stek) plėtinio, kuris užtikrina aparatinės įrangos apsaugą funkcijų grąžinimo adresams, palaikymas. Perdavus valdymą funkcijai, procesorius grąžinimo adresus saugo ne tik įprastame steke, bet ir atskirame šešėliniame steke, kurio negalima tiesiogiai modifikuoti. Prieš išeinant iš funkcijos, grąžinimo adresas išimamas iš šešėlinio steko ir palyginamas su grąžinimo adresu pagrindiniame steke.
- Pridėta vidinė sąsaja, skirta išsaugoti NVIDIA CUDA tvarkyklės API būseną.
- GPU atvaizdavimo atkūrimas užtikrintas.
- „amdgpu“ tvarkyklei įdiegtas DRM („Direct Rendering Manager“) posistemės buferių ir DMA-BUF failų aprašų būsenos išsaugojimas ir atkūrimas.
- Pridėtos komandos atminties vaizdams glaudinti ir išskleisti neprisijungus.
- Pridėta UID susiejimų su tinklo lizdais informacijos išsaugojimo ir atkūrimo palaikymas.
- Pridėta parinktis „--image-io-mode“, skirta atminties puslapių vaizdams rašyti ir skaityti O_DIRECT režimu (apeinant puslapio talpyklą).
Šaltinis: opennet.ru
