Next: Θεωρητική Προσέγγιση στη διαδικασία
Up: ArrayTracer: Ανάλυση και Οπτικοποίηση
Previous: ArrayTracer: Ανάλυση και Οπτικοποίηση
Η παρούσα εργασία αποτελεί την ολοκλήρωση του
ArrayTracer, [10, 33] ενός εργαλείου
ανάλυσης της επίδοσης παράλληλων εφαρμογών. Η υλοποίηση του εργαλείου
χωρίστηκε σε 4 βασικά τμήματα που περιγράφονται περιληπτικά στις
επόμενες παραγράφους. Το τμήμα Ανάλυσης και Οπτικοποίησης
αποτελούν το βασικό κομμάτι της υλοποίησης της εργασίας.
- Στατική Ανάλυση :
Σε αυτό το τμήμα, σχ.
, γίνεται συντακτική
ανάλυση του πηγαίου κώδικα της εφαρμογής και εξάγεται η στατική
πληροφορία που περιέχει. Ακόμα, επιλέγονται κατάλληλα σημεία για την
εισαγωγή εντολών καθοδήγησης, στα οποία εισάγονται κλήσεις σε ρουτίνες
της βιβλιοθήκης ιχνοληψίας του εργαλείου μας. Αυτές οι ρουτίνες έχουν
σκοπό την παραγωγή των ιχνών που σχετίζονται με το περιβάλλον εκτέλεσης
της εφαρμογής (run-time system) και τα οποία δεν μπορούν να παραχθούν
κατά την διάρκεια της στατικής ανάλυσης του πηγαίου κώδικα. - Ιχνοληψία :
Σε αυτό το τμήμα, σχ.
, τα
ίχνη που παράγονται από την εφαρμογή που εκτελείται, συλλέγονται από
ειδικές διεργασίες του ArrayTracer που ονομάζονται (συλλέκτες)
(collector processes). Σε αυτήν την φάση εντάσσεται επίσης και η
προεπεξεργασία των ιχνών που γίνεται μετά το πέρας της εκτέλεσης της
εφαρμογής, προκειμένου να επιταχυνθεί η διαδικασία επεξεργασίας τους
και η εξαγωγή συμπερασμάτων που αφορούν την απόδοση της εφαρμογής. - Ανάλυση :
Κατά την ανάλυση των ιχνών, σχ.
, γίνεται
η επεξεργασία των ιχνών.
Πιο αναλυτικά γίνεται παραγωγή
λογικών χρονοσφραγίδων (timestamps), δημιουργούνται
οι πλήρεις ακολουθίες γεγονότων για κάθε μία από τις διεργασίες,
με κριτήριο τη λογική σειρά εμφάνισης των γεγονότων.
Τα γεγονότα μεταφράζονται σε καθορισμένης μορφής φόρμες
(PICL)
[13] που
χρησιμοποιούνται από το τμήμα οπτικοποίησης.
Τέλος γίνεται λογικός συγκερασμός όλων των ακολουθιών σε μία,
την ακολουθία γεγονότων της παράλληλης
εφαρμογής, με κριτήριο την ταξινόμηση κατά αύξουσα σειρά
χρονοσφραγίδων. - Οπτικοποίηση :
Σαν εργαλείο οπτικοποίησης χρησιμοποιήθηκε το Paragraph,
αφού επεκτάθηκε με γραφικές απεικονίσεις, του τρόπου
προσπέλασης της μνήμης, ομαδοποίησης των διεργασιών, κλήσης
συναρτήσεων και υπορουτινών και τέλος απεικονίσεις που
σχετίζονται με τις αλλαγές στη ροή εκτέλεσης του προγράμματος.
Στο τμήμα αυτό, σχ.
, γίνεται μια
προεπεξεργασία της ακολουθίας των
PICL γεγονότων με σκοπό ορισμένους υπολογισμούς που καθορίζουν
τη μορφή των γραφικών απεικονίσεων. Στη συνέχεια τα γεγονότα
απεικονίζονται σε οθόνες επιλεγμένες από το χρήστη.
Figure: Βασικά δομικά στοιχεία της διαδικασίας καθοδήγησης
και ιχνοληψίας της εφαρμογής από το ArrayTracer και
γραφική αναπαράσταση της ροής δεδομένων ιχνοληψίας (1o επίπεδο λειτουργίας).
Figure: Βασικά δομικά στοιχεία της διαδικασίας ανάλυσης
και οπτικοποίησης της εφαρμογής από το ArrayTracer και
γραφική αναπαράσταση της ροής δεδομένων (2o επίπεδο λειτουργίας).
Συνοπτικά στα επόμενα κεφάλαια θα ακολουθήσουν τα εξής :
Μια συνοπτική περιγραφή των ειδών οπτικοποίησης, του σκοπού
της οπτικοποίησης και ορισμένων βασικών τεχνικών για τη σωστή
σχεδίαση και υλοποίηση ενός εργαλείου οπτικοποίησης.
Μια συνοπτική περιγραφή διαφόρων ευρέως χρησιμοποιούμενων
εργαλείων ανάλυσης και οπτικοποίησης σειριακών και παραλλήλων
εφαρμογών.
Περιγραφή του τρόπου λειτουργίας του τμήματος ανάλυσης των
ιχνών. Περιγραφή της τεχνικής λογικών χρονοσφραγίδων, της τεχνικής
ανίχνευσης ελλειπούς πληροφορίας, καθώς και των επιμέρους τμημάτων
ανάλυσης.
Περιγραφή των επεκτάσεων που έγιναν στο Paragraph, του
τρόπου διασύνδεσης με αυτό.
Μελέτη μιας παράλληλης υλοποίησης του //ELLPACK. Μελέτη
του αλγορίθμου και χαρακτηρισμός φορτίου κατά την εκτέλεση της
εφαρμογής σε ένα παράλληλο σύστημα.
Μελέτη της παραλληλοποιημένης μορφής ένος κλασσικού αλγόριθμου
λείανσης.
Υλοποίησης ενός συστήματος διεπαφής με το χρήστη για χρήση του
εργαλείου μέσω του Παγκόσμιου Ιστού. Μελέτη προβλημάτων ασφάλειας που
προκύπτουν.
zaras@ics.forth.gr