I-Google isiqalile ukuvula ukusetshenziswa kwemodeli yokugeleza ye-M:N

Google kuphakanyisiwe ukufaka ku-Linux kernel isethi yokuqala yamapeshi ngokusetshenziswa kwezingxenye ezidingekayo ukuze kuqinisekiswe ukusebenza kwemodeli yokulutha ye-M:N. Isinyathelo se-Google sihlobene nokuvulwa kwe-API ebithuthukiswa ngaphandle kweminyango evaliwe ShintshelaKu ye-Linux kernel, ehlinzeka ngokusebenza kwesistimu engaphansi enemicu eminingi esetshenziswa esikhaleni somsebenzisi, kusetshenziswa imodeli yokulubula ye-M:N. Isistimu engaphansi isetshenziswa i-Google ukuze kuqinisekiswe ukusebenza kwezinsizakalo ezidinga ukubambezeleka okuncane. Ukuhlela nokuphathwa kokusatshalaliswa kwentambo kwenziwa ngokuphelele endaweni yomsebenzisi, okunganciphisa kakhulu inani lemisebenzi yokushintsha umongo ngokunciphisa ukwenziwa kwezingcingo zesistimu.

Ukuqinisekisa ukusebenza kwesistimu engaphansi eshiwo ezingeni le-Linux kernel, i-SwitchTo API yaqaliswa, ihlinzeka ngemisebenzi emithathu eyisisekelo - linda, qalisa futhi futhi ushintshe (ukushintsha). Ukuze kufakwe ku-kernel, ikhodi yokusebenza okusha FUTEX_SWAP iyahlongozwa, ehambisanayo. I-FUTEX_WAIT kanye ne-FUTEX_WAKE, futhi inikeza uhlaka lokudala amalabhulali anezintambo eziningi esikhaleni somsebenzisi. I-FUTEX_SWAP ingase futhi isetshenziselwe ukudlulisa imilayezo phakathi kwemisebenzi, efana ne-RPC. Isibonelo, okwamanje, ukuze udlulise umlayezo phakathi kwemisebenzi, udinga ukwenza okungenani izingcingo ezine ku-FUTEX_WAIT kanye ne-FUTEX_WAKE, kodwa ukusebenzisa i-FUTEX_SWAP kuzokuvumela ukuthi udlule ngokusebenza okukodwa, okuzoqedwa ngokushesha izikhathi ezi-5-10.

I-Google isiqalile ukuvula ukusetshenziswa kwemodeli yokugeleza ye-M:N

Njengamanje, amamodeli okugeleza okuthi 1:1 kanye no-N:1 asetshenziswa kakhulu ekusebenzeni. Imodeli ye-1: 1 isetshenziswa ku I-NPTL (POSIX imifudlana) kanye LinuxTreads, futhi kusikisela ukumepha okuqondile kochungechunge esikhaleni somsebenzisi ukuya kuchungechunge (iyunithi yokuhlela yokwenza) ezingeni le-kernel. Imodeli N:1 isetshenziswe ku I-GNU Pth, iletha ukuthunyelwa kwentambo esikhaleni somsebenzisi futhi ivumela imicu engu-N esikhaleni somsebenzisi ukuthi iboshwe ochungechungeni olulodwa ku-kernel, ngaphandle kokuthi i-kernel ibe nolwazi lwezintambo zomsebenzisi.

Ububi obuyinhloko bemodeli engu-1:1 ubukhulu bengqikithi yokushintsha phakathi kwe-kernel nesikhala somsebenzisi. Imodeli ye-N:1 ixazulula le nkinga, kodwa idala entsha - njengoba intambo ku-kernel iyiyunithi engenakuhlukaniswa yokuhlela ukusebenza, imicu yomsebenzisi eboshelwe kuchungechunge olulodwa ku-kernel yesistimu yokusebenza ayikwazi ukuwela kuma-CPU cores futhi igcine iboshelwe i-CPU core eyodwa.

Imodeli ye-M:N iyihybrid futhi isusa konke okubi okuchazwe ngenhla ngokwenza imephu imicu engu-N esikhaleni somsebenzisi iye emiculweni engu-M ku-OS kernel, okuvumela kokubili ukunciphisa okungaphezulu kokushintshwa komongo kanye nokuqinisekisa ukukala kuwo wonke ama-CPU cores. Izindleko zale nketho ziwubunzima obukhulu bokusebenzisa isihleli sentambo endaweni yomsebenzisi kanye nesidingo sezindlela zokuxhumanisa izenzo nesihleli se-kernel.

Source: opennet.ru

Engeza amazwana