HEAL DSpace

Ταυτοχρονισμός και Παραλληλία σε Erlang, F# και Scala – Μια συγκριτική μελέτη

Αποθετήριο DSpace/Manakin

Εμφάνιση απλής εγγραφής

dc.contributor.advisor Σαγώνας, Κωστής el
dc.contributor.author Ψαρόπουλος, Γεώργιος Τ. el
dc.contributor.author Psaropoulos, Georgios T. en
dc.date.accessioned 2014-02-13T10:13:46Z
dc.date.available 2014-02-13T10:13:46Z
dc.date.copyright 2013-07-22 -
dc.date.issued 2014-02-13
dc.date.submitted 2013-07-22 -
dc.identifier.uri https://dspace.lib.ntua.gr/xmlui/handle/123456789/8774
dc.identifier.uri http://dx.doi.org/10.26240/heal.ntua.12698
dc.description 88 σ. el
dc.description.abstract Η επικράτηση των πολυπύρηνων αρχιτεκτονικών στο σύγχρονο υπολογιστικό γίγνεσθαι επανάφερε το συναρτησιακό προγραμματισμό στο προσκήνιο ως το προφανές πλαίσιο απλοποίησης και αφαίρεσης. Υπάρχουσες συναρτησιακές γλώσσες, όπως η Erlang και η Haskell, υπέστησαν μετατροπές ή επεκτάθηκαν προς εκμετάλλευση του παράλληλου υλικού, ενώ νέες, όπως η F#, η Scala και η Clojure, δημιουργήθηκαν προς διαχείριση της πολυπλοκότητας σε δημοφιλείς εικονικές μηχανές. Οι εν λόγω γλώσσες προσφέρουν ένα ευρύ φάσμα χαρακτηριστικών που σχετίζονται με τον ταυτοχρονισμό και την παραλληλία, ωστόσο μια συστηματική παρουσίαση και σύγκριση αυτών απουσιάζει από τη σύγχρονη βιβλιογραφία. Η συνεισφορά μας συνίσταται σε μια συγκριτική μελέτη των γλωσσών Erlang, F# και Scala ως προς την εκφραστικότητα, την ευκολία χρήσης, την επίδοση και την κλιμακωσιμότητα. Συγκεκριμένα, αξιολογούμε τα μέσα που παρέχουν οι γλώσσες αυτές για παράλληλο μετασχηματισμό συλλογών στοιχείων, ταυτοχρονισμό βασιζόμενο σε futures και το μοντέλο των actors, κάνοντας χρήση τους σε υλοποιήσεις που επιλύουν ένα απλό υπολογιστικό πρόβλημα ονόματι Orbit. Η μελέτη μας καταλήγει στα ακόλουθα βασικά συμπεράσματα για τις γλώσσες που εξετάζουμε ως προς τον ταυτοχρονισμό και την παραλληλία: η Erlang αποτελεί μια ώριμη λύση με καλή κλιμακωσιμότητα αλλά χαμηλές επιδόσεις σε αριθμητικούς υπολογισμούς, η F# παρέχει σταθερή βάση για την αντιμετώπιση των εξεταζόμενων ζητημάτων αλλά κλιμακώνει μέτρια, ενώ η Scala, παρά τα προβλήματα που ανακύπτουν από τον επί του παρόντος γρήγορο ρυθμό εξέλιξής της, συνδυάζει πλήθος σχετικών χαρακτηριστικών με πολύ καλές επιδόσεις και κλιμακωσιμότητα. el
dc.description.abstract In the contemporary reign of multicore computing, functional programming has regained attention as the obvious paradigm to simplify and abstract. Existing functional languages, like Erlang and Haskell, have been modified or extended to exploit parallel hardware, while new ones, like F#, Scala and Clojure, have been created to tackle complexity on popular virtual machines. These languages offer a vast range of features that are related to concurrency and parallelism, yet current literature lacks a systematic demonstration and comparison of those offerings. Our contribution is a comparative investigation of Erlang, F# and Scala in terms of expressiveness, ease-of-use, performance and scalability. In particular we evaluate their language constructs that facilitate parallel collection transformations, future-based concurrency and the actor model, by employing them in implementations that solve a simple computational problem named Orbit. Our study reaches the following conclusions for the examined languages regarding concurrency and parallelism: Erlang is a mature solution with good scalability but low performance in arithmetic computations; F# provides a solid base for handling the examined matters, yet with medium scaling; and Scala, despite the problems that arise from its currently agile evolution pace, combines numerous related features with good performance and scalability. en
dc.description.statementofresponsibility Γεώργιος Τ. Ψαρόπουλος el
dc.language.iso el en
dc.rights ETDRestricted-policy.xml en
dc.subject Ταυτοχρονισμός el
dc.subject Παραλληλία el
dc.subject Συναρτησιακός Προγραμματισμός el
dc.subject Futures en
dc.subject Actors en
dc.subject Concurrency en
dc.subject Parallelism en
dc.subject Functional Programming en
dc.subject Erlang en
dc.subject Scala en
dc.subject F# en
dc.subject Future-Based Concurrency en
dc.subject Actor Model en
dc.title Ταυτοχρονισμός και Παραλληλία σε Erlang, F# και Scala – Μια συγκριτική μελέτη el
dc.title.alternative Concurrency and Parallelism in Erlang, F# and Scala - A comparative study en
dc.type bachelorThesis el (en)
dc.date.accepted 2013-07-18 -
dc.date.modified 2013-07-22 -
dc.contributor.advisorcommitteemember Παπασπύρου, Νικόλαος el
dc.contributor.advisorcommitteemember Ζάχος, Ευστάθιος el
dc.contributor.committeemember Σαγώνας, Κωστής el
dc.contributor.committeemember Παπασπύρου, Νικόλαος el
dc.contributor.committeemember Ζάχος, Ευστάθιος el
dc.contributor.department Εθνικό Μετσόβιο Πολυτεχνείο. Σχολή Ηλεκτρολόγων Μηχανικών & Μηχανικών Η/Υ. el
dc.date.recordmanipulation.recordcreated 2014-02-13 -
dc.date.recordmanipulation.recordmodified 2014-02-13 -


Αρχεία σε αυτό το τεκμήριο

Αυτό το τεκμήριο εμφανίζεται στην ακόλουθη συλλογή(ές)

Εμφάνιση απλής εγγραφής