Google ya fara buɗe aiwatar da samfurin kwarara M: N

Google shawarar don haɗawa a cikin kernel Linux saitin farko na faci tare da aiwatar da abubuwan da suka dace don tabbatar da aikin ƙirar zaren M: N. Yunkurin Google yana da alaƙa da buɗe API ɗin da aka haɓaka a bayan kofofin da aka rufe Canja Zuwa don Linux kernel, wanda ke ba da tsarin tsarin zare da yawa wanda aka aiwatar a cikin sarari mai amfani wanda ke amfani da ƙirar zaren M: N. Google yana amfani da tsarin ƙasa don samar da ayyukan da ke buƙatar ɗan jinkiri. Ana yin tsarawa da gudanarwa na rarraba zaren gaba ɗaya a cikin sararin mai amfani, wanda zai iya rage yawan adadin mahallin mahallin ta rage girman aiwatar da kiran tsarin.

Don tabbatar da aiki na wannan tsarin, an aiwatar da SwitchTo API a matakin kernel na Linux, yana ba da ayyuka na asali guda uku - jira, ci gaba da musanya (canzawa). Don haɗawa a cikin kwaya, an ƙaddamar da lambar don sabon aikin FUTEX_SWAP, ƙarawa FUTEX_WAIT da FUTEX_WAKE, kuma yana ba da tsari don gina ɗakunan karatu masu amfani da sararin samaniya da yawa. Hakanan ana iya amfani da FUTEX_SWAP don isar da saƙonni tsakanin ayyuka, kama da RPC. Misali, a halin yanzu, don isar da sako tsakanin ayyuka, aƙalla kira huɗu zuwa FUTEX_WAIT da FUTEX_WAKE ana buƙatar, yayin amfani da FUTEX_SWAP zai ba da damar yin aiki guda ɗaya cikin sauri sau 5-10.

Google ya fara buɗe aiwatar da samfurin kwarara M: N

A halin yanzu, samfuran kwarara 1:1 da N:1 galibi ana amfani dasu a aikace. Ana amfani da samfurin 1:1 a Rahoton da aka ƙayyade na NPTL (POSIX zaren) da LinuxThreads, kuma yana nuna taswira kai tsaye na zaren sarari mai amfani zuwa zaren (ɓangaren jadawalin aiwatarwa) a matakin kernel. Ana aiwatar da samfurin N:1 a ciki GNU Pth, Yana kawo tsarin tsara zaren zuwa sararin mai amfani kuma yana ba da damar zaren sararin mai amfani N don ɗaure zare ɗaya a cikin kernel, ba tare da kernel ya san game da zaren mai amfani ba.

Babban hasara na ƙirar 1:1 shine babban abin da ke canzawa tsakanin kernel da sararin mai amfani. Samfurin N:1 yana magance wannan matsalar, amma yana haifar da wata sabuwa - tunda zaren da ke cikin kernel yanki ne na tsarin aiwatarwa wanda ba zai iya rarrabawa ba, zaren mai amfani da ke ɗaure zuwa zare ɗaya a cikin kernel ɗin tsarin aiki ba zai iya yin ƙima a cikin kwarjin CPU kuma ya ɗaure zuwa guda CPU core.

Samfurin M:N gauraye ne kuma yana magance duk rashin lahani da ke sama ta taswira N zaren sararin mai amfani zuwa zaren M kernel, duka suna rage jujjuyawar mahallin sama da ƙima a cikin kwatancen CPU. Farashin wannan zaɓi shine babban rikitarwa na aiwatar da mai tsara zaren a cikin sararin mai amfani da kuma buƙatar hanyoyin da za a daidaita ayyuka tare da mai tsara kernel.

source: budenet.ru

Add a comment