Kisawazisha kipya cha upakiaji wa CPU kutoka MIT

Mfumo wa Shenango umepangwa kutumika katika vituo vya data.

Kisawazisha kipya cha upakiaji wa CPU kutoka MIT
/ picha Kitovu cha Marco CC BY

Kulingana na mmoja wa watoa huduma, vituo vya data kutumia 20-40% tu ya uwezo wa kompyuta unaopatikana. Kwa mizigo ya juu kiashiria hiki inaweza kufikia 60%. Usambazaji huu wa rasilimali husababisha kuibuka kwa kinachojulikana kama "seva za zombie". Hizi ni mashine ambazo hukaa bila kufanya kazi mara nyingi, na kupoteza nishati. Leo 30% ya seva ulimwenguni hawana kazi, hutumia umeme wa thamani ya dola bilioni 30 kwa mwaka.

MIT iliamua kupambana na utumiaji duni wa rasilimali za kompyuta.

Timu ya uhandisi imeendelea mfumo wa kusawazisha mzigo wa processor unaoitwa Shenango. Madhumuni yake ni kufuatilia hali ya bafa ya kazi na kusambaza upya michakato iliyokwama (ambayo haiwezi kupokea muda wa CPU) kwa mashine zisizolipishwa.

Jinsi Shenango inavyofanya kazi

Shenango ni maktaba ya Linux katika C yenye vifungo vya Rust na C++. Msimbo wa mradi na maombi ya majaribio huchapishwa katika hazina kwenye GitHub.

Suluhisho linategemea algorithm ya IOKernel, ambayo inaendesha msingi wa kujitolea wa mfumo wa multiprocessor. Inasimamia maombi ya CPU kwa kutumia mfumo DPDK, ambayo inaruhusu programu kuwasiliana moja kwa moja na vifaa vya mtandao.

IOKernel huamua ni kokwa zipi za kukabidhi kazi mahususi. Algorithm pia huamua ni cores ngapi zitahitajika. Kwa kila mchakato, cores kuu (zilizohakikishiwa) na zile za ziada (zinazoweza kupasuka) zimedhamiriwa - mwisho huzinduliwa katika tukio la ongezeko kubwa la idadi ya maombi kwa CPU.

Foleni ya ombi la IOKernel imepangwa kama bafa ya pete. Kila sekunde tano, algoriti hukagua ili kuona ikiwa kazi zote zilizopewa msingi zimekamilika. Ili kufanya hivyo, inalinganisha eneo la sasa la kichwa cha buffer na nafasi ya awali ya mkia wake. Ikiwa inageuka kuwa mkia ulikuwa tayari kwenye foleni wakati wa hundi ya awali, mfumo unabainisha upakiaji wa buffer na hutenga msingi wa ziada kwa mchakato.

Wakati wa kusambaza mzigo, kipaumbele kinapewa cores ambayo mchakato huo huo ulifanyika mapema na sehemu ilibaki kwenye cache, au kwa cores yoyote ya uvivu.

Kisawazisha kipya cha upakiaji wa CPU kutoka MIT

Shenango pia anachukua mbinu kazi ya kuiba. Viini vilivyotengwa kuendesha programu moja hufuatilia idadi ya majukumu ambayo kila mmoja anayo. Ikiwa msingi mmoja unamaliza orodha yake ya kazi kabla ya wengine, basi "hupunguza" sehemu ya mzigo kutoka kwa majirani zake.

Faida na hasara

Cha kulingana na wahandisi kutoka MIT, Shenango ina uwezo wa kushughulikia maombi milioni tano kwa sekunde na kudumisha muda wa majibu wa wastani wa sekunde 37. Wataalamu wanasema kwamba katika baadhi ya matukio teknolojia inaweza kuongeza kiwango cha matumizi ya wasindikaji katika vituo vya data hadi 100%. Kwa hivyo, waendeshaji wa kituo cha data wataweza kuokoa kwa ununuzi na matengenezo ya seva.

Uwezo wa Suluhisho kusherehekea na wataalamu kutoka vyuo vikuu vingine. Kulingana na profesa kutoka taasisi ya Kikorea, mfumo wa MIT utasaidia kupunguza ucheleweshaji wa huduma za wavuti. Kwa mfano, itakuwa muhimu katika maduka ya mtandaoni. Siku za mauzo kuna ucheleweshaji wa pili wa upakiaji wa ukurasa ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ hadi kupungua kwa idadi ya maoni ya tovuti kwa 11%. Usambazaji wa mzigo wa haraka utasaidia kuhudumia wateja zaidi.

Teknolojia bado ina vikwazo - haiunga mkono multiprocessor NUMA-mifumo ambayo chips zimeunganishwa na moduli tofauti za kumbukumbu na hazi "kuwasiliana" na kila mmoja. Katika kesi hii, IOKernel inaweza kudhibiti uendeshaji wa kikundi tofauti cha wasindikaji, lakini sio chips zote za seva.

Kisawazisha kipya cha upakiaji wa CPU kutoka MIT
/ picha Tim Reckmann CC BY

Teknolojia zinazofanana

Mifumo mingine ya kusawazisha mzigo wa processor ni pamoja na Arachne. Huhesabu ni cores ngapi programu itahitaji wakati inapoanza, na inasambaza michakato kulingana na kiashiria hiki. Kulingana na waandishi, kiwango cha juu cha latency ya maombi katika Arachne ni kama microseconds elfu 10.

Teknolojia inatekelezwa kama maktaba ya C++ ya Linux, na msimbo wake wa chanzo unapatikana GitHub.

Chombo kingine cha kusawazisha ni ZygOS. Kama Shenango, teknolojia hutumia mbinu ya wizi wa kazi ili kusambaza upya michakato. Kwa mujibu wa waandishi wa ZygOS, muda wa wastani wa latency wakati wa kutumia chombo ni kuhusu microseconds 150, na kiwango cha juu ni kuhusu microseconds 450. Msimbo wa mradi pia ni iko kwenye uwanja wa umma.

Matokeo

Vituo vya kisasa vya data vinaendelea kupanuka. Mwenendo unaoongezeka unaonekana hasa katika soko la vituo vya data vya hali ya juu: sasa ulimwenguni ipo Vituo vya data vya hyperscale 430, lakini katika miaka ijayo idadi yao inaweza kuongezeka kwa 30%. Kwa sababu hii, teknolojia za kusawazisha mzigo wa processor zitakuwa na mahitaji makubwa. Mifumo kama Shenango tayari inapatikana kutekeleza makampuni makubwa, na idadi ya zana hizo itakua tu katika siku zijazo.

Machapisho kutoka kwa blogu ya Kwanza kuhusu IaaS ya shirika:

Chanzo: mapenzi.com

Kuongeza maoni