MIT ұсынған жаңа процессорлық жүктеме теңестіргіші

Шенанго жүйесін деректер орталықтарында қолдану жоспарлануда.

MIT ұсынған жаңа процессорлық жүктеме теңестіргіші
/ фото Марко Верч CC BY

Провайдерлердің біріне сәйкес, деректер орталықтары пайдалану қол жетімді есептеу қуатының 20–40% ғана. Жоғары жүктемелерде бұл көрсеткіш 60% жетуі мүмкін. Ресурстарды осылайша бөлу «зомби серверлері» деп аталатындардың пайда болуына әкеледі. Бұл көп уақыт бос тұрып, энергияны ысырап ететін машиналар. Бүгінгі күні әлемдегі серверлердің 30% жұмыссыз, жылына 30 миллиард долларға электр энергиясын тұтынады.

MIT есептеу ресурстарын тиімсіз пайдаланумен күресуді шешті.

Инженерлік команда дамыды Shenango деп аталатын процессорлық жүктемені теңестіру жүйесі. Оның мақсаты - тапсырма буферінің күйін бақылау және бос машиналарға тұрып қалған процестерді (процессор уақытын қабылдай алмайтын) қайта бөлу.

Шенанго қалай жұмыс істейді

Shenango — Rust және C++ байланыстары бар C тіліндегі Linux кітапханасы. Жоба коды мен сынақ қосымшалары жарияланады репозиторийлер GitHub -те.

Шешім мультипроцессорлық жүйенің арнайы ядросында жұмыс істейтін IOKernel алгоритміне негізделген. Ол жақтау арқылы CPU сұрауларын басқарады DPDK, бұл қолданбаларға желілік құрылғылармен тікелей байланысуға мүмкіндік береді.

IOKernel нақты тапсырманы қандай ядроларға беру керектігін шешеді. Алгоритм қанша ядро ​​қажет болатынын да шешеді. Әрбір процесс үшін негізгі ядролар (кепілдендірілген) және қосымшалар (жарылғыш) анықталады - соңғылары орталық процессорға сұраныстар саны күрт өскен жағдайда іске қосылады.

IOKernel сұрау кезегі келесідей ұйымдастырылған сақиналы буфер. Әрбір бес микросекунд сайын алгоритм ядроға тағайындалған барлық тапсырмалардың орындалғанын тексереді. Ол үшін буфер басының ағымдағы орнын оның құйрығындағы алдыңғы орнымен салыстырады. Егер алдыңғы тексеру кезінде құйрық кезекте тұрғаны анықталса, жүйе буфердің шамадан тыс жүктелуін атап өтеді және процесс үшін қосымша ядро ​​бөледі.

Жүктемені таратқан кезде басымдық сол процесс бұрын орындалған және кэште ішінара қалған ядроларға немесе кез келген бос тұрған өзектерге беріледі.

MIT ұсынған жаңа процессорлық жүктеме теңестіргіші

Шенанго қосымша тәсілді қолданады ұрлық жасау. Бір қолданбаны іске қосу үшін бөлінген ядролар бір-бірінің тапсырмаларының санын бақылайды. Егер бір ядро ​​басқаларынан бұрын тапсырмалар тізімін аяқтаса, онда ол жүктің бір бөлігін көршілерінен «жұмсатады».

Артықшылықтары мен кемшіліктері

туралы сәйкес Шенангодағы MIT инженерлері секундына бес миллион сұранысты өңдеуге және орташа жауап беру уақытын 37 микросекундта ұстауға қабілетті. Сарапшылардың айтуынша, кейбір жағдайларда технология деректер орталықтарындағы процессорларды пайдалану жылдамдығын 100%-ға дейін арттыра алады. Нәтижесінде деректер орталығының операторлары серверлерді сатып алу мен қызмет көрсетуді үнемдей алады.

Шешім потенциалы тойлау және басқа жоғары оқу орындарының мамандары. Корей институтының профессорының айтуынша, MIT жүйесі веб-қызметтердің кешігуін азайтуға көмектеседі. Мысалы, бұл интернет-дүкендерде пайдалы болады. Сатылым күндері бетті жүктеуде екінші кідіріс болады приводит сайтты қарау санының 11%-ға төмендеуіне. Жүктемені жылдам бөлу көбірек клиенттерге қызмет көрсетуге көмектеседі.

Технологияның әлі де кемшіліктері бар - ол мультипроцессорды қолдамайды IN-чиптер әртүрлі жад модульдеріне қосылған және бір-бірімен «байланыспайтын» жүйелер. Бұл жағдайда IOKernel процессорлардың жеке тобының жұмысын реттей алады, бірақ барлық сервер чиптері емес.

MIT ұсынған жаңа процессорлық жүктеме теңестіргіші
/ фото Тим Рекманн CC BY

Ұқсас технологиялар

Басқа процессорлық жүктемені теңестіру жүйелеріне Arachne кіреді. Ол қолданба іске қосылғанда қанша ядро ​​қажет болатынын есептейді және осы көрсеткішке сәйкес процестерді таратады. Авторлардың айтуынша, Arachne-дегі қосымшаның максималды кешігуі шамамен 10 мың микросекундты құрайды.

Технология Linux үшін C++ кітапханасы ретінде жүзеге асырылады және оның бастапқы коды мына жерден қол жетімді GitHub.

Басқа теңдестіру құралы - ZygOS. Шенанго сияқты технология процестерді қайта бөлу үшін жұмысты ұрлау әдісін пайдаланады. ZygOS авторларының айтуынша, құралды пайдалану кезіндегі қолданбаның орташа кідірісі шамамен 150 микросекундты, ал максимум шамамен 450 микросекундты құрайды. Жоба коды да қоғамдық доменде.

қорытындылар

Заманауи деректер орталықтары кеңеюін жалғастыруда.Өсу үрдісі әсіресе гипермасштабтық деректер орталықтары нарығында байқалады: қазір әлемде бар 430 гипермасштабтық деректер орталықтары, бірақ таяу жылдары олардың саны 30%-ға артуы мүмкін. Осы себепті процессор жүктемесін теңестіру технологиялары үлкен сұранысқа ие болады. Shenango сияқты жүйелер қазірдің өзінде қол жетімді іске асыру ірі корпорациялар, ал мұндай құралдардың саны болашақта тек өседі.

Корпоративтік IaaS туралы бірінші блогтағы хабарламалар:

Ақпарат көзі: www.habr.com

пікір қалдыру