Google te kòmanse louvri aplikasyon an nan M: N an threading modèl

Google sijere enkli nan nwayo Linux premye seri plak ak aplikasyon konpozan ki nesesè pou asire operasyon modèl M:N anfile. Inisyativ Google a gen rapò ak ouvèti yon API ki te devlope dèyè pòt fèmen SwitchTo pou nwayo Linux la, ki bay operasyon yon sous-sistèm milti-threaded aplike nan espas itilizatè, lè l sèvi avèk M:N modèl threading. Google itilize sous-sistèm lan pou asire operasyon sèvis ki mande pou yon ti reta. Orè ak jesyon distribisyon fil fèt antyèman nan espas itilizatè, sa ki ka siyifikativman redwi kantite operasyon chanjman kontèks pa minimize ekzekisyon apèl sistèm yo.

Pou asire operasyon an nan subsistèm espesifye nan nivo nwayo Linux, yo te aplike API SwitchTo a, ki ofri twa operasyon debaz - tann, rezime ak swap (chanje). Pou enklizyon nan nwayo a, kòd la nan yon nouvo operasyon FUTEX_SWAP pwopoze, konpleman FUTEX_WAIT ak FUTEX_WAKE, epi li bay yon kad pou kreye bibliyotèk milti-threaded nan espas itilizatè. FUTEX_SWAP ka itilize tou pou transfere mesaj ant travay, menm jan ak RPC. Pou egzanp, kounye a, pou transfere yon mesaj ant travay, ou bezwen fè omwen kat apèl nan FUTEX_WAIT ak FUTEX_WAKE, men lè l sèvi avèk FUTEX_SWAP pral pèmèt ou jwenn ak yon operasyon, ki pral fini 5-10 fwa pi vit.

Google te kòmanse louvri aplikasyon an nan M: N an threading modèl

Kounye a, modèl koule 1:1 ak N:1 yo sitou itilize nan pratik. Modèl 1:1 yo itilize nan NPTL (POSIX kouran) ak LinuxThreads, ak implique yon kat dirèk nan yon fil nan espas itilizatè a yon fil (inite nan orè ekzekisyon) nan nivo nwayo a. Modèl N:1 aplike nan GNU Pth, pote fil dispatch nan espas itilizatè epi li pèmèt N fil nan espas itilizatè yo dwe mare nan yon sèl fil nan nwayo a, san ke nwayo a pa gen konesans sou fil itilizatè.

Dezavantaj prensipal la nan modèl la 1: 1 se gwo anlè kontèks chanje ant nwayo a ak espas itilizatè. Modèl N:1 rezoud pwoblèm sa a, men li kreye yon nouvo - piske yon fil nan nwayo a se yon inite endivizib nan orè ekzekisyon, fil itilizatè ki mare nan yon sèl fil nan nwayo a sistèm opere pa ka echèl atravè nwayo CPU epi yo fini mare ak yon sèl nwayo CPU.

Modèl M:N a se ibrid epi li elimine tout dezavantaj ki dekri anwo yo lè li mete N fil nan espas itilizatè a ak fil M nan nwayo OS la, sa ki pèmèt tou de diminye anlè chanjman kontèks la epi asire dekale atravè nwayo CPU. Pri a nan opsyon sa a se gwo konpleksite nan mete ann aplikasyon yon pwogramasyon fil nan espas itilizatè a ak bezwen an pou mekanis yo kowòdone aksyon ak pwogramasyon an nwayo.

Sous: opennet.ru

Add nouvo kòmantè