Google e se e qalile ho bula ts'ebetsong ea mokhoa oa phallo oa M:N

Google sisintswe bakeng sa ho kenyeletsoa ho Linux kernel sete ea pele ea li-patches tse nang le ts'ebetsong ea likarolo tse hlokahalang ho netefatsa mosebetsi oa M: N threading model. Bohato ba Google bo amana le ho buloa ha API e ntlafalitsoeng ka mor'a mamati a koetsoeng SwitchTo bakeng sa Linux kernel, e fanang ka subsystem e nang le likhoele tse ngata e kentsoeng sebakeng sa basebelisi e sebelisang mofuta oa khoele oa M: N. Tsamaiso e tlase e sebelisoa ke Google ho fana ka litšebeletso tse hlokang tieho e fokolang. Kemiso le tsamaiso ea kabo ea likhoele e etsoa ka botlalo sebakeng sa basebelisi, e ka fokotsang haholo palo ea li-switches tsa maemo ka ho fokotsa ts'ebetso ea mehala ea sistimi.

Ho netefatsa ts'ebetso ea subsystem ena, SwitchTo API e kentsoe tšebetsong boemong ba Linux kernel, e fana ka lits'ebetso tse tharo tsa mantlha - ema, qala hape le ho swap (switching). Bakeng sa ho kenyeletsoa kernel, ho hlahisoa khoutu ea ts'ebetso e ncha ea FUTEX_SWAP, e tlatselletsang FUTEX_WAIT le FUTEX_WAKE, le ho fana ka moralo oa ho aha lilaebrari tsa sebaka sa basebelisi tse nang le likhoele tse ngata. FUTEX_SWAP e ka boela ea sebelisoa ho fetisa melaetsa lipakeng tsa mesebetsi, e ts'oanang le RPC. Ka mohlala, hajoale, ho fetisa molaetsa pakeng tsa mesebetsi, bonyane li-call tse 'nè ho FUTEX_WAIT le FUTEX_WAKE lia hlokahala, ha ho sebelisa FUTEX_SWAP ho tla lumella hore ts'ebetso e le' ngoe e phethoe ka makhetlo a 5-10 ka potlako.

Google e se e qalile ho bula ts'ebetsong ea mokhoa oa phallo oa M:N

Hajoale, mefuta ea phallo ea 1:1 le N:1 e sebelisoa haholo ts'ebetsong. Mohlala oa 1:1 o sebelisoa ho NPTL (POSIX likhoele) le LinuxTreads, 'me e bolela 'mapa o tobileng oa khoele ea sebaka sa mosebedisi ho khoele (yuniti ea kemiso ea ts'ebetso) boemong ba kernel. Moetso oa N:1 o kengoa tšebetsong ho GNU Pth, e tlisa tlhophiso ea likhoele sebakeng sa mosebelisi mme e lumella likhoele tsa sebaka sa mosebelisi N ho tlama khoele e le 'ngoe kernel, ntle le kernel e tseba ka likhoele tsa mosebelisi.

Phoso e kholo ea mohlala oa 1: 1 ke phetoho e kholo ea maemo a fetohang lipakeng tsa kernel le sebaka sa mosebelisi. Moetso oa N: 1 o rarolla bothata bona, empa o theha e ncha - kaha khoele e kernel ke karolo e sa bonahaleng ea kemiso ea ts'ebetso, likhoele tsa mosebelisi tse tlamelletsoeng khoeleng e le 'ngoe ea sistimi ea ts'ebetso ea kernel ha li khone ho feta ho li-cores tsa CPU mme li tlameletsoe ho. CPU e le 'ngoe ea mantlha.

Moetso oa M: N ke oa lebasetere mme o sebetsana le mathata ohle a kaholimo ka ho etsa 'mapa oa likhoele tsa sebaka sa mosebelisi tsa N ho likhoele tsa M kernel, ka bobeli li fokotsa maemo a holimo le ho lekola li-CPU cores. Theko ea khetho ena ke bothata bo boholo ba ts'ebetsong ea kemiso ea khoele sebakeng sa mosebedisi le tlhokahalo ea mekhoa ea ho hokahanya liketso le kernel scheduler.

Source: opennet.ru

Eketsa ka tlhaloso