dc.contributor.author | Αλεξόπουλος, Ιωάννης | |
dc.contributor.author | Alexopoulos, Ioannis | en |
dc.date.accessioned | 2024-05-21T10:33:01Z | |
dc.date.available | 2024-05-21T10:33:01Z | |
dc.identifier.uri | https://dspace.lib.ntua.gr/xmlui/handle/123456789/59424 | |
dc.identifier.uri | http://dx.doi.org/10.26240/heal.ntua.27120 | |
dc.rights | Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα | * |
dc.rights.uri | http://creativecommons.org/licenses/by-nc-sa/3.0/gr/ | * |
dc.subject | Παράλληλη Εκτέλεση | el |
dc.subject | Έξυπνα Συμβόλαια | el |
dc.subject | Parallel Execution | en |
dc.subject | Blockchain | en |
dc.subject | Smart Contracts | en |
dc.title | Παράλληλη Εκτέλεση Έξυπνων Συμβολαίων με Επίγνωση του Επιπέδου Συγκρούσεων στο Φόρτο Εργασίας | el |
dc.title | Parallel Smart Contract Execution with Contention Awareness | en |
heal.type | bachelorThesis | |
heal.classification | Distributed Networking | en |
heal.classification | Parallel Execution | en |
heal.language | el | |
heal.language | en | |
heal.access | free | |
heal.recordProvider | ntua | el |
heal.publicationDate | 2023-11-14 | |
heal.abstract | Η εισαγωγή του modular design σε συστήματα blockchain έχει αποφέρει σημαντικές βελτιώσεις στην απόδοση τους. Αυτή η σπονδυλωτή προσέγγιση επικεντρώνεται στο διαχωρισμό των επιπέδων consensus και εκτέλεσης, επιτρέποντας έτσι την ταυτόχρονη διανομή των block στο δίκτυο. Οι παραδοσιακές μέθοδοι για το χειρισμό της παράλληλης εκτέλεσης transactions περιλαμβάνουν είτε την ταξινόμηση των συναλλαγών σε μη συγκρουόμενες ομάδες χρησιμοποιώντας μια απαισιόδοξη προσέγγιση είτε την αισιόδοξη εκτέλεση όλων των συναλλαγών, με διακοπή και εκ νέου εκτέλεση κατά την ανίχνευση σύγκρουσης. Ωστόσο, αυτές οι μέθοδοι δεν αξιολογούνται ούτε είναι κατάλληλες υπό υψηλά ανταγωνιστικά (contended) φορτία εργασίας, κάτι που όπως δείχνουμε είναι ένα σύνηθες φαινόμενο στα υπάρχοντα συστήματα blockchain. Στην παρούσα εργασία, παρουσιάζουμε ένα μηχανισμό παράλληλης εκτέλεσης για έξυπνα συμβόλαια (smart contracts) που συνδυάζει ένα νέο αρχιτεκτονικό μοντέλο, που ονομάζεται Loose Coupling το οποίο αντιμετωπίζει τους περισσότερους υπάρχοντες φορείς επιθέσεων σε συνδυασμό με μια μηχανή εκτέλεσης που λειτουργεί αποτελεσματικά υπό contended workloads. Στο πλαίσιο του Loose Coupling οι κόμβοι δημιουργούν ασύγχρονα μεταδεδομένα (pre-execution) από συναλλαγές εκτός του κρίσιμου μονοπατιού του consensus, γεγονός που επιτρέπει την απόσβεση του κόστους μεταξύ των συμμετεχόντων. Στη συνέχεια, οι κόμβοι χρησιμοποιούν αυτά τα μεταδεδομένα για να εκτελούν αποτελεσματικά τις συναλλαγές παράλληλα. Επιπλέον, μια βελτιστοποίηση που εισαγάγαμε είναι η ελαχιστοποίηση του cache coherence traffic με την δρομολόγηση των συναλλαγών μιας αλυσίδας εξάρτησης στον ίδιο πυρήνα. Τέλος, τα αποτελέσματα αξιολόγησης της μηχανής εκτέλεσής μας δείχνουν ότι υπερτερεί έναντι μιας σύγχρονης προσέγγισης (Block-STM) έως και 1,4x σε contended workloads. | el |
heal.abstract | The introduction of modularity to blockchain system architectures has yielded substantial performance improvements. This modular approach focuses on separating the consensus and execution layers, thereby allowing concurrent block distribution. Traditional methods for handling concurrent transaction processing involve either sorting transactions into non-conflicting batches using a pessimistic approach or optimistically executing all transactions, resorting to aborting and re-executing upon conflict detection. However, these methods are are neither evaluated nor well-suited under highly contended workloads, which as we show is a common occurrence in existing blockchain systems. In this work, we present a parallel-execution engine for smart contracts that combines a novel architectural model called Loose Coupling which mitigates most existing attack vectors and a context-aware execution engine that operates efficiently under highly contended workloads. Under Loose Coupling nodes asynchronously generate metadata (pre-execution) from transactions outside the critical path of consensus which allows the cost to be amortized among participants. Consequently, nodes use this metadata to execute transactions in parallel efficiently. Additionally, one optimization we introduced is to minimize cache coherence traffic by scheduling transactions of a dependency chain on the same core. Benchmark results of our execution engine show that it outperforms a leading approach (Block-STM) by up to 1.4x in contended workloads. | en |
heal.advisorName | Παγουρτζής, Αριστείδης | el |
heal.advisorName | Pagourtzis, Aris | en |
heal.committeeMemberName | Γκούμας, Γεώργιος | el |
heal.committeeMemberName | Kokoris-Kogias, Eleftherios Κόκορης-Κόγιας, Ελευθέριος | el |
heal.committeeMemberName | Παγουρτζής, Αριστείδης | en |
heal.academicPublisher | Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών | el |
heal.academicPublisherID | ntua | |
heal.fullTextAvailability | false |
Οι παρακάτω άδειες σχετίζονται με αυτό το τεκμήριο: