heal.abstract |
Οι σύγχρονοι υπερυπολογιστές (high performance computers) εμφανίζονται με τη μορφή συ-
στάδων (clusters) μηχανημάτων. Συνδυάζουν τα επιμέρους resources τους, ώστε να σχηματίσουν μια
οντότητα αυξημένων δυνατοτήτων ικανή να επιλύσει σύνθετα προβλήματα. Η αποδοτική τους χρήση
στηρίζεται στην προσεκτική δρομολόγηση των εργασιών που υποβάλλονται, ώστε να διασφαλιστεί η
βελτίωση της επίδοσης τους, χωρίς να καταναλωθούν αλόγιστα ποσά ενέργειας.
Το σύστημα διαχείρισης πόρων είναι υπεύθυνο για τη χρονοδρομολόγηση των εφαρμογών και την
κατανομή των αναγκαίων πόρων σε αυτές. Και οι δύο διαδικασίες γίνονται με κριτήρια καθορισμένα,
που αφορούν τον αλγόριθμο χρονοδρομολόγησης και την πολιτική διαμοιρασμού πόρων αντίστοιχα.
Στις μέρες μας, υπάρχει ποικιλία εργαλείων διαχείρισης πόρων που μπορούν να ενσωματωθούν σε
υπάρχοντα clusters. Η επιλογή τους είναι στην ευχέρεια των ιδιοκτητών των συστημάτων αυτών.
Αν και πολύτιμοι, οι διαχειριστές πόρων είναι δύσκολα τροποποιήσιμοι. Οι παράμετροι λειτουργίας
τους μπορούν να αλλάξουν μόνο με παρέμβαση των administrators του συστήματος. Το γεγονός αυτό
δυσχεραίνει τους χρήστες που θέλουν να εκτελέσουν τις εφαρμογές τους με τρόπο διαφορετικό από
τον προκαθορισμένο.
Για τον λόγο αυτό, έχει φτιαχτεί μια Python εφαρμογή η οποία εκτελεί χρέη ενός εικονικού
διαχειριστή πόρων που, ρυθμιζόμενο από το χρήστη, αναθέτει Message Passing Interface (MPI)
εργασίες στα μηχανήματα που δεσμεύει. Συγκεκριμένα, η εφαρμογή χρησιμοποιεί μια ουρά εργασιών,
που απαρτίζονται από εφαρμογές Nas Parallel Benchmarks (NPB).
Στόχος της παρούσας εργασίας είναι η επέκταση των δυνατοτήτων της ήδη υπαρχουσας Python
εφαρμογής, δίνοντάς της περισσότερες επιλογές στην δρομολόγηση εφαρμογών εξειδικευμένες για
την κάθε μια από αυτές στην ουρά, όπως επίσης και η επέκταση της συλογής και προβολής των
αποτελεσμάτων για μια καλύτερη εποπτεία της απόδοσης της κάθε εφαρμογής. |
el |