Περίληψη
Οδεύοντας προς την εποχή των υπερυπολογιστικών συστημάτων με επιδόσεις της τάξης των ExaFlops, οι υπερυπολογιστές θα αποτελούνται από εκατοντάδες εκατομμύρια πυρήνες και διάφορα σύνθετα ετερογενή επεξεργαστικά στοιχεία. Ωστόσο, ήδη σήμερα, οι χρήστες αποτυγχάνουν να αξιοποιήσουν την υπάρχουσα υπολογιστική ισχύ των συστημάτων μεγάλης κλίμακας, όπως συμβαίνει με μεγάλες κατηγορίες παράλληλων εφαρμογών μεγάλης κλίμακας, η επίδοση των οποίων περιορίζεται από φάσεις επικοινωνίας που δεν κλιμακώνουν. Η δυνατότητα πρόβλεψης του χρόνου επικοινωνίας των παράλληλων εφαρμογών μπορεί να βοηθήσει τους χρήστες, τους μεταγλωττιστές, τα συστήματα χρόνου εκτέλεσης και τους χρονοδρομολογητές στη λήψη αποφάσεων για βέλτιστη χρήση πόρων, βελτιστοποιήσεις επιδόσεων, εξοικονόμηση ενέργειας και ελαστικότητα σε σφάλματα. Η παρούσα διατριβή παρουσιάζει μια μεθοδολογία για την μοντελοποίηση της επικοινωνίας των παράλληλων εφαρμογών μεγάλης κλίμακας με στόχο την πρόβλεψη. Ο χρόνος επικοινωνίας εξαρτάται από ένα ...
Οδεύοντας προς την εποχή των υπερυπολογιστικών συστημάτων με επιδόσεις της τάξης των ExaFlops, οι υπερυπολογιστές θα αποτελούνται από εκατοντάδες εκατομμύρια πυρήνες και διάφορα σύνθετα ετερογενή επεξεργαστικά στοιχεία. Ωστόσο, ήδη σήμερα, οι χρήστες αποτυγχάνουν να αξιοποιήσουν την υπάρχουσα υπολογιστική ισχύ των συστημάτων μεγάλης κλίμακας, όπως συμβαίνει με μεγάλες κατηγορίες παράλληλων εφαρμογών μεγάλης κλίμακας, η επίδοση των οποίων περιορίζεται από φάσεις επικοινωνίας που δεν κλιμακώνουν. Η δυνατότητα πρόβλεψης του χρόνου επικοινωνίας των παράλληλων εφαρμογών μπορεί να βοηθήσει τους χρήστες, τους μεταγλωττιστές, τα συστήματα χρόνου εκτέλεσης και τους χρονοδρομολογητές στη λήψη αποφάσεων για βέλτιστη χρήση πόρων, βελτιστοποιήσεις επιδόσεων, εξοικονόμηση ενέργειας και ελαστικότητα σε σφάλματα. Η παρούσα διατριβή παρουσιάζει μια μεθοδολογία για την μοντελοποίηση της επικοινωνίας των παράλληλων εφαρμογών μεγάλης κλίμακας με στόχο την πρόβλεψη. Ο χρόνος επικοινωνίας εξαρτάται από ένα πολύπλοκο σύνολο παραμέτρων, σχετικών με την εφαρμογή, την αρχιτεκτονική του συστήματος, τις ρυθμίσεις χρόνου εκτέλεσης και τις συνθήκες εκτέλεσης. Για την ενσωμάτωση αυτής της πολυπλοκότητας σε ένα μοντέλο πρόβλεψης, ακολουθούμε μια προσέγγιση εμπειρικής μοντελοποίησης. Ορίζουμε χαρακτηριστικά που μπορούν να εξαχθούν από την εφαρμογή, την απεικόνιση των διεργασιών στο σύστημα και το σχήμα κατανομής των υπολογιστικών πόρων, πριν από την εκτέλεση, αναπτύσσουμε ένα πρόγραμμα μετρήσεων αναφοράς για τη σάρωση του χώρου των παραμέτρων, και αναπτύσσουμε μοντέλα πρόβλεψης για τον χρόνο επικοινωνίας σε τρία υπολογιστικά συστήματα μεγάλης κλίμακας, τα συστήματα Vilje, Piz Daint και ARIS, χρησιμοποιώντας διαφορετικά υποσύνολα των χαρακτηριστικών μας, μεθόδους στατιστικής και μηχανικής μάθησης και διάφορα σύνολα εκπαίδευσης. Συγκρίνουμε την πρόβλεψη των μοντέλων μας σε διάφορα σχήματα επικοινωνίας και εφαρμογές, για πολλαπλά μεγέθη προβλημάτων, πολλαπλές εκτελέσεις και διαφορετικές ρυθμίσεις του χρόνου εκτέλεσης, που κυμαίνονται από μερικές δεκάδες έως μερικές χιλιάδες πυρήνες. Η μεθοδολογία μας είναι επιτυχής στην πρόβλεψη του χρόνου επικοινωνίας σε όλα τα σχήματα επικοινωνίας που εξετάζουμε, σε όλα τα συστήματα, και παρουσιάζει υψηλή ακρίβεια πρόβλεψης και καλή προσαρμογή. Τα μοντέλα που προτείνονται αποδίδουν προβλέψεις ακριβώς πριν από την εκτέλεση μίας παράλληλης εφαρμογής και, όπως καταδεικνύουμε σε αυτή τη διατριβή, η υψηλή ακρίβεια τους τα καθιστά κατάλληλα για λήψη αποφάσεων με επίγνωση της επικοινωνίας, προς την κατεύθυνση της βελτιστοποίησης της χρήσης των υπολογιστικών πόρων σε συστήματα μεγάλης κλίμακας.
περισσότερα
Περίληψη σε άλλη γλώσσα
On the path to exascale, supercomputers will grow to host hundreds of million of cores and various complex heterogeneous processing elements, yet even today, users fail to leverage the existing compute power of large-scale systems, as large classes of typical HPC applications are bound by non-scalable communication phases. The ability to predict the communication time of parallel applications can assist users, com- pilers, runtime systems and schedulers with decision-making for optimal resource utilization, performance optimizations, power saving and resilience. This thesis presents a methodology for predictive communication modeling of HPC applications. Communication time depends on a complex set of parameters, relevant to the application, the system architecture, the runtime configuration and runtime conditions. To handle this complexity, we follow an empirical modeling approach. We define features that can be extracted from the application, the process mapping and the allocation sha ...
On the path to exascale, supercomputers will grow to host hundreds of million of cores and various complex heterogeneous processing elements, yet even today, users fail to leverage the existing compute power of large-scale systems, as large classes of typical HPC applications are bound by non-scalable communication phases. The ability to predict the communication time of parallel applications can assist users, com- pilers, runtime systems and schedulers with decision-making for optimal resource utilization, performance optimizations, power saving and resilience. This thesis presents a methodology for predictive communication modeling of HPC applications. Communication time depends on a complex set of parameters, relevant to the application, the system architecture, the runtime configuration and runtime conditions. To handle this complexity, we follow an empirical modeling approach. We define features that can be extracted from the application, the process mapping and the allocation shape ahead of execution, deploy a single benchmark to sweep over the parameter space and develop predictive models for communication time on three large-scale computing systems, Vilje, Piz Daint and ARIS, using different subsets of our features, statistical and machine-learning methods and training sets. We compare the predictive performance of our models on various communication patterns and applications, for multiple problem sizes, executions and runtime configurations, ranging from a few dozen to a few thousand cores. Our methodology is successful across all tested communication patterns on all systems and exhibits high prediction accuracy and goodness-of-fit. Our models are applicable just-in-time ahead of the execution of an HPC application, and, as we demonstrate in this thesis, their high accuracy make them suitable for communication-aware decision making, towards the optimization of resource utilization on large-scale systems.
περισσότερα