71 research outputs found

    Απεικόνιση Αλγορίθμων Στοχαστικής Προσομοίωσης σε Πολυ-Πύρηνη Αρχιτεκτονική NoC

    Get PDF
    Σε αυτή τη Τεχνική Αναφορά παρουσιάζουμε τη σχεδίαση ενός πλήρως παραμετροποιημένου πλαισίου λογισμικού προσομοίωσης (simulation framework) που μπορεί εύκολα να προσαρμοστεί και να παράξει παράλληλο λογισμικό τύπου SPMD (single processor multiple data) για στοχαστικές προσομοιώσεις σε ποικιλία υποκείμενων many-core αλλά και multi-core επεξεργαστών. Πρώτος μας στόχος ήταν η υλοποίηση και δοκιμή παράλληλου λογισμικού στην επεξεργαστική μονάδα Single-chip Cloud Computer (SCC) της Intel [13] μια πειραματική CPU με 48 πυρήνες διατεταγμένους σε δίκτυο τύπου πλέγματος (mesh-type Network On Chip). Ο επεξεργαστής SCC παρέχεται από τα Intel Labs στην επιστημονική κοινότητα ως ένα σύστημα για έρευνα και μελέτη της αναμενόμενης συμπεριφοράς του υλικού και του λογισμικού των νέων many-core CPUs τύπου NoC, με δεκάδες πυρήνες. Επιλέξαμε αυτή τη CPU ως πρώτο στόχο για το λογισμικό μας λόγω της μαζικά παράλληλης αρχιτεκτονικής της, που σε αντίθεση με τα FPGAs και τα GPUs, μπορεί να αξιοποιηθεί χρησιμοποιώντας ευρέως καθιερωμένα μοντέλα και τεχνικές παράλληλου προγραμματισμού. Χρησιμοποιήσαμε το πλαίσιο που αναπτύξαμε για να παραλληλοποιήσουμε τους δημοφιλείς αλγόριθμους FRM-SSA και NRM-SSA έτσι ώστε να μπορεί να εκτελεστεί αποδοτικά στην Intel SCC CPU. Αποδείξαμε ότι σημαντική επιτάχυνση (speedup) μπορεί να επιτευχθεί με αποδοτική χρήση των πολλαπλών πυρήνων που διαθέτει αυτός ο many-cores επεξεργαστής. Aπ'όσο είμαστε σε θέση να γνωρίζουμε, αυτή είναι η πρώτη παράλληλη υλοποίηση SSA αλγορίθμων για επεξεργαστές αρχιτεκτονικής NoC many-cores στη βιβλιογραφία. Η επεκτασιμότητα που παρέχει η αύξηση των πυρήνων μπορεί να καταστήσει τη λύση του παράλληλου λογισμικού ανταγωνιστική σε σχέση με τις λιγότερο ευέλικτες υλοποιήσεις υλικού ειδικού σκοπού, με βάση τα FPGAs και τα GPUs. Επιπλέον, το λογισμικό μας μπορεί εύκολα να επεκταθεί και να συμπεριλάβει και άλλους αλγόριθμους SSA αλλά και να στοχεύσει και σε άλλες αρχιτεκτονικές, όπως π.χ. οι πολυπήρινοι επεξεργαστές κοινόχρηστης μνήμης (shared memory multi-core CPUs), όπως π.χ. ο δημοφιλής Intel core i7 κ. α

    Γραφική αναπαράσταση, επεξεργασία και προσομοίωση αφηρημένου συντακτικού δέντρου

    Get PDF
    Σε αυτή την εργασία παρουσιάζουμε ένα εργαλείο παραγωγής, επεξεργασίας και προσομοίωσης Ενδιάμεσης Αναπαράστασης (Intermediate Representation) σε μορφή Αφηρημένου Συντακτικού Δέντρου (Abstract Syntax Tree - AST). To εργαλείο αποτελείται από τρία κομμάτια: το εμπρόσθιο μέρος, την γραφική αναπαράσταση του συντακτικού δέντρου και τον προσομοιωτή. Το όραμα μας για το εργαλείο είναι η δημιουργία μιας πλατφόρμας μεταγλώττισης και προσομοίωσης σε επίπεδο ΑΣΔ η οποία να προσφέρει αλληλεπίδραση, εποπτικότητα και σχετική, με τα αποτελέσματα, ακρίβεια

    Μετατροπή DATALOG βάσης γνώσης σε OWL οντολογία και αντίστροφα

    Get PDF
    Η Datalog είναι μια γλώσσα που η λογική της βασίζεται σε ένα υποσύνολο της λογικής πρώτης τάξης, στις προτάσεις Horn, και την σχεσιακή άλγεβρα. Η OWL είναι μια οικογένεια γλωσσών που η λογική της βασίζεται στις λογικές περιγραφών και απότελεί ένα σημαντικό χαρακτηριστικό του Σημασιολογικού Ιστού. Και οι δύο γλώσσες χρησιμοποιούνται για την απόθήκευση και την αναζήτηση γνώσης. Ωστόσο οι μεθοδολογίες αυτές έχουν τόσο κοινά σημεία όσο και διαφορές. Στα πλαίσια αυτής της πτυχιακής, θα θεωρήσουμε ένα υποσύνολο και των δύο γλωσσών που μπορεί να μετατραπεί από την μία γλώσσα στην άλλη. Στην συνέχεια θα αναπτύξουμε τις μεθοδολογίες που απαιτούνται για τις μετατροπές αυτές. Κατά την πτυχιακή αυτή, αναπτύχθηκαν και δύο λογισμικά που λαμβάνουν ως είσοδο δεδομένα της μίας μεθοδολογίας και τα μετατρέπουν στην άλλη.Datalog is a language whose logic is based on a subset of first-order logic, Horn Clauses, and relational algebra. OWL is a family of languages whose logic is based on Description Logics and is an important feature of the Semantic Web. Both languages are used for storing and searching for knowledge. However, these methodologies have both similarities and differences. Within this thesis, we will consider a subset of both languages that can be converted from one language to another. We will then develop the methodologies required for these conversions. During this thesis, two applications were developed that take data from one methodology as input and convert it to the other

    HPC Cluster Argo: Συναρμολόγηση, Εγκατάσταση, Συντήρηση, Λειτουργία με το OpenHPC

    Get PDF
    Η παρούσα πτυχιακή εργασία εκπονήθηκε κατά τους μήνες Μάρτιο – Οκτώβριο του 2019, πάνω στο αντικείμενο των Συστημάτων Υψηλής Υπολογιστικής Απόδοσης (HPC Systems) – Υπερυπολογιστών. Τα High Performance Computing Συστήματα, έχουν εφαρμογή σε ένα ευρύ φάσμα εφαρμογών. Η αξία τους είναι φανερά σημαντική και το πεδίο τους ιδιαίτερα ενδιαφέρον, αφού συνδυάζοντας αρχές της παραλληλίας, λύνουν προβλήματα σε συντομότερο και μη απαγορευτικό χρόνο. Στα πλαίσια της παρούσας πτυχιακής εργασίας, έγινε μελέτη στις αρχές των HPC Συστημάτων και έρευνα στην δύναμη τους, το πώς μπορεί να εγκατασταθεί ένα HPC Σύστημα και τέλος στο πώς να διαχειριστεί σωστά για εκμετάλλευση της δύναμης του. Τελικός και σημαντικότερος στόχος της εργασίας αυτής είναι να γίνει εκτενής περιγραφή όλης της διαδικασίας εγκατάστασης ενός HPC Συστήματος, που επέτρεψε την καλύτερη κατανόηση των Συστημάτων και την πρακτική ενασχόληση με αυτά. Συγκεκριμένα, έγινε εγκατάσταση της Argo με χρήση των εργαλείων του ανοικτού πακέτου OpenHPC, αποτελώντας ένα μικρό Cluster που συνδυάζει 10 μηχανές και συνολικά 80 πυρήνες. Παρακάτω γίνεται αρχικά εισαγωγή στα HPC Συστήματα, με αναφορά στον σκοπό τους, τα προβλήματα που λύνουν, τις εφαρμογές τους και την ιστορική τους εξέλιξη. Ακολουθεί παρουσίαση του OpenHPC λογισμικού και των τεχνολογιών που συνδυάζει για την δημιουργία και διαχείριση HPC συστήματος. Τέλος γίνεται εκτενής αναφορά στην διαδικασία ανάπτυξης της Argo, η οποία περιέχει οπτικό υλικό, παρουσίαση προβλημάτων, τρόπους επίλυσης κτλ. Η αναφορά μπορεί να χρησιμοποιηθεί, από κάποιον άπειρο, σαν βοήθεια για ανάπτυξη καινούργιων μικρών, ή και μεγάλων cluster.This dissertation thesis was conducted during March - October 2019, on the subject of High-Performance Computing Systems (HPC Systems) - Supercomputers. High Performance Computing Systems apply to a wide range of applications. Their value is obviously important and their scope is of particular interest, since combining the principles of parallelism solves problems in a shorter and non-prohibitive time. In the course of this thesis, we studied the principles of HPC Systems, researched into their power, how to install an HPC System and finally how to manage it properly to harness its power. The ultimate and most important goal of this work is to provide a detailed description of the entire process of installing an HPC System, which has allowed for a better understanding and practical application of the HPC Systems. Specifically, Argo was installed using the tools of the OpenHPC open source package, constituting a small Cluster combining 10 machines and a total of 80 cores. Below is an introduction to HPC Systems, with reference to their purpose, the problems they solve, their applications and their historical evolution. Then follows a presentation of the OpenHPC software and the technologies it combines for creating and managing an HPC system. Finally, there is an extensive reference to the Argo System development process, which contains visual material, problem presentation, ways to solve, etc. The reference can be used by any inexperienced to help develop new small and/or large cluster
    corecore