EVM Paralel Optimizasyonu: Blok Zinciri Performansını 60 Kat Artıran Anahtar Teknoloji

robot
Abstract generation in progress

EVM'nin paralel optimizasyonu: Blok Zinciri performansını artırmanın anahtarı

EVM, Ethereum'in temel yürütme motoru olarak, her zaman işlemleri seri bir şekilde işlemiştir. Bu yöntem basit ve bakımı kolay olsa da, kullanıcı grubunun genişlemesi ve teknolojik ilerlemelerle birlikte performans darboğazı giderek daha belirgin hale gelmiştir. Özellikle Rollup teknolojisinin yaygın olarak kullanıldığı günümüzde, EVM'nin seri yürütmesi, ikinci katman ağlarının gelişimini kısıtlayan önemli bir faktör haline gelmiştir.

Sequencer, Layer2'nin temel bileşeni olarak, tüm hesaplama görevlerini tek bir sunucu şeklinde üstlenir. Diğer modüllerin verimliliği yeterince yüksek olduğunda, Sequencer'ın kendisinin işleme kapasitesi nihai dar boğaz haline gelir. Bazı ekipler DA katmanını ve veri okuma/yazma modülünü optimize ederek Sequencer'ın saniyede yaklaşık 2000 ERC-20 transferi gerçekleştirmesini sağladı. Bu rakam düşük görünmüyor, ancak daha karmaşık işlemlerle karşılaştığında, TPS kesinlikle büyük ölçüde düşecektir. Bu nedenle, işlem işlemenin paralelleştirilmesi gelecekteki gelişim için kaçınılmaz bir eğilim haline gelmektedir.

Reddio örneğiyle, paralel EVM'nin optimizasyon yolunu açıklama

Ethereum kod yapısında, EVM dışında, stateDB de işlem yürütme ile yakından ilişkili olan temel bileşendir. Ethereum'un hesap durumunu ve veri depolamasını yönetmekten sorumludur. EVM her işlem yürüttüğünde stateDB'deki bazı verileri değiştirir, bu değişiklikler nihayetinde küresel durum ağacında yansır.

stateDB, tüm Ethereum hesaplarının durumunu, normal hesaplar ve sözleşme hesapları dahil olmak üzere, hesap bakiyeleri, akıllı sözleşme kodları gibi bilgileri saklayarak sürdürmektedir. İşlem yürütme sürecinde, stateDB ilgili hesap verilerine okuma ve yazma işlemleri gerçekleştirir ve işlem sona erdikten sonra yeni durumu kalıcı olarak alt veritabanına kaydeder.

Geleneksel seri yürütme modelinde, bir blok içindeki işlemler sırayla işlenir. Her bir işlem, bağımsız bir EVM örneği tarafından belirli işlemleri gerçekleştirir, ancak tüm işlemler aynı stateDB'yi paylaşır. EVM, yürütme sürecinde stateDB ile sık sık etkileşimde bulunarak ilgili verileri okur ve yazar.

Reddio örneğiyle, Paralel EVM'nin optimizasyon yolunu açıklama

Bu sıralı yürütme modunun eksiklikleri oldukça belirgindir: işlemler, yürütülmek için sıraya girmek zorundadır; eğer uzun süren karmaşık sözleşme işlemleri ile karşılaşılırsa, sonraki işlemler zorunlu olarak beklemek zorunda kalır ve donanım kaynaklarından tam olarak yararlanamaz, bu da işleme verimliliğini ciddi şekilde kısıtlar.

Bu darboğazı aşmak için endüstri, EVM'nin çoklu iş parçacığı ile paralel optimizasyon çözümünü önerdi. Temel fikir, birden fazla iş parçacığını aynı anda birden fazla işlemi işlemek için açmaktır, bu da verimliliği önemli ölçüde artırır. Ancak, paralel yürütmenin karşılaştığı en büyük zorluk, durum çakışması sorununu nasıl ele alacağıdır.

Reddio Örneği ile Paralel EVM'nin Optimizasyon Yolunu Açıklama

Bir projenin EVM için paralel optimizasyon yaklaşımı dikkat çekici. Her bir iş parçacığına bir işlem ve geçici bir durum veritabanı (pending-stateDB) tahsis ettiler. Belirli adımlar aşağıdaki gibidir:

  1. Çoklu iş parçacığı paralel işlem gerçekleştirme, her bir iş parçacığı birbirinden etkilenmez.

  2. Her bir iş parçacığının bağımsız bir pending-stateDB'si vardır, işlem yürütülürken doğrudan küresel stateDB'yi değiştirmez, bunun yerine durum değişikliklerini pending-stateDB'de geçici olarak saklar.

  3. Blok içindeki tüm işlemler tamamlandıktan sonra, EVM pending-stateDB'deki durum değişikliklerini sırasıyla global stateDB'ye senkronize eder.

