ArrayTracer: Ένα Εργαλείο για την Ανάλυση της Επίδοσης Παράλληλων Εφαρμογών


This item is provided by the institution :
University of Crete
Repository :
E-Locus Institutional Repository
see the original item page
in the repository's web site and access all digital files if the item*

Semantic enrichment/homogenization by EKT
1995 (EN)
ArrayTracer: Ένα Εργαλείο για την Ανάλυση της Επίδοσης Παράλληλων Εφαρμογών

Σαρειδάκης, Τίτος (EL)
Saridakis, Titos (EN)

Χ. Νικολάου

The ever increasing complexity of parallel application along with the variety of architectures and systems on which parallel applications run, combined with the ever increasing demands of the programmers and users, impose the perpetual evolution of {\em Parallel Performance Analysis Tools} (PPA tools). This evolution must be reflected to improvements in speed, efficiency, and ease of use of PPA tools. Every little detail of those tools should be designed very cautiously and new approaches should be adopted in order for competitive PPA tools to be constructed. {\em ArrayTracer} is a PPA tool. Its basic characteristics are that it functions at source code level, introduces minimum overhead to the running applications, causes minimum perturbation to application's control flow and minimizes the volume of the traces. It collects traces either at the {\em Static Analysis phase} or during the execution of the application and processes them at post-mortem time. During the Static Analysis, all the available information concerning the behavior that the application will show when it executes, is extracted and stored in {\em Static trace-files}. The rest of the information depends on the run-time user input and is captured in traces which are produced during application's execution. In order for the application to produce those traces, {\em instrumentation code} is inserted into application's source code during the Static Analysis phase. Trace produced at run-time are stored in {\em Dynamic trace-files}. The current implementation of {\em ArrayTracer} operates on applications written in {\em Fortran} and using {\em PVM} for interprocess communication. (EL)
Η ολοένα αυξανόμενη πολυπλοκότητα των παράλληλων εφαρμογών και η ποικιλία των αρχιτεκτονικών και συστημάτων στα οποία εκτελούνται, σε συνδυασμό με τις συνεχώς αυξανόμενες απαιτήσεις των χρηστών, οδήγησαν στην εξέλιξη των {\em Εργαλείων για την Ανάλυση της Επίδοσης Παράλληλων Εφαρμογών}. Η εξέλιξη αυτή, ανακλάται σε βελτιώσεις στους τομείς της ταχύτητας, της απόδοσης, και της ευχρηστίας αυτών των εργαλείων. Αυτό το γεγονός έχει σαν συνέπεια η κάθε τους λεπτομέρια να σχεδιάζεται με πολλή προσοχή και νέες προσεγγίσεις να υιοθετούνται για την κατασκευή ανταγωνιστικών εργαλείων. Ο {\em ArrayTracer} είναι ένα εργαλείο για την {\em Ανάλυση της Επίδοσης Παράλληλων Εφαρμογών}. Κύρια χαρακτηριστικά του είναι ότι λειτουργεί σε επίπεδο πηγαίου κώδικα της εφαρμογής, προκαλεί μικρή επιβάρυνση (overhead) στον χρόνο εκτέλεσης της εφαρμογής, επηρεάζει ελάχιστα την ροή ελέγχου (control flow) της παράλληλης εφαρμογής και χρησιμοποιεί ελάχιστο χώρο στον δίσκο για την αποθήκευση των ιχνών. Η λειτουργία του {\em ArrayTracer} στηρίζεται στην επεξεργασία των ιχνών, η οποία λαμβάνει χώρα μετά το πέρας εκτέλεσης της εφαρμογής (post-mortem processing). Τα ίχνη αυτά έχουν συλλεχθεί είτε κατά την διάρκεια της {\em Στατικής Ανάλυσης} του πηγαίου κώδικα, είτε κατά την διάρκεια εκτέλεσης της εφαρμογής. Κατά την διάρκεια της {\em Στατικής Ανάλυσης}, η πληροφορία που είναι διαθέσιμη σχετικά με την συμπεριφορά που θα παρουσιάσει η εφαρμογή κατά την εκτέλεση της, εξάγεται και αποθηκεύεται στα {\em αρχεία στατικών ιχνών}. Η υπόλοιπη πληροφορία που χρειάζεται για την ανάλυση της επίδοσης της εφαρμογής, εξαρτάται από τα δεδομένα εισόδου που θα πάρει η εφαρμογή κατά την διάρκεια εκτέλεσης της (run-time input). Για την παραγωγή αυτής της πληροφορίας, κατά την διάρκεια της {\em Στατικής Ανάλυσης} επιλέγονται κατάλληλα σημεία του πηγαίου κώδικα της εφαρμογής και εισάγεται {\em κώδικας καθοδήγησης} (instrumentation code). Κατά την εκτέλεση της εμπλουτισμένης εφαρμογή παράγονται ίχνη για τα οποία είχε εισαχθεί ο κώδικας καθοδήγησης και αποθηκεύονται στα {\em αρχεία δυναμικών ιχνών}. Η υπάρχουσα υλοποίηση αναλύει την επίδοση παράλληλων εφαρμογών γραμμένων σε γλώσσα προγραμματισμού {\em Fortran}, οι οποίες χρησιμοποιούν την βιβλιοθήκη {\em PVM} για την ενδοεπικοινωνία των διεργασιών τους. (EN)


α) Παράλληλα και Κατανεμημένα Συστήματα, β) Μηχανική Οραση και Ρομποτική

Πανεπιστήμιο Κρήτης (EL)
University of Crete (EN)


*Institutions are responsible for keeping their URLs functional (digital file, item page in repository site)