Нов балансер на оптоварување на процесорот од MIT

Се планира системот Шенанго да се користи во центрите за податоци.

Нов балансер на оптоварување на процесорот од MIT
/ фотографија Марко Верч CC BY

Според еден од провајдерите, центри за податоци употреба само 20–40% од достапната компјутерска моќ. При високи оптоварувања овој индикатор може да достигне 60%. Оваа дистрибуција на ресурси доведува до појава на таканаречени „зомби сервери“. Тоа се машини кои најчесто седат без работа и трошат енергија. Денес 30% од серверите во светот се без работа, трошејќи електрична енергија во вредност од 30 милијарди долари годишно.

MIT одлучи да се бори против неефикасното користење на компјутерските ресурси.

Инженерски тим има развиено систем за балансирање на оптоварувањето на процесорот наречен Шенанго. Неговата цел е да ја следи состојбата на баферот за задачи и да ги редистрибуира заглавените процеси (кои не можат да добијат време на процесорот) на слободните машини.

Како функционира Шенанго

Шенанго е библиотека на Линукс во C со врски Rust и C++. Проектниот код и апликациите за тестирање се објавени во складишта на GitHub.

Решението се заснова на алгоритмот IOKernel, кој работи на посветено јадро на мултипроцесорски систем. Управува со барањата на процесорот користејќи рамка ДПДК, што им овозможува на апликациите директно да комуницираат со мрежните уреди.

IOKernel одлучува на кои кернели да им додели одредена задача. Алгоритмот одлучува и колку јадра ќе бидат потребни. За секој процес, се одредуваат главните јадра (гарантирани) и дополнителните (раскинливи) - вторите се стартуваат во случај на нагло зголемување на бројот на барања до процесорот.

Редот за барање на IOKernel е организиран како прстен тампон. На секои пет микросекунди, алгоритмот проверува дали сите задачи доделени на јадрото се завршени. За да го направите ова, ја споредува моменталната локација на главата на тампонот со претходната позиција на неговата опашка. Ако се покаже дека опашката веќе била во редот за време на претходната проверка, системот го забележува преоптоварувањето на тампонот и доделува дополнително јадро за процесот.

При дистрибуција на оптоварувањето, приоритет се дава на јадрата на кои истиот процес бил извршен порано и делумно останал во кешот, или на кои било јадра во мирување.

Нов балансер на оптоварување на процесорот од MIT

Шенанго дополнително го зема пристапот работа крадење. Јадрата распределени за извршување на една апликација го следат бројот на задачи што ги има едни со други. Ако едното јадро ја заврши својата листа на задачи пред другите, тогаш „ослободува“ дел од товарот од своите соседи.

Предности и недостатоци

На според инженерите од MIT, Shenango се способни да обработат пет милиони барања во секунда и да одржуваат просечно време на одговор од 37 микросекунди. Експертите велат дека во некои случаи технологијата може да ја зголеми стапката на искористеност на процесорите во центрите за податоци до 100%. Како резултат на тоа, операторите на центрите за податоци ќе можат да заштедат при купување и одржување на сервери.

Потенцијал за решение слави и специјалисти од други универзитети. Според професор од корејски институт, системот МИТ ќе помогне да се намалат доцнењата во веб сервисите. На пример, тоа ќе биде корисно во онлајн продавниците. Во деновите на продажба има дури и второ доцнење во вчитувањето на страницата приводит до намалување на бројот на прегледи на страницата за 11%. Навремената дистрибуција на оптоварување ќе помогне да се опслужуваат повеќе клиенти.

Технологијата сè уште има недостатоци - не поддржува мултипроцесорски НОМА-системи во кои чиповите се поврзани со различни мемориски модули и не „комуницираат“ едни со други. Во овој случај, IOKernel може да ја регулира работата на посебна група процесори, но не сите серверски чипови.

Нов балансер на оптоварување на процесорот од MIT
/ фотографија Тим Рекман CC BY

Слични технологии

Други системи за балансирање на оптоварувањето на процесорот вклучуваат Arachne. Пресметува колку јадра ќе и требаат на апликацијата кога ќе стартува и ги дистрибуира процесите според овој индикатор. Според авторите, максималната латентност на апликацијата во Арахне е околу 10 илјади микросекунди.

Технологијата е имплементирана како библиотека C++ за Linux, а нејзиниот изворен код е достапен на GitHub.

Друга алатка за балансирање е ZygOS. Како и Шенанго, технологијата го користи методот на крадење на работа за да ги прераспредели процесите. Според авторите на ZygOS, просечната латентност на апликацијата при користење на алатката е околу 150 микросекунди, а максималната е околу 450 микросекунди. Проектниот код е исто така е во јавен домен.

Наоди

Современите центри за податоци продолжуваат да се прошируваат Трендот на зголемување е особено забележлив на пазарот на центри за податоци со хиперскали: сега во светот има 430 центри за податоци за хиперскали, но во наредните години нивниот број може да се зголеми за 30%. Поради оваа причина, технологиите за балансирање на оптоварувањето на процесорот ќе бидат многу барани. Системите како Shenango се веќе достапни спроведуваат големите корпорации, а бројот на такви алатки само ќе расте во иднина.

Објави од Првиот блог за корпоративниот IaaS:

Извор: www.habr.com

Додадете коментар