Tshiab CPU load balancer los ntawm MIT

Shenango system yog npaj los siv rau hauv cov chaw khaws ntaub ntawv.

Tshiab CPU load balancer los ntawm MIT
/ duab Marco verch CC BY

Raws li ib tug ntawm cov chaw muab kev pab, cov ntaub ntawv chaw siv tsuas yog 20-40% ntawm cov khoom siv suav nrog. Thaum siab loads qhov ntsuas no tuaj yeem ncav cuag 60%. Qhov kev faib tawm ntawm cov peev txheej no ua rau qhov tshwm sim ntawm qhov hu ua "zombie servers". Cov no yog cov tshuab uas zaum tsis ua haujlwm feem ntau ntawm lub sijhawm, nkim zog. Niaj hnub no 30% ntawm cov servers hauv ntiaj teb tsis muaj haujlwm, siv $ 30 billion tus nqi hluav taws xob hauv ib xyoos.

MIT tau txiav txim siab los tawm tsam qhov tsis muaj txiaj ntsig ntawm kev siv cov khoom siv suav.

Pab neeg engineering tau tsim processor load ntsuas qhov system hu ua Shenango. Nws lub hom phiaj yog los saib xyuas lub xeev ntawm cov haujlwm tsis ua haujlwm thiab rov faib cov txheej txheem daig (uas tsis tuaj yeem tau txais CPU sijhawm) rau cov tshuab dawb.

Shenango ua haujlwm li cas

Shenango yog lub tsev qiv ntawv Linux hauv C nrog Rust thiab C ++ bindings. Txoj haujlwm code thiab daim ntawv thov xeem tau luam tawm hauv chaw khaws cia ntawm GitHub.

Cov kev daws teeb meem yog ua raws li IOKernel algorithm, uas khiav ntawm ib qho tseem ceeb ntawm cov txheej txheem multiprocessor. Nws tswj CPU thov siv lub moj khaum DPDK, uas tso cai rau cov ntawv thov sib txuas lus ncaj qha nrog cov khoom siv network.

Lub IOKernel txiav txim siab cov kernels twg los xaiv ib txoj haujlwm tshwj xeeb rau. Lub algorithm kuj txiav txim siab seb yuav xav tau pes tsawg cores. Rau txhua tus txheej txheem, lub ntsiab cores (ua pov thawj) thiab cov ntxiv (burstable) yog txiav txim siab - lub tom kawg yog launched nyob rau hauv cov kev tshwm sim ntawm ib tug ntse nce nyob rau hauv tus naj npawb ntawm kev thov mus rau lub CPU.

Lub IOKernel thov queue yog npaj raws li lub nplhaib tsis muaj. Txhua tsib microseconds, lub algorithm kuaj xyuas seb txhua yam haujlwm uas tau muab rau cov tub ntxhais tau ua tiav. Ua li no, nws muab piv rau qhov chaw tam sim no ntawm qhov tsis muaj lub taub hau nrog rau yav dhau los txoj hauj lwm ntawm nws tus Tsov tus tw. Yog hais tias nws hloov tawm hais tias tus Tsov tus tw twb nyob rau hauv lub queue nyob rau hauv lub sij hawm ntawm lub yav dhau los xyuas, lub kaw lus sau cov tsis overload thiab faib ib tug ntxiv core rau cov txheej txheem.

Thaum faib cov khoom thauj, qhov tseem ceeb yog muab rau cov cores uas cov txheej txheem tib yam tau ua tiav ua ntej thiab ib feem tseem nyob hauv lub cache, lossis rau ib qho idle cores.

Tshiab CPU load balancer los ntawm MIT

Shenango tseem siv txoj hauv kev ua hauj lwm nyiag. Cov cores faib los khiav ib daim ntawv thov saib xyuas cov haujlwm uas ib leeg muaj. Yog tias ib qho tseem ceeb ua tiav nws cov npe ntawm cov haujlwm ua ntej lwm tus, ces nws "relieves" ib feem ntawm cov khoom thauj los ntawm nws cov neeg nyob ze.

