Παράλληλα περιβάλλοντα Προγραμματισμού στον Πυθαγόρα
Παναγιώτης Νάστου
Στο εδάφιο εδώ θα παραθέσουμε όλα τα περιβάλλοντα πραράλληλου προγραμματισμού που έχει στη διάθεση του ο χρήστης. Θεωρώντας ότι σε κάθε slot αντιστοιχεί μια διεργασία τα παράλληλα περιβάλοντα προγραμματισμού που έχει στη διάθεση του ο χρήστης είναι τα εξής:
- orte: Η SGE είναι ο δημιουργός όλων των διεργασιών της παράλληλης εφαρμογής πράγμα που σημαίνει ότι έχει τον πλήρη έλεγχο της παράλληλης εφαρμογής. Σε αυτό το περιβάλλον η ανάθεση των διεργασιών στα slots (processors) που έχουν δοθεί στην εφαρμογή από τον scheduler γίνεται ως εξής: υποθέτοντας ότι το script μας ζητάει N slots για την εφαρμογή τότε ο scheduler ξεκινώντας από την πρώτη κατάλληλη μηχανή δεσμεύει όλα τα διαθέσιμα slots προκειμένου να ικανοποιήσει όλα τα ζητούμενα slots. Αν τα slots της μηχανής δεν επαρκούν για τις ανάγκες της εφαρμογής τότε θα δεσμεύσει slots από τις επόμενες μηχανές μέχρι να ικανοποιηθούν όλα τα ζητούμενα slots. Τέλος, το script δεν είναι αποτελεί μέρος του παράλληλου προγράμματος.
- make: Όμοια με orte μόνο που η ανάθεση των ζητούμενων slots στις διαθέσιμες μηχανές γίνεται με τη μέθοδο round_robin, δηλαδή από όλες τις διαθέσιμες μηχανές δεσμεύεται από ένα slot. Αν αυτά που έχουν δεσμευθεί δεν καλύπτουν τα ζητούμενα τότε η δέσμευση επαναλαμβάνεται μέχρι να καλυφθούν τα ζητούμενα slots.
- mpich: Όμοια με το orte με τη μόνη διαφορά ότι για την αρχικοποίηση του περιβάλλοντος τρέχουν scripts της βιβλιοθήκης mpi έκδοση mpich.
- mpi: Όμοια με το mpich με τη μόνη διαφορά ότι το script αποτελεί μέρος του παράλληλου προγράμματος και η SGE δεν είναι ο δημιουργός όλων των διεργασιών της παράλληλης εφαρμογής πράγμα που σημαίνει ότι έχει τον πλήρη έλεγχο της παράλληλης εφαρμογής. Αυτό σημαίνει ότι την δημιουργία των διεργασιών θα την έχει η εφαρμογή μας.
Από τα παραπάνω τα πιο κατάλληλα είναι τα orte και mpich. Στο επόμενο εδάφιο θα δούμε με ποιο τρόπο ο χρήστης μπορεί να επιλέξει μέσα από το submission script, δηλαδή το script μέσω του οποίου ο χρήστης ζητάει το πόρους για την εφαρμογή του και καθορίζει τις παραμέτρους της εφαρμογής του, ένα από τα παραπάνω παράλληλα περιβάλλοντα.