Kompania Google përfshirjen në bërthamën e Linux një grup të parë patch-e me implementimin e komponentëve të nevojshëm për funksionimin e modelit të rrjedhave M:N. Iniciativa e Google është e lidhur me hapjen e një API që është zhvilluar pas dyerve të mbyllura për bërthamën e Linux, që siguron funksionimin e një nën-sistemi shumë-funksional të implementuar në hapësirën e përdoruesit, që përdor modelin e rrjedhave M:N. Nën-sistemi përdoret nga Google për të siguruar operacione me vonesa minimale. Planifikimi dhe menaxhimi i shpërndarjes së rrjedhave bëhet krejtësisht në hapësirën e përdoruesit, gjë që ndihmon për të reduktuar ndjeshëm numrin e operacioneve të kalimit të kontekstit duke minimizuar ekzekutimin e thirrjeve sistemore.
PĂ«r sigurimin e funksionimit tĂ« kĂ«tij nĂ«n-sistemi nĂ« nivelin e bĂ«rthamĂ«s sĂ« Linux Ă«shtĂ« implementuar API SwitchTo, i cili ofron tre operacione bazĂ« â wait, resume dhe swap (kalim). PĂ«r pĂ«rfshirjen nĂ« bĂ«rthamĂ« Ă«shtĂ« propozuar kodi i operacionit tĂ« ri FUTEX_SWAP, qĂ« plotĂ«son , dhe ofron njĂ« bazĂ« pĂ«r krijimin e bibliotekave shumĂ«-funksionale nĂ« hapĂ«sirĂ«n e pĂ«rdoruesit. FUTEX_SWAP gjithashtu mund tĂ« pĂ«rdoret pĂ«r dĂ«rgimin e mesazheve midis detyrave, nĂ« mĂ«nyrĂ« analogjike me RPC. PĂ«r shembull, aktualisht pĂ«r dĂ«rgimin e njĂ« mesazhi midis detyrave kĂ«rkohet tĂ« kryhen tĂ« paktĂ«n katĂ«r thirrje tĂ« FUTEX_WAIT dhe FUTEX_WAKE, ndĂ«rsa pĂ«rdorimi i FUTEX_SWAP do tĂ« mundĂ«sojĂ« njĂ« operacion, i cili do tĂ« pĂ«rfundojĂ« 5-10 herĂ« mĂ« shpejt.
Aktualisht, në praktikë përdoren kryesisht modelet e rrjedhave 1:1 dhe N:1. Modeli 1:1 përdoret në (rrjedhat POSIX) dhe , dhe nënkupton një përputhje direkte të një rrjedhe në hapësirën e përdoruesit me një rrjedhë (njësi planifikimi) në nivelin e bërthamës. Modeli N:1 është implementuar në , ai zhvendos menaxhimin e rrjedhave në hapësirën e përdoruesit dhe lejon N rrjedha në hapësirën e përdoruesit të lidhen me një rrjedhë në bërthamë, ndërsa bërthama nuk ka informacion rreth rrjedhave të përdoruesit.
Disavantazhi kryesor i modelit 1:1 janĂ« shpenzimet e larta pĂ«r kalimin e kontekstit midis bĂ«rthamĂ«s dhe hapĂ«sirĂ«s sĂ« pĂ«rdoruesit. Modeli N:1 zgjidh kĂ«tĂ« problem, por krijon njĂ« tĂ« re â pĂ«r shkak se fluksi nĂ« bĂ«rthamĂ« Ă«shtĂ« njĂ« njĂ«si e pandashme e planifikimit tĂ« ekzekutimit, flukset e pĂ«rdoruesit tĂ« lidhura me njĂ« fluks nĂ« bĂ«rthamĂ«n e sistemit operativ nuk mund tĂ« shkallĂ«zohen nĂ« bĂ«rthama CPU dhe ngjiten nĂ« njĂ« bĂ«rthamĂ« tĂ« vetĂ«m CPU.
Modeli M:N Ă«shtĂ« njĂ« hibrid dhe eleminon tĂ« gjitha disavantazhet e pĂ«rshkruara mĂ« sipĂ«r duke pĂ«rputhur N flukset nĂ« hapĂ«sirĂ«n e pĂ«rdoruesit me M flukset nĂ« bĂ«rthamĂ«n e OS, duke lejuar uljen e shpenzimeve pĂ«r kalimin e kontekstit dhe duke siguruar shkallĂ«zim nĂ« bĂ«rthamat CPU. Ămimi i kĂ«tij varianti Ă«shtĂ« komplekse e madhe nĂ« realizimin e planifikuesit tĂ« fluksit nĂ« hapĂ«sirĂ«n e pĂ«rdoruesit dhe nevoja pĂ«r mekanizma koordinimi tĂ« veprimeve me planifikuesin e bĂ«rthamĂ«s.

Burimi: opennet.ru
