Show simple item record

dc.contributor.advisorTrancoso, Pedroen
dc.contributor.authorStavrou, Kyriakosen
dc.coverage.spatialΚύπροςel
dc.coverage.spatialCyprusen
dc.creatorStavrou, Kyriakosen
dc.date.accessioned2012-09-21T07:35:41Z
dc.date.accessioned2017-08-03T10:45:28Z
dc.date.available2012-09-21T07:35:41Z
dc.date.available2017-08-03T10:45:28Z
dc.date.issued2009-05
dc.date.submitted2009-05-27
dc.identifier.urihttps://gnosis.library.ucy.ac.cy/handle/7/39567en
dc.descriptionIncludes bibliography (p. 258-267) and index.en
dc.descriptionNumber of sources in the bibliography: 131en
dc.descriptionThesis (Ph. D.) -- University of Cyprus, Faculty of Pure and Applied Sciences,Department of Computer Science, June 2009.en
dc.descriptionThe University of Cyprus Library holds the printed form of the thesis.en
dc.description.abstractΑυτή η δουλειά παρουσιάζει την πλατφόρμα παράλληλης επεξεργασίας Thread Flux (TFlux), ένα πλήρες σύστημα που επιτρέπει εκτέλεση όμοια με αυτή του μοντέλου ροής δεδομένων (αυτή του μοντέλου οδηγούμενου από εξαρτήσεις δεδομένων) χρησιμοποιώντας μη τροποποιημένα συστατικά στοιχεία, δηλαδή μη τροποποιημένο Λειτουργικό Σύστημα, μεταγλωττιστή και υλικό αρχιτεκτονικής συνόλου εντολών που του επιτρέπει να χρησιμοποιείται σε συστήματα της αγοράς. Η πλατφόρμα TFlux παρέχει μια πλήρη λύση, από τα εργαλεία προγραμματισμού μέχρι το υλικό. Το αφαιρετικό επίπεδο που η πλατφόρμα TFlux παρέχει στο χρήστη κρύβει όλες τις λεπτομέρειες της υποκείμενης μηχανής επιτρέποντας σε διάφορες διαμορφώσεις υλικού να υποστηρίζουν το μοντέλο εκτέλεσής με πλήρη διαφάνεια προς τον προγραμματιστή. Ένα συστατικό χαρακτηριστικό της πλατφόρμας TFlux είναι ο χρονοδρομολογητής της που είναι υπεύθυνος για τη δρομολόγηση εργασιών με βάση τις εξαρτήσεις των δεδομένων. Ο χρήστης της πλατφόρμας TFlux μπορεί να αναπτύξει εφαρμογές χρησιμοποιώντας ένα σύνολο απλών αλλά ισχυρών εντολών μεταγλωττιστή. Ο προεπεξεργαστής TFlux μετατρέπει τον κώδικα αυτό σε ένα πρόγραμμα ANSI C που περιέχει όλο το περιβάλλον υποστήριξης για την πλατφόρμα TFlux και όλες τις κλήσεις προς τον χρονοδρομολογητή. Ο κώδικας αυτός μπορεί να μεταγλωττιστεί με οποιοδήποτε μεταγλωττιστή C έχοντας ως αποτέλεσμα ένα αρχείο που είναι εκτελέσιμο από οποιοδήποτε συνηθισμένο λειτουργικό σύστημα σε οποιοδήποτε συνηθισμένο επεξεργαστή. Η σχεδίαση με επίπεδα της πλατφόρμας TFlux έχει δοκιμαστεί με διαφορετικά συστήματα πολυεπεξεργαστών βασισμένα στο Unix. Επιπλέον, αυτή η σχεδίαση επέτρεψε την μεταφορά της πλατφόρμας TFlux σε διαφορετικές μηχανές με ελάχιστο κόπο. Εδώ παρουσιάζουμε δύο μορφές της πλατφόρμας TFlux, τις TFluxHard και TFluxSoft. Η μορφή TFluxHard ο χρονοδρομολογητής είναι μια μονάδα υλικού ενώ για τη μορφή TFluxSoft η λειτουργία του χρονοδρομολογητή προσφέρεται στο επίπεδο του λογισμικού. Έτσι η μορφή TFluxHard μπορεί να εφαρμοστεί σε επεκτάσιμα συστήματα που επιτρέπου προσθήκη μικρών μονάδων υλικού ενώ η μορφή TFluxSoft είναι άμεσα εφαρμόσιμη σε οποιοδήποτε εμπορικό σύστημα. Για την αξιολόγηση των μορφών της πλατφόρμας TFlux, αναπτύξαμε ένα σύνολο προγραμμάτων δοκιμής που αποτελείται από πραγματικές και συνθετικές εφαρμογές. Το σύνολο αυτό έχει επιλεγεί προσεκτικά έτσι ώστε οι εφαρμογές που περιέχει να διαφέρουν τόσο στη δυναμική συμπεριφορά τους όσο και στην πολυπλοκότητα του γράφου ροής δεδομένων. Για τις εφαρμογές της σουίτας αξιολόγησης, τόσο η μορφή TFluxHard όσο και η μορφή TFluxSoft πετυχαίνουν αξιοσημείωτη επίδοση και κλιμάκωση. Παρόλο που για τις περισσότερες εφαρμογές οι δύο μορφές πετυχαίνουν σχεδόν την ίδια επίδοση, η μορφή TFluxHard έχει ένα πλεονέκτημα συγκριτικά με τη μορφή TFluxSoft λόγω του ότι οι λειτουργίες του χρονοδρομολογητή παρέχονται από το υλικό. Επιπρόσθετα, τα πειραματικά αποτελέσματα δείχνουν ότι και οι δύο μορφές μπορούν να αξιοποιήσουν περισσότερο παραλληλισμό για εφαρμογές με πολύπλοκο γράφο ροής δεδομένων συγκριτικά με παραδοσιακά μοντέλα παράλληλου προγραμματισμού. Συνοψίζοντας, η πλατφόρμα TFlux παρέχει υψηλή επίδοση αξιοποιώντας την τεχνική χρονοδρομολόγησης εργασιών που στηρίζεται στη ροή δεδομένων σε εμπορικά συστήματα με την προσθήκη στον πηγαίο κώδικα απλών εντολών μεταγλωττιστή.el
dc.description.abstractThis work presents the Thread Flux (TFlux) Parallel Processing Platform, a complete system that offers an efficient dataflow-like thread-based model of execution, the Data-Driven Multithreading (DDM), to its users using commodity components, i.e. unmodified Operating System, unmodified compiler and unmodified ISA hardware making it applicable to off-the-shelf systems. TFlux provides a complete solution from the programming toolchain to the hardware implementation. The abstraction layer TFlux exports to its users hides all the details of the underlying machine allowing different hardware configurations to support its model of execution transparently to the programmer. One key component of TFlux is the TFlux Scheduler that is responsible for Thread Scheduling based on data-availability. The user of TFlux can develop applications using a set of simple but powerful compiler directives. Then the TFlux-C-Preprocessor converts this code to an ANSI C program that includes the Runtime Support for TFlux and all calls to the system's scheduler. This code can be compiled with a commodity C compiler resulting in a binary that is executable by any commodity Operating System on any commodity CPU processor. The layered design of TFlux has been tested on different Unix-based multiprocessor systems. Moreover, this design enabled the porting of TFlux to different machines with minimum effort. In this work, two TFlux designs are presented: TFluxHard and TFluxSoft. For TFluxHard the Thread Scheduler is a hardware unit whereas for TFluxSoft, the Scheduler's functionality is provided at the software level. As such, TFluxHard is applicable to systems that offer the ability to augment the machine with a small hardware module while TFluxSoft is directly applicable to any existing, off-the-shelf system. To evaluate the TFlux designs, a benchmark suite based on real-life and synthetic applications was developed. The applications in this suite were carefully chosen in order to have different characteristics both in terms of their dynamic behavior and complexity of their dataflow graph. For the applications of the evaluation suite, both TFluxHard and TFluxSoft show remarkable speedup and scalability. Although for most applications both achieve almost the same performance, TFluxHard shows an advantage over TFluxSoft arising from offloading the Scheduler's functionality to the hardware module. In addition, the experimental results also show that both TFluxHard and TFluxSoft are able to exploit more parallelism for applications with complex dependency graphs, compared with traditional parallel programming model approaches. Overall, TFlux is a platform able to deliver high-performance by exploiting dataflow-like Thread scheduling on off-the-shelf systems through augmentation of the source code with simple compiler directives.en
dc.format.extentxix, 267 p. : tables (some col.) ; 30 cm.en
dc.language.isoengen
dc.publisherΠανεπιστήμιο Κύπρου, Σχολή Θετικών και Εφαρμοσμένων Επιστημών / University of Cyprus, Faculty of Pure and Applied Sciences
dc.rightsinfo:eu-repo/semantics/openAccessen
dc.rightsOpen Accessen
dc.subject.lcshComputer architectureen
dc.subject.lcshParallel processing (Electronic computers)en
dc.titleThe TFlux platform: a portable platform for data-driven multithreading on commodity multiprocessor systemsen
dc.title.alternativeΗ Πλατφόρμα Tflux. Μια Φορητή Πλατφόρμα Για Πολυνηματική εκτέλεση οδηγούμενη από τις εξαρτήσεις των δεδομένων σε Πολυεπεξεργαστέςel
dc.typeinfo:eu-repo/semantics/doctoralThesisen
dc.contributor.committeememberΔικαιάκος, Μάριοςel
dc.contributor.committeememberΕυριπίδου, Παρασκευάςel
dc.contributor.committeememberΠαττίχης, Κωνσταντίνοςel
dc.contributor.committeememberTrancoso, Pedroen
dc.contributor.committeememberNatvig, Lasseen
dc.contributor.committeememberUngerer, Theoen
dc.contributor.committeememberDikaiakos, Mariosen
dc.contributor.committeememberEvripidou, Paraskevasen
dc.contributor.committeememberPattichis, Constantinosen
dc.contributor.departmentΠανεπιστήμιο Κύπρου, Σχολή Θετικών και Εφαρμοσμένων Επιστημών, Τμήμα Πληροφορικήςel
dc.contributor.departmentUniversity of Cyprus, Faculty of Pure and Applied Sciences, Department of Computer Scienceen
dc.subject.uncontrolledtermΕΚΤΕΛΕΣΗ ΡΟΗΣ ΔΕΔΟΜΕΝΩΝel
dc.subject.uncontrolledtermΠΑΡΑΛΛΗΛΗ ΕΠΕΞΕΡΓΑΣΙΑel
dc.subject.uncontrolledtermΠΟΛΥΝΗΜΑΤΙΚΗ ΕΚΤΕΛΕΣΗel
dc.subject.uncontrolledtermΕΚΤΕΛΕΣΗ ΟΔΗΓΟΥΜΕΝΗ ΑΠΟ ΕΞΑΡΤΗΣΕΙΣ ΔΕΔΟΜΕΝΩΝel
dc.subject.uncontrolledtermΑΦΑΙΡΕΤΙΚΟΤΗΤΑel
dc.subject.uncontrolledtermDATAFLOW EXECUTIONen
dc.subject.uncontrolledtermPARALLEL PROCESSINGen
dc.subject.uncontrolledtermMULTITHREADINGen
dc.subject.uncontrolledtermDATA DRIVEN EXECUTIONen
dc.subject.uncontrolledtermVIRTUALIZATIONen
dc.identifier.lcQA76.58.S73 2009en
dc.author.facultyΣχολή Θετικών και Εφαρμοσμένων Επιστημών / Faculty of Pure and Applied Sciences
dc.author.departmentΤμήμα Πληροφορικής / Department of Computer Science
dc.type.uhtypeDoctoral Thesisen
dc.rights.embargodate2009-05-27
dc.contributor.orcidTrancoso, Pedro [0000-0002-2776-9253]


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record