MIT-dən yeni CPU yük balanslayıcısı

Shenango sisteminin məlumat mərkəzlərində istifadə edilməsi planlaşdırılır.

MIT-dən yeni CPU yük balanslayıcısı
/ Şəkil Marko Verch CC BY

Provayderlərdən birinə görə, məlumat mərkəzləri istifadə edin mövcud hesablama gücünün yalnız 20-40%-i. Yüksək yüklərdə bu göstərici 60%-ə çata bilər. Resursların bu şəkildə bölüşdürülməsi "zombi serverləri" adlandırılanların yaranmasına səbəb olur. Bunlar çox vaxt boş oturan, enerji sərf edən maşınlardır. Bu gün dünyada serverlərin 30%-i işsizdirlər, ildə 30 milyard dollar dəyərində elektrik enerjisi istehlak edir.

MİT hesablama resurslarının səmərəsiz istifadəsi ilə mübarizə aparmaq qərarına gəlib.

Mühəndislik qrupu inkişaf etmişdir Shenango adlı prosessor yükü balanslaşdırma sistemi. Onun məqsədi tapşırıq buferinin vəziyyətini izləmək və sıxışmış prosesləri (CPU vaxtını qəbul edə bilməyən) pulsuz maşınlara yenidən paylamaqdır.

Shenango necə işləyir

Shenango, Rust və C++ bağlamaları olan C dilində Linux kitabxanasıdır. Layihə kodu və test proqramları nəşr olunur depolar GitHub-da.

Həll çoxprosessorlu sistemin xüsusi nüvəsi üzərində işləyən IOKernel alqoritminə əsaslanır. Çərçivədən istifadə edərək CPU sorğularını idarə edir DPDK, bu proqramlara birbaşa şəbəkə cihazları ilə əlaqə yaratmağa imkan verir.

IOKernel konkret tapşırığı hansı nüvələrə həvalə edəcəyinə qərar verir. Alqoritm həmçinin neçə nüvəyə ehtiyac olacağını da müəyyənləşdirir. Hər bir proses üçün əsas nüvələr (zəmanət verilir) və əlavələr (burstable) müəyyən edilir - sonuncular CPU-ya müraciətlərin sayının kəskin artması halında işə salınır.

IOKernel sorğu növbəsi kimi təşkil edilmişdir ring tamponu. Hər beş mikrosaniyədən bir alqoritm nüvəyə təyin edilmiş bütün tapşırıqların yerinə yetirilib-yetirilmədiyini yoxlayır. Bunun üçün o, buferin başının hazırkı yerini quyruğunun əvvəlki mövqeyi ilə müqayisə edir. Əvvəlki yoxlama zamanı quyruğun artıq növbədə olduğu ortaya çıxarsa, sistem buferin həddindən artıq yüklənməsini qeyd edir və proses üçün əlavə bir nüvə ayırır.

Yükü bölüşdürərkən, eyni prosesin əvvəllər yerinə yetirildiyi və qismən keşdə qalan nüvələrə və ya hər hansı boş nüvələrə üstünlük verilir.

MIT-dən yeni CPU yük balanslayıcısı

Shenango əlavə olaraq yaxınlaşır oğurluq etmək. Bir proqramı işə salmaq üçün ayrılmış nüvələr bir-birinin tapşırıqlarının sayını izləyir. Bir nüvə digərlərindən əvvəl vəzifələrin siyahısını tamamlayırsa, yükün bir hissəsini qonşularından "azaldır".

Üstünlüklər və mənfi cəhətlər

Haqqında görə MIT-dən olan mühəndislər, Shenango saniyədə beş milyon sorğunu emal edə və orta cavab müddətini 37 mikrosaniyə saxlaya bilir. Mütəxəssislər bildirirlər ki, bəzi hallarda texnologiya məlumat mərkəzlərindəki prosessorlardan istifadə dərəcəsini 100%-ə çatdıra bilir. Nəticədə məlumat mərkəzinin operatorları serverlərin alınmasına və texniki xidmətinə qənaət edə biləcəklər.

Həll Potensialı qeyd etmək və digər universitetlərin mütəxəssisləri. Koreya institutunun professorunun sözlərinə görə, MİT sistemi veb-servislərdə gecikmələri azaltmağa kömək edəcək. Məsələn, onlayn mağazalarda faydalı olacaq. Satış günlərində səhifənin yüklənməsində hətta ikinci gecikmə olur приводит sayta baxış sayının 11% azalması. Yükün operativ paylanması daha çox müştəriyə xidmət göstərməyə kömək edəcək.

Texnologiyanın hələ də çatışmazlıqları var - çox prosessoru dəstəkləmir IN-çiplərin müxtəlif yaddaş modullarına qoşulduğu və bir-biri ilə “əlaqə saxlamadığı” sistemlər. Bu halda, IOKernel bütün server çiplərinin deyil, ayrıca bir qrup prosessorun işini tənzimləyə bilər.

MIT-dən yeni CPU yük balanslayıcısı
/ Şəkil Tim Reckmann CC BY

Oxşar texnologiyalar

Digər prosessor yükü balanslaşdırma sistemlərinə Arachne daxildir. Tətbiq işə salındıqda neçə nüvəyə ehtiyac duyacağını hesablayır və prosesləri bu göstəriciyə görə paylayır. Müəlliflərin fikrincə, Arachne-də tətbiqin maksimum gecikmə müddəti təxminən 10 min mikrosaniyədir.

Texnologiya Linux üçün C++ kitabxanası kimi həyata keçirilir və onun mənbə kodu burada mövcuddur Github.

Digər balanslaşdırma vasitəsi ZygOS-dur. Shenango kimi texnologiya da prosesləri yenidən bölüşdürmək üçün iş oğurluğu metodundan istifadə edir. ZygOS müəlliflərinin fikrincə, alətdən istifadə zamanı tətbiqin orta gecikmə müddəti təxminən 150 mikrosaniyə, maksimum isə təxminən 450 mikrosaniyədir. Layihə kodu da belədir ictimai mülkiyyətdədir.

Tapıntılar

Müasir məlumat mərkəzləri genişlənməyə davam edir Artan tendensiya xüsusilə hipermiqyaslı məlumat mərkəzləri bazarında nəzərə çarpır: indi dünyada var 430 hipermiqyaslı məlumat mərkəzi, lakin yaxın illərdə onların sayı 30% arta bilər. Bu səbəbdən prosessor yükünün balanslaşdırılması texnologiyalarına böyük tələbat olacaq. Shenango kimi sistemlər artıq mövcuddur həyata keçirmək böyük korporasiyalar və bu cür vasitələrin sayı yalnız gələcəkdə artacaq.

Korporativ IaaS haqqında ilk bloqdan yazılar:

Mənbə: www.habr.com

Добавить комментарий