Mae Varnish Software, cwmni sy'n datblygu systemau ar gyfer adeiladu rhwydweithiau darparu cynnwys a storio, wedi cyflwyno'r prosiect ffynhonnell agored TinyKVM, sy'n datblygu offer ar gyfer ynysu gweithrediad prosesau unigol gan ddefnyddio'r hypervisor KVM. Nod datganedig y prosiect yw creu'r system ynysu blwch tywod gyflymaf ar gyfer prosesau unigol gan ddefnyddio rhithwiroli caledwedd. Mae cod y prosiect wedi'i ysgrifennu yn C a C++ ac fe'i dosberthir o dan y drwydded GPLv3 (ar gyfer y rhai nad ydynt yn barod i gydymffurfio â gofynion GPLv3, darperir trwydded fasnachol).
Mae TinyKVM wedi'i gynllunio i redeg unrhyw raglenni consol ar eu pen eu hunain Linux gyda pherfformiad sy'n agos at weithredu safonol. Mae'r gorbenion ar gyfer pob galwad system tua 2 microeiliad. Sonnir am ynysu prosesau ychwanegol mewn systemau prosesu ceisiadau gwe a storio dros dro fel enghraifft o gymhwysiad y prosiect. Mae TinyKVM wedi'i gynllunio i ddisodli'r efelychydd libriscv, a ddefnyddir i ynysu prosesu pob cais gwe yn y platfform Varnish. Mae amrywiad o'r llyfrgell libvmod hefyd wedi'i greu, sy'n caniatáu i fodiwlau Varnish gael eu gweithredu gan ddefnyddio TinyKVM.


Wrth redeg gyda TinyKVM, gweithredir y cod rhaglenni brodorol heb haenau efelychu ar y CPU ac mae'n cael ei gyfyngu gan ddefnyddio'r API hypervisor KVM, gan ddileu gorbenion a chyflawni perfformiad sy'n agos at redeg heb rithwiroli. Nodweddion allweddol TinyKVM:
- Cyfyngu ar yr uchafswm amser gweithredu. Gellir terfynu'r rhaglen yn rymus ar ôl terfyn amser, heb ffonio trinwyr signal ac edafedd.
- Cyfyngu ar y defnydd o gof.
- Y gallu i fforchio achosion heb eu cychwyn peiriannau rhithwir o un enghraifft wedi'i chychwyn o raglen ynysig. Mae copïau o beiriannau rhithwir yn cael eu creu yn y modd copïo-wrth-ysgrifennu, sy'n caniatáu arbedion cof sylweddol trwy storio un copi yn unig o ddata a rennir.
- Gellir ailosod prosesau fforchog i gyflwr blaenorol (er enghraifft, gellir ailosod triniwr cais http fforchog i'w gyflwr gwreiddiol ar ôl prosesu pob cais heb ailgychwyn). Gellir ailosod enghraifft o broses unigol hefyd i gyflwr peiriant rhithwir gwahanol na'r un y cafodd ei fforchio ohono, ond bydd y gorben yn uwch yn yr achos hwn oherwydd bydd angen addasu tabl y dudalen cof.
- Y gallu i greu tudalennau cof sefydlog wrth gychwyn, sy'n addas hyd yn oed ar gyfer amseroedd rhedeg soffistigedig fel yr iaith Go. Yn yr achos hwn, dim ond ar gyfer tudalennau yn y modd copi-ar-ysgrifennu y caniateir newidiadau.
- Cefnogaeth ar gyfer dadfygio o bell gan ddefnyddio GDB. Mae dadfygio ar-y-hedfan gydag ailddechrau gweithredu yn bosibl.
Mae amgylchedd gwestai TinyKVM yn gnewyllyn symlach, sy'n gwrthsefyll ymyrraeth, wedi'i adeiladu gyda thudalen cof wedi'i alluogi ac yn defnyddio SMAP (Atal Mynediad Modd Goruchwyliwr) ac SMEP (Atal Gweithredu Modd Goruchwyliwr) ar gyfer ynysu ychwanegol rhwng y cnewyllyn a gofod y defnyddiwr. Mae TinyKVM yn defnyddio hugepages i wella perfformiad. Mae galwadau system a wneir gan raglenni yn cael eu rhyng-gipio gan yr efelychydd ac yn cael eu hailgyfeirio i'r amgylchedd gwesteiwr (mae'r oedi ar gyfer prosesu a chyfieithu'r alwad efelychiedig tua 2 ficroeiliad). peiriant rhithwir Ni ddefnyddir unrhyw yrwyr, dyfeisiau mewnbwn/allbwn na rhithwir.

Ffynhonnell: opennet.ru
