Dalam seri yang terdiri dari tiga bagian ini, kami akan mengungkap pencapaian teknis yang dapat secara signifikan meningkatkan pemrosesan data aplikasi yang berjalan di Internet Computer Protocol (ICP).
Peningkatan ini adalah tonggak sejarah Stellarator dalam peta jalan ICP, yang saat ini dipromosikan di seluruh jaringan, Stellarator adalah terobosan dalam penyimpanan data on-chain, yang memungkinkan setiap subnet untuk menampung lebih dari 1TB memori, memberikan peluang bagi aplikasi kaya data yang sebelumnya dibatasi oleh penyimpanan.
Kemajuan ini memungkinkan para pengembang untuk membangun aplikasi kompleks yang memerlukan pemrosesan data skala besar, membawa level utilitas baru untuk teknologi blockchain.
Tanpa basa-basi, mari kita mulai seri ini dan lihat bagaimana ICP sekarang menggunakan pembaruan Stellarator untuk menyimpan data.
Permanensi data di Internet Computer
Artikel ini menguraikan cara kerja penyimpanan di mesin salinan Internet Computer, dengan fokus khusus pada perubahan yang baru-baru ini diperkenalkan berdasarkan pohon penggabungan yang terstruktur dalam log (LSMT), yang mencakup implementasi penyimpanan salinan yang lebih banyak di subnet Internet Computer dan memungkinkannya untuk menangani beban kerja yang berat dengan lebih baik.
Internet Computer terdiri dari subnet dan mesin virtual, yang melakukan salinan yang sama di 13-40 mesin salinan, setiap salinan bertanggung jawab untuk menjalankan semua pesan yang dikirim ke kontainer di subnet tersebut dan menyimpan semua data kontainer, sehingga semua salinan memiliki status lengkap dan sama dari subnet.
Pengembang dapat menerapkan kontainer ke Internet Computer, kontainer mirip dengan kontrak pintar di blockchain lain, tetapi dapat melakukan perhitungan yang lebih umum dan menyimpan data dalam jumlah yang lebih besar dibandingkan dengan kontrak pintar di rantai lain.
Data yang disimpan dalam kontainer pada akhirnya perlu disimpan di beberapa perangkat keras fisik, berkat lapisan penyimpanan berbasis LSMT yang baru-baru ini diperkenalkan serta banyak optimasi dan perbaikan lainnya, subnet di Internet Computer dapat menyimpan data kontainer hingga 1TB.
Sebagian besar data kontainer disimpan baik di memori tumpukan (hingga 4GB saat menulis) atau di memori stabil (hingga 500GB saat menulis), ada juga bentuk data lainnya yang terkait dengan kontainer, seperti kode kontainer, pesan yang sedang dalam perjalanan, dan berbagai informasi seperti daftar pengendali dan saldo Sirkulasi.
Lapisan penyimpanan ICP menjembatani kesenjangan antara penyimpanan kontainer (seperti memori tumpukan dan stabil) dan perangkat keras penyimpanan mesin salinan yang mendasarinya (seperti disk dan RAM).
Sebagai bagian dari tonggak sejarah Stellarator, lapisan penyimpanan telah dirancang ulang dan diimplementasikan secara ekstensif untuk memungkinkan ICP menghadapi tantangan skalabilitas di masa depan dan mengatasi hambatan skalabilitas terpenting dari lapisan penyimpanan lama, semua perubahan terkait telah selesai baru-baru ini, Internet Computer kini telah menjalankan implementasi lapisan penyimpanan baru selama beberapa bulan.
Sisa dari artikel ini menjelaskan proses mendesain ulang lapisan penyimpanan menjadi struktur data pohon penggabungan yang terstruktur dalam log, dengan tujuan untuk menghilangkan hambatan terkait penyimpanan dan memberikan pengalaman yang lebih baik bagi pengguna dan pengembang kontainer yang padat penyimpanan.
Bagi pengguna ICP, yang paling mencolok adalah pekerjaan ini telah membuat status salinan di subnet tunggal baru-baru ini meningkat hingga 1TB, selain itu, desain ulang juga memungkinkan Internet Computer untuk menangani kontainer yang menulis data dalam jumlah besar dengan lebih baik.
Titik pemeriksaan
Secara umum, lapisan penyimpanan Internet Computer menggabungkan penggunaan penyimpanan permanen di disk dan penyimpanan sementara di RAM, salah satu konsep kunci tentang bagaimana Internet Computer menyimpan statusnya adalah apa yang disebut titik pemeriksaan, titik pemeriksaan adalah titik waktu logis di mana status seluruh subnet disimpan di disk.
Titik pemeriksaan dibuat setiap 500 blok atau setiap beberapa menit dengan cara yang deterministik, yang berarti semua salinan akan menulis titik pemeriksaan yang sama pada tinggi yang sama, titik pemeriksaan disimpan dalam bentuk direktori file di disk setiap node salinan, struktur direktori ditunjukkan seperti berikut (sangat disederhanakan):
Dalam struktur ini, setiap kontainer disimpan dalam subdirektori sendiri, dan setiap direktori kontainer berisi file terpisah untuk memori tumpukan, memori stabil, dan informasi lain (seperti pesan yang sedang dalam perjalanan), ada berbagai alasan mengapa data disimpan dalam bentuk titik pemeriksaan di disk.
1. Permanensi data: Mesin salinan dapat di-restart kapan saja, mungkin ada bug dalam kode salinan, atau perangkat keras mungkin mengalami kegagalan, atau mungkin ada masalah dengan daya di pusat data, ketika ini terjadi, titik pemeriksaan terbaru dapat dimuat kembali.
Perhatikan bahwa meskipun titik pemeriksaan hanya dibuat setiap 500 putaran, salinan masih dapat merekonstruksi status untuk tinggi non-titik pemeriksaan, salinan hanya memerlukan titik pemeriksaan terbaru serta semua blok akhir antara titik pemeriksaan dan status terbaru, karena semua eksekusi bersifat deterministik, blok-blok ini dapat diputar ulang, dan dipastikan bahwa status yang direkonstruksi identik, blok yang diperlukan dapat disimpan terpisah dari titik pemeriksaan di disk, atau dapat diambil dari salinan lainnya.
2. Sinkronisasi: Semua pesan (salinan) dieksekusi oleh semua salinan, sehingga untuk setiap tinggi h tertentu, semua salinan harus memiliki status yang sama, protokol ini mencegah perpecahan dengan terlebih dahulu melakukan hashing status, lalu melakukan tanda tangan threshold pada hash yang dihasilkan (yaitu ketika beberapa salinan yang jujur akhirnya berada dalam status yang berbeda dari status konsensus), hanya ketika setidaknya ⅔ (lebih tepatnya 2f + 1) salinan setuju pada hash yang sama, tanda tangan threshold semacam ini dapat dibuat, subnet dapat terus berjalan.
Namun, subnet di Internet Computer dapat memiliki status yang lebih besar, pada saat penulisan, dibatasi hingga 1TB, sambil mempertahankan maksimum 2,5 blok per detik (yang merupakan yang tercepat saat ini dari subnet di Internet Computer), tidak mungkin untuk melakukan hashing pada begitu banyak data setelah setiap blok, sehingga Internet Computer hanya melakukan hashing pada bagian yang dipilih dari status non-titik pemeriksaan, misalnya, termasuk beberapa informasi dasar tentang setiap kontainer, respons terbaru terhadap pesan masuk, dan pesan XNet yang dikirim ke subnet lain.
Untuk titik pemeriksaan, protokol melakukan hashing seluruh status untuk mendapatkan struktur data yang disebut daftar, daftar ini dihitung dengan melakukan hashing pada semua file di direktori titik pemeriksaan, dan berisi hash dari semua file tunggal yang dibagi menjadi blok 1MB, pada akhir perhitungan daftar, hash akar daftar akan dihitung, mencakup semua hash tunggal dalam daftar, dan kemudian ditandatangani threshold oleh subnet, perhitungan daftar dapat memakan waktu puluhan detik, tetapi pekerjaan ini hanya perlu dilakukan setiap 500 blok dan dilakukan secara paralel dengan eksekusi kontainer di latar belakang.
3. Sinkronisasi status: Internet Computer memungkinkan perubahan topologi subnet melalui proposal NNS, ketika node salinan bergabung dengan subnet, ia dapat mengambil titik pemeriksaan terbaru dari node salinan lainnya, ingat, titik pemeriksaan adalah kumpulan file, jadi, setelah menggunakan hash akar dan tanda tangan threshold dari subnet, protokol sinkronisasi status dapat mengambil file secara blok, sambil membandingkan hash blok yang diambil dengan hash di daftar, jika semua pemeriksaan berhasil, salinan dapat menyimpulkan bahwa status yang diambil sesuai dengan status yang disepakati dari masing-masing subnet pada tinggi titik pemeriksaan, jika salinan tertinggal karena alasan lain dan terlalu jauh dari status yang sehat untuk mengejar pemutaran blok murni, maka juga akan memicu sinkronisasi status.
4. Ukuran status maksimum: Saat ini, ukuran status maksimum adalah 1TB, sementara RAM mesin node salinan adalah 512GB, sehingga tidak mungkin memuat seluruh status ke dalam RAM, Internet Computer menggunakan RAM terutama untuk menyimpan data terbaru yang belum dipersistensikan, serta untuk menyimpan data dalam cache untuk meningkatkan kinerja.
PageMap dan tinggi non-titik pemeriksaan
Karena titik pemeriksaan hanya dibuat setiap 500 blok, ICP perlu menyediakan ruang penyimpanan yang berbeda untuk status non-titik pemeriksaan, ide dasar yang diikuti oleh lapisan penyimpanan adalah bahwa data ini disimpan dalam bentuk kombinasi dari titik pemeriksaan terakhir di disk, dan setiap perubahan setelah itu disimpan di RAM.
PageMap adalah implementasi dari sebagian besar konten status subnet, sebagian besar status subnet adalah status kontainer, khususnya memori tumpukan dan stabil dari kontainer.
Saat ini, kontainer dapat memiliki hingga 4GB memori tumpukan, 500GB memori stabil, dan total batas status subnet dibatasi hingga 1TB, tetapi semua batasan ini dapat berubah di masa depan, kedua jenis memori tersebut dapat dibaca melalui panggilan kontainer salinan (pembaruan) dan non-salinan (kueri), dan dapat dimodifikasi melalui panggilan salinan.
Struktur data PageMap dirancang untuk efisiensi baca/tulis dari memori, serta mendukung penulisan titik pemeriksaan yang efisien, satu tujuan khusus adalah membuat kinerja tidak tergantung pada total ukuran memori, harap dicatat bahwa nama PageMap berasal dari fakta bahwa semua granularitas baca/tulis adalah halaman 4KB, yang sama dengan ukuran halaman yang digunakannya oleh sistem operasi di bawahnya.
PageMap menyimpan status dalam dua lapisan, lapisan pertama disebut penyimpanan, yaitu file dari titik pemeriksaan sebelumnya, yang mewakili status pada tinggi titik pemeriksaan sebelumnya, lapisan kedua, yaitu peningkatan halaman, mewakili semua perubahan sejak titik pemeriksaan tersebut dan disimpan di RAM.
Saat membaca dari PageMap, data yang dikembalikan diperoleh baik dari peningkatan halaman atau dibaca dari file titik pemeriksaan (jika hilang), menulis ke PageMap dilakukan dengan memodifikasi peningkatan halaman menggunakan data baru.
Siklus hidup titik pemeriksaan
Tugas utama lapisan penyimpanan adalah menulis titik pemeriksaan ke disk dan menjaga semua PageMap tetap terbaru, saat menulis titik pemeriksaan baru, semua peningkatan halaman akan disegarkan ke disk, sehingga memperbarui bagian penyimpanan semua PageMap.
Untuk memastikan semua data disimpan, salinan perlu selalu mempertahankan titik pemeriksaan terbaru yang telah ditandatangani threshold, yang berarti tidak mungkin untuk menimpa file titik pemeriksaan lama secara sederhana, karena setiap modifikasi semacam itu akan mengubah titik pemeriksaan sebelumnya sebelum titik pemeriksaan baru sepenuhnya ditulis, sehingga ada risiko kehilangan data, sementara biaya menulis titik pemeriksaan lengkap ke disk (maksimal 1TB) setiap 500 putaran akan sangat tinggi, sebaliknya, membuat titik pemeriksaan baru mencakup 3 langkah dasar:
‘Menyalin’ titik pemeriksaan lama ke folder sementara, yang disebut tip;
Modifikasi tip untuk mewakili data titik pemeriksaan baru;
Mengganti nama tip menjadi direktori titik pemeriksaan baru (agar dapat membuat titik pemeriksaan baru secara atomik).
Langkah pertama mungkin adalah langkah yang paling mahal, karena semakin besar statusnya, semakin lama waktu yang diperlukan untuk menyalin file, sehingga file titik pemeriksaan menjadi semakin besar.
Namun, ini adalah tempat di mana format file titik pemeriksaan dan pohon penggabungan yang terstruktur dalam log berperan, dengan menggunakan LSMT, langkah ini menjadi murah dan tidak berkembang dengan ukuran status, sebagai perbandingan, sebelum desain ulang LSMT, langkah ini lambat dan tidak dapat diprediksi.
Pohon Penggabungan yang Terstruktur dalam Log
Pohon penggabungan yang terstruktur dalam log (LSMT) adalah struktur data yang banyak digunakan, terutama untuk database, di Internet Computer, mereka digunakan sebagai dasar untuk bagian penyimpanan PageMaps, salah satu masalah khusus yang dapat dipecahkan adalah menyederhanakan langkah ‘salin’ dari siklus hidup titik pemeriksaan, karena semua file hanya ditulis sekali dan tidak akan pernah dimodifikasi.
Dengan LSMT, status (logis) dimodifikasi dengan menulis file penutup tambahan, untuk membaca nilai halaman, algoritma pertama-tama memeriksa file penutup yang baru saja ditulis untuk melihat apakah halaman tersebut ada, jika ada, maka nilai halaman dibaca dari file penutup tersebut, jika tidak, file penutup yang lebih tua berikutnya diperiksa, dalam implementasi yang digunakan di Internet Computer, jika halaman tidak ada dalam file penutup mana pun, maka akan dibaca sebagai nol penuh.
Gambar di bawah ini menunjukkan serangkaian tiga file penutup yang mewakili status kontainer, panah vertikal menunjukkan pembacaan yang berbeda dari data serta file yang akhirnya membaca data tersebut.
Siklus hidup titik pemeriksaan LSMT ditunjukkan sebagai berikut:
Menghubungkan semua file dari titik pemeriksaan sebelumnya ke folder sementara, yang disebut tip;
Menulis file baru yang mencakup semua perubahan sejak titik pemeriksaan terakhir;
Mengganti nama tip menjadi direktori titik pemeriksaan baru (untuk atomisitas).
Kuncinya adalah bahwa setiap file penutup hanya ditulis sekali dan tidak akan pernah dimodifikasi, sehingga aman untuk mengatur beberapa titik pemeriksaan di disk dan berbagi beberapa file di antara mereka melalui tautan keras, harap dicatat bahwa jika siklus hidup titik pemeriksaan mencoba memodifikasi file apa pun, proses yang sama ini tidak akan berfungsi, jika file memiliki beberapa tautan keras, memodifikasi salah satu dari mereka akan mengubah data di semua tautan keras tersebut, yang akan merusak titik pemeriksaan yang sebelumnya telah terverifikasi.
Pohon penggabungan yang terstruktur dalam log dapat menyimpan beberapa versi dari rentang data yang sama, yang mengarah pada biaya penyimpanan, yang didefinisikan sebagai rasio ukuran semua file penutup terhadap ukuran logis data yang diwakili, selain itu, data dapat tersebar di beberapa file.
Seiring dengan meningkatnya biaya penyimpanan atau jumlah file penutup, implementasi lapisan penyimpanan akan menjadwalkan penggabungan, penggabungan dilakukan dengan mengambil sekumpulan file penutup dan menggantinya dengan satu file yang hanya berisi versi terbaru dari setiap data, penggabungan dijadwalkan untuk PageMap yang memiliki biaya penyimpanan atau jumlah file yang sangat tinggi, dan dijalankan di latar belakang agar tidak mengganggu eksekusi pesan kontainer.
Desain sebelumnya yang menggunakan Reflinks
Lapisan penyimpanan awal Internet Computer tidak bergantung pada LSMT, dari kelahiran Internet Computer pada 2021 hingga 2024, lapisan penyimpanan sangat bergantung pada penghubungan kembali.
Penghubungan kembali, kadang-kadang juga disebut sebagai copy-on-write, adalah operasi sistem file yang digunakan untuk menyalin file, beberapa sistem file mendukung operasi ini, salinan di Internet Computer menggunakan sistem file XFS yang mendukung operasi tersebut, penghubungan kembali berbeda dari penyalinan file biasa karena tidak menyalin seluruh konten file, sebaliknya, sistem file mengingat data mana yang dibagikan antara file asli dan file baru, penghubungan kembali juga berbeda dari tautan keras karena kedua file dapat dimodifikasi secara independen satu sama lain.
Dalam desain lapisan penyimpanan lama, cara kerja siklus hidup titik pemeriksaan adalah sebagai berikut:
Menghubungkan semua file dari titik pemeriksaan sebelumnya ke folder sementara, yang disebut tip;
Mengubah file dalam tip berdasarkan semua perubahan sejak titik pemeriksaan terakhir;
Mengganti nama tip menjadi direktori titik pemeriksaan baru.
Salah satu keuntungan potensial adalah bahwa PageMap akan diwakili oleh satu file di titik pemeriksaan, sehingga menghindari biaya penyimpanan, tetapi untuk memodifikasi file agar sesuai dengan tinggi titik pemeriksaan baru, perlu menghubungkan kembali file yang sesuai dari titik pemeriksaan sebelumnya, bukan menghubungkan keras.
Keuntungan LSMT dibandingkan Reflinks
Secara prinsip, penghubungan kembali menjamin kecepatan tautan keras dan ketersediaan salinan, sayangnya, dengan meningkatnya permintaan data Internet Computer (baik dalam hal throughput I/O maupun total jumlah data), penghubungan kembali telah menjadi hambatan kinerja karena berbagai alasan.
1. Kecepatan penghubungan kembali yang lambat: Waktu yang diperlukan untuk menghubungkan kembali file dapat bervariasi secara signifikan, dalam beberapa kasus mungkin hanya memerlukan beberapa detik, tetapi dalam eksperimen, kami juga mengamati bahwa menghubungkan kembali 370GB dapat memakan waktu hingga 10 jam, dalam logika titik pemeriksaan lama di Internet Computer, langkah penghubungan kembali selama 10 jam dapat menyebabkan seluruh subnet terhenti selama 10 jam.
Fragmentasi menyebabkan kecepatan penghubungan kembali yang buruk, secara internal, sistem file XFS memelihara struktur data yang memetakan bagian-bagian dari file ke blok data aktual di disk, ketika biaya untuk menelusuri struktur data ini menjadi sangat tinggi, fragmentasi dan kecepatan penghubungan kembali yang lebih lambat akan terjadi.
Fragmentasi mungkin dipicu terutama oleh urutan berikut: banyak menulis ke file, lalu menghubungkannya kembali, banyak menulis ke salah satu salinan, lalu menghubungkannya kembali, dan seterusnya, sayangnya, mengingat alur kerja titik pemeriksaan di Internet Computer, penggunaan kontainer yang banyak kebetulan memicu perilaku ini.
Di sisi lain, tautan keras memiliki kinerja yang konsisten, tidak terpengaruh oleh masalah fragmentasi apa pun.
Sebelum pengenalan pohon penggabungan yang terstruktur dalam log, banyak langkah sementara telah diterapkan, termasuk menyusun file secara manual (dengan membaca file dan menulisnya kembali) serta menulis file ke bagian kontigu yang lebih besar, kedua metode ini datang dengan biaya penguatan penulisan yang lebih besar dan masih dapat menyebabkan jeda hingga 30 menit.
2. Ukuran status maksimum: Selain waktu penghubungan kembali yang sangat lama yang disebabkan oleh fragmentasi yang berlebihan, bahkan fragmentasi yang sedang pun, waktu penghubungan kembali akan sebanding dengan total jumlah data yang disimpan di subnet, dalam implementasi sebelumnya dari lapisan penyimpanan, Internet Computer menetapkan bahwa jumlah penyimpanan setiap subnet tidak boleh melebihi 700GB, angka ini sebagian besar tergantung pada berapa banyak data fragmentasi sedang yang dapat dihubungkan kembali dalam waktu maksimal 20-30 detik.
Saat menggunakan tautan keras, waktu titik pemeriksaan tidak akan berkembang dengan cara yang sama seiring dengan ukuran data, sehingga menghilangkan hambatan ini.
3. Kinerja multithreading yang buruk: Salah satu tujuan dari logika titik pemeriksaan adalah untuk menghindari operasi sinkronisasi sebisa mungkin, karena selama titik pemeriksaan, eksekusi kontainer akan terhenti, secara alami, yang perlu dipertimbangkan adalah apakah penghubungan kembali dapat dilakukan di latar belakang sambil melanjutkan eksekusi (meskipun lambat), sayangnya, pengalaman menunjukkan bahwa tidak mungkin untuk menghubungkan kembali dan membaca file secara bersamaan, sehingga penghubungan kembali yang dilakukan secara paralel hanya akan memperlambat eksekusi.
Dalam desain lapisan penyimpanan yang baru, penghubungan keras dilakukan secara paralel dan tidak saling memperlambat.
4. Cache: Seperti yang disebutkan di atas, membaca data dari memori kontainer akan secara bersamaan membaca data dari RAM dan dari file titik pemeriksaan yang mendasarinya, membaca file yang sama berulang kali biasanya tidak akan menyebabkan harus membaca data dari hard disk atau SSD yang sebenarnya beberapa kali, sebaliknya, data ini akan dicache oleh sistem operasi, sayangnya, penghubungan kembali akan mengganggu cache, karena pertama-tama menghubungkan kembali file dan kemudian membaca dari salinan baru tidak akan menggunakan cache, oleh karena itu, di Internet Computer, setelah menulis titik pemeriksaan, kita akan melihat lonjakan besar (dan lambat) dalam pembacaan disk, karena semua pembacaan akan beralih ke file baru, selain itu, perhitungan eksplisit (yaitu menghitung semua hash file titik pemeriksaan untuk mencapai konsensus) juga sangat diuntungkan dari caching yang lebih baik.
Sebaliknya, saat menghubungkan file keras, semua cache akan dipertahankan, setiap data yang baru saja dibaca atau ditulis, bahkan yang terjadi dalam interval titik pemeriksaan sebelumnya, akan tetap dicache, sehingga dapat diambil dengan cepat.
Hasil
Lapisan penyimpanan LSMT dipromosikan ke semua subnet Internet Computer dalam beberapa minggu di kuartal kedua 2024, gambar di bawah ini menunjukkan metrik sebelum dan sesudah peningkatan kode salinan, di mana garis vertikal merah menunjukkan waktu di mana lapisan penyimpanan LSMT diaktifkan.
Gambar pertama menunjukkan waktu titik pemeriksaan untuk subnet w4rem, yang menghosting kontainer untuk integrasi Bitcoin, dibandingkan dengan banyak subnet lainnya, kontainer yang dihosting oleh subnet Bitcoin memiliki beban kerja yang berat untuk memori tumpukan dan stabil, sehingga fragmentasi menjadi masalah yang sangat mengkhawatirkan di subnet ini.
Dari segi metrik, waktu titik pemeriksaan telah dikurangi dari lebih dari 20 detik menjadi hanya 1-2 detik, ini terutama karena penghapusan langkah penghubungan kembali, yang memakan sebagian besar waktu 20 detik tersebut.
Bagi pengguna kontainer Bitcoin, manfaatnya adalah waktu respons yang lebih cepat, selama titik pemeriksaan, subnet tidak memproses panggilan pembaruan atau kueri salinan, jika pengguna mengirimkan panggilan pembaruan atau kueri salinan ke kontainer Bitcoin pada awal titik pemeriksaan, dibutuhkan setidaknya 20 detik untuk menerima respons, menggunakan lapisan penyimpanan LSMT dapat secara praktis menghilangkan waktu respons yang tidak konsisten semacam ini.
Gambar kedua menunjukkan tingkat penyelesaian di subnet k44fs, tingkat penyelesaian akhir atau laju blok adalah jumlah blok yang dihasilkan oleh subnet per detik.
Internet Computer membatasi jumlah instruksi yang dieksekusi setiap putaran agar kira-kira sesuai dengan jumlah pekerjaan yang dapat diselesaikannya dalam satu detik, sehingga tingkat penyelesaian akhir dapat tetap di atas satu blok per detik.
Sebelum meningkatkan ke lapisan penyimpanan LSMT, tingkat penyelesaian secara teratur menurun, yang sepenuhnya sesuai dengan titik pemeriksaan, titik pemeriksaan mempengaruhi tingkat penyelesaian karena dua alasan utama, pertama adalah waktu yang diperlukan untuk membuat titik pemeriksaan, selama periode ini tidak ada blok yang akan dieksekusi, setelah peningkatan, dampak ini akan berkurang, karena waktu titik pemeriksaan biasanya jauh lebih pendek.
Alasan kedua adalah bahwa perilaku caching dari lapisan penyimpanan LSMT lebih baik, khususnya, langkah penghubungan kembali di implementasi lapisan penyimpanan lama menyebabkan cache menjadi tidak valid, sehingga setelah titik pemeriksaan, setiap kontainer yang dibaca dari memori akan menyebabkan salinan mengambil data dari disk, yang jauh lebih lambat beberapa urutan dibandingkan data yang sama yang tersedia di cache di RAM, lapisan penyimpanan LSMT baru tidak memiliki masalah ini.
Seperti yang ditunjukkan oleh metrik, penurunan tingkat penyelesaian setelah peningkatan sangat jelas berkurang, ini karena waktu titik pemeriksaan itu sendiri lebih cepat, tidak lagi perlu menghubungkan kembali, dan cache file juga tidak lagi invalid.
Bagi pengguna kontainer di subnet ini, ini berarti waktu respons yang lebih cepat dan throughput yang lebih tinggi.
Kesimpulan
Merancang kembali lapisan penyimpanan Internet Computer di sekitar struktur data pohon penggabungan yang terstruktur dalam log adalah investasi penting untuk skalabilitas dan kinerja platform, yang tidak hanya memungkinkan beberapa beban kerja yang padat memori, tetapi juga memungkinkan Internet Computer memberikan status yang lebih besar untuk kontainer.
Dalam konteks menjalankan model bahasa besar di AI dan di rantai, kontainer yang mengoperasikan data besar sangat menarik, karena kontainer semacam itu tidak hanya bergantung pada penyimpanan data yang besar, tetapi juga sangat bergantung pada throughput I/O.
Selain itu, ini juga meletakkan dasar untuk perbaikan lebih lanjut, seperti mengurangi beban kerja yang berat di jalur kritis dengan memanfaatkan konkurensi dengan lebih baik, sehingga membuat respons Internet Computer lebih cepat, pengalaman dari lapisan penyimpanan yang asli menunjukkan bahwa menghindari penghubungan kembali sangat penting untuk mencapai ini, dan struktur data LSMT dapat melakukan hal itu.
Apakah Anda menyukai artikel ini? Bagikan pemikiran Anda di saluran DFINITY Developers X, bergabunglah besok untuk bagian kedua perjalanan Stellarator kami, bersama Luc Bläser untuk membahas peningkatan ketahanan ortogonal.
Konten IC yang Anda pedulikan
Kemajuan Teknologi | Informasi Proyek | Kegiatan Global
Koleksi dan ikuti saluran IC Binance
Menguasai berita terbaru