Preda: Das letzte Stück paralleler VM -Puzzle

Schreiben: Preda Quelle: Chainfeeds

Zusammenfassung

Betrachten Sie die parallele Geschichte des Computers: Die Parallelität der ersten Ebene istAnweisungsstufe parallelWesenDie Parallele für Unterrichtsebene ist die Hauptmethode, um die Leistung in den letzten 20 Jahren des 20. Jahrhunderts zu verbessern.Unterrichts -Level -Parallelität kann die Leistung verbessern, da das Programm binär kompatibel ist, was besonders von Programmierern beliebt ist.Es gibt zwei Arten von Anweisungen parallel.Eines ist die Zeit parallel, dh die Anweisungsmontagelinie.Die Reihenfolge der Montagelinie ist wie die Montagelinie der Fabrikproduktion eines Autos Es wird in mehreren Prozessen gleichzeitig mehrere Autos produzieren.Der andere ist Raum parallel, dh mehr Start oder überschreitet den Standard.Multi-Launch ist wie eine mehrspurige Straße, und die Ausführung außerhalb der Reihenfolge kann auf Multi-Lanes überholen.Nach dem Aufkommen von RISC in den 1980er Jahren erreichte die nachfolgende 20 -jährige Unterrichtsniveau nach 2010 einen Spitzenwert.

Die Parallelität der zweiten Ebene istDaten -Level parallelEs bezieht sich hauptsächlich auf die Vektorstruktur des Einzelstroms (SIMD).Die früheste Daten -Level -Parallellinie erschien auf Eniac.Die Vektormaschine, die durch Cray in den 1960er und 1970er Jahren vertreten war, war sehr beliebt.Bis Cray-4 schwieg Simd eine Weile und jetzt begann er wieder, Vitalität zu erholen, und es wurde immer mehr verwendet.Beispielsweise können die AVX -Multimedia -Anweisungen in X86 256 -Bit -Kanäle verwenden, um vier 64 -Bit -Operationen oder acht 32 -Bit -Operationen zu erstellen.Simd hat als wirksame Ergänzung paralleler Anweisungen eine wichtige Rolle im Bereich Streaming -Medien gespielt.

Die dritte Ebene der Parallelität istMission -Level parallelWesenEine große Anzahl von Aufgaben -Level -Parallel befindet sich in der Internetanwendung.Der Vertreter der Parallele der Aufgabe -Ebene ist ein Multi -Core -Prozessor und ein Multi -Thread -Prozessor, der die Hauptmethode für die aktuelle Computerarchitektur zur Verbesserung der Leistung ist.Die parallele Granularität der Parallele der Aufgabe -Ebene ist groß, und ein Faden enthält Hunderte von oder mehr Anweisungen.

