Optimasi paralel EVM: Teknologi kunci untuk meningkatkan performa Blockchain hingga 60 kali lipat

robot
Pembuatan abstrak sedang berlangsung

Optimalisasi Paralel EVM: Kunci untuk Meningkatkan Kinerja Blockchain

EVM sebagai mesin eksekusi inti Ethereum, telah menggunakan metode serial untuk memproses transaksi. Meskipun metode ini sederhana dan mudah dipelihara, dengan berkembangnya jumlah pengguna dan kemajuan teknologi, hambatan kinerjanya semakin jelas. Terutama di era aplikasi luas teknologi Rollup saat ini, eksekusi serial EVM telah menjadi faktor penting yang membatasi perkembangan jaringan lapisan kedua.

Sequencer sebagai komponen inti Layer2, mengambil semua tugas komputasi dalam bentuk server tunggal. Ketika modul lain cukup efisien, kapasitas pemrosesan Sequencer sendiri menjadi bottleneck akhir. Beberapa tim telah mengoptimalkan lapisan DA dan modul baca/tulis data, sehingga Sequencer dapat melakukan sekitar 2000 transaksi ERC-20 per detik. Angka ini tampaknya tidak rendah, tetapi ketika dihadapkan dengan transaksi yang lebih kompleks, TPS pasti akan mengalami penurunan yang signifikan. Oleh karena itu, paralelisasi pemrosesan transaksi menjadi tren perkembangan yang tak terhindarkan di masa depan.

Menggunakan Reddio sebagai contoh, menjelaskan jalan optimasi EVM paralel

Dalam struktur kode Ethereum, selain EVM, stateDB juga merupakan komponen inti yang terkait erat dengan eksekusi transaksi. Ia bertanggung jawab untuk mengelola status akun dan penyimpanan data di Ethereum. Setiap kali EVM mengeksekusi transaksi, ia akan mengubah beberapa data dalam stateDB, dan perubahan ini akhirnya tercermin dalam pohon status global.

stateDB terutama memelihara status semua akun Ethereum, termasuk akun biasa dan akun kontrak, menyimpan saldo akun, kode kontrak pintar, dan informasi lainnya. Selama proses eksekusi transaksi, stateDB membaca dan menulis data akun yang relevan, dan setelah eksekusi selesai, status baru diserahkan ke database bawah untuk disimpan secara permanen.

Dalam mode eksekusi serial tradisional, transaksi dalam satu blok diproses satu per satu sesuai urutan. Setiap transaksi memiliki instansi EVM independen yang melakukan operasi spesifik, tetapi semua transaksi berbagi stateDB yang sama. EVM perlu sering berinteraksi dengan stateDB selama eksekusi, membaca dan menulis data yang relevan.

Mengambil Reddio sebagai contoh, menjelaskan jalan optimasi EVM paralel

Kekurangan dari mode eksekusi serial ini sangat jelas: transaksi harus antre untuk dieksekusi, jika ada transaksi kontrak kompleks yang memakan waktu lama, transaksi selanjutnya hanya bisa menunggu dengan terpaksa, tidak dapat memanfaatkan sumber daya perangkat keras secara maksimal, yang secara serius membatasi efisiensi pemrosesan.

Untuk mengatasi kendala ini, industri telah mengusulkan solusi optimasi paralel multithreading EVM. Gagasan inti adalah membuka beberapa thread untuk memproses banyak transaksi secara bersamaan, secara signifikan meningkatkan efisiensi. Namun, tantangan utama yang dihadapi oleh eksekusi paralel adalah bagaimana menangani masalah konflik status.

Dengan Reddio sebagai contoh, menjelaskan jalan optimasi EVM paralel

Pendekatan optimasi paralel EVM dari suatu proyek patut diperhatikan. Mereka mengalokasikan satu transaksi dan satu basis data status sementara (pending-stateDB) untuk setiap thread. Langkah-langkahnya adalah sebagai berikut:

  1. Eksekusi transaksi secara paralel dengan multi-threading, setiap thread tidak saling mengganggu.

  2. Setiap thread memiliki pending-stateDB yang independen, saat eksekusi transaksi tidak langsung mengubah global stateDB, melainkan menyimpan perubahan status sementara di pending-stateDB.

  3. Setelah semua transaksi di dalam blok dieksekusi, EVM akan menyinkronkan perubahan status dari masing-masing pending-stateDB ke global stateDB.

Mengambil Reddio sebagai contoh, menjelaskan jalan optimasi EVM paralel

