CPU load balancer anyar ti MIT

Sistem Shenango direncanakeun pikeun dianggo dina pusat data.

CPU load balancer anyar ti MIT
/ poto Marco verch CC ku

Numutkeun salah sahiji panyadia, puseur data ngagunakeun ngan 20-40% tina daya komputasi sadia. Dina beban tinggi indikator ieu tiasa ngahontal 60%. Distribusi sumberdaya ieu nyababkeun mecenghulna anu disebut "server zombie". Ieu mangrupikeun mesin anu sering dianggurkeun, ngabuang tanaga. Kiwari 30% tina server di dunya anu tanpa gawé, consuming $ 30 miliar patut listrik per taun.

MIT mutuskeun pikeun merangan pamakean sumberdaya komputasi anu teu efisien.

Tim rékayasa parantos ngembangkeun Sistim beban balancing processor disebut Shenango. Tujuanana nyaéta pikeun ngawas kaayaan panyangga tugas sareng ngadistribusikaeun prosés anu macét (anu teu tiasa nampi waktos CPU) pikeun mesin bébas.

Kumaha Shenango jalan

Shenango mangrupikeun perpustakaan Linux dina C kalayan panyambungan Rust sareng C ++. Kodeu proyék sareng aplikasi tés diterbitkeun dina repositories dina GitHub.

Solusina dumasar kana algoritma IOKernel, anu dijalankeun dina inti khusus tina sistem multiprocessor. Éta ngatur pamundut CPU nganggo kerangka DPDK, anu ngamungkinkeun aplikasi pikeun komunikasi langsung sareng alat jaringan.

IOKernel mutuskeun nu kernels utusan tugas husus. Algoritma ogé mutuskeun sabaraha cores anu diperyogikeun. Pikeun unggal prosés, teras utama (dijamin) sareng tambahan (burstable) ditangtukeun - anu terakhir diluncurkeun upami aya paningkatan anu seukeut dina jumlah pamundut ka CPU.

Antrian pamundut IOKernel diatur salaku ring panyangga. Unggal lima microseconds, algoritma cek pikeun ningali naha sadaya tugas anu ditugaskeun ka inti parantos réngsé. Jang ngalampahkeun ieu, ngabandingkeun lokasi ayeuna tina sirah panyangga urang jeung posisi saméméhna tina buntut na. Lamun tétéla yén buntut éta geus aya dina antrian dina waktu dipariksa saméméhna, sistem catetan overload panyangga sarta allocates hiji inti tambahan pikeun prosés.

Nalika ngadistribusikaeun beban, prioritas dibikeun ka cores nu prosés nu sarua ieu dieksekusi saméméhna tur sawaréh tetep dina cache, atawa naon baé cores dianggurkeun.

CPU load balancer anyar ti MIT

Shenango ogé nyandak pendekatan gawé maling. Inti anu dialokasikeun pikeun ngajalankeun hiji aplikasi ngawaskeun jumlah tugas masing-masing. Upami salah sahiji inti ngabéréskeun daptar tugasna sateuacan anu sanés, maka éta "ngagampangkeun" bagian tina beban ti tatanggana.

Kaunggulan na kelemahan

on nurutkeun insinyur ti MIT, Shenango sanggup ngolah lima juta requests per detik sarta ngajaga hiji waktu respon rata 37 microseconds. Para ahli nyebatkeun yén dina sababaraha kasus téknologi tiasa ningkatkeun tingkat panggunaan prosesor di pusat data dugi ka 100%. Hasilna, operator puseur data bakal tiasa ngahemat dina meuli jeung perawatan server.

Poténsi Solusi ngagungkeun jeung spesialis ti universitas séjén. Numutkeun profésor ti lembaga Korea, sistem MIT bakal ngabantosan ngirangan telat dina jasa wéb. Contona, éta bakal mangpaat di toko online. Dina poé jualan malah aya reureuh kadua dina loading kaca приводит ka panurunan dina jumlah pintonan situs ku 11%. Distribusi beban anu gancang bakal ngabantosan langkung seueur klien.

Téknologi masih ngagaduhan kalemahan - henteu ngadukung multiprocessor Nomer-sistem nu chip disambungkeun ka modul memori béda jeung teu "komunikasi" saling. Dina hal ieu, IOKernel bisa ngatur operasi grup misah tina prosesor, tapi teu kabeh chip server.

CPU load balancer anyar ti MIT
/ poto Tim Reckmann CC ku

Téknologi anu sami

Sistem balancing beban prosésor sanésna kalebet Arachne. Ieu ngitung sabaraha cores hiji aplikasi bakal butuh lamun dimimitian, sarta distributes prosés nurutkeun indikator ieu. Numutkeun pangarang, latency maksimum hiji aplikasi di Arachne nyaeta ngeunaan 10 sarébu microseconds.

Téknologi dilaksanakeun salaku perpustakaan C ++ pikeun Linux, sareng kode sumberna sayogi di GitHub.

Alat balancing anu sanés nyaéta ZygOS. Sapertos Shenango, téknologi ngagunakeun metode nyolong padamelan pikeun ngadistribusikaeun prosés. Numutkeun pangarang ZygOS, rata-rata latency aplikasi nalika nganggo alat éta sakitar 150 mikrodetik, sareng maksimalna sakitar 450 mikrodetik. Kodeu proyék ogé aya dina domain publik.

papanggihan

Puseur data modéren terus ngalegaan. Tren anu ningkat hususna katingali dina pasar pusat data hyperscale: ayeuna di dunya di ditu 430 puseur data hyperscale, tapi dina taun datang jumlah maranéhanana bisa ngaronjat ku 30%. Ku sabab kitu, téknologi load balancing prosésor bakal di paménta hébat. Sistem sapertos Shenango parantos sayogi ngalaksanakeun korporasi badag, sarta jumlah parabot misalna ngan bakal tumuwuh di mangsa nu bakal datang.

Tulisan ti Blog Pertama Perusahaan IaaS:

sumber: www.habr.com

Tambahkeun komentar