Saatnya mengganti TCP di pusat data
Saatnya mengganti TCP di pusat data
[ad_1]
Meskipun sejarahnya panjang dan sukses, TCP tidak cocok untuk pusat data modern. Setiap elemen penting TCP, mulai dari orientasi aliran hingga ekspektasi pengiriman paket secara berurutan, tidak cocok untuk lingkungan pusat data. Permasalahan mendasar pada TCP terlalu saling terkait untuk diselesaikan secara bertahap; satu-satunya cara untuk memanfaatkan potensi kinerja penuh dari jaringan modern adalah dengan memperkenalkan protokol transport baru. Homa, sebuah protokol transport baru, menunjukkan bahwa semua masalah TCP dapat dihindari. Meskipun Homa tidak kompatibel dengan TCP, Homa dapat diintegrasikan dengan kerangka kerja RPC agar dapat tersebar luas.
Perkenalan
TCP, yang dirancang pada akhir tahun 1970an, sangat sukses dan mudah beradaptasi. Awalnya dibuat untuk jaringan dengan sekitar 100 host dan kecepatan tautan puluhan kilobit per detik, TCP telah berkembang hingga miliaran host dan kecepatan tautan 100 Gbit/detik atau lebih. Namun, komputasi pusat data menghadirkan tantangan yang belum pernah terjadi sebelumnya bagi TCP. Dengan jutaan inti yang berdekatan dan aplikasi yang memanfaatkan ribuan mesin yang berinteraksi dalam skala waktu mikrodetik, kinerja TCP kurang optimal. TCP memperkenalkan overhead yang membatasi kinerja pada tingkat aplikasi, sehingga berkontribusi signifikan terhadap “pajak pusat data”.
Makalah posisi ini berpendapat bahwa tantangan TCP di pusat data tidak dapat diatasi. Setiap keputusan desain besar dalam TCP berdampak buruk bagi pusat data, sehingga menimbulkan konsekuensi negatif yang signifikan. Masalah-masalah ini mempengaruhi sistem di berbagai tingkatan, termasuk jaringan, perangkat lunak kernel, dan aplikasi. Misalnya, TCP mengganggu penyeimbangan beban, yang merupakan aspek penting dari operasi pusat data.
Persyaratan Protokol Transportasi Pusat Data
Sebelum membahas masalah TCP, penting untuk memahami tantangan yang harus diatasi oleh protokol transport pusat data:
- Pengiriman yang andal: Protokol harus memastikan bahwa data dikirimkan dengan andal dari satu host ke host lainnya, meskipun terjadi pemadaman sementara.
- Latensi rendah: Perangkat keras jaringan modern memungkinkan waktu bolak-balik beberapa mikrodetik untuk pesan singkat. Protokol transport seharusnya tidak menambah latensi ini secara signifikan.
- Kecepatan tinggi: Protokol harus mendukung kecepatan data dan kecepatan pesan yang tinggi, penting untuk model komunikasi seperti siaran dan pengacakan.
- Pengendalian kemacetan lalu lintas: Protokol harus membatasi akumulasi paket dalam antrian jaringan untuk memberikan latensi rendah.
- Penyeimbangan beban yang efisien: Dengan kecepatan jaringan yang meningkat pesat, protokol harus mendistribusikan beban ke beberapa inti untuk mengimbangi tautan berkecepatan tinggi.
- Bongkar kartu jaringan: Protokol transport berbasis perangkat lunak menjadi usang. Protokol masa depan harus bermigrasi ke perangkat keras NIC khusus untuk memberikan kinerja tinggi dengan biaya yang dapat diterima.
Segala sesuatu tentang TCP salah
Properti utama TCP, termasuk flow steering, connection steering, pembagian bandwidth, kontrol kemacetan yang digerakkan oleh pengirim, dan pengiriman paket secara berurutan, semuanya salah untuk transportasi di pusat data. Masing-masing keputusan ini mempunyai konsekuensi negatif yang serius:
- Arah aliran: Model aliran byte TCP tidak cocok untuk aplikasi pusat data, yang biasanya bertukar pesan terpisah. Model ini menimbulkan kompleksitas dan overhead, seperti mempertahankan status pesan yang diterima sebagian.
- Orientasi koneksi: TCP memerlukan status koneksi yang berumur panjang untuk setiap peer, sehingga menghasilkan overhead yang tinggi. Hal ini menimbulkan masalah bagi lingkungan pusat data di mana aplikasi mungkin memiliki ratusan atau bahkan ribuan koneksi.
- Pembagian bandwidth: Pendekatan penjadwalan adil TCP berkinerja buruk saat dimuat, sangat mendiskriminasi pesan singkat, yang penting dalam lingkungan pusat data.
- Kontrol kemacetan yang digerakkan oleh pengirim: Kontrol kemacetan TCP terhambat oleh ketergantungannya pada penggunaan buffer dan kurangnya antrian prioritas, yang menyebabkan dilema di mana sulit untuk mengoptimalkan latensi dan throughput.
- Pengiriman paket secara berurutan: Asumsi TCP tentang pengiriman paket berurutan membatasi penyeimbangan beban, yang mengakibatkan hot spot perangkat keras dan perangkat lunak dan akibatnya latensi ekor tinggi.
TCP tidak dapat diperbaiki lagi
Perbaikan bertahap pada TCP kemungkinan besar tidak akan berhasil karena sifat masalahnya yang mendalam dan saling terkait. Misalnya, pengendalian kemacetan TCP telah dipelajari secara ekstensif, dan meskipun perbaikan seperti DCTCP telah dilakukan, perbaikan tambahan yang signifikan hanya akan mungkin dilakukan dengan melanggar beberapa asumsi dasar TCP.
Homa: perombakan yang bersih
Homa mewakili perombakan total transportasi jaringan untuk pusat data. Desainnya berbeda dari TCP dalam semua aspek penting:
- Pesan: Homa berbasis pesan dan mengimplementasikan panggilan prosedur jarak jauh (RPC). Hal ini memungkinkan penyeimbangan beban dan penjadwalan yang lebih efisien.
- Tidak ada koneksi: Homa tidak memiliki koneksi, menghilangkan overhead pengaturan koneksi dan memungkinkan satu soket menangani sejumlah RPC secara bersamaan.
- SRPT: Homa menerapkan penjadwalan Waktu Pemrosesan Terpendek (SRPT) untuk mendukung pesan yang lebih pendek, menggunakan antrian prioritas di sakelar modern.
- Kontrol kemacetan yang digerakkan oleh penerima: Homa mengelola kemacetan dari penerima, yang mengetahui semua pesan masuknya, sehingga memiliki posisi yang lebih baik untuk mengelola kemacetan.
- Paket di luar layanan: Homa dapat mentolerir kedatangan paket yang tidak sesuai pesanan, memberikan lebih banyak fleksibilitas untuk penyeimbangan beban dan berpotensi menghilangkan kemacetan inti.
Menuju ke sana dari sini
Mengganti TCP akan sulit karena statusnya yang sudah mapan. Namun, integrasi Homa dengan kerangka RPC utama seperti gRPC dan Apache Thrift dapat menjadikannya mainstream. Pendekatan ini memungkinkan aplikasi yang menggunakan kerangka kerja ini untuk berpindah ke Homa dengan sedikit atau tanpa pekerjaan.
Kesimpulan
TCP bukanlah protokol yang tepat untuk komputasi pusat data. Setiap aspek desainnya tidak sesuai untuk lingkungan pusat data. Untuk menghilangkan “pajak pusat data”, kita perlu beralih ke protokol yang sangat berbeda seperti Homa. Mengintegrasikan Homa dengan kerangka RPC adalah cara terbaik untuk menggeneralisasikannya. Untuk informasi lebih lanjut, Anda dapat merujuk ke kertas putih Saatnya mengganti TCP di pusat data.
Jika Anda menemukan kesalahan pada teks, silakan kirimkan pesan kepada penulis dengan memilih kesalahan tersebut dan menekan Ctrl-Enter.
Anda harus login untuk berkomentar.
Masuk
[ad_2]