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.
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.