Proyek ini juga telah mengoptimalkan operasi baca dan tulis:

  • Saat melakukan operasi baca, EVM terlebih dahulu memeriksa ReadSet dari Pending-state. Jika data yang diperlukan tersedia, langsung dibaca dari pending-stateDB; jika tidak, dibaca dari stateDB global blok sebelumnya untuk status historis.

  • Operasi penulisan tidak ditulis langsung ke stateDB global, tetapi terlebih dahulu dicatat ke WriteSet Pending-state. Setelah eksekusi transaksi selesai, akan dilakukan deteksi konflik sebelum mencoba menggabungkan ke stateDB global.

Mengambil Reddio sebagai contoh, menjelaskan jalur optimasi EVM paralel

Untuk mengatasi masalah konflik status, proyek ini memperkenalkan mekanisme deteksi konflik:

  • Selama proses eksekusi, memantau ReadSet dan WriteSet dari berbagai transaksi, dan menganggap sebagai konflik jika beberapa transaksi membaca dan menulis item status yang sama.

  • Tandai transaksi konflik sebagai perlu dieksekusi ulang.

Menggunakan Reddio sebagai contoh, menjelaskan jalan optimasi EVM paralel

Setelah semua transaksi dieksekusi, beberapa catatan perubahan pending-stateDB digabungkan ke dalam global stateDB. Setelah penggabungan berhasil, status akhir diserahkan ke pohon status global, menghasilkan akar status baru.

Mengambil Reddio sebagai contoh, menjelaskan jalan optimasi EVM paralel

Optimisasi paralel multithreading secara signifikan meningkatkan kinerja, terutama saat menangani transaksi kontrak pintar yang kompleks. Penelitian menunjukkan bahwa, pada beban kerja dengan konflik rendah, TPS dari pengujian benchmark meningkat 3-5 kali dibandingkan dengan eksekusi serial tradisional. Pada beban kerja dengan konflik tinggi, secara teori, dengan menerapkan semua metode optimisasi dapat mencapai peningkatan hingga 60 kali.

Menggunakan Reddio sebagai contoh, menjelaskan jalan optimasi EVM paralel

Solusi optimasi paralel multi-thread EVM ini, dengan mengalokasikan pustaka status sementara untuk setiap transaksi dan menjalankan eksekusi secara paralel di berbagai thread, secara signifikan meningkatkan kemampuan pemrosesan transaksi EVM. Dengan mengoptimalkan operasi baca-tulis dan memperkenalkan mekanisme deteksi konflik, solusi ini mencapai paralelisasi transaksi dalam skala besar sambil menjaga konsistensi status, secara efektif mengatasi bottleneck kinerja dari model eksekusi serial tradisional. Ini meletakkan dasar yang penting untuk perluasan masa depan ekosistem Ethereum.

Arah penelitian di masa depan mungkin mencakup pengoptimalan efisiensi penyimpanan lebih lanjut, perbaikan solusi penanganan dalam situasi konflik tinggi, serta eksplorasi penggunaan GPU untuk pengoptimalan. Kemajuan ini akan memberikan dorongan baru untuk perkembangan berkelanjutan teknologi Blockchain.

Dengan Reddio sebagai contoh, menjelaskan jalan optimasi EVM paralel

ETH0.19%
Lihat Asli
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.
  • Hadiah
  • 7
  • Posting ulang
  • Bagikan
Komentar
0/400
MEVVictimAlliancevip
· 8jam yang lalu
Kepala saya mulai pusing karena thread yang bersamaan ini.
Lihat AsliBalas0
MelonFieldvip
· 8jam yang lalu
Masih membicarakan evm, terlihat tidak baik.
Lihat AsliBalas0
MetaDreamervip
· 8jam yang lalu
Peningkatan kinerja 60 kali lipat? gm kembali harus memulai satu pekerjaan.
Lihat AsliBalas0
TestnetScholarvip
· 8jam yang lalu
Kartu ini, segera optimalkan ya
Lihat AsliBalas0
faded_wojak.ethvip
· 8jam yang lalu
Karla paralel To da moon ah
Lihat AsliBalas0
BugBountyHuntervip
· 8jam yang lalu
Jika terjebak, harus dilakukan secara paralel dan berkompetisi!
Lihat AsliBalas0
DefiPlaybookvip
· 8jam yang lalu
Tenggorokan ini tidak hanya menunggu untuk dicabut? Robot yang melarikan diri sangat senang.
Lihat AsliBalas0
Perdagangkan Kripto Di Mana Saja Kapan Saja
qrCode
Pindai untuk mengunduh aplikasi Gate
Komunitas
Bahasa Indonesia
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)