Reddio örneğinde, paralel EVM'nin optimizasyon yolunu açıklama

Bu proje, okuma ve yazma işlemleri için optimizasyonlar da gerçekleştirmiştir:

  • Okuma işlemi sırasında, EVM önce Pending-state'in ReadSet'ini kontrol eder. Gerekli veriler varsa, doğrudan pending-stateDB'den okur; aksi takdirde, bir önceki bloğun global stateDB'sinden tarihsel durumu okur.

  • Yazma işlemi doğrudan global stateDB'ye yazılmaz, önce Pending-state'in WriteSet'ine kaydedilir. İşlem tamamlandıktan sonra, çakışma kontrolü ile global stateDB'ye birleştirme denemesi yapılır.

Reddio örneğinde, paralel EVM'nin optimizasyon yolunu açıklama

Durum çatışması sorununu çözmek için, bu proje çatışma tespit mekanizmasını uygulamıştır:

  • Uygulama sürecinde farklı işlemlerin ReadSet ve WriteSet'ini izleyerek, birden fazla işlemin aynı durum öğelerini okuması ve yazması durumunda çelişki olarak kabul edilir.

  • Çatışan işlemleri yeniden yürütülmesi gerekenler olarak işaretle.

Reddio örneği ile, paralel EVM'in optimizasyon yolunu açıklama

Tüm işlemler tamamlandıktan sonra, birden fazla pending-stateDB değişiklik kaydı global stateDB'ye birleştirilir. Birleştirme başarılı olduktan sonra, nihai durum global durum ağacına gönderilir ve yeni bir durum kökü oluşturulur.

Reddio örneğinde, paralel EVM'nin optimizasyon yolunu açıklama

Çoklu iş parçacığı paralel optimizasyonu, özellikle karmaşık akıllı sözleşme işlemleri işlenirken performansı önemli ölçüde artırdı. Araştırmalar, düşük çakışma yüklerinde, referans testlerinin TPS'sinin geleneksel seri yürütmeye göre 3-5 kat arttığını göstermektedir. Yüksek çakışma yüklerinde, teorik olarak tüm optimizasyon yöntemlerinin kullanılması ile bile 60 kat artış sağlanabilir.

Reddio örneğiyle, paralel EVM'nin optimizasyon yolunu açıklama

Bu EVM çoklu iş parçacığı paralel optimizasyon çözümü, her bir işlem için geçici bir durum deposu tahsis ederek ve farklı iş parçacıklarında paralel olarak çalıştırarak EVM'nin işlem işleme kapasitesini önemli ölçüde artırmıştır. Okuma ve yazma işlemlerinin optimizasyonu ve çatışma tespit mekanizmasının tanıtılması ile durum tutarlılığını sağlarken, işlemlerin büyük ölçekli paralelleştirilmesi sağlanmış ve geleneksel seri yürütme modelinin performans darboğazı etkili bir şekilde çözülmüştür. Bu, Ethereum ekosisteminin gelecekteki genişlemesi için önemli bir temel oluşturur.

Gelecekteki araştırma yönleri, depolama verimliliğinin daha da optimize edilmesi, yüksek çatışma durumlarında işleme çözümlerinin geliştirilmesi ve GPU kullanarak optimizasyon gibi konuları içerebilir. Bu ilerlemeler, Blok Zinciri teknolojisinin sürekli gelişimi için yeni bir ivme sağlayacaktır.

Reddio örneği ile paralel EVM'nin optimizasyon yolunu açıklamak

ETH0.51%
View Original
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
  • Reward
  • 7
  • Repost
  • Share
Comment
0/400
MEVVictimAlliancevip
· 11h ago
Eş zamanlı hemen hallet, beni öldürdü.
View OriginalReply0
MelonFieldvip
· 11h ago
Hala EVM'yi övüyorlar, görünüm kötü.
View OriginalReply0
MetaDreamervip
· 11h ago
Performans 60 kat arttı mı? gm yine bir iş alıp harekete geçecek.
View OriginalReply0
TestnetScholarvip
· 11h ago
Bu kartı, hemen optimize et!
View OriginalReply0
faded_wojak.ethvip
· 11h ago
Kara paralel olarak Aya doğru!
View OriginalReply0
BugBountyHuntervip
· 11h ago
Tıkandığında paralel olmalı, içe dönmelisin!
View OriginalReply0
DefiPlaybookvip
· 11h ago
Bu bottleneck beklemede değil mi? Koşu robotları sevinç içinde.
View OriginalReply0
Trade Crypto Anywhere Anytime
qrCode
Scan to download Gate app
Community
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)