New CPU load balancer kuchokera ku MIT

Dongosolo la Shenango likukonzekera kugwiritsidwa ntchito m'malo opangira data.

New CPU load balancer kuchokera ku MIT
/ chithunzi Tsitsi la Marco CC BY

Malingana ndi mmodzi wa opereka, malo opangira deta gwiritsani 20-40% yokha yamagetsi omwe alipo. Pa katundu mkulu chizindikiro ichi akhoza kufika 60%. Kugawidwa kwazinthu izi kumabweretsa kutuluka kwa zomwe zimatchedwa "zombie seva". Awa ndi makina omwe amakhala osagwira ntchito nthawi zambiri, kuwononga mphamvu. Masiku ano 30% ya ma seva padziko lapansi alibe ntchito, kuwononga magetsi okwana madola 30 biliyoni pachaka.

MIT idaganiza zolimbana ndi kugwiritsa ntchito kosayenera kwazinthu zamakompyuta.

Gulu la engineering yakula processor load balancing system yotchedwa Shenango. Cholinga chake ndikuwunika momwe ntchito imagwirira ntchito ndikugawanso njira zokakamira (zomwe sizingalandire nthawi ya CPU) kumasula makina.

Momwe Shenango imagwirira ntchito

Shenango ndi laibulale ya Linux ku C yokhala ndi Rust ndi C ++ zomangira. Khodi ya polojekiti ndi ntchito zoyeserera zimasindikizidwa mu nkhokwe pa GitHub.

Yankho lake limachokera ku algorithm ya IOKernel, yomwe imayenda pamtunda wodzipereka wa multiprocessor system. Imayang'anira zopempha za CPU pogwiritsa ntchito chimango Zamgululi, yomwe imalola mapulogalamu kuti azilankhulana mwachindunji ndi zipangizo zamakono.

IOKernel imasankha maso omwe angagawireko ntchito inayake. Algorithm imasankhanso kuchuluka kwa ma cores omwe adzafunike. Panjira iliyonse, ma cores akuluakulu (otsimikizika) ndi owonjezera (ophulika) amatsimikiziridwa - omalizawa amayambitsidwa pakawonjezeka kwambiri kuchuluka kwa zopempha ku CPU.

Mzere wopempha wa IOKernel umakonzedwa ngati ring buffer. Ma microseconds asanu aliwonse, algorithm imayang'ana kuti awone ngati ntchito zonse zomwe zaperekedwa pachimake zatha. Kuti tichite izi, imafanizira komwe kuli mutu wa buffer ndi momwe mchira wake ulili. Zikawoneka kuti mchirawo unali kale pamzere pa nthawi ya cheke yapitayi, dongosololi limazindikira kuchuluka kwa buffer ndikugawa pachimake chowonjezerapo.

Pogawira katunduyo, choyambirira chimaperekedwa kwa ma cores omwe njira yomweyo idachitidwira kale ndipo pang'ono idakhalabe mu cache, kapena kuzinthu zilizonse zopanda pake.

New CPU load balancer kuchokera ku MIT

Shenango amatenganso njira ntchito kuba. Ma cores omwe amaperekedwa kuti agwiritse ntchito pulogalamu imodzi amawunika kuchuluka kwa ntchito zomwe wina aliyense ali nazo. Ngati pakatikati wina amaliza mndandanda wa ntchito patsogolo pa ena, ndiye kuti "amamasula" gawo lina la katundu kuchokera kwa oyandikana nawo.

Mphamvu ndi zofooka

Ndi malinga ndi Mainjiniya ochokera ku MIT, Shenango amatha kukonza zopempha mamiliyoni asanu pa sekondi imodzi ndikusunga nthawi yoyankha ya ma 37 ma microseconds. Akatswiri amati nthawi zina ukadaulo ukhoza kuwonjezera kuchuluka kwa ma processor m'malo opangira data mpaka 100%. Chotsatira chake, ogwira ntchito zapakati pa data adzatha kusunga pa kugula ndi kukonza ma seva.

Kuthetsa Kuthekera sangalalani ndi akatswiri ochokera ku mayunivesite ena. Malinga ndi pulofesa waku Korea Institute, dongosolo la MIT lithandizira kuchepetsa kuchedwa kwa ntchito zapaintaneti. Mwachitsanzo, zidzakhala zothandiza m'masitolo a pa intaneti. Pamasiku ogulitsa palinso kuchedwa kwachiwiri pakutsitsa masamba ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ kutsika kwa mawonedwe atsamba ndi 11%. Kugawa katundu mwachangu kudzathandiza makasitomala ambiri.

Ukadaulo udakali ndi zovuta - sizigwirizana ndi ma multiprocessor NUM-machitidwe omwe tchipisi chimalumikizidwa ndi ma module osiyanasiyana okumbukira ndipo "osalankhulana" wina ndi mnzake. Pankhaniyi, IOKernel ikhoza kuwongolera magwiridwe antchito a gulu losiyana la mapurosesa, koma osati ma seva onse.

New CPU load balancer kuchokera ku MIT
/ chithunzi Tim Reckmann CC BY

Umisiri wofanana

Njira zina zosinthira purosesa zikuphatikiza Arachne. Imawerengera kuchuluka kwa ma cores omwe ntchito idzafunika ikayamba, ndikugawa njira molingana ndi chizindikirochi. Malinga ndi olemba, nthawi yayitali kwambiri yofunsira ku Arachne ndi pafupifupi 10 ma microseconds.

Ukadaulo umakhazikitsidwa ngati laibulale ya C ++ ya Linux, ndipo gwero lake likupezeka pa GitHub.

Chida china chofananira ndi ZygOS. Monga Shenango, ukadaulo umagwiritsa ntchito njira yoba ntchito kuti igawanenso njira. Malinga ndi olemba a ZygOS, pafupifupi kugwiritsa ntchito latency mukamagwiritsa ntchito chidacho ndi pafupifupi 150 microseconds, ndipo kuchuluka kwake ndi pafupifupi 450 microseconds. Khodi ya polojekiti nayonso ili pagulu.

anapezazo

Kuchulukirachulukira kumawonekera kwambiri pamsika wa ma hyperscale data Center: tsopano padziko lapansi. pali 430 hyperscale data centers, koma m'zaka zikubwerazi chiwerengero chawo chikhoza kuwonjezeka ndi 30%. Pachifukwa ichi, matekinoloje a processor load balancing adzakhala ofunikira kwambiri. Machitidwe ngati Shenango alipo kale kwaniritsa makampani akuluakulu, ndipo chiwerengero cha zipangizo zoterezi chidzakula mtsogolomu.

Zolemba kuchokera kubulogu Yoyamba zamakampani a IaaS:

Source: www.habr.com

Kuwonjezera ndemanga