Optimasi Paralel EVM: Meningkatkan Kinerja Pemrosesan Transaksi
Seperti yang kita ketahui, EVM adalah mesin eksekusi inti Ethereum yang bertanggung jawab untuk menjalankan kontrak pintar. Untuk memastikan konsistensi hasil eksekusi kontrak di berbagai node, EVM menggunakan teknologi mesin virtual untuk mencapai kompatibilitas lintas platform.
Kontrak pintar saat dideploy ke blockchain, akan pertama-tama dikompilasi menjadi bytecode EVM. EVM saat mengeksekusi kontrak, akan membaca bytecode ini secara berurutan, setiap instruksi memiliki biaya Gas yang sesuai. EVM akan melacak konsumsi Gas selama proses eksekusi instruksi, jumlah konsumsi tergantung pada kompleksitas operasi.
EVM tradisional memproses transaksi dengan cara serial, di mana semua transaksi dijalankan dalam satu antrean. Desain ini sederhana dan mudah dirawat, tetapi seiring dengan meningkatnya jumlah pengguna, tuntutan terhadap TPS dan throughput semakin tinggi, dan batasan kinerja dari eksekusi serial semakin terlihat, terutama di Layer 2.
Selain EVM, komponen inti lain yang terkait dengan eksekusi transaksi dalam go-ethereum adalah stateDB, yang digunakan untuk mengelola status akun dan penyimpanan data. Setiap kali EVM mengeksekusi transaksi, data dalam stateDB akan berubah, dan akhirnya mencerminkan dalam pohon status global.
Dalam mode serial, transaksi harus dieksekusi dalam urutan antrean. Jika ada transaksi kontrak kompleks yang memakan waktu lama, transaksi lainnya hanya bisa menunggu, tidak dapat memanfaatkan sumber daya perangkat keras secara penuh, efisiensinya sangat terbatas.
Untuk mengatasi masalah ini, industri telah mengusulkan solusi optimasi paralel multithreading untuk EVM. Solusi ini dapat meningkatkan efisiensi beberapa kali lipat dengan membuka beberapa thread untuk memproses banyak transaksi secara bersamaan. Namun, eksekusi paralel menghadapi tantangan konflik status, sehingga perlu mengambil langkah-langkah yang sesuai.
Beberapa proyek memiliki pendekatan untuk mengoptimalkan paralel EVM: mengalokasikan satu basis data status sementara untuk setiap thread (pending-stateDB). Saat thread mengeksekusi transaksi, perubahan status disimpan sementara di pending-stateDB, dan tidak langsung mengubah global stateDB. Setelah semua transaksi selesai dieksekusi, perubahan dari pending-stateDB akan disinkronkan ke global stateDB.
Rencana ini juga mengoptimalkan operasi baca dan tulis: saat membaca, pertama-tama memeriksa pending-stateDB, jika tidak ada, baru membaca global stateDB; operasi tulis dicatat di pending-stateDB, dan setelah eksekusi selesai, akan digabungkan ke global stateDB.
Untuk menangani konflik status, skema ini memperkenalkan mekanisme deteksi konflik. Memantau kumpulan baca/tulis dari transaksi yang berbeda, dan ketika menemukan konflik, transaksi terkait akan ditandai untuk dieksekusi ulang.
Optimisasi paralel multithreading secara signifikan meningkatkan kinerja EVM, terutama saat menangani kontrak pintar yang kompleks. Penelitian menunjukkan bahwa, pada beban kerja dengan konflik rendah, TPS dapat meningkat 3-5 kali; pada beban konflik tinggi, secara teoritis dapat mencapai 60 kali.
Skema optimisasi paralel ini mewujudkan paralelisasi transaksi secara besar-besaran sambil menjaga konsistensi status melalui perpustakaan status sementara dan deteksi konflik, yang meletakkan dasar penting untuk pengembangan Rollup Ethereum. Di masa depan, kinerja juga dapat ditingkatkan lebih lanjut dari sisi optimasi efisiensi penyimpanan, penanganan skenario konflik tinggi, dan percepatan GPU.
Halaman ini mungkin berisi konten pihak ketiga, yang disediakan untuk tujuan informasi saja (bukan pernyataan/jaminan) dan tidak boleh dianggap sebagai dukungan terhadap pandangannya oleh Gate, atau sebagai nasihat keuangan atau profesional. Lihat Penafian untuk detailnya.
18 Suka
Hadiah
18
9
Bagikan
Komentar
0/400
AlphaBrain
· 22jam yang lalu
Dengan level ini, masih bisa mempercepat 60 kali.
Lihat AsliBalas0
SighingCashier
· 07-16 13:30
60x? Peningkatan kinerja kok bisa dibilang To da moon
Lihat AsliBalas0
AirdropFatigue
· 07-16 10:30
Apa gunanya semua ini, toh akhirnya juga hanya bersantai.
Lihat AsliBalas0
¯\_(ツ)_/¯
· 07-14 04:40
Pengguna akhirnya tidak perlu menunggu sampai kiamat.
Lihat AsliBalas0
ReverseTradingGuru
· 07-14 04:38
Akhirnya ada yang keras.
Lihat AsliBalas0
TxFailed
· 07-14 04:34
psa: belajar tentang parallel evm dengan cara yang mahal... rip 2.3 eth saya
Lihat AsliBalas0
rugpull_survivor
· 07-14 04:33
Dengar-dengar bisa lebih cepat 60 kali? Apakah bisa menurunkan biaya gas?
Lihat AsliBalas0
SilentAlpha
· 07-14 04:33
60 kali, ini pasti akan menghasilkan banyak keuntungan!
Lihat AsliBalas0
LiquiditySurfer
· 07-14 04:19
Martini sudah mencapai titik terendah, akhirnya tidak perlu menunggu biaya gas lagi.
Optimisasi paralel EVM Meningkatkan kinerja pemrosesan transaksi Ethereum hingga 60 kali lipat
Optimasi Paralel EVM: Meningkatkan Kinerja Pemrosesan Transaksi
Seperti yang kita ketahui, EVM adalah mesin eksekusi inti Ethereum yang bertanggung jawab untuk menjalankan kontrak pintar. Untuk memastikan konsistensi hasil eksekusi kontrak di berbagai node, EVM menggunakan teknologi mesin virtual untuk mencapai kompatibilitas lintas platform.
Kontrak pintar saat dideploy ke blockchain, akan pertama-tama dikompilasi menjadi bytecode EVM. EVM saat mengeksekusi kontrak, akan membaca bytecode ini secara berurutan, setiap instruksi memiliki biaya Gas yang sesuai. EVM akan melacak konsumsi Gas selama proses eksekusi instruksi, jumlah konsumsi tergantung pada kompleksitas operasi.
EVM tradisional memproses transaksi dengan cara serial, di mana semua transaksi dijalankan dalam satu antrean. Desain ini sederhana dan mudah dirawat, tetapi seiring dengan meningkatnya jumlah pengguna, tuntutan terhadap TPS dan throughput semakin tinggi, dan batasan kinerja dari eksekusi serial semakin terlihat, terutama di Layer 2.
Selain EVM, komponen inti lain yang terkait dengan eksekusi transaksi dalam go-ethereum adalah stateDB, yang digunakan untuk mengelola status akun dan penyimpanan data. Setiap kali EVM mengeksekusi transaksi, data dalam stateDB akan berubah, dan akhirnya mencerminkan dalam pohon status global.
Dalam mode serial, transaksi harus dieksekusi dalam urutan antrean. Jika ada transaksi kontrak kompleks yang memakan waktu lama, transaksi lainnya hanya bisa menunggu, tidak dapat memanfaatkan sumber daya perangkat keras secara penuh, efisiensinya sangat terbatas.
Untuk mengatasi masalah ini, industri telah mengusulkan solusi optimasi paralel multithreading untuk EVM. Solusi ini dapat meningkatkan efisiensi beberapa kali lipat dengan membuka beberapa thread untuk memproses banyak transaksi secara bersamaan. Namun, eksekusi paralel menghadapi tantangan konflik status, sehingga perlu mengambil langkah-langkah yang sesuai.
Beberapa proyek memiliki pendekatan untuk mengoptimalkan paralel EVM: mengalokasikan satu basis data status sementara untuk setiap thread (pending-stateDB). Saat thread mengeksekusi transaksi, perubahan status disimpan sementara di pending-stateDB, dan tidak langsung mengubah global stateDB. Setelah semua transaksi selesai dieksekusi, perubahan dari pending-stateDB akan disinkronkan ke global stateDB.
Rencana ini juga mengoptimalkan operasi baca dan tulis: saat membaca, pertama-tama memeriksa pending-stateDB, jika tidak ada, baru membaca global stateDB; operasi tulis dicatat di pending-stateDB, dan setelah eksekusi selesai, akan digabungkan ke global stateDB.
Untuk menangani konflik status, skema ini memperkenalkan mekanisme deteksi konflik. Memantau kumpulan baca/tulis dari transaksi yang berbeda, dan ketika menemukan konflik, transaksi terkait akan ditandai untuk dieksekusi ulang.
Optimisasi paralel multithreading secara signifikan meningkatkan kinerja EVM, terutama saat menangani kontrak pintar yang kompleks. Penelitian menunjukkan bahwa, pada beban kerja dengan konflik rendah, TPS dapat meningkat 3-5 kali; pada beban konflik tinggi, secara teoritis dapat mencapai 60 kali.
Skema optimisasi paralel ini mewujudkan paralelisasi transaksi secara besar-besaran sambil menjaga konsistensi status melalui perpustakaan status sementara dan deteksi konflik, yang meletakkan dasar penting untuk pengembangan Rollup Ethereum. Di masa depan, kinerja juga dapat ditingkatkan lebih lanjut dari sisi optimasi efisiensi penyimpanan, penanganan skenario konflik tinggi, dan percepatan GPU.