HEAL DSpace

Ανάπτυξη μεθοδολογίας για δυναμική ανάθεση μνήμης σε πολυπύρηνα επεξεργαστικά συστήματα

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

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

dc.contributor.author Κούτρας, Ιωάννης el
dc.contributor.author Koutras, Ioannis en
dc.date.accessioned 2017-01-17T11:03:41Z
dc.date.available 2017-01-17T11:03:41Z
dc.date.issued 2017-01-17
dc.identifier.uri https://dspace.lib.ntua.gr/xmlui/handle/123456789/44213
dc.identifier.uri http://dx.doi.org/10.26240/heal.ntua.2525
dc.rights Αναφορά Δημιουργού 3.0 Ελλάδα *
dc.rights.uri http://creativecommons.org/licenses/by/3.0/gr/ *
dc.subject Δυναμική διαχείριση μνήμης el
dc.subject Ενσωματωμένα συστήματα el
dc.subject Πολυπύρηνες αρχιτεκτονικές el
dc.subject Επιτάχυνση υλισμικού el
dc.subject Κλιμακωσιμότητα el
dc.subject Προσαρμοστικότητα el
dc.subject Dynamic memory management en
dc.subject Embedded systems en
dc.subject Multi-core architectures en
dc.subject Hardware acceleration en
dc.subject Scalability en
dc.subject Adaptivity en
dc.title Ανάπτυξη μεθοδολογίας για δυναμική ανάθεση μνήμης σε πολυπύρηνα επεξεργαστικά συστήματα el
dc.title Design methodology for dynamic memory allocation in multi-core processing systems en
dc.contributor.department Τομέας Τεχνιλογίας Πληροφορικής & Υπολογιστών el
heal.type doctoralThesis
heal.classification ΕΠΙΣΤΗΜΗ ΥΠΟΛΟΓΙΣΤΩΝ/ΠΛΗΡΟΦΟΡΙΚΗ el
heal.classification Software engineering en
heal.classificationURI http://data.seab.gr/concepts/77de68daecd823babbb58edb1c8e14d7106e83bb
heal.classificationURI http://id.loc.gov/authorities/subjects/sh87007398
heal.language el
heal.access free
heal.recordProvider ntua el
heal.publicationDate 2016-10-12
heal.abstract Η διατριβή αυτή παρουσιάζει μία μεθοδολογία για τη δημιουργία δυναμικών αναθετών μνήμης (dynamic memory allocators) σε μία μεγάλη ποικιλία υπολογιστικών συστημάτων, από ενσωματωμένα συστήματα έως εξυπηρετητές υψηλού φόρτου. Πιστεύουμε ότι οι σημερινές υλοποιήσεις δυναμικών αναθετών μνήμης χαρακτηρίζονται από γενικεύσεις, με αποτέλεσμα να μη χρησιμοποιούν επαρκώς χαρακτηριστικά και λειτουργίες των μοντέρνων υπολογιστικών συστημάτων πάνω στα οποία εκτελούνται. Προτείνουμε ένα πλαίσιο λογισμικού, το οποίο αποκαλούμε dmmlib, μέσα από το οποίο προγραμματιστές εφαρμογών μπορούν να δημιουργήσουν την δική τους βιβλιοθήκη δυναμικής διαχείρισης μνήμης. Επιλέγοντας διαφορετικές οργανώσεις μνήμης, πολιτικές και μηχανισμούς, η παραγόμενη βιβλιοθήκη μπορεί να χρησιμοποιηθεί άμεσα από εφαρμογές χωρίς να είναι αναγκαία η επαναμεταγλώττιση των τελευταίων. Η dmmlib προσφέρει δυνατότητες αλλαγής των παραμέτρων του αναθέτη για την περαιτέρω βελτίωση των επιδόσεων των εφαρμογών, όπως επίσης και την δυνατότητα εκτενούς παρακολούθησης της λειτουργίας της μνήμης.Σε αυτήν την διατριβή, δείχνουμε ότι η dmmlib μπορεί να χρησιμοποιηθεί αποδοτικά τόσο σε ενσωματωμένα συστήματα με περιορισμένο οικοσύστημα λογισμικού όσο και σε εξυπηρετητές γενικού σκοπού και υψηλής υπολογιστικής απόδοσης, ενώ μπορεί να αποτελέσει πεδίο μελέτης και ανάπτυξης πολιτικών και μηχανισμών για δυναμική διαχείριση μνήμης. Ξεκινούμε αναλύοντας τις τρέχουσες προσεγγίσεις στη δυναμική διαχείριση μνήμης, συμπεριλαμβανομένων δημοφιλών αναθετών που χρησιμοποιούνται σε ρεαλιστικές εφαρμογές και λειτουργικά συστήματα, και δείχνουμε πλεονεκτήματα και πιθανές ελλείψεις των αναθετών αυτών σε σύγχρονα συστήματα και εφαρμογές. Στησυνέχεια, παρουσιάζουμε την dmmlib, και δείχνουμε τα κίνητρα και τις αντίστοιχες υλοποιήσεις των πολιτικών και των ευρύτερων μηχανισμών. Δείχνουμε επίσης πιθανούς τρόπους εκτέλεσης των εφαρμογών με την dmmlib και πώς αυτές μπορούν να τροποποιήσουν την dmmlib κατά την εκτέλεσή τους.Παρουσιάζουμε επίσης χρήσεις της dmmlib πάνω σε τρεις διαφορετικές πλατφόρμες. Οι δύο πρώτες αφορούν ενσωματωμένα συστήματα, ενώ η τρίτη συστήματα γενικού σκοπού. Η πρώτη χρησιμοποιεί την P2012, έναν πολυπύρηνο επιταχυντή για ενσωματωμένα συστήματα. Η δυναμική ανάθεση μνήμης στην πλατφόρμα αυτή χρήζει ιδιαίτερης μεταχείρισης, καθώς μία επεξεργαστική μονάδα αναλαμβάνει την διαχείριση των πόρων για μία ομάδα 16 επεξεργαστών. Μεταφέρουμε και αξιολογούμε την dmmlib στην πλατφόρμα αυτή. Τα αποτελέσματά μας δείχνουν ότι αναθέτες που παράγονται από την dmmlib μπορεί να είναι ακόμα και 2,6 φορές πιο γρήγοροι από τον επίσημο αναθέτη της πλατφόρμας, χωρίς να διακινδυνεύει επιπλέον κόστος στη χρήση μνήμης. Στην δεύτερη πλατφόρμα δείχνουμε πώς η κλιμακωσιμότητα του υλικού επηρεάζει την απόδοση των δυναμικών αναθετών μνήμης. Για συστήματα με πολλαπλές επεξεργαστικές μονάδες, πειραματικά αποτελέσματα δείχνουν ότι δυναμικοί αναθέτες μνήμης χαμηλού επιπέδουαδυνατούν να αντεπεξέλθουν της πολυπλοκότητας και υπολείπονται αναθετών πουπαράγονται μέσα από την dmmlib. Τέλος, σε συστήματα γενικού σκοπού δείχνουμε πώς μπορούν να εκτιμηθούν τα μεγέθη μελλοντικών αιτημάτων μνήμης και πώς ο τρέχων αναθέτης μπορεί να χρησιμοποιήσει την πληροφορία αυτή, ώστε να τροποποιηθεί κατά την εκτέλεση της εφαρμογής. Η προσέγγισή μας εισάγει ελάχιστο επιπλέον κόστος, ενώ καταφέρνει να διατηρήσει τον κατακερματισμό της μνήμης στο ελάχιστο. el
heal.abstract This dissertation presents a methodology for creating dynamic memory allocators on computing systems, ranging from embedded systems to high-workload servers. Our thesis is that modern implementations of dynamic memory allocators have become very generic and do not use sufficiently features and functions of the modern computing systems where they are being executed. We propose a framework, that we call dmmlib, through which application developers can create their own library for dynamic memory management. By selecting different memory organizations, policies and mechanisms, the produced library can be used directly by the applications with recompiling them being optional. The dmmlib framework offers also the possibility to re-configure the allocator at the runtime in order to improve further the application performance, as well as the ability to profile extensively the memory usage.In this dissertation, we show that dmmlib can be used efficiently in both embedded systems with limited software ecosystems and general-purposed, high-performance systems, while it could act as a study and development field of policies and mechanisms for dynamic memory management. We begin by evaluating existing approaches in dynamic memory management, including popular allocators that are used in real-world applications and operating systems, and we show the advantages and possible shortcomings in modern applications. Next, we present dmmlib, and we motivate the implementations of policies and the broader mechanisms. We also derive of a possible way of executing and profiling applications against dmmlib and how the firsts can re-configure the latter at their runtime.We present also two examples of dmmlib usage on top of three different platforms. The first two refer to embedded systems, while the last one to general-purposed systems. The very first uses P2012, a many-core accelerator for embedded systems. Dynamic memory management in this platform requires extra treatment, since a single processing unit is responsible for the resource management of a cluster with 16 processing elements. We port and evaluate dmmlib at this platform. Our results show that the allocators produced by dmmlib can be up to 2.6 times faster than the official allocator of the platform, without compromising additional memory space for the metadata. In the next embedded platform, we show how processor scalability affects the performance of dynamic memory allocators. Experimental results show that low-level memory managers may not cope with scalability if the processors exceed a certain number. Finally, our last target platform is more generic and our work aims on predicting the sizes of future requests and how the current allocator can use such information in order to re-configure and improve himself at runtime. Our approach introduces minimal overhead, while it manages to keep memory fragmentation low. en
heal.advisorName Σούντρης, Δημήτριος el
heal.advisorName Soudris, Dimitrios en
heal.committeeMemberName Πεκμεστζή, Κιαμάλ el
heal.committeeMemberName Γκούμας, Γεώργιος el
heal.committeeMemberName Κοζύρης, Νεκτάριος el
heal.committeeMemberName Κοντογιάννης, Κωνσταντίνος el
heal.committeeMemberName Χατζηγεωργίου, Αλέξανδρος el
heal.committeeMemberName Μπίλας, Άγγελος el
heal.committeeMemberName Pekmestzi, Kiamal en
heal.committeeMemberName Goumas, Georgios en
heal.committeeMemberName Koziris, Nectarios en
heal.committeeMemberName Kontogiannis, Konstantinos en
heal.committeeMemberName Chatzigeorgiou, Alexander en
heal.committeeMemberName Bilas, Angelos en
heal.academicPublisher Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών el
heal.academicPublisherID ntua
heal.numberOfPages 129
heal.fullTextAvailability true


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

Οι παρακάτω άδειες σχετίζονται με αυτό το τεκμήριο:

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

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

Αναφορά Δημιουργού 3.0 Ελλάδα Εκτός από όπου ορίζεται κάτι διαφορετικό, αυτή η άδεια περιγράφεται ως Αναφορά Δημιουργού 3.0 Ελλάδα