Google ka filluar hapjen e zbatimit të modelit të rrjedhave M:N.

Kompania Google ofruar 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 SwitchTo 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 FUTEX_WAIT dhe FUTEX_WAKE, 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.

Google ka filluar hapjen e zbatimit të modelit të rrjedhave M:N.

Aktualisht, në praktikë përdoren kryesisht modelet e rrjedhave 1:1 dhe N:1. Modeli 1:1 përdoret në NPTL (rrjedhat POSIX) dhe LinuxThreads, 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ë GNU Pth, 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.

Luaj videon

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster