title: A novel simulator for heterogeneous parallel and distributed systems
title: Ένας καινοτόμος προσομοιωτής για ετερογενή παράλληλα και κατανεμημένα συστήματα

Creators: name: Ταμπουρατζης Νικολαος
Publisher: name: Technical University of Crete
Year: 2018

description: In an era of complex networked heterogeneous systems, simulating independently only parts, components or attributes of a system-under-design is not a viable, accurate or efficient option. By considering each part of a system in an isolated manner, and due to the numerous and highly complicated interactions between the different components, the system optimization capabilities are severely limited. One of the main problems Cyber Physical Systems (CPS) and Highly Parallel Systems (HPS) designers face is the lack of simulation tools and models for system design and analysis. This is mainly because the majority of the existing simulation tools can handle efficiently only parts of a system (e.g. only the processing or only the network). Moreover, most of the existing simulators need extreme amounts of processing resources while faster approaches cannot provide the necessary precision and accuracy. 

On top of that, the growing use of hardware accelerators in both embedded systems (e.g. mobile phones) and high-end systems (e.g. HPC/Cloud systems) triggers an urgent demand for simulation frameworks that can simulate in an integrated manner all the components (i.e. CPUs, Memories, Networks, Hardware Accelerators) of a system-under-design (SuD). By utilizing such systems, software design can proceed in parallel with hardware development which will result in the reduction of the so important time-to-market. The main problem, however, is that such systems do not exist; most current simulators used for modelling the user applications (i.e. full-system CPU/Mem/Peripheral simulators) lack any type of support for tailor-made hardware accelerators. 

In this thesis we present the COSSIM simulation framework which is the first known open-source, high-performance simulator that can handle holistically system-of-systems including processors, peripherals and networks; such an approach is very appealing to both CPS and Highly Parallel Heterogeneous Systems designers and application developers. In the context of COSSIM, a novel intercommunication and synchronization scheme is developed which is fully compliant with the IEEE HLA standard. Our highly integrated approach is further augmented with accurate power estimation that can tap on all system components and perform analysis of the overall system under design something which was unfeasible up to know. 

In addition, we present the ACSIM framework which is the first known open-source, high-performance simulator that can handle holistically system-of-systems including processors, peripherals, networks and accelerators. ACSIM is an extension of the COSSIM simulation framework and it integrates, in a novel and efficient way, a combined system and network simulator with a SystemC simulator, in a transparent to the end-user way. Finally, a sophisticated Eclipse-based GUI has been developed to provide easy simulation set-up, execution and visualization of results.

COSSIM and ACSIM have been evaluated when executing several real-world use cases; the end results demonstrate that the presented approach has up to 99% accuracy in the reported SuD aspects (when compared with the corresponding characteristics measured in the real systems), while the overall simulation time can be accelerated almost linearly with the number of CPUs utilized by the simulator. Finally, the presented ACSIM interconnection scheme between the Processing and the SystemC simulators is orders of magnitude faster than the existing solutions, while our simulation framework can efficiently simulate up to several hundreds of processing nodes with hardware accelerators interconnected together, in a full distributed manner.
description: Σε μια εποχή πολύπλοκων δικτυωμένων ετερογενών συστημάτων, η προσομοίωση ανεξάρτητων τμημάτων, εξαρτημάτων ή χαρακτηριστικών ενός συστήματος υπό-σχεδιασμό δεν είναι μια βιώσιμη, ακριβής ή αποτελεσματική επιλογή. Εξετάζοντας κάθε τμήμα ενός συστήματος με απομονωμένο τρόπο και λόγω των πολυάριθμων και εξαιρετικά πολύπλοκων αλληλεπιδράσεων μεταξύ των διαφόρων τμημάτων, οι δυνατότητες βελτιστοποίησης του συστήματος είναι πολύ περιορισμένες. Ένα από τα κύρια προβλήματα που αντιμετωπίζουν οι σχεδιαστές των Υψηλών Παράλληλων Συστημάτων (HPS) και των Cyber Physical Systems (CPS) είναι η έλλειψη εργαλείων προσομοίωσης και μοντέλων για τον σχεδιασμό και την ανάλυση τους. Αυτό συμβαίνει κυρίως επειδή η πλειοψηφία των υφιστάμενων εργαλείων προσομοίωσης μπορεί να χειριστεί αποτελεσματικά μόνο τμήματα ενός συστήματος (π.χ. μόνο την επεξεργασία ή μόνο το δίκτυο). Επιπλέον, οι περισσότεροι από τους υφιστάμενους προσομοιωτές χρειάζονται αρκετούς πόρους επεξεργασίας, ενώ ταχύτερες προσεγγίσεις δεν μπορούν να παρέχουν την απαιτούμενη ακρίβεια.

Επιπλέον, η αυξανόμενη χρήση επιταχυντών υλικού (hardware accelerators) σε ενσωματωμένα συστήματα (π.χ. κινητά τηλέφωνα) και σε συστήματα υψηλής τεχνολογίας (π.χ. συστήματα HPC / Cloud) ενεργοποιεί μια επείγουσα ζήτηση εργαλείων προσομοίωσης που μπορούν να προσομοιώσουν με ολοκληρωμένο τρόπο όλα τα τμήματα (δηλαδή επεξεργαστές, μνήμες, δίκτυα, επιταχυντές υλικού) ενός συστήματος υπο-σχεδιασμό (SuD). Με τη χρήση τέτοιων συστημάτων, ο σχεδιασμός του λογισμικού μπορεί να προχωρήσει παράλληλα με την ανάπτυξη υλικού, γεγονός που θα έχει ως αποτέλεσμα τη μείωση του τόσο σημαντικού χρόνου παραγωγής/διάθεσης στην την αγορά.  Το κύριο πρόβλημα, ωστόσο, είναι ότι τέτοια συστήματα δεν υπάρχουν, καθώς οι περισσότεροι προσομοιωτές που χρησιμοποιούνται για τη μοντελοποίηση των εφαρμογών των χρηστών (δηλαδή πλήρους συστήματος CPU / Mem / Peripheral) στερούνται οποιασδήποτε υποστήριξης για επιταχυντές υλικού προσαρμοσμένες στις ανάγκες τους.

Στην παρούσα διατριβή παρουσιάζουμε το περιβάλλον (framework) προσομοίωσης COSSIM που είναι ο πρώτος γνωστός προσομοιωτής ανοικτού κώδικα υψηλής απόδοσης που μπορεί να χειριστεί ολιστικά ένα σύστημα-συστημάτων συμπεριλαμβανομένων των επεξεργαστών, περιφερειακών και δικτύων. Μια τέτοια προσέγγιση είναι πολύ ελκυστική τόσο για τους σχεδιαστές HPC όσο και για CPS και τους προγραμματιστές εφαρμογών. Στο πλαίσιο του COSSIM, αναπτύσσεται ένα νέο σύστημα αλληλοεπικοινωνίας και συγχρονισμού το οποίο είναι πλήρως συμβατό με το πρότυπο IEEE HLA. Επιπλέον, η ολοκληρωμένη προσέγγιση μας αυξάνεται περαιτέρω με την υποστήριξη ακριβής εκτίμησης κατανάλωσης ενέργειας που μπορεί να αξιοποιηθεί σε όλα τα στοιχεία του συστήματος και να εκτελέσει ανάλυση του συνολικού συστήματος υπό σχεδιασμό κάτι που ήταν ανέφικτο μέχρι τώρα.

Επιπλέον, παρουσιάζουμε το ACSIM framework που είναι ο πρώτος γνωστός προσομοιωτής ανοικτού κώδικα και υψηλής απόδοσης που μπορεί να χειριστεί ολιστικά ένα σύστημα συστημάτων, συμπεριλαμβανομένων των επεξεργαστών, των περιφερειακών, των δικτύων και των επιταχυντών. Το ACSIM είναι μια επέκταση του COSSIM και ενσωματώνει, με καινοτόμο και αποδοτικό τρόπο, ένα προσομοιωτή συστήματος (processing simulator), δικτύου (network simulator) και ένα προσομοιωτή για επιταχυντές υλικού (SystemC accelerators), με διαφάνεια προς το τελικό χρήστη. Τέλος, αναπτύχθηκε ένα εξελιγμένο γραφικό περιβάλλον (GUI) για εύκολη ρύθμιση της προσομοίωσης, εκτέλεση και απεικόνιση των αποτελεσμάτων.

Το COSSIM και το ACSIM έχουν αξιολογηθεί εκτελώντας ένα μεγάλο αριθμό πραγματικών εφαρμογών. Τα τελικά αποτελέσματα επιβεβαιώνουν ότι η πρωτεινόμενη προσέγγιση έχει ακρίβεια μέχρι 99% (σε σύγκριση με τα πραγματικά συστήματα που μετρήθηκαν), ενώ ο συνολικός χρόνος προσομοίωσης μπορεί να επιταχυνθεί σχεδόν γραμμικά με τον αριθμό επεξεργαστών που χρησιμοποιούνται από τον προσομοιωτή. Τέλος, η παρουσιαζόμενη διασύνδεση μεταξύ των επεξεργαστών επεξεργασίας (Processing) και του συστήματος SystemC (ACSIM) είναι τάξεις μεγέθους αποδοτικότερη από τις υπάρχουσες λύσεις, ενώ το προτεινόμενο framework μπορεί να προσομοιώνει αποτελεσματικά έως και αρκετές εκατοντάδες κόμβων επεξεργασίας με επιταχυντές υλικού διασυνδεδεμένους μεταξύ τους, με πλήρη κατανεμημένο τρόπο.