research

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

Abstract

Σε αυτή τη Τεχνική Αναφορά παρουσιάζουμε τη σχεδίαση ενός πλήρως παραμετροποιημένου πλαισίου λογισμικού προσομοίωσης (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 κ. α

    Similar works