MIT-ийн шинэ CPU ачааллын тэнцвэржүүлэгч

Шенанго системийг дата төвүүдэд ашиглахаар төлөвлөж байна.

MIT-ийн шинэ CPU ачааллын тэнцвэржүүлэгч
/ гэрэл зураг Марко Верч CC BY

Үйлчилгээ үзүүлэгчдийн нэг дагуу дата төвүүд ашиглах боломжтой тооцоолох хүчин чадлын ердөө 20-40%. Өндөр ачаалалтай үед энэ үзүүлэлт 60% хүрч чадна. Нөөцийн ийм хуваарилалт нь "зомби сервер" гэж нэрлэгддэг зүйл бий болоход хүргэдэг. Эдгээр нь ихэвчлэн сул сууж, эрчим хүчээ үрдэг машинууд юм. Өнөөдөр дэлхийн серверүүдийн 30% нь ажилгүй байна, жилд 30 тэрбум ам.долларын цахилгаан эрчим хүч хэрэглэдэг.

MIT нь тооцоолох нөөцийг үр ашиггүй ашиглахтай тэмцэхээр шийдсэн.

Инженерийн баг боловсруулсан Shenango хэмээх процессорын ачааллыг тэнцвэржүүлэх систем. Үүний зорилго нь даалгаврын буферийн төлөвийг хянах, гацсан процессуудыг (CPU-ийн цагийг хүлээн авах боломжгүй) үнэгүй машинуудад дахин хуваарилах явдал юм.

Шенанго хэрхэн ажилладаг

Shenango бол Rust болон C++ холболттой C хэл дээрх Линукс номын сан юм. Төслийн код болон туршилтын програмуудыг нийтэлсэн агуулахууд GitHub дээр.

Энэхүү шийдэл нь олон процессорын системийн тусгай цөм дээр ажилладаг IOKernel алгоритм дээр суурилдаг. Энэ нь framework ашиглан CPU-ийн хүсэлтийг удирддаг DPDK, энэ нь програмуудыг сүлжээний төхөөрөмжтэй шууд харилцах боломжийг олгодог.

IOKernel нь аль цөмд тодорхой даалгаврыг шилжүүлэхийг шийддэг. Алгоритм нь мөн хэдэн цөм шаардагдахыг шийддэг. Процесс бүрийн хувьд үндсэн цөмүүд (баталгаатай) ба нэмэлт (тэсрэх боломжтой) нь тодорхойлогддог - CPU-д хандах хүсэлтийн тоо огцом нэмэгдсэн тохиолдолд сүүлийнх нь нээгддэг.

IOKernel хүсэлтийн дарааллыг дараах байдлаар зохион байгуулдаг бөгж буфер. Таван микросекунд тутамд алгоритм нь цөмд өгөгдсөн бүх ажил дууссан эсэхийг шалгадаг. Үүнийг хийхийн тулд буферийн толгойн одоогийн байрлалыг сүүлнийх нь өмнөх байрлалтай харьцуулна. Хэрэв өмнөх шалгалтын үед сүүл нь аль хэдийн дараалалд байсан нь тогтоогдвол систем нь буферийн хэт ачааллыг тэмдэглэж, процесст нэмэлт цөм хуваарилдаг.

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

MIT-ийн шинэ CPU ачааллын тэнцвэржүүлэгч

Шенанго нэмэлт байдлаар ханддаг хулгай хийх ажил. Нэг програмыг ажиллуулахад хуваарилагдсан цөмүүд нь бие биедээ хийх ажлын тоог хянадаг. Хэрэв нэг цөм нь бусдаасаа өмнө даалгаврынхаа жагсаалтыг дуусгавал хөршүүдийнхээ ачааллын нэг хэсгийг "хөнгөлдөг".

Давуу болон дутагдалтай талууд

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

Шийдлийн боломж тэмдэглэх болон бусад их дээд сургуулийн мэргэжилтнүүд. Солонгосын хүрээлэнгийн профессорын хэлснээр MIT систем нь вэб үйлчилгээний саатлыг багасгахад тусална. Жишээлбэл, энэ нь онлайн дэлгүүрүүдэд ашигтай байх болно. Борлуулалтын өдрүүдэд хуудас ачаалахад хоёр дахь удаагаа хүртэл саатдаг приводит сайтын үзсэн тоо 11% -иар буурсан байна. Ачааллыг шуурхай хуваарилах нь илүү олон үйлчлүүлэгчдэд үйлчлэхэд тусална.

Технологи нь сул талуудтай хэвээр байна - энэ нь олон процессорыг дэмждэггүй НУМАА-чипүүд нь өөр өөр санах ойн модулиудад холбогдсон бөгөөд хоорондоо "харилцдаггүй" системүүд. Энэ тохиолдолд IOKernel нь тусдаа бүлгийн процессоруудын ажиллагааг зохицуулах боломжтой боловч бүх серверийн чип биш юм.

MIT-ийн шинэ CPU ачааллын тэнцвэржүүлэгч
/ гэрэл зураг Тим Рекманн CC BY

Үүнтэй төстэй технологиуд

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

Энэхүү технологи нь Линуксийн C++ номын сан хэлбэрээр хэрэгжсэн бөгөөд эх кодыг нь эндээс авах боломжтой GitHub.

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

үр дүн нь

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

Корпорацийн IaaS-ийн талаархи анхны блогын нийтлэлүүд:

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх