Στο σχήμα παρουσιάζεται η δομή του
τμήματος που είναι υπεύθυνο για την ανάγνωση των ιχνών από τα
αρχεία που προέκυψαν μετά τη διαδικασία ιχνοληψίας.
Figure: Περιγραφή του τμήματος Ανάγνωσης Ιχνών
Αρχικά κατά τη διαδικασία ανάγνωσης και επιλέγεται το αρχείο από το οποίο θα διαβαστεί το ίχνος. Αυτή η επιλογή εξαρτάται από το ποια ίχνη έχουν ήδη παράγει τα αντίστοιχα PICL γεγονότα. Ενα γεγονός PICL [13, 35] έχει την πιο κάτω γενική μορφή:
<int Event, int Event_Type, int timestamp, int node, int value1, int value2>
Η ανάγνωση
είναι ανεξάρτητη από την αρχιτεκτονική του επεξεργαστή στον οποίο παράχθηκε
το αντίστοιχο ίχνος που πρόκειται να διαβαστεί.
Η τεχνική που εφαρμόστηκε περιγράφεται αναλυτικά στο
Παράρτημα Β. Η βασική ιδέα στηρίζεται στον μετασχηματισμό των ιχνών, κατά
τη διάρκεια της ιχνοληψίας σε Network Byte Order,
σχ., ανεξάρτητα με
το αν ο επεξεργαστής χρησιμοποιεί Little/Big Endian Byte Order
[16].
Συνεπώς κατά τη διαδικασία της ανάγνωσης με την εφαρμογή του
αντίστροφου μετασχηματισμού το ίχνος μετατρέπεται στη Byte Order
μορφή που χρησιμοποιεί ο επεξεργαστής στον οποίο εκτελείται η
διαδικασία της ανάλυσης των ιχνών.
Αυτό είναι ιδιαίτερα σημαντικό για την σωστή επεξεργασία των ιχνών καθώς οι εφαρμογές είναι δυνατόν να εκτελεσθούν σε ανομοιογενείς ομάδες (non homogeneous clusters) επεξεργαστών.
Στο επόμενο βήμα, με βάση το πεδίο Flag του ίχνους επιλέγεται ένας από τους
υποπίνακες του πίνακα ιχνοληψίας
(επικοινωνίας (Communication
Sub Table), κώδικα (Code Sub Table),
μνήμης (Memory Sub Table)).
Στον υποπίνακα αυτόν εκτελείται μια διαδικασία
αναζήτησης με κλειδί το πεδίο Tag του ίχνους και προκύπτει το
επίπεδο ιχνοληψίας που μπορεί να είναι ένα από τα κάτωθι :
Πχ. Η διάκριση της ρουτίνας ένταξης σε μια ομάδα διεργασιών (pvm_grpjoin) από την ρουτίνα αποχώρησης (pvm_grpleave) από μια ομάδα διεργασιών γίνεται με τη σύγκριση του πεδίου Pid με την προκαθορισμένη τιμή default_pid.
Table: Πίνακας αναγνώρισης ρουτινών
ενδοεπικοινωνίας και συγχρονισμού με χρήση των πεδίων του ίχνους
επικοινωνίας.