Aus der Perspektive der parallelen Computerentwicklung ist das, was jetzt in der ersten Ebene der Blockchain ist, der Übergangsprozess von der ersten Stufe zur zweiten Ebene.Das Mainstream -Blockchain -System übernimmt normalerweise zwei Architekturen: Einzel- oder Multi -Chain -Architektur.Einzelkette wie gemeinsame Bitcoin und Ethereum hat das gesamte System nur eine Kette.In jedem Blockchain -Knoten werden intelligente Vertragstransaktionen normalerweise in der seriellen Ausführung ausgeführt, was zu einem niedrigen Durchsatz des gesamten Systems führt.
Einige der jüngsten Blockchain -Systeme mit hoher Leistung, obwohl die eintschauige Architektur übernommen wird, unterstützt auch die parallele Ausführung von Smart Contract -Transaktionen.Thomas Dickerson und Maurice Herlihy von Brown University und Yale University schlugen zunächst ein paralleles Ausführungsmodell vor, das auf STM (Software -Transaktionsspeicher) in seinem PODC’17 -Papier basiert. Es wird den Statusrollback durch STM vervollständigen und diese staatlichen Konflikttransaktionen serialisch durchführen.Solche Methoden wurden für mehrere Blockchain -Projekte mit hoher Leistung angewendet, darunter Aptos, SEI und Monad.Entsprechend basiert ein anderes paralleles Ausführungsmodell auf pessimistischer Parallelität (pessimistische Parallele), dh Bevor die Transaktion parallele Ausführung ausführt, besteht ein Konflikt zwischen dem Zustand des Transaktionszugriffs. .Diese Art von Methode verwendet normalerweise eine Vorabrechnungsmethode, um Programmanalyse-Tools zu verwenden, um statische Analysen zu erstellen und Statusabhängigkeiten für Smart Contract Code zu konstruieren, wie z.Wenn die gleichzeitige Transaktion dem System übermittelt wird, bestimmt das System, ob die Transaktion parallel gemäß dem Zustand der Transaktionsanforderungen und der Abhängigkeitsbeziehung zwischen den Transaktionsanforderungen ausgeführt werden kann.Es werden nur Transaktionen, die keine staatlich abhängige Beziehung zwischeneinander haben, parallel ausgeführt.Diese Art von Methode wird auf Zilliqa (cosplit -Version) und Blockchain -Projekte wie SUI angewendet.Die obigen Parallelausführungsmodelle können den Durchsatz des Systems erheblich verbessern.Diese beiden Schemata entsprechen der oben genannten Anleitungsniveau.In diesen Aufgaben gibt es jedoch zwei Probleme: 1) Skalierbarkeitsprobleme und 2) parallele semantische Ausdrucksprobleme, werden wir nachstehend ausführlich erklären.

Parallele Design

Wir werden das typische Solana- und Monad -Projekt als Beispiel verwenden, um das Parallelarchitekturdesign zu zerlegen.

Solana

Das Design -Konzept von Solana ist aus höherer Ebene, dass sich Blockchain -Innovation mit der Weiterentwicklung von Hardware entwickeln sollte.Mit der kontinuierlichen Verbesserung der Hardware nach Moore’s Law soll Solana von einer höheren Leistung und Skalierbarkeit profitieren.Solana Co -Fundure Anatoly Yakovenko hat vor mehr als fünf Jahren die Parallelisierungsarchitektur von Solana entworfen.

Solana -KonsumDefirmation Parallelität(Deterministische Parallelisierung), die aus der Erfahrung von Anatoly mit der Verwendung eingebetteter Systeme in der Vergangenheit herrührt, deklarieren Entwickler normalerweise alle Staaten im Voraus.Dies ermöglicht es der CPU, alle Abhängigkeiten zu verstehen, um den erforderlichen Teil des Speichers zu bevorzugen.Das Ergebnis besteht darin, die Implementierung des Systems zu optimieren, aber es erfordert, dass Entwickler zusätzliche Arbeiten im Voraus erledigen.In Solana sind alle Speicherabhängigkeiten des Programms erforderlich und erläutern im Konstruktor (dh in der Zugriffsliste), damit die Laufzeit mehrere Transaktionen effizient einstellen und durchführen kann.
Die nächste Hauptkomponente der Solana -Architektur istSea -Level VM,,,,Es unterstützt mehrere Verträge und Transaktionen parallel gemäß der Kernmenge des Verifizierungsgeräts.Die Überprüfungen in der Blockchain sind Netzwerkteilnehmer, die für die Überprüfung und Bestätigung von Transaktionen, das Vorschlag neuer Blöcke und die Aufrechterhaltung der Integrität und Sicherheit der Blockchain verantwortlich sind.Da die Transaktionsvorschriften, welche Konten gelesen und geschrieben und gesperrt werden müssen, kann das Solana -Planungsprogramm bestimmen, welche Transaktionen gleichzeitig ausgeführt werden können.Aus diesem Grund können „Blockproduzenten“ oder Führungskräfte während der Überprüfung Tausende von verarbeiteten Transaktionen und eine parallele Anpassung nicht -überlappender Transaktionen sortieren.

Monad

