MITден жаңы CPU жүктөө балансы

Шенанго системасынын маалымат борборлорунда колдонулушу пландалууда.

MITден жаңы CPU жүктөө балансы
/ сүрөт Марко Verch CC BY

Провайдерлердин бирине ылайык, маалымат борборлору колдонулган жеткиликтүү эсептөө күчү 20-40% гана. Жогорку жүктөмдө бул көрсөткүч 60% жетиши мүмкүн. Бул ресурстарды бөлүштүрүү "зомби серверлери" деп аталган пайда болушуна алып келет. Булар кепчулук убакта бош туруп, энергияны текке кетируучу машиналар. Бүгүнкү күндө дүйнөдөгү серверлердин 30% ишсиз, жылына 30 миллиард долларлык электр энергиясын керектөө.

MIT эсептөө ресурстарын натыйжасыз пайдалануу менен күрөшүү чечимин кабыл алды.

Инженердик команда өнүккөн Shenango деп аталган процессордун жүгүн тең салмактоо системасы. Анын максаты - тапшырма буферинин абалын көзөмөлдөө жана тыгылып калган процесстерди (процессордун убактысын ала албаган) бош машиналарга кайра бөлүштүрүү.

Шенанго кантип иштейт

Shenango - Rust жана C++ байланыштары бар C тилиндеги Linux китепканасы. Долбоордун коду жана сыноо колдонмолору жарыяланган репозиторийлер GitHub боюнча.

Чечим көп процессордук системанын атайын өзөгүндө иштеген IOKernel алгоритмине негизделген. Ал алкак аркылуу CPU сурамдарын башкарат DPDK, бул тиркемелерге тармак түзмөктөрү менен түз байланышууга мүмкүнчүлүк берет.

IOKernel белгилүү бир тапшырманы кайсы ядролорго тапшырууну чечет. Алгоритм ошондой эле канча өзөк керек болорун чечет. Ар бир процесс үчүн негизги өзөктөр (кепилденген) жана кошумчалары (жарылып кетүүчү) аныкталат - акыркылары CPUга суроо-талаптардын саны кескин көбөйгөн учурда ишке киргизилет.

IOKernel суроо кезеги катары уюштурулган шакек буфери. Ар бир беш микросекунд сайын алгоритм өзөккө жүктөлгөн бардык тапшырмалар аткарылганын текшерет. Бул үчүн ал буфердин башынын учурдагы ордун анын куйругунун мурунку абалы менен салыштырат. Мурунку текшерүү учурунда куйрук кезекте турганы аныкталса, система буфердин ашыкча жүктөлүшүн белгилейт жана процесске кошумча өзөк бөлөт.

Жүктөмдү бөлүштүрүүдө артыкчылык ошол эле процесс мурда аткарылган жана кэште жарым-жартылай калган өзөктөргө же бош турган өзөктөргө берилет.

MITден жаңы CPU жүктөө балансы

Шенанго кошумча ыкманы колдонот уурулук иш. Бир тиркемени иштетүү үчүн бөлүнгөн өзөктөр бири-бирине жүктөлгөн милдеттердин санын көзөмөлдөйт. Эгерде бир өзөк башкаларынан мурун өзүнүн милдеттеринин тизмесин бүтүрсө, анда ал жүктүн бир бөлүгүн кошуналарынан “жеңилдетет”.

Артыкчылыктары жана кемчиликтери

боюнча сөздөр Шенангодогу MIT инженерлери секундасына беш миллион суроону иштеп чыгууга жана орточо жооп берүү убактысын 37 микросекундга сактоого жөндөмдүү. Эксперттердин айтымында, кээ бир учурларда технология маалымат борборлорунун процессорлорун колдонуу ылдамдыгын 100% га чейин жогорулата алат. Натыйжада дата борборунун операторлору серверлерди сатып алуудан жана тейлөөдөн үнөмдөй алышат.

Чечимдин потенциалы белги жана башка жогорку окуу жайларынын адистери. Корея институтунун профессорунун айтымында, MIT системасы веб-кызматтардын кечигүүсүн азайтууга жардам берет. Мисалы, интернет-дүкөндөрүндө пайдалуу болот. Сатуу күндөрү баракты жүктөөдө экинчи кечигүү да болот натыйжалары сайтты көрүүлөрдүн санынын 11% га азайышына. Ыкчам жүк бөлүштүрүү көбүрөөк кардарларды тейлөөгө жардам берет.

Технологиянын дагы эле кемчиликтери бар - ал мультипроцессорду колдобойт NUMA-чиптер ар кандай эс тутум модулдарына туташтырылган жана бири-бири менен “байланышпайт” системалар. Бул учурда, IOKernel процессорлордун өзүнчө тобунун ишин жөнгө сала алат, бирок бардык сервер чиптеринин эмес.

MITден жаңы CPU жүктөө балансы
/ сүрөт Тим Рекман CC BY

Окшош технологиялар

Башка процессордун жүгүн тең салмактоо тутумдарына Arachne кирет. Ал тиркеме ишке киргенде канча ядро ​​керек болорун эсептеп, процесстерди ушул көрсөткүчкө ылайык бөлүштүрөт. Авторлордун айтымында, Arachneдеги тиркеменин максималдуу кечигүү убактысы болжол менен 10 миң микросекундду түзөт.

Технология Linux үчүн C++ китепканасы катары ишке ашырылган жана анын баштапкы коду төмөнкү даректе жеткиликтүү GitHub.

Дагы бир тең салмактуулук куралы - ZygOS. Шенанго сыяктуу технология процесстерди кайра бөлүштүрүү үчүн жумуш уурдоо ыкмасын колдонот. ZygOS авторлорунун айтымында, инструментти колдонууда колдонмонун орточо күтүү убактысы болжол менен 150 микросекундду, ал эми максимуму 450 микросекундду түзөт. Долбоордун коду да коомдук доменде болуп саналат.

табылгалары

Заманбап маалымат борборлору кеңейүүнү улантууда.. Өсүү тенденциясы өзгөчө гипер масштабдуу маалымат борборлор рыногунда байкалат: азыр дүйнөдө жок 430 гипер масштабдуу маалымат борборлору, бирок жакынкы жылдары алардын саны 30% га көбөйүшү мүмкүн. Ушул себептен улам, процессордун жүгүн тең салмактоо технологиялары чоң суроо-талапка ээ болот. Shenango сыяктуу системалар мурунтан эле жеткиликтүү ишке ашыруу ири корпорациялар жана мындай куралдардын саны келечекте гана өсөт.

Корпоративдик IaaS жөнүндө биринчи блогдун билдирүүлөрү:

Source: www.habr.com

Комментарий кошуу