Bag-ong CPU load balancer gikan sa MIT

Ang sistema sa Shenango giplano nga gamiton sa mga sentro sa datos.

Bag-ong CPU load balancer gikan sa MIT
/ litrato Marco Verch CC BY

Sumala sa usa sa mga providers, data centers paggamit 20-40% lang sa magamit nga gahum sa pag-compute. Sa taas nga load kini nga timailhan mahimong moabot sa 60%. Kini nga pag-apod-apod sa mga kahinguhaan nagdala ngadto sa pagtunga sa gitawag nga "zombie servers". Kini ang mga makina nga kanunay nga naglingkod nga wala’y trabaho, nag-usik sa kusog. Karon 30% sa mga server sa kalibutan walay trabaho, nga mokonsumo ug $30 bilyones nga kantidad sa elektrisidad kada tuig.

Nakahukom ang MIT nga pakigbatokan ang dili maayo nga paggamit sa mga kapanguhaan sa kompyuter.

Team sa engineering naugmad processor load balancing system nga gitawag og Shenango. Ang katuyoan niini mao ang pag-monitor sa kahimtang sa buffer sa buluhaton ug pag-apod-apod pag-usab sa mga proseso nga natanggong (nga dili makadawat sa oras sa CPU) sa mga libre nga makina.

Giunsa pagtrabaho ang Shenango

Ang Shenango usa ka Linux library sa C nga adunay Rust ug C++ bindings. Ang code sa proyekto ug mga aplikasyon sa pagsulay gimantala sa mga tipiganan sa GitHub.

Ang solusyon gibase sa IOKernel algorithm, nga nagdagan sa usa ka gipahinungod nga kinauyokan sa usa ka multiprocessor system. Nagdumala kini sa mga hangyo sa CPU gamit ang usa ka balangkas DPDK, nga nagtugot sa mga aplikasyon nga direktang makigkomunikar sa mga device sa network.

Ang IOKernel ang magdesisyon kung unsang mga kernel ang itugyan sa usa ka piho nga buluhaton. Ang algorithm usab nagdesisyon kung pila ang kinahanglan nga mga cores. Alang sa matag proseso, ang mga nag-unang mga cores (garantisado) ug dugang nga mga (burstable) gitino - ang naulahi gilansad kung adunay usa ka mahait nga pagtaas sa gidaghanon sa mga hangyo sa CPU.

Ang IOKernel request queue giorganisar ingon singsing buffer. Matag lima ka microsecond, ang algorithm nagsusi aron makita kung ang tanan nga mga buluhaton nga gi-assign sa kinauyokan nahuman na. Aron mahimo kini, gitandi niini ang karon nga lokasyon sa ulo sa buffer sa nauna nga posisyon sa ikog niini. Kung kini nahimo nga ang ikog naa na sa pila sa panahon sa miaging tseke, ang sistema nagtala sa buffer overload ug naggahin og dugang nga kinauyokan alang sa proseso.

Kung nag-apod-apod sa load, gihatagan og prayoridad ang mga cores diin ang parehas nga proseso gipatuman sa sayo pa ug ang partially nagpabilin sa cache, o sa bisan unsang idle cores.

Bag-ong CPU load balancer gikan sa MIT

Gikuha usab ni Shenango ang pamaagi pagpangawat sa trabaho. Ang mga core nga gigahin sa pagpadagan sa usa ka aplikasyon nagmonitor sa gidaghanon sa mga buluhaton sa usag usa. Kung ang usa ka core makahuman sa iyang listahan sa mga buluhaton una sa uban, nan kini "makapawala" sa bahin sa luwan gikan sa mga silingan niini.

Mga bentaha ug mga disbentaha

Pinaagi sa sumala sa mga inhenyero gikan sa MIT, ang Shenango makahimo sa pagproseso sa lima ka milyon nga mga hangyo matag segundo ug pagmintinar sa kasagaran nga oras sa pagtubag nga 37 microseconds. Ang mga eksperto nag-ingon nga sa pipila ka mga kaso ang teknolohiya makadugang sa utilization rate sa mga processor sa data centers ngadto sa 100%. Ingon usa ka sangputanan, ang mga operator sa data center makatipig sa pagpalit ug pagmentinar sa mga server.

Potensyal nga Solusyon pagsaulog ug mga espesyalista gikan sa ubang mga unibersidad. Sumala sa usa ka propesor gikan sa usa ka Korean institute, ang MIT system makatabang sa pagpakunhod sa mga paglangan sa mga serbisyo sa web. Pananglitan, kini mapuslanon sa mga online store. Sa mga adlaw sa pagbaligya adunay bisan usa ka ikaduha nga paglangan sa pagkarga sa panid ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ngadto sa pagkunhod sa gidaghanon sa mga pagtan-aw sa site sa 11%. Ang dali nga pag-apod-apod sa load makatabang sa pagserbisyo sa daghang mga kliyente.

Ang teknolohiya sa gihapon adunay mga kakulian - wala kini nagsuporta sa multiprocessor Numerong-mga sistema diin ang mga chips konektado sa lain-laing mga modulo sa panumduman ug dili "magkomunikar" sa usag usa. Sa kini nga kaso, ang IOKernel mahimong mag-regulate sa operasyon sa usa ka bulag nga grupo sa mga processor, apan dili tanan nga mga chip sa server.

Bag-ong CPU load balancer gikan sa MIT
/ litrato Tim Reckmann CC BY

Susama nga mga teknolohiya

Ang ubang mga sistema sa pagbalanse sa load sa processor naglakip sa Arachne. Gikalkulo niini kung pila ka mga core ang gikinahanglan sa usa ka aplikasyon kung kini magsugod, ug nag-apod-apod sa mga proseso sumala sa kini nga timailhan. Sumala sa mga tagsulat, ang labing taas nga latency sa usa ka aplikasyon sa Arachne mga 10 ka libo nga microseconds.

Ang teknolohiya gipatuman isip C++ library para sa Linux, ug ang source code niini anaa sa GitHub.

Ang laing himan sa pagbalanse mao ang ZygOS. Sama sa Shenango, gigamit sa teknolohiya ang pamaagi sa pagpangawat sa trabaho aron maapod-apod ang mga proseso. Sumala sa mga tagsulat sa ZygOS, ang kasagaran nga latency sa aplikasyon sa paggamit sa himan mao ang mahitungod sa 150 microseconds, ug ang maximum mao ang mahitungod sa 450 microseconds. Ang code sa proyekto mao usab anaa sa publikong dominyo.

kaplag

Ang mga moderno nga sentro sa datos nagpadayon sa pagpalapad. Ang pagtaas sa uso labi nga namatikdan sa merkado sa mga hyperscale data center: karon sa kalibutan anaa 430 hyperscale data centers, apan sa umaabot nga mga tuig ang ilang gidaghanon mahimong mosaka sa 30%. Tungod niini nga hinungdan, ang mga teknolohiya sa pagbalanse sa load sa processor adunay daghang panginahanglan. Ang mga sistema sama sa Shenango anaa na ipatuman dagkong mga korporasyon, ug ang gidaghanon sa maong mga himan motubo lamang sa umaabot.

Mga post gikan sa Unang blog mahitungod sa corporate IaaS:

Source: www.habr.com

Idugang sa usa ka comment