Monad baut die erste parallele EVM -Schicht mit einem vollständigen parallelen EVM.Die Einzigartigkeit von Monad liegt nicht nur seinen parallelen Motor, sondern auch den Optimierungsmotor, den sie im Hintergrund eingebaut haben.Monad verwendet eine einzigartige Methode für sein Gesamtdesign und kombiniert mehrere wichtige Funktionen, einschließlich Pipelines, asynchroner E/A, Trennungskonsens und Ausführung sowie Monaddb.

Ähnlich wie bei SEI, Monad Blockchain -Verwendung„Optimismus und Passkontrolle (OCC)“Kommen Sie, um die Transaktion auszuführen.Wenn im System gleichzeitig mehrere Transaktionen vorhanden sind, treten gleichzeitige Transaktionen auf.Es gibt zwei Stufen dieser Transaktionsmethode: Ausführung und Überprüfung.

在执行阶段,事务被乐观地处理,所有读/写都临时存储在事务特定的存储中。Seitdem wird jede Transaktion in die Überprüfungsstufe eingetragen, die geändert wird, um die Informationen im temporären Speichervorgang gemäß jedem Status des vorherigen Büros zu überprüfen.如果事务是独立的,则事务并行运行。如果一个事务读取另一个事务修改的数据,就会产生冲突。

Eine von Monad entworfene wichtige Innovation ist eine Schiene mit einem leichten Versatz.Dieser Offset ermöglicht mehr Prozesse parallelisierend, indem mehrere Instanzen gleichzeitig ausgeführt werden.Daher wird die Montagelinie verwendet, um viele Funktionen zu optimieren, z. der Kleiderschrank.

>

In Monad werden Transaktionen im Block linear sortiert, aber das Ziel ist es, den endgültigen Zustand durch die Verwendung paralleler Ausführung zu erreichen.MonadOptimistisch und ParallelitätEin Algorithmus zur Gestaltung der Ausführungsmaschine.Die Motor von Monad übernimmt gleichzeitig die Transaktion und analysiert dann, dass die Ergebnisse dieselben sind, wenn die Transaktion nacheinander ausgeführt wird.Wenn es Konflikte gibt, müssen Sie wieder ausführen.Die parallele Ausführung ist hier ein relativ einfacher Algorithmus, aber sie kombiniert ihn mit anderen wichtigen Innovationen von Monad, um diese Methode neu zu gestalten.Eine Sache, die hier beachtet werden muss, ist, dass es in der Regel sehr billig ist, da die Eingabe, die von ungültigen Agenturen erforderlich sind, immer immer den Cache beibehält. Dies ist also eine einfache Cache -Suche.Re -Execution wird erfolgreich sein, da Sie die vorherigen Transaktionen bereits ausgeführt haben.

Zusätzlich zur Verzögerung der Ausführung, auchMonad verbessert auch die Leistung durch Trennung von Ausführung und KonsensÄhnlich wie Solana und SEI.Die Idee hier ist, dass, wenn Sie die Bedingungen für die Fertigstellung der Ausführung nach Abschluss des Konsenses entspannen, die beiden parallel ausgeführt werden können, um zusätzliche Zeit auf die beiden zu bringen.Natürlich verwendet Monad einen Gewissheitalgorithmus, um mit dieser Situation umzugehen, um sicherzustellen, dass einer von ihnen nicht zu weit läuft und nicht aufholen kann.

Unabhängig davon, ob optimistische parallele oder pessimistische Ausführungsmethoden, verwenden die oben genannten Systeme das gemeinsame Gedächtnis als Abstraktion der unteren Schichtdatenmodell, dh unabhängig davon, wie viel parallele Einheiten alle Daten erhalten können (hier bezieht sich alle Daten In den Blockchain -Daten) können Statusdaten direkt durch verschiedene parallele Ausführungen zugegriffen werden (dh alle Daten auf allen Ketten können direkt gelesen und geschrieben werden).采用 shared-memory 作为底层数据模型的区块链系统,它的并发通常局限于单个物理节点(Solana),每一个物理节点的并发能力又受限于节点的计算能力,即物理线程的数量(假定每个线程支持一个虚拟机)。

