Transfer File CDC Google Menunjukkan Peningkatan Kecepatan 30x Dibanding rsync Tradisional, Namun Komunitas Mempertanyakan Dukungan Platform yang Terbatas

Tim Komunitas BigGo
Transfer File CDC Google Menunjukkan Peningkatan Kecepatan 30x Dibanding rsync Tradisional, Namun Komunitas Mempertanyakan Dukungan Platform yang Terbatas

Google telah merilis CDC File Transfer sebagai open-source, sebuah alat sinkronisasi file berperforma tinggi yang awalnya dikembangkan untuk para developer game Stadia . Proyek ini muncul dari kebutuhan praktis: para developer game yang bekerja di Windows memerlukan sinkronisasi build game berukuran besar dengan cepat ke instance Linux di cloud, namun alat tradisional seperti rsync terlalu lambat untuk ukuran file yang sangat besar.

Peningkatan Kecepatan Revolusioner Melalui Content-Defined Chunking

Inovasi inti terletak pada penggantian chunking berukuran tetap rsync dengan Content-Defined Chunking ( CDC ). rsync tradisional membagi file menjadi blok berukuran tetap, yang menciptakan masalah ketika data disisipkan atau dihapus di tengah file - semua chunk berikutnya tampak berubah meskipun sebenarnya identik. CDC mengatasi hal ini dengan menentukan batas chunk berdasarkan konten file daripada posisi, yang berarti penyisipan hanya mempengaruhi chunk yang dimodifikasi.

Peningkatan performa sangat signifikan. Pengujian Google menunjukkan CDC mencapai kecepatan transfer 1.500 MB/s dibandingkan dengan 50 MB/s milik rsync - peningkatan 30x lipat. Dalam skenario dunia nyata dengan build game berkisar 49-58 GB , CDC rsync menyelesaikan sinkronisasi dalam 75 detik versus 270 detik untuk rsync tradisional.

Perbandingan Performa

  • CDC rsync: kecepatan transfer 1.500 MB/s
  • rsync tradisional: kecepatan transfer 50 MB/s
  • Peningkatan kecepatan: 30x lebih cepat
  • Waktu sinkronisasi dunia nyata: 75 detik ( CDC ) vs 270 detik ( rsync tradisional)
  • Data uji: build game 49-58 GB

Implementasi Teknis Menarik Minat Developer

Komunitas teknis menunjukkan minat khusus pada peningkatan algoritma chunking. Beberapa developer telah bereksperimen dengan versi yang ditingkatkan dari FastCDC , algoritma yang mendasarinya, dengan satu implementasi menunjukkan peningkatan efisiensi tambahan 3,4% melalui teknik lookahead. Pendekatan ini mencerminkan strategi optimisasi yang digunakan dalam kompresi data, menunjukkan masih ada ruang untuk perbaikan lebih lanjut.

Namun, kebingungan ada mengenai kemampuan rsync yang sudah ada. Sementara beberapa anggota komunitas awalnya mengira rsync sudah menggunakan batas yang didefinisikan konten, kenyataannya adalah rsync menggunakan blok berukuran tetap dengan deteksi rolling hash - pendekatan berbeda yang kurang efisien secara CPU dibandingkan metode CDC .

Fitur Teknis Utama

  • Content-Defined Chunking (CDC): Potongan berukuran variabel berdasarkan konten file daripada posisi tetap
  • Algoritma FastCDC: Pemotongan yang efisien dengan overhead CPU minimal per byte
  • Kemampuan Streaming: Sinkronisasi file real-time dengan penundaan ~0,04 detik
  • Dukungan Kompresi: Kompresi cepat bawaan untuk transfer data
  • Integrasi SSH/SFTP: Menggunakan protokol standar untuk transfer yang aman

Keterbatasan Platform Menimbulkan Kekhawatiran Adopsi

Meskipun peningkatan performa yang mengesankan, dukungan platform alat yang terbatas telah menarik kritik. CDC File Transfer saat ini hanya mendukung kombinasi spesifik Windows -ke- Linux dan Windows -ke- Windows , mencerminkan desain yang awalnya berfokus pada Stadia . Proyek ini tidak mendukung transfer Linux -ke- Linux , yang dianggap banyak developer sebagai keterbatasan signifikan.

Inisiatif yang bagus, terutama algoritma sync yang baru, tapi ada hambatan besar untuk adopsi: hanya bekerja pada kombinasi aneh dari (platform src / platform dst). Mengapa???? Seberapa sulit menulis kode platform-independent untuk membaca/menulis bytes dan mengirimkannya melalui wire di tahun 2025?

Sistem build proyek juga menghadirkan hambatan. Ini memerlukan Bazel , alat build Google , yang dianggap beberapa developer merepotkan dibandingkan sistem build yang lebih standar.

Matriks Dukungan Platform

Alat Windows x64 Ubuntu 22.04 x64 Ubuntu 22.04 aarch64 macOS
cdc_rsync (Dari) -
cdc_rsync (Ke) -
cdc_stream (Dari) - -
cdc_stream (Ke) - -

Prospek Masa Depan dan Kemungkinan Integrasi

Diskusi komunitas telah mengeksplorasi apakah peningkatan ini bisa diintegrasikan ke dalam rsync standar atau diterapkan pada alat lain. Beberapa developer penasaran tentang aplikasi potensial dalam sistem version control seperti Git , di mana strategi chunking serupa bisa meningkatkan performa untuk repositori besar.

Proyek tampaknya terhenti, dengan repositori diarsipkan sembilan bulan lalu dan tidak ada commit dalam dua tahun. Namun, rilis open-source menyediakan fondasi untuk pengembangan yang didorong komunitas, dan beberapa developer telah menyatakan minat untuk memperluas dukungan platform dan meningkatkan proses build.

Proyek CDC File Transfer mendemonstrasikan bagaimana memecahkan masalah internal spesifik dapat menghasilkan inovasi yang dapat diterapkan secara luas. Meskipun implementasi saat ini memiliki keterbatasan, algoritma chunking yang mendasarinya merepresentasikan kemajuan signifikan dalam teknologi sinkronisasi file yang bisa menguntungkan komunitas pengembangan yang lebih luas jika hambatan adopsi diatasi.

Referensi: CDC File Transfer