Sistem Shenango rencananya akan digunakan di pusat data.
/ foto
Menurut salah satu penyedia, pusat data hanya 20–40% dari daya komputasi yang tersedia. Pada beban tinggi, indikator ini . Distribusi sumber daya ini menyebabkan munculnya apa yang disebut “server zombie”. Ini adalah mesin yang sering kali menganggur dan membuang-buang energi. Saat ini 30% server di dunia , mengkonsumsi listrik senilai $30 miliar per tahun.
MIT memutuskan untuk memerangi penggunaan sumber daya komputasi yang tidak efisien.
tim teknik sistem penyeimbangan beban prosesor yang disebut Shenango. Tujuannya adalah untuk memantau keadaan buffer tugas dan mendistribusikan kembali proses yang macet (yang tidak dapat menerima waktu CPU) ke mesin bebas.
Cara kerja Shenango
Shenango adalah Linux- sebuah pustaka C dengan binding Rust dan C++. Kode proyek dan aplikasi pengujian dipublikasikan di di GitHub.
Solusinya didasarkan pada algoritma IOKernel, yang berjalan pada inti khusus dari sistem multiprosesor. Ia mengelola permintaan CPU menggunakan kerangka kerja , yang memungkinkan aplikasi berkomunikasi langsung dengan perangkat jaringan.
IOKernel memutuskan kernel mana yang akan didelegasikan tugas tertentu. Algoritme juga menentukan berapa banyak inti yang dibutuhkan. Untuk setiap proses, inti utama (dijamin) dan inti tambahan (yang dapat meledak) ditentukan - yang terakhir diluncurkan jika terjadi peningkatan tajam dalam jumlah permintaan ke CPU.
Antrian permintaan IOKernel diatur sebagai . Setiap lima mikrodetik, algoritme memeriksa apakah semua tugas yang ditugaskan ke inti telah selesai. Untuk melakukan hal ini, ia membandingkan lokasi kepala buffer saat ini dengan posisi ekornya sebelumnya. Jika ternyata tail sudah ada di antrian pada saat pemeriksaan sebelumnya, sistem mencatat kelebihan buffer dan mengalokasikan inti tambahan untuk proses tersebut.
Saat mendistribusikan beban, prioritas diberikan kepada inti di mana proses yang sama telah dieksekusi sebelumnya dan sebagian tetap berada di cache, atau ke inti yang menganggur.

Shenango juga mengambil pendekatan tersebut . Inti yang dialokasikan untuk menjalankan satu aplikasi memantau jumlah tugas yang dimiliki masing-masing aplikasi. Jika salah satu inti menyelesaikan daftar tugasnya sebelum yang lain, maka inti tersebut “meringankan” sebagian beban dari tetangganya.
Keuntungan dan kerugiannya
Pada insinyur dari MIT, Shenango mampu memproses lima juta permintaan per detik dan mempertahankan waktu respons rata-rata 37 mikrodetik. Para ahli mengatakan bahwa dalam beberapa kasus, teknologi ini dapat meningkatkan tingkat pemanfaatan prosesor di pusat data hingga 100%. Hasilnya, operator pusat data akan dapat menghemat pembelian dan pemeliharaan server.
Potensi Solusi dan spesialis dari universitas lain. Menurut seorang profesor dari sebuah institut Korea, sistem MIT akan membantu mengurangi penundaan layanan web. Misalnya, ini akan berguna di toko online. Pada hari-hari penjualan bahkan ada penundaan kedua dalam pemuatan halaman penurunan jumlah tampilan situs sebesar 11%. Distribusi beban yang cepat akan membantu melayani lebih banyak klien.
Teknologi ini masih memiliki kekurangan - tidak mendukung multiprosesor -sistem di mana chip terhubung ke modul memori yang berbeda dan tidak “berkomunikasi” satu sama lain. Dalam hal ini, IOKernel dapat mengatur pengoperasian sekelompok prosesor yang terpisah, tetapi tidak semua chip server.

/ foto
Teknologi serupa
Sistem penyeimbangan beban prosesor lainnya termasuk Arachne. Ini menghitung berapa banyak inti yang dibutuhkan suatu aplikasi saat dimulai, dan mendistribusikan proses sesuai dengan indikator ini. Menurut penulis, latensi maksimum suatu aplikasi di Arachne adalah sekitar 10 ribu mikrodetik.
Teknologi ini diimplementasikan sebagai pustaka C++ untuk Linux, dan kode sumbernya tersedia di .
Alat penyeimbang lainnya adalah ZygOS. Seperti Shenango, teknologi ini menggunakan metode pencurian pekerjaan untuk mendistribusikan ulang proses. Menurut penulis ZygOS, rata-rata latensi aplikasi saat menggunakan alat ini adalah sekitar 150 mikrodetik, dan maksimum sekitar 450 mikrodetik. Kode proyeknya juga .
Temuan
Pusat data modern terus berkembang. Tren peningkatan ini terutama terlihat di pasar pusat data skala besar: sekarang di dunia 430 pusat data skala besar, namun di tahun-tahun mendatang jumlahnya mungkin meningkat sebesar 30%. Oleh karena itu, teknologi penyeimbangan beban prosesor akan banyak diminati. Sistem seperti Shenango sudah tersedia perusahaan besar, dan jumlah alat tersebut akan terus bertambah di masa depan.
Postingan dari blog pertama tentang IaaS perusahaan:
Sumber: www.habr.com