This kind of parallel method in this node only needs to modify the architecture of the executive layer of the smart contract, and does not need to modify the logic of the system consensus layer, which is very suitable for improving the throughput of the single -chain System.Daher, weil es keine Datenspeicherung gibt,Jeder Knoten im Blockchain -Netzwerk muss noch alle Transaktionen ausführen und alle Zustände speichernWesenGleichzeitig können diese Verarbeitungsfunktionen im Vergleich zur gemeinsamen Architektur, die für verteilte Erweiterungen besser für verteilte Erweiterungen geeignet ist, nicht horizontal erweitert werden. Ausführungsfähigkeiten können die Skalierbarkeit der Blockchain nicht grundlegend lösen.

Gibt es also eine fertig gemachte Lösung?

Parallele Programmiermodell

Bevor wir Preda vorstellen, hoffen wir, eine natürliche Frage zu stellen ::Warum parallele Programmierung verwenden?In den 1970er, 1980er und sogar einem Teil der 1990er Jahre waren wir sehr mit einer einzelnen Thread -Programmierung (oder seriellen Programmierung) zufrieden.Sie können ein Programm schreiben, um eine Aufgabe zu erledigen.Nachdem die Ausführung vorbei ist, erhalten Sie ein Ergebnis.Die Aufgabe ist erledigt, jeder wird sehr glücklich sein!Obwohl die Aufgabe erledigt wurde, aber wenn Sie Millionen oder Milliarden berechnete Partikelsimulation pro Sekunde verdienen oder mit Tausenden von Pixelbildern verarbeitet werden, möchten Sie, dass das Programm schneller ausgeführt wird. Dies bedeutet, dass Sie eine schnellere CPU benötigen.
Vor 2004 kann der CPU -Hersteller IBM, Intel und AMD Ihnen einen schnelleren und schnelleren Prozessor liefern. CPU.Bis 2004 kann aufgrund technischer Beschränkungen der Trend zur Erhöhung der CPU -Geschwindigkeit jedoch nicht fortgesetzt werden.Dies erfordert, dass andere Technologien weiterhin eine höhere Leistung bieten.Die Lösung des CPU -Herstellers besteht darin, die beiden CPUs in eine CPU zu setzen, auch wenn die beiden CPUs -Arbeitsgeschwindigkeiten niedriger als eine einzelne CPU.Beispielsweise können zwei CPUs (Hersteller sie den Kern) mit einer Geschwindigkeit von 200 MHz im Vergleich zur Einzel -Kern -CPU bei 300 MHz mehr Berechnungen pro Sekunde (dh intuitive intuitive Intuition, intuitiver Blick auf den 2 × 200 -200 -Spielen -Blick auf 2 × 200 -200 -Spiele 2 × 200 -Jähriger können 2 × 200 -jährige 2 × 200 -Jährige durchführen. & gt; 300).
Es klingt nach einer Traum -Geschichte „Single CPU Multi -Core“ -Schory wird zur Realität, was bedeutet, dass Programmierer jetzt parallele Programmiermethoden lernen müssen, um diese beiden Kerne zu verwenden.Wenn eine CPU gleichzeitig zwei Programme ausführen kann, muss der Programmierer diese beiden Programme schreiben.Aber kann dies in das Zweifache der Programmvereiterung umgewandelt werden?Wenn nicht, ist die Idee unserer 2 × 200 & GT;Was ist, wenn ein Kern nicht genug Arbeit hat?Mit anderen Worten, nur ein Kern ist sehr beschäftigt, aber der andere Kern macht nichts?In diesem Fall ist es besser, einen einzelnen Kern von 300 MHz zu verwenden.Nach der Einführung von Multi -Core sind viele ähnliche Probleme sehr prominent.

>

