Please use this identifier to cite or link to this item: http://artemis.cslab.ece.ntua.gr:8080/jspui/handle/123456789/16407
Full metadata record
DC FieldValueLanguage
dc.contributor.authorΑθανάσιος Τιντινίδης
dc.date.accessioned2018-07-23T17:58:52Z-
dc.date.available2018-07-23T17:58:52Z-
dc.date.issued2012-9-21
dc.date.submitted2012-9-18
dc.identifier.urihttp://artemis-new.cslab.ece.ntua.gr:8080/jspui/handle/123456789/16407-
dc.description.abstractThe shift towards multi-core architectures poses several challenges in software development as programs should be efficiently parallelized while avoiding related dangers such as deadlocks and bottlenecks. Even in languages such as Erlang, whose concurrency model and functional foundations enable the programmer to avoid most deadlocks and race conditions and build safe, scalable and efficient applications, it is often required to examine the execution in order to detect bottlenecks and other factors that limit the speedup.This thesis describes the architecture, design choices and implementation details of a new profiling tool for Erlang named Schedplot. Schedplot gathers data during the executiontime and then, offline, visualizes the workload of each scheduler (which most of the time maps in a CPU-thread which maps in a core) and the garbage collector. We tried to optimize the graphical representation in order to aid the user’s comprehension of the large volume of data generated by highly scalable Erlang programs run in multicore architectures; one of the main problems encountered was sampling the timeline to provide a zoomed-out view without altering the semantics of the produced representation. Another challenge was storing the produced data sufficiently fast and minimize the overhead caused; according to the evaluation, by using a custom binary encoding, it was reduced to the point ofbeing insignificant. Last, we examined the overhead caused by using erlang:trace/3 concluding that further improvements should be made to improve the scalability and reduce the overall overhead.
dc.languageEnglish
dc.subjectmulticore architectures
dc.subjectparallel
dc.subjectconcurrency
dc.subjecterlang
dc.subjectprofiler
dc.subjectscalability
dc.subjectbottleneck
dc.subjectvisualization
dc.titleΣχεδίαση Και Υλοποίηση Ενός Εργαλείου Ανάλυσης Της Εκτέλεσης Ενός Προγράμματος Σε Πολυπύρηνες Αρχιτεκτονικές Για Τη Γλώσσα Erlang
dc.typeDiploma Thesis
dc.description.pages64
dc.contributor.supervisorΣαγώνας Κωστής
dc.departmentΤομέας Τεχνολογίας Πληροφορικής & Υπολογιστών
dc.organizationΕΜΠ, Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών
Appears in Collections:Διπλωματικές Εργασίες - Theses

Files in This Item:
File SizeFormat 
DT2012-0198.pdf1.6 MBAdobe PDFView/Open


Items in Artemis are protected by copyright, with all rights reserved, unless otherwise indicated.