Qhov zoo thiab qhov tsis zoo

Los ntawm raws li engineers los ntawm MIT, Shenango muaj peev xwm ua tau tsib lab thov ib ob thiab tuav lub sij hawm teb nruab nrab ntawm 37 microseconds. Cov kws tshaj lij hais tias qee qhov kev siv thev naus laus zis tuaj yeem nce kev siv tus nqi ntawm cov txheej txheem hauv cov chaw khaws ntaub ntawv mus txog 100%. Yog li ntawd, cov neeg ua haujlwm hauv cov chaw zov me nyuam yuav tuaj yeem txuag tau ntawm kev yuav khoom thiab kev saib xyuas cov servers.

Kev daws teeb meem noj peb caug thiab cov kws tshaj lij los ntawm lwm lub tebchaws. Raws li tus kws tshaj lij los ntawm lub koom haum Kaus Lim Kauslim, MIT system yuav pab txo qis cov kev pabcuam hauv web. Piv txwv li, nws yuav muaj txiaj ntsig zoo hauv khw hauv online. Nyob rau hnub muag khoom muaj txawm tias ncua sij hawm thib ob hauv nplooj ntawv thauj khoom ntsiab lus kom txo tus naj npawb ntawm qhov chaw saib los ntawm 11%. Kev xa khoom sai sai yuav pab tau ntau tus neeg siv khoom.

Lub tshuab tseem muaj qhov tsis zoo - nws tsis txhawb nqa multiprocessor NUMA-systems nyob rau hauv uas cov chips txuas nrog ntau lub cim xeeb modules thiab tsis txhob "sib tham" nrog ib leeg. Hauv qhov no, IOKernel tuaj yeem tswj hwm kev ua haujlwm ntawm ib pawg ntawm cov txheej txheem sib cais, tab sis tsis yog txhua tus neeg rau zaub mov chips.

Tshiab CPU load balancer los ntawm MIT
/ duab Tim Reckmann CC BY

Cov tshuab zoo sib xws

Lwm cov txheej txheem thauj khoom sib npaug suav nrog Arachne. Nws suav pes tsawg cores ib daim ntawv thov yuav xav tau thaum nws pib, thiab faib cov txheej txheem raws li qhov ntsuas no. Raws li cov kws sau ntawv, qhov siab tshaj plaws latency ntawm daim ntawv thov hauv Arachne yog txog 10 txhiab microseconds.

Cov thev naus laus zis tau siv los ua lub tsev qiv ntawv C ++ rau Linux, thiab nws qhov chaws muaj nyob ntawm GitHub.

Lwm qhov ntsuas ntsuas yog ZygOS. Zoo li Shenango, thev naus laus zis siv txoj kev nyiag ua haujlwm los faib cov txheej txheem. Raws li cov kws sau ntawv ntawm ZygOS, qhov nruab nrab daim ntawv thov latency thaum siv lub cuab yeej yog li 150 microseconds, thiab qhov siab tshaj plaws yog li 450 microseconds. Qhov project code kuj yog yog nyob rau hauv pej xeem domain.

tshawb pom

Niaj hnub nimno cov ntaub ntawv chaw txuas ntxiv nthuav dav, qhov sib ntxiv yog qhov tshwj xeeb tshaj yog pom hauv kev ua lag luam ntawm hyperscale cov ntaub ntawv chaw: tam sim no hauv ntiaj teb muaj nyob 430 hyperscale data centers, tab sis nyob rau hauv lub xyoo tom ntej lawv tus lej yuav nce 30%. Vim li no, processor load balancing technologies yuav xav tau ntau heev. Cov kab ke zoo li Shenango twb muaj siv cov tuam txhab loj, thiab cov cuab yeej zoo li no tsuas yog yuav loj hlob yav tom ntej.

Cov ntsiab lus los ntawm Thawj blog hais txog kev lag luam IaaS:

Tau qhov twg los: www.hab.com

Ntxiv ib saib