In der folgenden Abbildung stellen wir uns Bob und Alice als zwei Goldrauschherren vor, und der Goldrausch erfordert vier Schritte:

  1. Fahren Sie zur Mine

  2. Bergbau

  3. Erz laden

  4. Lagern und poliert

  5. >

    Der gesamte Bergbauprozess besteht aus vier unabhängigen, aber geordneten Aufgaben, und jede Aufgabe dauert 15 Minuten.Wenn Bob und Alice gleichzeitig dauern, können sie in einer Stunde doppelt so hoch sein, dass die Bergbau -Arbeitsbelastung ihre eigenen Autos haben, die Straße teilen und das Polierwerkzeug teilen können.
    Aber wenn eines Tages das Bob -Mining -Fahrzeug ausfällt.Er verließ das Bergbauwagen in der Reparaturwerkstatt und vergaß die Eisenwahl des Bergbauautos.Es war zu spät, um in die Verarbeitungsanlage zurückzukehren, aber sie hatten noch einen Job zu erledigen.Können sie Alice’s Bergbaufahrzeug und einen Griff im Inneren verwenden, können sie immer noch zwei Erz pro Minute auswählen?
    In der oben genannten Analogie sind die vier Schritte des Bergbaus, und Mining -Autos sind die Dateneinheit, die intelligente Verträge ausführen müssen. : Vor der Ausführung von Thread 1 können Sie Thread 2 nicht ausführen.Die Anzahl der geernteten Mineralien bedeutet die Programmleistung.Je höher die Leistung, desto höher ist die Vorteile von Bob und Alice.Sie können sich die Mine als Speicher vorstellen, und Sie können eine Dateneinheit (Goldmine) davon abrufen, so dass der Prozess der Auswahl eines Erzes in Thread 1 dem Lesen von Dateneinheiten aus dem Speicher ähnelt.
    Lassen Sie uns nun sehen, was passieren wird, wenn das Bergbaufahrzeug des Bobs ausfällt.Bob und Alice müssen zunächst ein Auto teilen. Die Anzahl des Erzes, das an poliert gesendet werden kann, wird durch das „maximale Bergbauwagen“ Mineralien „eingeschränkt“.

    Dies ist auch die parallele VM -Natur von Solana, Kern teilen.

    Kernfreigabe

    Solanas endgültiges Designelement ist„Pipeline“WesenWenn die Daten über eine Reihe von Schritten verarbeitet werden müssen und für jeden Schritt unterschiedliche Hardware verantwortlich ist, erscheint der Vorgang der Montagelinien.Die wichtigste Idee hier ist, Daten zu erhalten, die einen seriellen Betrieb erfordern und die Pipeline verwenden, um sie parallel zu machen.Diese Rohre können parallel laufen und jede Pipeline kann verschiedene Transaktionsstapel verarbeiten.Je höher die Verarbeitungsgeschwindigkeit der Hardware (Ladungskapazität von Bergbaufahrzeugen), desto höher ist die Parallelisierung durchgehend.Heute verlangt der Hardwareknoten von Solana, dass seine Knotenbetreiber nur ein Auswahlzentrum haben, was die Effizienz bringt, sich jedoch von der ursprünglichen Absicht der Blockchain abweist.

    Die Datenabhängigkeit ist nicht aufgeteilt (Speicherressourcenfreigabe)

    Nach dem Aufrüsten des Bergbaufahrzeugs, da die Bergbaukapazität nicht Schritt halten kann, ist das Bergbaufahrzeug um ein Vielfaches unzufrieden.Deshalb gab Bob einen hohen Preis für den Kauf von Bergbaumaschinen aus, die die Effizienz des Bergbaus (Ausführungseinheit Upgrade) verbesserten.10 Kopien von Mineralien können in den gleichen 15 Minuten hergestellt werden, aber da die Schleifarbeiten immer noch von Hand erfolgen, wurde das Erz, das durch mehr Zeiteinheiten erzeugt wird, nicht in mehr Gold umgewandelt, und mehr Erz wird durch Drücken gedrückt Lagerhaus; dieses Beispiel zeigt, was beim Zugriff auf Speicher ein begrenzter Faktor für unsere Programmausführungsgeschwindigkeit ist.Wie schnell die Verarbeitungsdaten sind (dh die Kernbetriebsgeschwindigkeit) ist irrelevant.Wir werden durch Datenerfassungsgeschwindigkeit begrenzt.
    Die langsamere E/A -Geschwindigkeit wird uns ernsthaft beunruhigen, da E/A der langsamste Teil des Computers ist und die asynchrone Lektüre der Daten (asynchrones E/A) entscheidend wird.
    Selbst wenn Bob in 15 Minuten 10 Bergbaumaschinen graben kann, ist es immer noch auf 2 Bergbau von 2 Teilen alle 15 Minuten auf 2 Teile begrenzt.Die vorhandenen parallele Blockchain -Systeme sind in zwei Fraktionen unterteilt -pessimistische Ausführung und optimistische Ausführung der von diesem Thema vorgeschlagenen Lösung.
    Ersteres erfordert die Abhängigkeit des Datenstatus vor dem Schreiben und Lesen von Daten.Letzteres macht keine Annahmen und Einschränkungen beim Schreiben von Daten.
    Beispielsweise durch den optimistischen Ausführungsplan von Monad: Die Realität ist, dass der größte Teil der Arbeitsbelastung die Transaktionsausführung ist und die parallelen Szenen nicht wie erwartet sind.Das Bild unten ist der Quellentyp von Gasgebührenverbrauch von Ethereum.Die parallele Logik der optimistischen Ausführung ist in der Web2 -Ära möglich, da ein großer Teil der Web2 -Anwendungsanfragen Zugriff und keine Änderung sind.Das Web3 -Feld ist jedoch genau das Gegenteil.

    >

    Die Schlussfolgerung ist also, dass Monad tatsächlich parallel erreichen kann, aberParallelität gibt, Nicht die 100.000 seiner Propaganda.Zweitens gibt es keine Möglichkeit, diese Obergrenze zu erweitern, indem die virtuelle Maschine erhöht wird. Das heißt, es gibt keine Möglichkeit, ein Multi -Kern -Äquivalent zur Erhöhung der Verarbeitungsfähigkeit zu erreichen.Schließlich ist es ein Problem, das immer spricht, da es keine Schnittdaten gibt, und beantwortet die Anforderungen des Knotens nach der Erweiterung der staatlichen Erweiterung nicht. kann unweigerlich Monads Weg nach Solana sehen.Am Ende ist der wichtigste Punkt, dass eine optimistische Implementierung im Blockchain -Feld nicht parallel geeignet ist.

    >

    Nach dem Bergbau für eine Weile stellte sich Bob sich eine Frage: „Warum sollte ich warten, bis Alice zurückkommt und dann poliert wird? Wenn er poliert ist, kann ich das Auto laden, weil die Zeit für das Laden und Polieren genau das gleiche ist. Wir dürfen es nicht begegnen.Das Wichtigste ist, dass der Bob das Programm neu gestaltet hat, dh die Reihenfolge der Thread -Ausführung, so dass alle Fäden niemals in den Zustand des Wartens auf die Ressourcen der Kernfreigabe (z. B. Bergbauautos und Steinpicks) fallen.
    Dies ist die richtige Version von Parallel. .
    Das Preda -Modell ist der Ausführungsschicht ausgesetzt, indem die Zugriffsstruktur des Vertragscode zum Zeitpunkt des Vertragscodes freigelegt wird, damit die Ausführungsschicht den Rollback der Ergebnisse problemlos planen und vollständig vermeiden kann.Dieser parallele Modus wird auch als asynchron bezeichnet.

    Asynchron

    >

    Da nur parallel asynchron ist, werden zunehmende Fäden zur linearen Verbesserung kommen.Anstatt die Kapazität des Bergbaufahrzeugs wie das vorherige Beispiel zu verbessern, läuft das Bergbaufahrzeug jedoch aufgrund der Rückwärtsabbauausrüstung leer.Die parallele Ausführungsumgebung von Preda hat den wichtigsten Unterschied zwischen Solana -genau wie der Unterschied zwischen Multi -Core -CPU und GPU. Die Verarbeitungseffizienz seines Teilenkerns wird weder ein Engpass der Parallelität sein, noch existiert es, wenn E/A -Lesevorgänge vorhanden sind und schreiben Sie die Datenabhängigkeit und vor allem die Parallelität des Parallelmodells von Porta aufgrund der Zunahme der Threads, die der GPU entsprechen.In der Logik der Blockchain wird die Erhöhung des Threads (VM) den Hardwarebedarf des gesamten Knotens verringern, wodurch die Leistungsverbesserung unter der Prämisse der Gewährleistung der Dezentralisierung erreicht wird.

    >

    >

    Am Ende des Ende dieser parallelen Blockchain.

    Semantischer Ausdruck paralleler Programmiersprache

    Genau wie Nvidia benötigt CUDA und die parallele Blockchain auch neue Programmiersprachen: Preda.Die Entwickler von heutigen intelligenten Verträgen werden in paralleler Semantik ausgedrückt, die die Unterstützung der zugrunde liegenden Multi -Chain -Architektur (Data Sharding oder Ausführung von Scherben oder beides) nicht effektiv verwenden und die effektive parallele Parallele der allgemeinen Smart -Vertrags -Transaktionen nicht erreichen können.Alle Systeme verwenden traditionelle gemeinsame Smart Contract -Programmiersprachen wie Solidität, Bewegung, Rost.Diese Programmiersprachen fehlen die Fähigkeit des parallelen semantischen Ausdrucks, dh nicht in der Lage sind, zwischen parallelen Programmiermodellen und Programmiersprachenexpression wie CUDA oder parallelen Programmiermodellen auf dem Gebiet von High -Performance Computing oder Big zu kontrollieren und den Datenfluss zu kontrollieren und zu kontrollieren. Datenfelder wie CUDA.

    Das Fehlen paralleler Programmiermodelle und Programmiersprachen, die für intelligente Verträge geeignet sind, verursachen die Anwendung und den Algorithmus von serieller bis paralleler Umstrukturierung nicht. Verbessern Sie die Implementierungseffizienz von Anwendungen und den Gesamtdurchsatz des Blockchain -Systems.

    Dieses von Preda vorgeschlagene verteilte Programmiermodell führt durch den Umfang eines programmatischen Vertrags eine fein -granularitätsaufteilung des Vertragsstatus und verteilt die Zerlegung des Transaktionsausführungsflusss durch Funktionsrelais -Verzögerung durch Funktionsrelais -Relais

    Dieses Modell definiert auch das Abteilungsschema des Vertragsstatus über den programmatischen Vertragsbereich und ermöglicht es Entwicklern, entsprechend dem Anwendungszugriffsmodus der Anwendung zu optimieren.Durch asynchrone Funktionsrelais kann der Transaktionsausführungsfluss in die Ausführungsmaschine verschoben werden, auf die zugegriffen werden muss, und die Bewegung des Ausführungsprozesses wird anstelle von Datenbewegungen verschoben.

    Dieses Modell realisiert die verteilte Aufteilung des Vertragsstatus und den Austausch des Transaktionsflusss, ohne dass Entwickler die Details des zugrunde liegenden Multi -Chain -Systems kümmern müssen.Die experimentellen Ergebnisse zeigen, dass das PEDA -Modell auf der 256 -Ausführungsmaschine maximal 18 -fache Durchsatz erzielen kann, was nahe an der theoretischen parallelen Grenze liegt.Durch die Verwendung von Anweisungen für Partition und Austausch verbessert die Parallelität weiter.

    Abschluss

    Das Blockchain -System verwendet traditionell eine Ausführungsmotor (z. B. EVM) einzelner Ordnung, um alle Transaktionen zu verarbeiten, wodurch die Skalierbarkeit eingeschränkt wird.Das Multi -Chain -System führt eine parallele Ausführungsmotor aus, aber jeder Motor übernimmt alle Transaktionen von intelligenten Verträgen und kann auf Vertragsebene keine Skalierbarkeit erzielen.In diesem Artikel wird die wesentliche Kernteilung der von Solana dargestellten permanenten Parallelität erörtert, und warum ist es möglich, dass der von Monad dargestellte Optimismus und Verhalten im realen Blockchain -Anwendungsszenario läuft und amp.Und führte die parallele Ausführungsmaschine von Preda ein.Das Preda -Team schlug ein neuartiges Programmiermodell vor, das einen einzigen intelligenten Vertrag erweitert, indem er den Status von intelligenten Verträgen und die Zuweisung von Transaktionsströmen über den Motor aufteilt.Es führt den Umfang programmierbarer Verträge zur Definition der Aufteilung des Vertragsstatus ein.Jedes Zielfernrohr wird auf einer dedizierten Ausführungsmaschine ausgeführt.Das asynchrone Funktionsrelais wird verwendet, um Transaktionsausführungsströme zu zersetzen, und bewegt ihn beim Aufenthalt an anderer Stelle über den Motor.

    >

    Dies kombiniert die Transaktionslogik mit der Vertragsstatus -Partition, die eine inhärente Parallelität ermöglicht, ohne dass sich Daten überziehen.Sein paralleles Modell hat den Status nicht nur beim Smart-Vertrag gespalten, sondern die Abhängigkeit der Datenfreigabeebene entkoppelt, sondern auch einen Move Multi-Thread-Execut-Engine-Clusterarchitektur.Noch wichtiger ist, dass es innovativ ein neues Programmiermodell Preda auf den Markt gebracht hat, das möglicherweise das letzte Rätsel der Blockchain -Parallele sein kann.

    >

  • Related Posts

    Ein vorprovokativer Tod: Das Geld und die menschliche Natur hinter Jeffys falschem Tod

    Jessy, Bitchain Vision Meme im Währungskreis hat eine neue Erzählung veröffentlicht: The Death Track. Am 6. Mai wurde ein Nachruf über den Tod von Zerebro Jeffy Yu freigelassen.Der Nachruf erregte…

    Binance entfernte aus den Regalen, stieg aber an. Extremer Handel des Alpaka -Händlers

    Jessy, Bitchain Vision Nach dem gesunden Menschenverstand wird ein Token aus dem Austausch entfernt, was eine wichtige negative Nachricht ist. Diese Regel wurde jedoch am 2. Mai auf dem Alpaka…

    Schreibe einen Kommentar

    Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

    You Missed

    9 Wichtige Investitionserfahrungen von Buffett

    • Von jakiro
    • Mai 15, 2025
    • 1 views
    9 Wichtige Investitionserfahrungen von Buffett

    Wall Street Journal: Warum hat Buffett zurückgezogen?Wer ist der nächste Nachfolger?

    • Von jakiro
    • Mai 15, 2025
    • 2 views
    Wall Street Journal: Warum hat Buffett zurückgezogen?Wer ist der nächste Nachfolger?

    Fartcoins Fürze, die durch die Wall Street gelandet sind

    • Von jakiro
    • Mai 14, 2025
    • 5 views
    Fartcoins Fürze, die durch die Wall Street gelandet sind

    Acht narrative Richtungen und verwandte Projekte, die es wert sind, auf die Aufmerksamkeit zu achten

    • Von jakiro
    • Mai 14, 2025
    • 7 views
    Acht narrative Richtungen und verwandte Projekte, die es wert sind, auf die Aufmerksamkeit zu achten

    Bitcoin und Kryptowährungen besetzen die Wall Street

    • Von jakiro
    • Mai 14, 2025
    • 7 views
    Bitcoin und Kryptowährungen besetzen die Wall Street

    Was ist die wahre treibende Kraft hinter Ethereums Aufstieg in dieser Runde?

    • Von jakiro
    • Mai 14, 2025
    • 7 views
    Was ist die wahre treibende Kraft hinter Ethereums Aufstieg in dieser Runde?
    Home
    News
    School
    Search