Περιβάλλον παράλληλου προγραμματισμού για την εκπαίδευση

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Περιβάλλον παράλληλου προγραμματισμού για την εκπαίδευση"

Transcript

1 Κωνσταντίνος Τ. Δελησταύρου & Κωνσταντίνος Γ. Μαργαρίτης Περιβάλλον παράλληλου προγραμματισμού για την εκπαίδευση Οδηγίες εγκατάστασης συστοιχίας υπολογιστών και προγραμματιστικών εργαλείων παράλληλης επεξεργασίας βασισμένων σε λογισμικό ανοιχτού κώδικα Εργαστήριο Παράλληλης Κατανεμημένης Επεξεργασίας Τμήμα Εφαρμοσμένης Πληροφορικής Πανεπιστήμιο Μακεδονίας Θεσσαλονίκη 2011 έκδοση (v 0.59) για το pdplab

2 Περιεχόμενα Μέρος 1 Εγκατάσταση του λειτουργικού συστήματος Ubuntu Linux στους υπολογιστές Εγκατάσταση του λειτουργικού συστήματος... 5 Μέρος 2 Εγκατάσταση μιας απλής συστοιχίας χρησιμοποιώντας την πλατφόρμα διαβίβασης μηνυμάτων MPICH2 σε υπολογιστές με λειτουργικό σύστημα Ubuntu GNU/Linux Ορισμός ονομάτων υπολογιστών κόμβων της συστοιχίας Εγκατάσταση του NFS Επισήμανση για τις διαδρομές αρχείων (και ευρετηρίων) Δημιουργία κοινού χρήστη Εγκατάσταση εξυπηρετητή SSH Εγκατάσταση προγραμματιστικών εργαλείων Επισκόπηση ρυθμίσεων δικτύου Διευθύνσεις IP των υπολογιστών/κόμβων της συστοιχίας υπολογιστών Ρυθμίσεις DNS Στατική διεύθυνση IP σε κάθε κόμβο Ομάδες υπολογιστών (workgroup) Εγκατάσταση Java Πρώτος εναλλακτικός τρόπος εγκατάστασης της Java Δεύτερος εναλλακτικός τρόπος εγκατάστασης της Java Επισήμανση για αλλαγές σε μεταβλητές συστήματος Εγκατάσταση του MPICH Έλεγχος καλής λειτουργίας του MPICH Μέρος 3 Εγκατάσταση του Eclipse, της πλατφόρμας Eclipse PTP και επιπρόσθετων εφαρμογών της, για την ανάπτυξη, την εκτέλεση, την αποσφαλμάτωση και την ανάλυση απόδοσης παράλληλων προγραμμάτων Σχόλιο για τις εκδόσεις των πακέτων Εναλλακτική offline εγκατάσταση ή/και ενημέρωση Ενημέρωση του Eclipse για χρήση κοινόχρηστων plugins Δημιουργία εικονιδίου για το Eclipse Δημιουργία έργου παράλληλου κώδικα MPI στο Eclipse Εκτέλεση παράλληλου προγράμματος MPI μέσα από το Eclipse Αποσφαλμάτωση παράλληλου κώδικα MPI μέσα από το Eclipse Δημιουργία έργου, εκτέλεση και αποσφαλμάτωση κώδικα OpenMP μέσα από το Eclipse Εγκατάσταση του επιπρόσθετου συστήματος TAU για την ανάλυση απόδοσης και την ανίχνευση παράλληλου κώδικα Εγκατάσταση του Apache Derby (JavaDB) Εγκατάσταση του Program Database Toolkit (PDT) Εγκατάσταση του PAPI (προαιρετικά) Εγκατάσταση του TAU (για ανάλυση απόδοσης (δημιουργία προφίλ) κώδικα MPI, αλλά και για ανίχνευση)... 93

3 Έλεγχος της εγκατάστασης του TAU Χρήση του TAU για ανάλυση απόδοσης κώδικα MPI από γραμμή εντολών (Εναλλακτικός έλεγχος καλής λειτουργίας του TAU) Ρύθμιση των PerfExplorer και ParaProf Βασική λειτουργία των PerfExplorer και ParaProf από τη γραμμή εντολών Χρήση του TAU για ανίχνευση κώδικα MPI από τη γραμμή εντολών και οπτικοποίηση με το Jumpshot Εναλλακτικό σύνολο ρυθμίσεων του TAU για το PAPI (εάν έχει εγκατασταθεί το PAPI) Εναλλακτικό σύνολο ρυθμίσεων του TAU για την ανάλυση απόδοσης παράλληλου κώδικα OpenMP Χρήση του TAU για ανάλυση απόδοσης κώδικα OpenMP από γραμμή εντολών (Έλεγχος καλής λειτουργίας του συνόλου ρυθμίσεων του TAU για κώδικα OpenMP) Χρήση του TAU για την ανίχνευση κώδικα OpenMP από γραμμή εντολών (Δεύτερος έλεγχος καλής λειτουργίας του συνόλου ρυθμίσεων του TAU για κώδικα OpenMP) Ενσωμάτωση του TAU στο περιβάλλον του Eclipse Ανάλυση απόδοσης παράλληλου κώδικα MPI χρησιμοποιώντας το TAU μέσα από το Eclipse PTP Ανίχνευση γεγονότων κατά την εκτέλεση παράλληλου κώδικα MPI χρησιμοποιώντας το TAU μέσα από το Eclipse PTP (ισχύει και για παράλληλα προγράμματα OpenMP) Ανάλυση απόδοσης παράλληλου κώδικα OpenMP χρησιμοποιώντας το TAU μέσα από το Eclipse PTP Εγκατάσταση του ISP και του GEM για το Eclipse PTP Εγκατάσταση ISP Βασική χρήση του ISP Εγκατάσταση του GEM Βασική χρήση του GEM (περιγραφεται μια υποθετική τυπική λειτουργία μέχρι o Αlan Humphrey να δώσει μια καλύτερη λύση)

4 Μέρος 1 Εγκατάσταση του λειτουργικού συστήματος Ubuntu Linux στους υπολογιστές. Αναφορές Έστω ότι διαθέτουμε ένα σύνολο διασυνδεμένων κοινών, μη-εξειδικευμένων υπολογιστών τους οποίους θα ορίσουμε να συνεργάζονται ως συστοιχία υπολογιστών τύπου Beowulf. Τα ονόματά τους είναι: n00 αυτού που θα παίζει το ρόλο του συντονιστή της συστοιχίας (master) και n01, n03, n04, των υπολοίπων (worker). Οι worker δεν απαιτείται να διαθέτουν γραφικό περιβάλλον εργασίας (GUI). Τα επιλεγμένα ονόματα κόμβων, ομάδας εργασίας, αλλά και οι διευθύνσεις IP μπορούν να αλλάξουν ανάλογα με τις προδιαγραφές και απαιτήσεις του εκάστοτε περιβάλλοντος. Στον υπολογιστή n00 (με τις αυξημένες δυνατότητες) θα γίνει εγκατάσταση του λειτουργικού με γραφική διεπαφή χρήστη, ενώ στους υπολογιστές n01, n02 και n03 θα εγκατασταθεί το λειτουργικό σύστημα με υποστήριξη διεπαφής γραμμής εντολών μόνο. Ως λειτουργικό σύστημα των υπολογιστών της συστοιχίας έχει επιλεγεί το Linux και η διανομή Ubuntu έκδοση Desktop LTS. H διανομή Ubuntu της εταιρίας Canonical βασίζεται στην Debian και είναι στις μέρες μας μία από τις δημοφιλέστερες ( Έχουμε κατεβάσει την εκδοχή Alternate installer ( καθώς διαθέτει περιβάλλον εγκατάστασης βασισμένο σε κείμενο και όχι σε γραφικό περιβάλλον και επιτρέπει την επιλεκτική εγκατάσταση του λειτουργικού συστήματος ώστε αυτό να διαθέτει γραφική διεπαφή χρήστη ή μόνο διεπαφή γραμμής εντολών.

5 Εγκατάσταση του λειτουργικού συστήματος Για εγκατάσταση του λειτουργικού θα πρέπει πρώτα να γράψουμε το αρχείο εικόνας CD- ROM (.iso) που κατεβάσαμε σε ένα άδειο CD-R/RW ώστε να γίνει η εγκατάσταση από τη συσκευή CD-ROM. Για να μπορεί να γίνει εγκατάσταση του λειτουργικού συστήματος από το CD-ROM, θα πρέπει πριν την εγκατάσταση να γίνει, κατάλληλη ρύθμιση στο BIOS των υπολογιστών ή επιλογή στο Boot Menu ώστε να ανιχνεύουν ως πρώτη συσκευή εκκίνησης του συστήματος τη συσκευή CD-ROM. Ως γλώσσα των συστημάτων της συστοιχία επιλέγεται για τις παρούσες οδηγίες η Αγγλική.

6 Μετά τη γλώσσα του βασικού μενού επιλέγουμε πατώντας το πλήκτρο F4, για το μεν n00 την εγκατάσταση Normal, για τα δε n01, n02, n03 την εγκατάσταση Install a command-line system, και στη συνέχεια το Install Ubuntu από το βασικό μενού.

7 Στη συνέχεια επιλέγουμε ως γλώσσα εργασίας στα νέα μας συστήματα την Αγγλική.

8 Για τη γλώσσα πληκτρολογίου επιλέγουμε other, μετά Europe, μετά Greece. Κατόπιν μπορούμε να χρησιμοποιήσουμε την αυτόματη ανίχνευση ή απαντώντας No να επιλέξουμε Greece από τη λίστα και ως Keyboard layout πάλι Greece εκτός αν

9 χρησιμοποιούμε άλλο τύπο πληκτρολογίου εκτός του κοινού και δημοφιλέστερου πληκτρολογίου των 105 πλήκτρων. Επιλέγουμε και το συνδυασμό πλήκτρων για την αλλαγή πληκτρολογίου από Ελληνικό σε Λατινικό.

10 Είναι προτιμότερο να ρυθμίσουμε χειροκίνητα το τοπικό δίκτυο της συστοιχίας χρησιμοποιώντας στατικές διευθύνσεις IP. Για το λόγο αυτό μπορούμε να έχουμε αποσυνδέσει το καλώδιο της κάρτας δικτύου ή να κλείσουμε το switch ή το router που συνδέει τους υπολογιστές του τοπικού δικτύου ή τον υπολογιστή μας με αυτό, ώστε να μην ανιχνευθούν αυτόματα οι ρυθμίσεις δικτύου πιθανώς από διαθέσιμο DHCP server, αλλά η ανίχνευση να αποτύχει και να ρυθμίσουμε τις παραμέτρους αυτές χειροκίνητα. Προσοχή! Σε αυτή την περίπτωση που τεχνητά έχουμε διακόψει τη σύνδεση του υπολογιστή στο δίκτυο, θα πρέπει μετά την αποτυχία ανίχνευσης DHCP server από το Ubuntu, να αποκαταστήσουμε τη σύνδεση του υπολογιστή στο δίκτυο πριν τις χειροκίνητες ρυθμίσεις δικτύου, ώστε να μην αποτύχουν και αυτές.

11 Τις ρυθμίσεις για το τοπικό δίκτυο (διεύθυνση IP, πύλη, μάσκα υποδικτύου, DNS/name server) γνωρίζει ο διαχειριστής του δικτύου υπολογιστών του εργαστηρίου.

12

13 Κατόπιν δηλώνουμε το όνομα του υπολογιστή και το όνομα του τομέα/ομάδας εργασίας.

14 Στη συνέχεια επιλέγουμε τη σωστή ζώνη ώρας.

15 Στην περίπτωση εγκατάστασης σε υπολογιστή που θα διαθέτει μόνο το Ubuntu, επιλέγουμε τη χρήση όλου του δίσκου για την εγκατάσταση του λειτουργικού συστήματος (Guided - use entire disk) και κατόπιν τον επιθυμητό δίσκο. Προσοχή! Αν εγκαθιστούμε σε υπολογιστή που διαθέτει και άλλα λειτουργικά συστήματα επιλέγουμε κατάλληλα και αν υπάρχει διαχειριστής του, συνεννοούμαστε πριν προχωρήσουμε καθώς υπάρχει κίνδυνος να διαγράψουμε τα υπόλοιπα partition του δίσκου εγκατάστασης.

16 Πριν προχωρήσει σε διαμόρφωση των partition του δίσκου, το Ubuntu εμφανίζει μια οθόνη όπου μας αναλύει τις προτεινόμενες κατατμήσεις. Απαντούμε No για αλλαγές ή Yes για να προχωρήσει στην εφαρμογή των προτεινόμενων αλλαγών. Στο σημείο αυτό έχουμε μια τελευταία ευκαιρία να σώσουμε τα δεδομένα πιθανών άλλων κατατμήσεων του δίσκου και

17 τον κόπο πολλών ωρών εργασίας του διαχειριστή του, οπότε πρέπει να είμαστε σίγουροι για το τι κάνουμε πριν προχωρήσουμε. Στη συνέχεια ορίζουμε έναν χρήστη, δίνοντας το ονοματεπώνυμό του mycluster user, το όνομα χρήστη mcuser και το συνθηματικό του usermc. Στην περίπτωση που το Ubuntu διαμαρτυρηθεί ότι πρόκειται για ασθενές συνθηματικό μπορούμε να το αλλάξουμε ή να το κρατήσουμε.

18

19 Για τους σκοπούς των παρόντων οδηγιών επιλέγουμε να μην κρυπτογραφήσουμε τον προσωπικό φάκελο αρχείων του νέου χρήστη.

20 Στη συνέχεια θα πρέπει να δηλώσουμε αν απαιτείται η χρήση proxy server για την πρόσβαση στον παγκόσμιο ιστό. Αν η εγκατάσταση γίνεται σε υπολογιστές κάποιου ιδρύματος ή εργαστηρίου υπάρχει πιθανότητα να υπάρχει αντίστοιχος διακομιστής. Τις σχετικές πληροφορίες γνωρίζει ο διαχειριστής του δικτύου. Στην περίπτωση εγκατάστασης σε προσωπικό δίκτυο το πιθανότερο είναι να μην χρειάζεται τέτοια ρύθμιση, οπότε αφήνουμε κενό το πεδίο και συνεχίζουμε. Αν αποτύχουν οι ρυθμίσεις του πακέτου apt που ακολουθούν και η εγκατάσταση λογισμικού, τότε πρέπει να επιστρέψουμε στις προηγούμενες οθόνες ρυθμίσεων και να τις διορθώσουμε αν έχουμε κάποιο λάθος ή να ελέγξουμε τη σωστή λειτουργία του δικτύου υπολογιστών μας.

21 Πριν απαντήσουμε στην ερώτηση για την εγγραφή του boot loader στο δίσκο θα πρέπει να βεβαιωθούμε σύμφωνα με τα προηγούμενα ότι ο υπολογιστής δεν διαθέτει άλλα λειτουργικά συστήματα τα οποία πιθανώς να καταστούν απροσπέλαστα με αυτή την ενέργεια. Θα πρέπει να προηγηθεί συνεννόηση με το διαχειριστή του εργαστηρίου/δικτύου υπολογιστών. Στην περίπτωση που είχαμε επιλέξει τη χρήση όλου του δίσκου για την εγκατάσταση του λειτουργικού συστήματος, δεν υπάρχει κάποιος κίνδυνος.

22 Στην ερώτηση για χρήση του Coordinated Universal Time απαντούμε θετικά εκτός αν ο υπολογιστής διαθέτει και άλλο λειτουργικό σύστημα, οπότε θα πρέπει να συνεννοηθούμε με το διαχειριστή για την επιλογή μας. Στο σημείο αυτό ολοκληρώνεται η εγκατάσταση του Ubuntu Linux. Αφαιρέστε το CD-R/RW από τη μονάδα CD-ROM και ακολουθήστε τις οδηγίες για επανεκκίνηση του συστήματος.

23 Καλό είναι μετά την επανεκκίνηση να γίνει ενημέρωση του λειτουργικού συστήματος πριν τα επόμενα βήματα. Στο γραφικό περιβάλλον το πιθανότερο είναι να εμφανιστεί ένα παράθυρο που θα σας προτρέπει να κάνετε ενημέρωση. Σε κάθε περίπτωση μπορείτε να ξεκινήσετε χειροκίνητα τη διαδικασία ενημέρωσης δίνοντας από ένα τερματικό τις εντολές sudo apt-get update sudo apt-get upgrade Μέρος 2 Εγκατάσταση μιας απλής συστοιχίας χρησιμοποιώντας την πλατφόρμα διαβίβασης μηνυμάτων MPICH2 σε υπολογιστές με λειτουργικό σύστημα Ubuntu GNU/Linux. Αναφορές installguide.pdf userguide.pdf

24 Έχουμε τέσσερεις υπολογιστές που τρέχουν Ubuntu Ο n00 διαθέτει γραφικό περιβάλλον εργασίας και οι n01, n03, n04, διαθέτουν περιβάλλον γραμμής εντολών μόνο. Ορισμός ονομάτων υπολογιστών κόμβων της συστοιχίας Το πρώτο βήμα είναι να ορίσουμε τα ονόματα των όλων υπολογιστών της συστοιχίας στο αρχείο /etc/hosts του κάθε υπολογιστή της συστοιχίας n00.mycluster n n01.mycluster n n02.mycluster n n03.mycluster n03 Θα πρέπει το αρχείο /etc/hosts να μοιάζει με αυτό της εικόνας (πιθανώς με άλλες διευθύνσεις IP). Προσοχή! Οι διευθύνσεις loopback (π.χ ) θα πρέπει να παραπέμπουν στο όνομα localhost όπως στην εικόνα και όχι στο όνομα κάποιου υπολογιστή κόμβου της συστοιχίας. Εγκατάσταση του NFS Καθώς τα προγράμματα που εκτελούνται στη συστοιχία μας χρησιμοποιώντας το πρότυπο MPI θα πρέπει να είναι κοινά σε κάθε κόμβο, συνεχίζουμε με την εγκατάσταση του συστήματος NFS ώστε να έχουμε έναν κοινό φάκελο, συγχρονισμένο μεταξύ των κόμβων της

25 συστοιχίας. Έτσι θα τοποθετούμε τον εκτελέσιμο κώδικα στον κοινό φάκελο και αυτός θα είναι διαθέσιμος σε κάθε κόμβο. Δημιουργούμε σε κάθε κόμβο ένα φάκελο για την αποθήκευση των κοινών αρχείων. sudo mkdir /mirror Εγκαθιστούμε μόνο στον κόμβο n00 τον πυρήνα του NFS, απαντώντας Υ όταν ερωτηθούμε sudo apt-get install nfs-kernel-server Εγκαθιστούμε μόνο στους κόμβους n01, n02, n03 το σύστημα συγχρονισμού, απαντώντας Υ όταν ερωτηθούμε sudo aptitude install nfs-common Τροποποιούμε μόνο στο n00 το αρχείο /etc/exports ώστε να περιλαμβάνει την επιπλέον γραμμή /mirror *(rw, sync) Μένει η σύνδεση του φακέλου /mirror του n00 με τους φακέλους /mirror στους υπόλοιπους κόμβους. Για να γίνεται σε κάθε εκκίνηση των υπολογιστών, ενημερώνουμε το αρχείο /etc/fstab των κόμβων n01, n02, n03 προσθέτοντας την ακόλουθη γραμμή n00:/mirror /mirror nfs

26 Στη συνέχεια κάνουμε μια επανεκκίνηση όλων των κόμβων. Είναι προτιμότερο ο n00 να λειτουργεί όταν εκκινούν οι n01, n02, n03, ώστε να βρίσκουν οι αντίστοιχοι clients τον NFS server σε λειτουργία. Επισήμανση για τις διαδρομές αρχείων (και ευρετηρίων) Οι οδηγίες αυτές μπορούν να χρησιμοποιηθούν εξ ολοκλήρου για την εγκατάσταση από την αρχή μιας συστοιχίας υπολογιστών και των σχετικών προγραμματιστικών εργαλείων είτε τμηματικά όταν υπάρχουν ήδη διαθέσιμα λογισμικά των οποίων περιγράφεται η εγκατάσταση. Σε αυτή την περίπτωση και όσο αφορά αρχεία (και ευρετήρια) που δημιουργεί ο χρήστης ή ο διαχειριστής ενός συστήματος και όχι τυποποιημένα αρχεία (και ευρετήρια) του λειτουργικού συστήματος, τα ονόματα των αντίστοιχων διαδρομών μπορεί να διαφέρουν κάπως. Καθώς όμως στο σύνολο των οδηγιών γίνεται προσπάθεια περιγραφής πέρα από τα βήματα και της λογικής των ενεργειών, δεν είναι δύσκολο να γίνουν αντιληπτές οι αντίστοιχες θέσεις των εκάστοτε αναφερόμενων αρχείων (και ευρετηρίων). Δημιουργία κοινού χρήστη Σε κάθε κόμβο ορίζουμε ένα νέο χρήστη με κοινό όνομα το mpiuser και το ίδιο user id, με προσωπικό φάκελο τον /mirror/mpiuser και συνθηματικό το mpiuser για ευκολία (μπορούμε φυσικά να διαλέξουμε κάποιο περισσότερο ασφαλές). sudo adduser home /mirror/mpiuser mpiuser

27 Στο n00 ορίζουμε τον mpiuser ως ιδιοκτήτη του φακέλου /mirror/mpiuser sudo chown mpiuser /mirror/mpiuser Σε κάθε κόμβο δίνουμε στον mpiuser δικαιώματα διαχειριστή. Αυτό μπορεί να γίνει εντάσσοντάς των στην ομάδα διαχειριστών συστήματος του αρχείου /etc/sudoers. Δίνουμε sudo visudo και χρησιμοποιώντας το συντάκτη κειμένου που ενεργοποιείται, προσθέτουμε την ακόλουθη γραμμή στην ενότητα #User privilege specification (συνήθως μετά την αντίστοιχη γραμμή που αφορά το χρήστη root) mpiuser ALL=(ALL) ALL Εγκατάσταση εξυπηρετητή SSH Ακολουθεί η εγκατάσταση ενός SSH server χρησιμοποιώντας το λογισμικό OpenSSH. Αυτός απαιτείται για την ασφαλή επικοινωνία σε επίπεδο shell μεταξύ των κόμβων της συστοιχίας. Εκτελούμε σε κάθε κόμβο την εντολή sudo apt-get install openssh-server Στη συνέχεια ορίζουμε τη σύνδεση μέσω SSH χωρίς τη χρήση συνθηματικού για την επικοινωνία μεταξύ των κόμβων. Εργαζόμαστε μόνο στον κόμβο n00, αφού μέσω του NFS ενημερώνονται αυτόματα τα περιεχόμενα του φακέλου /mirror/mpiuser σε κάθε κόμβο. Στον κόμβο n00 λοιπόν, συνδεόμαστε ως mpiuser. su mpiuser Κατόπιν δίνουμε τις ακόλουθες εντολές για τη δημιουργία των κλειδιών, αφήνοντας τη φράση του συνθηματικού κενή ssh-keygen -t rsa

28 Συνεχίζουμε να εργαζόμαστε στον κόμβο n00 και δίνουμε τις ακόλουθες εντολές για την αντιγραφή των κλειδιών για κάθε κόμβο της συστοιχίας απαντώντας με yes σε κάθε προτροπή για συνέχεια της σύνδεσης. ssh-copy-id i ~/.ssh/id_rsa.pub mpiuser@n01 ssh-copy-id i ~/.ssh/id_rsa.pub mpiuser@n02 ssh-copy-id i ~/.ssh/id_rsa.pub mpiuser@n03 Μπορείτε να δοκιμάσετε τη λειτουργία του SSH δίνοντας εντολές σύνδεσης με άλλους υπολογιστές κόμβους της συστοιχίας. Η σύνδεση θα πρέπει να γίνεται δίχως να χρειάζεται να δώσετε συνθηματικό. ssh n01 hostname ssh n02 date ssh n03 pwd

29 Εγκατάσταση προγραμματιστικών εργαλείων Η συστοιχία εγκαθίσταται για να αποτελέσει τη βάση έρευνας, πειραματισμού και ανάπτυξης ενός διδακτικού και εκπαιδευτικού περιβάλλοντος παράλληλου προγραμματισμού, το οποίο θα χρησιμοποιεί εργαλεία παραγωγικού προσανατολισμού ανοιχτού κώδικα. Ακολουθεί λοιπόν η εγκατάσταση εργαλείων όπως μεταγλωττιστές, μηχανές λειτουργίας και περιβάλλοντα γλωσσών, γραφικά περιβάλλοντα προγραμματισμού, αποσφαλμάτωσης και ελέγχου απόδοσης, τα οποία θα χρησιμοποιούνται κατά τη λειτουργία της συστοιχίας. Καθώς το σύνολο των εργαλείων παραλληλισμού θα βασιστούν στο λογαριασμό χρήστη mpiuser, αποσυνδεόμαστε από mcuser με exit (διαδοχικά αν χρειαστεί μέχρι να εμφανιστεί η προτροπή login) και συνδεόμαστε ως mpiuser. Στο εξής θα εργαζόμαστε ως mpiuser. Ξεκινούμε με την εγκατάσταση των βασικών εργαλείων μεταγλώττισης. Η εγκατάστασή τους θα πρέπει να γίνει σε κάθε κόμβο της συστοιχίας. sudo apt-get install build-essential Ελέγχουμε την εγκατάσταση και την ύπαρξη των κατάλληλων εργαλείων δίνοντας gcc -v gdb -v make -v python -V Είναι πιθανό στους κόμβους n01, n02, n03 να μην έχει εγκατασταθεί το εργαλείο αποσφαλμάτωσης gdb. Σε αυτή την περίπτωση το εγκαθιστούμε δίνοντας sudo apt-get install gdb Επισκόπηση ρυθμίσεων δικτύου Για την αποφυγή προβλημάτων στα επόμενα βήματα των οδηγιών γίνεται μια επισκόπηση των ρυθμίσεων δικτύου για την καλή λειτουργία του δικτύου μεταξύ των υπολογιστών της συστοιχίας. Διευθύνσεις IP των υπολογιστών/κόμβων της συστοιχίας υπολογιστών Αρχείο: /etc/hosts Θα πρέπει σε κάθε κόμβο της συστοιχίας να οριστεί η διεύθυνση IP του, καθώς και κάθε άλλου κόμβου της. Προσοχή: Δεν θα πρέπει σε κανέναν κόμβο να δηλωθεί το όνομα κάποιου ότι έχει διεύθυνση ! localhost n00.mycluster n n01.mycluster n01

30 n02.mycluster n n03.mycluster n03 # The following lines are desirable for IPv6 capable hosts ::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters Ρυθμίσεις DNS Αρχείο: /etc/resolv.conf Θα πρέπει σε κάθε κόμβο της συστοιχίας να οριστεί το όνομα της ομάδας υπολογιστών (workgroup) και ως πρώτος εξυπηρετητής DNS η πύλη (συνήθως ο δρομολογητής) του τοπικού δικτύου προς το διαδίκτυο. Οι υπόλοιποι DNS εξυπηρετητές είναι καλό να οριστούν, αν και δεν είναι απαραίτητοι και οι διευθύνσεις του εξαρτώνται από τον εκάστοτε πάροχο διαδικτυακής πρόσβασης (π.χ. GUNet). search mycluster nameserver nameserver nameserver nameserver nameserver Στατική διεύθυνση IP σε κάθε κόμβο Αρχείο: /etc/network/interfaces Αφορά κάθε υπολογιστή/κόμβο της συστοιχίας. # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback # The primary network interface auto eth0 iface eth0 inet static address netmask network broadcast gateway # dns-* options are implemented by the resolvconf package, if installed

31 dns-nameservers dns-search mycluster Ομάδες υπολογιστών (workgroup) Αρχείο: /etc/networks Αφορά κάθε υπολογιστή/κόμβο της συστοιχίας. default loopback link-local mycluster Εγκατάσταση Java Τα περισσότερα εργαλεία λογισμικού που θα εγκατασταθούν στα επόμενα βήματα απαιτούν την ύπαρξη του περιβάλλοντος Java της Oracle (πρώην Sun). Για το λόγο αυτό παραθέτουμε δύο εναλλακτικούς τρόπους εγκατάστασης του περιβάλλοντος ανάπτυξης και εκτέλεσης εφαρμογών Java της Oracle. Πρώτος εναλλακτικός τρόπος εγκατάστασης της Java Για να γίνει εγκατάσταση της Oracle (πρώην Sun) Java άμεσα από το διαδίκτυο μέσω του αυτοματοποιημένου συστήματος που διαθέτει το Ubuntu ως βασισμένο στο Debian Linux ακολουθούμε την εξής διαδικασία. Αρχικά προσθέτουμε στο σύστημα n00 το σχετικό αποθετήριο λογισμικού. Μετά ενημερώνουμε το αποθετήριο λογισμικού του συστήματος. sudo add-apt-repository "deb $(lsb_release -s -c) partner" sudo apt-get update Κατόπιν εγκαθιστούμε το JDK και το JRE της Sun sudo apt-get install sun-java6-jre sun-java6-jdk Στην ερώτηση αποδοχής των δικαιωμάτων χρήσης απαντούμε θετικα επιλέγοντας με το πλήκτρο TAB και το Enter αρχικά το Ok και κατόπιν το Yes.

32 Τέλος δίνουμε την ακόλουθη εντολή για να ελέγξουμε την έκδοση Java. java -version

33 Με την ευκαιρία εγκαθιστούμε και το σχετικό επιπρόσθετο (plug-in) ώστε να μπορούν να εκτελεστούν εφαρμογές Java και μέσω του περιβάλλοντος λογισμικού πλοήγησης στον παγκόσμιο ιστό. sudo apt-get install sun-java6-plugin Στη συνέχεια μεταβαίνουμε στη διεύθυνση για να επικυρώσουμε την εγκατάσταση του επιπρόσθετου, πατώντας το Verify Java version.

34 Στην περίπτωση που έχουμε εγκατεστημένες περισσότερες από μία εκδόσεις Java, όπως συμβαίνει στην περίπτωσή μας μπορούμε να τις δούμε με την εντολή update-java-alternatives -l και μπορούμε να επιλέξουμε την έκδοση της Sun ως βασική με την ακόλουθη εντολή. sudo update-java-alternatives -s java-6-sun Δεύτερος εναλλακτικός τρόπος εγκατάστασης της Java Στη συνέχεια ανοίγουμε το Firefox (ή άλλο λογισμικό πλοήγησης στον παγκόσμιο ιστό) και μεταβαίνουμε στη διεύθυνση και επιλέγουμε να κατεβάσουμε το JDK ή το JRE ακολουθώντας τις οδηγίες της ιστοσελίδας. Μας ενδιαφέρουν εκδόδεις για Linux και πακέτα/εκτελέσιμα που προορίζονται για τη διανομή Ubuntu ή τη Debian (δηλαδή είτε deb, είτε γενικής χρήσης, αν δεν διευκρινίζεται διαφορετικά - πάντως όχι πακέτα rpm για τη διανομή Red Hat). Εσκεμμένα δεν δίνονται σε αυτό το σημείο οδηγίες βήμα-προς-βήμα, αφού οι ιστοσελίδες συχνά αλλάζουν και αυτό θα οδηγούσε σε σύγχυση. Τον καιρό συγγραφής του παρόντος οδηγού επιλέχτηκε η πλατφόρμα Linux και το πακέτο jdk-6u22-linux-i586.bin (jre-6u22-linux-i586.bin για το JRE αντίστοιχα).

35 Μετά το κατέβασμα το εκτελέσιμο αποθηκεύεται στο φάκελο Downloads μέσα στον προσωπικό φάκελο του mpiuser. Αφού μεταβούμε εκεί, εκτελούμε την εγκατάσταση του JDK cd ~/Downloads/ sh jdk-6u22-linux-i586.bin Στη συνέχεια αντιγράφουμε το φάκελο jdk1.6.0_22 που δημιουργείται, στη θέση /opt, δίνοντας sudo cp -R jdk1.6.0_22/ /opt και ενημερώνουμε στο αρχείο.bashrc τη μεταβλητή PATH για τη θέση των εκτελέσιμων αρχείων της Java στο σύστημά μας, που είναι η /opt/jdk1.6.0_22/bin. vi.bashrc Προσοχή! Για να έχει προτεραιότητα το περιβάλλον Java της Oracle που μόλις εγκαταστήσαμε, έναντι κάποιου ήδη εγκατεστημένου μαζί με το λειτουργικό σύστημα, όπως το OpenJDK στην περίπτωσή μας, θα πρέπει να γραφεί η διαδρομή του Oracle JDK πριν τη διαδρομή /usr/bin στην PATH.

36 Εφαρμόζομε τις αλλαγές δίνοντας..bashrc Η Java θα είναι πλέον διαθέσιμη, οπότε μπορούμε να δώσουμε την ακόλουθη εντολή για να ελέγξουμε την έκδοση της java -version Στην επόμενη εικόνα φαίνεται η προτεραιότητα της μηχανής Java της Oracle που μόλις εγκαταστήσαμε, έναντι της εγκατεστημένης με το λειτουργικό σύστημα μηχανής OpenJDK. Η Java απαιτείται για την εκτέλεση του γραφικού περιβάλλοντος προγραμματισμού Eclipse και ορισμένων από τις επιπρόσθετες εφαρμογές του, οι οποίες θα εκτελούνται μόνο από το n00, οπότε δεν απαιτείται η εγκατάστασή της Java στους υπολογιστές n01, n02, n03, εκτός αν και οι worker διαθέτουν γραφικό περιβάλλον εργασίας και θέλουμε να εκτελούνται το Eclipse και τα επιπρόσθετα εργαλεία του και σε αυτούς τοπικά. Επισήμανση για αλλαγές σε μεταβλητές συστήματος Αναφορά Αλλαγές στη μεταβλητή PATH ή ο ορισμός νέων μεταβλητών αφορούν το χρήστη mpiuser, και θα μπορούσαν να γίνονται στο αρχείο /etc/environment όπου επηρεάζουν όλο το σύστημα. Προτιμάται όμως οι αλλαγές να γίνονται στο αρχείο.bashrc του προσωπικού ευρετηρίου εργασίας του χρήστη mpiuser, όπου αφορούν μόνο το περιβάλλον εργασίας του συγκεκριμένου χρήστη.

37 Ιδιαίτερη προσοχή πρέπει θα δοθεί στην εφαρμογή αλλαγών σε συστήματα που εξυπηρετούν και άλλους χρήστες ή και άλλους σκοπούς πέραν της συστοιχίας των οδηγιών αυτών. Τότε οι αλλαγές θα πρέπει να γίνονται σε συνεννόηση με το διαχειριστή του συστήματος. Τυχόν αλλαγές στην τιμή της μεταβλητής PATH ή ενεργοποίηση νέων μεταβλητών που προστέθηκαν στο αρχείο.bashrc μπορούν να εφαρμοστούν άμεσα σε περιβάλλοντα εργασίας όπου δεν επιτρέπονται συχνές επανεκκινήσεις, δίνοντας την εντολή..bashrc Εγκατάσταση του MPICH2 Ακολουθεί η εγκατάσταση του πλαισίου παράλληλου προγραμματισμού MPICH2. Επιλέγουμε να το εγκαταστήσουμε από τον πηγαίο του κώδικα. Επισκεπτόμαστε τον ιστότοπο απ όπου επιλέγουμε το σύνδεσμο MPICH2 Source (UNIX and Windows) για να κατεβάσουμε την τελευταία έκδοση του MPICH2. Αν η τελευταία έκδοση είναι έστω η mpich tar.gr, μπορούμε να την κατεβάσουμε και από τη γραμμή εντολών δίνοντας

38 wget \ /1.3.2p1/mpich tar.gz Μεταβαίνουμε στον φάκελο (έστω Downloads) όπου βρίσκεται το αρχείο mpich tar.gz και το αποσυμπιέζουμε cd ~/Downloads/ tar xfz mpich tar.gz Αυτό δημιουργεί το φάκελο mpich τον οποίο μετακινούμε στη θέση /mirror/mpiuser και μετονομάζουμε σε mpich source mv mpich /mirror/mpiuser cd /mirror/mpiuser mv mpich mpich source Θα εγκαταστήσουμε το MPICH2 στο φάκελο /mirror/mpiuser/mpich2-install οπότε τον δημιουργούμε και αφού μεταβούμε στον φάκελο με τον πηγαίο κώδικα, εκτελούμε τη ρύθμιση του MPICH2, δημιουργούμε την εγκατάσταση και εγκαθιστούμε το λογισμικό. mkdir mpich2-install cd mpich source./configure -prefix=/mirror/mpich p1-install/ --with-pm=mpd make make install Μετά την εγκατάσταση ενημερώνουμε τη μεταβλητή PATH στο αρχείο.bashrc προσθέτοντας τη διαδρομή των προγραμμάτων του MPICH2. Εφαρμόζουμε τις αλλαγές με..bashrc Έπειτα δημιουργούμε στον προσωπικό φάκελο του χρήστη mpiuser το αρχείο με όνομα.mpd.conf για την αποθήκευση του συνθηματικού που απαιτεί για την λειτουργία του το MPICH2. Δημιουργούμε επίσης στο προσωπικό φάκελο του χρήστη mpiuser και το αρχείο mpd.hosts όπου καταγράφουμε (ένα σε κάθε γραμμή) τα ονόματα των υπολογιστών κόμβων της συστοιχίας. Μπορούμε να χρησιμοποιήσουμε και πλήρη ονόματα που να περιλαμβάνουν και το όνομα του τομέα δικτύου ή της ομάδας εργασίας. Με αυτές τις ενέργειες ολοκληρώνεται η εγκατάσταση του MPICH2 στον κοινόχρηστο μέσω του NFS φάκελο των κόμβων της συστοιχίας. Για να λειτουργούν όμως σωστά τα εργαλεία του σε κάθε κόμβο, αρκεί να προστεθεί η διαδρομή των προγραμμάτων του MPICH2 στη μεταβλητή PATH των κόμβων n01, n02, n03, όπως έγινε στον n00. Έλεγχος καλής λειτουργίας του MPICH2 Μπορούμε να ελέγξουμε την εγκατάσταση με ορισμένες εντολές όπως οι επόμενες που δίνουν τη διαδρομή που βρίσκονται τα αντίστοιχα εργαλεία του MPICH2.

39 which mpd which mpicc which mpiexec which mpirun Ο διαχειριστής διεργασιών που επιλέξαμε να εγκαταστήσουμε με το MPICH2 είναι ο MPD. Για να ξεκινήσει πρέπει να δώσουμε την ακόλουθη εντολή στην οποία περιγράφεται το πλήθος των κόμβων που θέλουμε να χρησιμοποιήσουμε από τη συστοιχία μας, για την εκτέλεση παράλληλων προγραμμάτων και το αρχείο που είναι αποθηκευμένα τα ονόματα των κόμβων. mpdboot -n 4 -f mpd.hosts Ελέγχουμε την ένταξη και λειτουργία του διαχειριστή εργασιών στους κόμβους της συστοιχίας και το χρόνο κυκλικής μετάδοσης ενός μηνύματος δίνοντας mpdtrace mpdringtest Έχουμε πλέον στη διάθεσή μας μια συστοιχία τεσσάρων υπολογιστών που μπορεί να χρησιμοποιηθεί για την ανάπτυξη παράλληλων προγραμμάτων χρησιμοποιώντας το πρότυπο MPI.

40 Μέρος 3 Εγκατάσταση του Eclipse, της πλατφόρμας Eclipse PTP και επιπρόσθετων εφαρμογών της, για την ανάπτυξη, την εκτέλεση, την αποσφαλμάτωση και την ανάλυση απόδοσης παράλληλων προγραμμάτων. Αναφορές Το Eclipse PTP είναι μια πλατφόρμα εργαλείων παραλληλισμού που βασίζεται στην πλατφόρμα εμπλουτισμένων μέσων Eclipse του ομώνυμου ιδρύματος. Το Eclipse PTP προσφέρει δυνατότητες ανάπτυξης, εκτέλεσης και αποσφαλμάτωσης παράλληλων προγραμμάτων. Επιπλέον υποστηρίζει την ενσωμάτωση και άλλων εργαλείων στο περιβάλλον του, με τη μορφή επιπρόσθετων εφαρμογών. Στις παρούσες οδηγίες θα εγκαταστήσουμε αρχικά το Eclipse, μετά την πλατφόρμα Eclipse PTP και τέλος μια σειρά από επιπρόσθετα για την ανάλυση του κώδικα και της απόδοσης παράλληλων προγραμμάτων. Το πρώτο βήμα μας είναι να μεταβούμε στον ιστότοπο του Eclipse απ όπου θα κατεβάσουμε την έκδοση Classic ( για λειτουργικό σύστημα Linux 32bit.

41 Μπορούμε εναλλακτικά να χρησιμοποιήσουμε την εντολή wget για να κατεβάσουμε από τη γραμμή εντολών το επιθυμητό πακέτο στο τρέχον ευρετήριο εργασίας. Το πακέτο αποθηκεύεται ως /mirror/mpiuser/downloads/eclipse-sdk linux-gtk.tar.gz. Το αποσυμπιέζουμε (με δεξί κλικ, Extract Here) και το αντιγράφουμε στο φάκελο /opt/eclipse. sudo mv eclipse /opt

42 Μεταβαίνουμε στο φάκελο /opt/eclipse και εκτελούμε το Eclipse cd /opt/eclipse./eclipse & Κατά την εκκίνηση το Eclipse μας ζητά να ορίσουμε το φάκελο του Workspace. Αν δεν θέλουμε να ερωτηθούμε στο μέλλον ενεργοποιούμε το Use this as the default and do not ask again, κάτι το οποίο δεν προτείνεται τουλάχιστον για αρχάριους χρήστες ή όταν θέλουμε να δοκιμάζουμε διαφορετικές ρυθμίσεις. Αφήνουμε για την ώρα την προεπιλεγμένη διαδρομή και συνεχίζουμε πατώντας το πλήκτρο ΟΚ. Μόλις φορτωθεί το περιβάλλον εργασίας του Eclipse, επιλέγουμε από τη γραμμή μενού, το Help, Install New Software

43 Στο παράθυρο διαλόγου που εμφανίζεται επιλέγουμε για το πεδίο Work with την τιμή Helios_-_http://download.eclipse.org/releases/helios από την αναδιπλούμενη λίστα ώστε να προσπελάσουμε το αποθετήριο της έκδοσης Helios η οποία τον καιρό συγγραφής των οδηγιών είναι η τελευταία. Μετά από λίγο και εφόσον υπάρχει τη δεδομένη στιγμή σύνδεση στο διαδίκτυο, αναπτύσσεται στην περιοχή πάνω από τα πλήκτρα Select All και Deselect All η λίστα των διαθέσιμων πακέτων επιπρόσθετων εφαρμογών που περιλαμβάνονται στην έκδοση Helios του περιβάλλοντος Eclipse.

44 Μας ενδιαφέρει να εγκαταστήσουμε σε πρώτη φάση το πακέτο Eclipse PTP και το Eclipse CDT που είναι προαπαιτούμενο για το Eclipse PTP ώστε να μπορούμε να δημιουργούμε project παράλληλου κώδικα και να τα εκτελούμε στην τοπική μας συστοιχία υπολογιστών. Επιλέγουμε από τα Programming Languages το C/C++ Development Tools και από τα General Purpose Tools το Parallel Tools Platform (PTP) End-User Runtime. Μπορούμε αν θέλουμε να δώσουμε κάποια λέξη κλειδί στο πλαίσιο κειμένου που βρίσκεται πάνω από τη λίστα πακέτων ώστε να εφαρμοστεί φίλτρο και να βλέπουμε στην περιοχή της λίστας μόνο τα πακέτα που ταιριάζουν. Στη στήλη Version μπορούμε να δούμε την έκδοση κάθε πακέτου. Είναι σημαντικό να είμαστε γνώστες της έκδοσης κάθε λογισμικού που εγκαθιστούμε στο Eclipse.

45

46 Το Eclipse διαθέτει και ένα σύνολο επιπρόσθετων που βασίζονται στο PTP. Κάποια από αυτά θα τα εγκαταστήσουμε αργότερα. Συνεχίζουμε πατώντας το Next και εμφανίζεται η καρτέλα ανασκόπησης των προς εγκατάσταση λογισμικών.

47 Πατούμε το Next και εμφανίζεται η καρτέλα ανασκόπησης των αδειών χρήσης των προς εγκατάσταση λογισμικών. Εδώ πρέπει να επιλέξουμε ότι συμφωνούμε για να ενεργοποιηθεί το πλήκτρο Finish που θα ξεκινήσει την εγκατάσταση. Επιλέγουμε λοιπόν το I accept the terms of the license agreement και πατούμε το Finish.

48 Η διαδικασία ξεκινά με κατέβασμα των απαιτούμενων αρχείων από το διαδίκτυο και την εγκατάστασή τους στη συνέχεια στο τοπικό σύστημα αρχείων του n00.

49 Μετά από λίγο (η αναμονή εξαρτάται από την ταχύτητα μεταφόρτωσης από το διαδίκτυο) ολοκληρώνεται η εγκατάσταση και προχωρούμε σε επανεκκίνηση του Eclipse. Μετά την επανεκκίνηση του Eclipse, η αρχική οθόνη δηλώνει την εγκατάσταση του Eclipse PTP. Είμαστε πλέον σε θέση να προγραμματίσουμε παράλληλες εφαρμογές χρησιμοποιώντας το πρότυπο MPI παράλληλου προγραμματισμού με μεταβίβαση μηνυμάτων, μέσω του γραφικού περιβάλλοντος του Eclipse PTP.

50 Επιλέγοντας το Parallel Tools Platform ή το Parallel Language Development Tools μπορείτε να μάθετε περισσότερα από το περιεχόμενο που διατίθεται μέσω του συστήματος βοήθειας του Eclipse SDK. Σχόλιο για τις εκδόσεις των πακέτων

51 Στο σημείο αυτό αξίζει να γίνει μια επισήμανση σχετικά με τις εκδόσεις των εργαλείων. Τα εργαλεία που παρέχει το Eclipse είναι στη συντριπτική τους πλειοψηφία ανοιχτού κώδικα και αναπτύσσονται από προγραμματιστές που συνεισφέρουν οργανωμένα μέσω των εταιριών στις οποίες εργάζονται ή των ιδρυμάτων στα οποία είναι καθηγητές ή ερευνητές. Είναι λίγοι οι προγραμματιστές που συνεισφέρουν στο Eclipse και ειδικά στο Eclipse PTP ατομικά, στον ελεύθερο χρόνο τους. Το Eclipse PTP, αν και ισχυρό και πολλά υποσχόμενο εργαλείο, βρίσκεται ακόμα σε μια κάπως «ρευστή» κατάσταση. Αυτό έχει ως συνέπεια να προκύπτουν συχνά προβλήματα που αντιμετωπίζονται με συχνές νέες εκδόσεις και ενημερώσεις των πακέτων. Άρα είναι καλύτερο να εγκαθιστούμε τις τελευταίες ενημερώσεις. Εναλλακτική offline εγκατάσταση ή/και ενημέρωση Μπορούμε εναλλακτικά να εγκαταστήσουμε το Eclipse PTP και το προαπαιτούμενό του Eclipse CDT, αφού πρώτα τα κατεβάσουμε στον n00. Η διαδικασία αυτή λειτουργεί και σαν αναβάθμιση, εάν τα πακέτα που πρόκειται να εγκαταστήσουμε είναι ήδη εγκατεστημένα. Από τον ιστότοπο κατεβάζουμε την τελευταία έκδοση (σήμερα η 7.0.1) του πακέτου Eclipse CDT. Από τον ιστότοπο κατεβάζουμε την τελευταία έκδοση (σήμερα η 4.0.5) του πακέτου Eclipse PTP.

52 Κατόπιν επιλέγουμε από το μενού Help το Install New Software και στο παράθυρο διαλόγου Install που ανοίγει πατούμε το Add Στο παράθυρο Add Repository που ανοίγει επιλέγουμε Archive και εντοπίζουμε το πακέτο για το CDT στο σύστημα αρχείων και πατούμε ΟΚ.

53 Αυτό γεμίζει το πεδίο Location με τη διαδρομή του επιλεγμένου αρχείου. Πατούμε ΟΚ. Πίσω στο παράθυρο Install επιλέγουμε όλες τις διαθέσιμες επιλογές. Κατόπιν πατούμε το Next.

54 Το Eclipse αντιλαμβάνεται αν έχει ήδη εγκατασταθεί το πακέτο και αν ναι (όπως στην εικόνα) μας ειδοποιεί ότι πρόκειται να εκτελέσει αναβάθμιση της υπάρχουσας εγκατάστασης του πακέτου.

55 Στη συνέχεια αποδεχόμαστε την άδεια χρήσης και προχωρούμε στην εγκατάσταση.

56 Μετά την εγκατάσταση κάνουμε επανεκκίνηση του Eclipse απαντώντας ανάλογα στο παράθυρο διαλόγου που εμφανίζεται στο πέρας της εγκατάστασης/ενημέρωσης. Επαναλαμβάνουμε τη διαδικασία ενσωματώνοντας το πακέτο του Eclipse PTP. Στην καρτέλα Available Software του παράθυρου διαλόγου Install, δεν μας ενδιαφέρουν τα εργαλεία ανάπτυξης με Fortran (Fortran Development Tools (Photran)), ούτε τα εργαλεία απομακρυσμένης ανάπτυξης (Remote Development Tools), οπότε επιλέγουμε μόνο το Parallel Tools Platform. Θα δείξουμε σε επόμενη ενότητα την εγκατάσταση εργαλείων όπως το TAU για το Eclipse PTP. Καλύτερα λοιπόν να μην επιλέξουμε προς το παρόν τα σχετικά επιπρόσθετα (PTP External Tools Framework TAU Extension, PTP External Tools Framework TAU Extension for Fortran). Επιπρόσθετα σαν το TAU αποτελούν ουσιαστικά γραφική διεπαφή εργαλείων που πρέπει να εγκατασταθούν χωριστά από το Eclipse στο σύστημά μας. Τα εργαλεία αυτά λειτουργούν ως μηχανές υποστήριξης των αντίστοιχων λειτουργιών του γραφικού περιβάλλοντος. Η μη ύπαρξή τους έχει ως αποτέλεσμα επιλογές στα μενού του Eclipse χωρίς αντίκρισμα, δηλαδή

57 επιλογές που δεν κάνουν κάτι ή που εμφανίζουν μηνύματα λάθους για κάποια ανύπαρκτη ή κακώς ρυθμισμένη λειτουργία. Το Eclipse εμφανίζει στην περιοχή Details του παραθύρου διαλόγου Install οδηγίες και πληροφορίες για το εκάστοτε επιλεγμένο επιπρόσθετο, οι οποίες όμως δεν είναι οι αναλυτικότερες και πληρέστερες που θα περίμενε κανείς. Υπάρχουν βέβαια περιπτώσεις που το Eclipse εγκαθιστά λειτουργίες που δεν χρειαζόμαστε, δίχως να τις επιλέξουμε. Σε γενικές γραμμές η σπατάλη χώρου στο σύστημα αρχείων δεν είναι μεγάλη, οπότε τις δεχόμαστε. Ο πλεονασμός που επιβάλει από μόνο του το σύστημα δεν είναι συχνά αντιληπτός ούτε καθιστά το περιβάλλον εργασίας αντιπαραγωγικό. Για να συνεχιστεί η εγκατάσταση/ενημέρωση του Eclipse PTP πατούμε Next. Στη συνέχεια ακολουθούμε τα βήματα του οδηγού όπως και για το Eclipse CDT. Είμαστε σχεδόν έτοιμοι να προχωρήσουμε στην πρώτη μας δοκιμή. Όπως έχουμε επισημάνει σε προηγούμενο σημείο μας ενδιαφέρει να είμαστε σε θέση να δημιουργούμε έργα παράλληλου κώδικα και να τα εκτελούμε στην τοπική μας συστοιχία υπολογιστών. Βέβαια το Eclipse PTP διαθέτει δυνατότητες διαχείρισης έργων και εκτέλεσης κώδικα σε

58 απομακρυσμένα παράλληλα συστήματα, διαφόρων κατασκευαστών, αλλά αυτό είναι εκτός του πεδίου ενδιαφέροντος των οδηγιών μας. Ενημέρωση του Eclipse για χρήση κοινόχρηστων plugins Για να μπορέσουμε λοιπόν να εκτελέσουμε παράλληλο κώδικα στην τοπική συστοιχία, το PTP απαιτεί την ύπαρξη του SDM, ενός διαχειριστή του λογισμικού αποσφαλμάτωσης GDB της GNU. Εγκαθιστούμε το SDM από τον πηγαίο του κώδικα ως εξής. Όντας στον κόμβο n00 και συνδεδεμένοι στο σύστημα ως mpiuser, ανοίγουμε ένα τερματικό (παράθυρο γραμμής εντολών). Δημιουργούμε στον προσωπικό μας φάκελο έναν φάκελο με όνομα eclipse-plugins. Τοποθετούμε στον προσωπικό φάκελο του χρήστη mpiuser το φάκελο με τα plugins καθώς αυτός είναι κοινόχρηστος μέσω του NFS που εγκαταστήσαμε σε προηγούμενη ενότητα. Μπορεί να μην διαθέτουν γραφικό περιβάλλον όλοι οι υπολογιστές της συστοιχίας μας, αλλά κάποια αρχεία πρέπει να είναι διαθέσιμα σε κάθε υπολογιστή της συστοιχίας για να μπορεί να γίνουν κάποιες εργασίες, όπως η εκτέλεση και η αποσφαλμάτωση παράλληλου κώδικα. Μεταβαίνουμε στο φάκελο plugins που βρίσκεται μέσα στο φάκελο της εγκατάστασης του Eclipse. mkdir ecliplse-plugins cd /opt/eclipse/plugins Εντοπίζουμε τους φακέλους org.eclipse.ptp.utils_ org.eclipse.ptp.proxy_ org.eclipse.ptp.debug.sdm_ και τους αντιγράφουμε στον φάκελο eclipse-plugins που μόλις δημιουργήσαμε. Καθώς οι εκδόσεις των πακέτων μπορεί να είναι διαφορετικές πρέπει να επισημάνουμε ότι το κρίσιμο είναι να εντοπίσουμε τους φακέλους το όνομα των οποίων ξεκινά από org.eclipse.ptp.utils_ org.eclipse.ptp.proxy_ org.eclipse.ptp.debug.sdm_ και να επιλέξουμε την τελευταία έκδοση καθενός, που στην περίπτωσή μας είναι η ls org.eclipse.ptp.utils_* -d cp -R org.eclipse.ptp.utils_ / \ /mirror/mpiuser/eclipse-plugins/ ls org.eclipse.ptp.proxy_* -d cp -R org.eclipse.ptp.proxy_ / \ /mirror/mpiuser/eclipse-plugins/ ls org.eclipse.ptp.debug.sdm_* -d cp -R org.eclipse.ptp.debug.sdm_ / \

59 /mirror/mpiuser/eclipse-plugins/ Θα πρέπει επίσης να εντοπίσουμε το φάκελο που αφορά το λειτουργικό σύστημα που χρησιμοποιούμε και την αρχιτεκτονική του. Στην περίπτωσή μας το λειτουργικό είναι το Linux και αρχιτεκτονική η x86 των 32bit. ls -d org.eclipse.ptp.linux.x86* cp -R org.eclipse.ptp.linux.x86_ / \ /mirror/mpiuser/eclipse-plugins/ Στη συνέχεια μεταβαίνουμε στο φάκελο eclipse-plugins που δημιουργήσαμε μέσα στον προσωπικό φάκελο του mpiuser και εκεί στον org.eclipse.ptp.linux.x86_ που μόλις αντιγράψαμε και εκτελούμε την εγκατάσταση των plugins. Προσοχή, όχι στον φάκελο org.eclipse.ptp.linux.x86_ που βρίσκεται μέσα στο /opt/eclipse/plugins! cd /mirror/mpiuser/eclipse-plugins/ cd org.eclipse.ptp.linux.x86_ / sh BUILD Μετά το πέρας της εγκατάστασης θα πρέπει μέσα στο φάκελο bin να υπάρχει τουλάχιστον το εκτελέσιμο αρχείο του SDM.

60 Δημιουργία εικονιδίου για το Eclipse Μπορούμε να δημιουργήσουμε ένα εικονίδιο στην επιφάνεια εργασίας, για τη γρήγορη εκκίνηση του Eclipse. Κάνουμε δεξί-κλικ στην επιφάνεια εργασίας ώστε να εμφανιστεί το τοπικό μενού. Επιλέγουμε Create Launcher Στο παράθυρο που εμφανίζεται πατάμε το εικονίδιο με το ελατήριο για να επιλέξουμε το εικονίδιο του Eclipse. Μεταβαίνουμε στο φάκελο εγκατάστασης του Eclipse, στη θέση /opt/eclipse και αφού επιλέγουμε το αρχείο icon.xpm και εμφανιστεί το σύμβολο του Eclipse στην προεπισκόπηση, πατούμε το Open.

61 Γράφουμε το όνομα της εφαρμογής στο Name, τη διαδρομή του εκτελέσιμου αρχείου στο Command και πατούμε το ΟΚ. Το εικονίδιο του Eclipse εμφανίζεται στην επιφάνεια εργασίας του κόμβου n00. Δημιουργία έργου παράλληλου κώδικα MPI στο Eclipse Ξεκινούμε το Eclipse είτε από το εικονίδιο της επιφάνειας εργασίας είτε ανοίγοντας ένα τερματικό και δίνοντας /opt/eclipse/eclipse &

62 Στην αρχική οθόνη καλωσορίσματος μπορούμε να πατήσουμε τη συντόμευση Workbench για να μεταβούμε στο περιβάλλον εργασίας. Επιλέγουμε File, New, Project

63 Στην ομάδα C/C++ επιλέγουμε C Project και πατάμε Next.

64 Στην καρτέλα C Project επιλέγουμε MPI C Pi Project και αμέσως το Eclipse μας ρωτά αν θέλουμε να γίνουν ρυθμίσεις για το MPI. Απαντούμε Yes. Στο παράθυρο Preferences που ανοίγει πατάμε το New και στο διάλογο επιλογής φακέλου που ανοίγει επιλέγουμε το φάκελο include του φακέλου mpich2-install από τον προσωπικό φάκελο του χρήστη mpiuser.

65 Πατάμε το ΟΚ στο διάλογο επιλογής φακέλου και το ΟΚ στο παράθυρο Preferences των ρυθμίσεων του MPI.

66 Πίσω στην καρτέλα C Project δίνουμε ένα όνομα στο project (έστω test), επιλέγουμε τη χρήση των εργαλείων μεταγλώττισης, διασύνδεσης, αποσφαλμάτωσης Linux GCC και πατάμε το Next.

67 Στην καρτέλα Basic Settings δίνουμε κάποιες πληροφορίες για το project όπως το όνομα του δημιουργού. Συνεχίζουμε πατώντας το Next.

68 Στην καρτέλα MPI Project Settings απενεργοποιούμε το Use default information και ορίζουμε ως Library name το mpich. Συνεχίζουμε πατώντας Next.

69 Στην καρτέλα Select Configurations δεν κάνουμε καμία αλλαγή και στην καρτέλα Test Page πατούμε το Finish.

70

71 Μόλις πατήσουμε το Finish εμφανίζεται η προτροπή να προβάλει το Eclipse το περιβάλλον εργασίας (Perspective) C/C++. Απαντούμε θετικά.

72 Από το πλαίσιο (View) Project Explorer μπορούμε να πλοηγηθούμε στα αρχεία του project και στον πηγαίο κώδικα του παράλληλου προγράμματος test.c. Εκτέλεση παράλληλου προγράμματος MPI μέσα από το Eclipse Πριν την εκτέλεση παράλληλου κώδικα MPI βεβαιωνόμαστε ότι λειτουργεί o διαχειριστής εργασιών MPD του MPICH2. Αν όχι, τον ξεκινούμε, ελέγχουμε τη λειτουργία του. mpdtrace mpdboot -n 4 -f mpd.hosts mpdtrace

73 Αν προερχόμαστε από εγκαταστάσεις, απεγκαταστάσεις ή ενημερώσεις πακέτων, όπως στην περίπτωσή μας, καλό είναι να κάνουμε μια «καθαρή» εκκίνηση του Eclipse, ανανεώνοντας τους καταχωρητές του περιβάλλοντος. Για το λόγο αυτό αν το Eclipse εκτελείται το τερματίζουμε και ξεκινούμε τη λειτουργία του από ένα τερματικό δίνοντας την εντολή /opt/eclipse/eclipse -clean & Στο Eclipse επιλέγουμε την προβολή του περιβάλλοντος εργασίας (Perspective) Parallel Runtime. Για να το πετύχουμε επιλέγουμε στο μενού Window, Open Perspective, Other Στο παράθυρο Open Perspective που ανοίγει επιλέγουμε στη λίστα το Parallel Runtime και πατούμε το ΟΚ.

74 To περιβάλλον εργασίας του Eclipse γυρίζει σε Parallel Runtime.

75 Κάνουμε δεξί-κλικ μέσα στο πλαίσιο Resource Managers και από το τοπικό μενού επιλέγουμε Add Resource Manager Στο παράθυρο Choose Resource Manager Type επιλέγουμε τον τύπο MPICH2 και πατούμε το Next. Στην επόμενη καρτέλα πατούμε πάλι το Next αφού δουλεύουμε τοπικά, καθώς το Eclipse εκτελείται στον υπολογιστή n00 που ανήκει στη συστοιχία υπολογιστών μας.

76 Προσπερνούμε και την επόμενη καρτέλα με Next αφού δεν χρειάζεται κάποια αλλαγή.

77 Στην τελευταία καρτέλα πατούμε το Finish. Στο πλαίσιο Resource Managers εμφανίζεται πλέον ο νέος resource manager. Κάνουμε δεξίκλικ στο όνομά του και επιλέγουμε Start Resource Manager από το τοπικό μενού. Τότε εμφανίζονται στα διάφορα πλαίσια του περιβάλλοντος εργασίας πληροφορίες σχετικά με τον ενεργό διαχειριστή διεργασιών του MPICH2.

78 Για να μεταγλωττιστεί ο πηγαίος κώδικας του project test και να παραχθεί το εκτελέσιμο αρχείο επιλέγουμε στο μενού Project, Build All ή πατούμε Ctrl+B στο πληκτρολόγιο. Τότε εμφανίζεται το αποτέλεσμα της μεταγλώττισης και διασύνδεσης στο πλαίσιο Console, στο οποίο εμφανίζονται και τα αποτελέσματα της εκτέλεσης του παράλληλου κώδικα. Για να εκτελέσουμε τον παράλληλο κώδικα επιλέγουμε στο μενού Run το Run Configurations

79 Στο παράθυρο διαλόγου που ανοίγει επιλέγουμε με διπλό-κλικ το Parallel Application και τότε δημιουργείται ένα νέο σύνολο ρυθμίσεων (Configuration) για το έργο test.

80 Στην καρτέλα Resources ορίζουμε τον αριθμό διεργασιών σε 4, αφού η συστοιχία μας αποτελείται από τέσσερεις υπολογιστές. Στην καρτέλα Application, πατούμε το πλήκτρο Browse του Application program και εντοπίζουμε το εκτελέσιμο αρχείο της εφαρμογής test.

81 Στη συνέχεια μεταβαίνουμε στην καρτέλα Debugger. Καθώς η καρτέλα δεν φαίνεται στο παράθυρο διαλόγου Run Configurations θα πρέπει να πάμε δεξιά από τις ετικέτες των καρτελών, στο σημείο που εμφανίζεται το πλήκτρο >> 3 με το πλήθος των κρυμμένων καρτελών. Το πατούμε και επιλέγουμε την καρτέλα Debugger.

82 Την πρώτη φορά που θα βρεθούμε στην καρτέλα Debugger εμφανίζεται ένα κόκκινο σημάδι με ένα λευκό x, δίπλα στο εικονίδιο της καρτέλας. Αυτό το σημάδι εμφανίζεται σε κάθε καρτέλα στην οποία εκκρεμεί ή δεν έχει γίνει κάποια σωστή ρύθμιση. Στην προκειμένη περίπτωση δεν έχουμε ορίσει ακόμη τη σωστή διαδρομή για το εκτελέσιμο του SDM. Πατούμε το πλήκτρο Browse και επιλέγουμε το εκτελέσιμο που βρίσκεται στη θέση /mirror/mpiuser/eclipse-plugins/org.eclipse.ptp.debug.sdm_ /sdm. Όπως τονίστηκε και παραπάνω κάποια εργαλεία θα πρέπει να βρίσκονται στον προσωπικό φάκελο του mpiuser, κοινού χρήστη της συστοιχίας, ώστε να είναι προσπελάσιμα από κάθε υπολογιστή της συστοιχίας μας.

83 Επιστρέφοντας στο παράθυρο Run Configurations πατούμε το Run και ο παράλληλος κώδικας εκτελείται στην τοπική μας συστοιχία.

84 Στο πλαίσιο Console βλέπουμε τα αποτελέσματα της επιτυχούς εκτέλεσης του παράλληλου κώδικα. Για να δούμε όλα τα αποτελέσματα πρέπει να χρησιμοποιήσουμε την οριζόντια γραμμή κύλισης, καθώς η κονσόλα του Eclipse μάλλον αγνοεί τους χαρακτήρες αλλαγής γραμμής και μια σύντομη έρευνα στον παγκόσμιο ιστό έδειξε ότι πρόκειται για σφάλμα (bug) που εκκρεμεί η διόρθωσή του από την κοινότητα προγραμματιστών του Eclipse. Αποσφαλμάτωση παράλληλου κώδικα MPI μέσα από το Eclipse Η αποσφαλμάτωση γίνεται με παρόμοιο τρόπο με την εκτέλεση. Προϋπόθεση είναι να λειτουργεί, όπως και πριν την εκτέλεση, ο διαχειριστής εργασιών mpd του MPICH2 και βέβαια ο Resource Manager του Eclipse. Αν αυτά συμβαίνουν ξεκινούμε επιλέγοντας από το μενού Run το Debug Configurations και αν δεν έχουμε να κάνουμε κάποια άλλη αλλαγή όπως τον αριθμό διεργασιών πατούμε το Debug και ξεκινά η βηματική εκτέλεση για την αποσφαλμάτωση του πηγαίου παράλληλου κώδικα.

85 Η αποσφαλμάτωση παράλληλου κώδικα είναι λίγο διαφορετική από αυτή του σειριακού, καθώς το σύστημα δεν παρακολουθεί μία διεργασία άλλα περισσότερες, εξαρτώμενες η μία από την άλλη. Έναν σύντομο οδηγό για την αποσφαλμάτωση παράλληλου κώδικα μέσα από το περιβάλλον του Eclipse PTP μπορούμε να βρούμε στη διεύθυνση Δημιουργία έργου, εκτέλεση και αποσφαλμάτωση κώδικα OpenMP μέσα από το Eclipse Αναφορές Δημιουργούμε νέο έργο λογισμικού C (File, New, Project, C/C++, C Project, OpenMP Empty C Project). Οι OpenMP Preferences δεν έχουν οριστεί. Απαντούμε θετικά στη δημιουργία τους. Πατούμε το πλήκτρο New για τα OpenMP include paths και ορίζουμε τη διαδρομή /usr/include. Πατούμε ΟΚ. Πατούμε Apply και μετά ΟΚ. Επιλέγουμε Toolchain Linux GCC. Δίνουμε όνομα Project name το piopenmp και πατούμε Next.

86 Στην καρτέλα OpenMP Project Settings αφήνουμε επιλεγμένο το Add OpenMP project settings to this project και πατούμε Next. Στην καρτέλα Select Configurations πατούμε Next και στην κενή Test Page πατούμε Finish. Δεχόμαστε την αλλαγή προβολής. Στην περιοχή Project Explorer του παραθύρου του Eclipse εντοπίζουμε το έργο piopenmp, κάνουμε δεξί κλικ και επιλέγουμε New, Source File. Ονομάζουμε το αρχείο πηγαίου κώδικα piopenmp.c. Το ανοίγουμε και επικολλούμε τον ακόλουθο κώδικα #include <stdio.h> #include <omp.h> #define NBIN #define MAX_THREADS 100 void main() { int nthreads,tid; double step,sum[max_threads]={0.0},pi=0.0; step = 1.0/NBIN; #pragma omp parallel private(tid) { int i; double x; } nthreads = omp_get_num_threads(); tid = omp_get_thread_num(); for (i=tid; i<nbin; i+=nthreads) { x = (i+0.5)*step; sum[tid] += 4.0/(1.0+x*x); } } for(tid=0; tid<nthreads; tid++) pi += sum[tid]*step; printf("pi = %f\n",pi); αποθηκεύουμε και επιλέγουμε από το μενού Project, Build All. Πριν την εκτέλεση του κώδικα OpenMP θα πρέπει να ορίσουμε τη μεταβλητή OMP_NUM_THREADS στο περιβάλλον εκτέλεσης του Eclipse. Επιλέγουμε στο μενού Run, Run Configurations, κάνουμε διπλό κλικ στο C/C++ Application και επιλέγουμε την καρτέλα Environment. Εκεί πατούμε New και ορίζουμε στο παράθυρο New Environment Variable, ως Name το OMP_NUM_THREADS και ως Value τον αριθμό νημάτων που επιθυμούμε, έστω 10. Πίσω στην καρτέλα Environment πατούμε Apply και Run. Η αποσφαλμάτωση γίνεται όπως σε ένα απλό πρόγραμμα C. Run, Debug Configurations, C/C++ Application. Το Eclipse δεν παρουσιάζει χωριστούς δείκτες εντολών (μετρητές προγράμματος) για κάθε νήμα, όπως κάνει στην περίπτωση αποσφαλμάτωσης παράλληλου κώδικα MPI.

87 Εγκατάσταση του επιπρόσθετου συστήματος TAU για την ανάλυση απόδοσης και την ανίχνευση παράλληλου κώδικα Ένα αξιόλογο σύστημα για την ανάλυση της απόδοσης παράλληλων προγραμμάτων και την ανίχνευση παράλληλου πηγαίου κώδικα είναι το τ ή αλλιώς Tuning and Analysis Utilities (TAU) του Πανεπιστημίου του Oregon. Πριν την εγκατάστασή του σαν επιπρόσθετο του Eclipse PTP πρέπει να γίνει η εγκατάσταση του αντίστοιχου λογισμικού στη συστοιχία μας. Αυτό αποτελεί τη μηχανή που υποστηρίζει τη λειτουργία του αντίστοιχου επιπρόσθετου μέσα στο γραφικό περιβάλλον του Eclipse. Το TAU συνεργάζεται και απαιτεί την ύπαρξη και άλλων λογισμικών. Τα βασικότερα είναι, το σύστημα διαχείρισης βάσεων δεδομένων Derby, η εργαλειοθήκη PDT και το σύστημα προσπέλασης μετρητών απόδοσης επεξεργαστών PAPI. Στη συνέχεια θα δείξουμε πως γίνεται η εγκατάσταση καθενός από αυτά, η εγκατάσταση του TAU και η ενσωμάτωσή του στο περιβάλλον του Eclipse. Εγκατάσταση του Apache Derby (JavaDB) Αναφορές Το Apache Derby είναι ένα σύστημα διαχείρισης βάσεων δεδομένων που μπορεί να χρησιμοποιήσει το TAU σε συνεργασία με το PDT για την αποθήκευση μετρήσεων. Για την εγκατάστασή του ανοίγουμε ένα τερματικό εντολών και δίνουμε sudo apt-get install sun-javadb-client sun-javadb-core Αφού εισάγουμε το συνθηματικό του χρήστη mpiuser και απαντήσουμε θετικά στην αντίστοιχη ερώτηση, ξεκινά η εγκατάσταση η οποία ολοκληρώνεται μετά από λίγο με προϋπόθεση την ενεργή σύνδεση του κόμβου n00 στο διαδίκτυο.

88 Για να λειτουργήσει το Derby θα πρέπει να ενημερωθεί η μεταβλητή συστήματος PATH με τη θέση των εκτελέσιμων αρχείων του και να ορίσουμε επίσης τη μεταβλητή DERBY_HOME. Για να είναι οι αλλαγές αυτές μόνιμες και σε επίπεδο συστήματος, τροποποιούμε το αρχείο.bashrc προσθέτοντας στη μεταβλητή PATH τη διαδρομή /usr/share/javadb/bin. Προσθέτουμε και τη μεταβλητή DERBY_HOME με τιμή /usr/share/javadb. Μετά την ενημέρωση εφαρμόζουμε τις αλλαγές με..bashrc Εγκατάσταση του Program Database Toolkit (PDT) Αναφορές

89 Το Program Database Toolkit (PDT) είναι ένα πλαίσιο ανάλυσης πηγαίου κώδικα γραμμένου σε διάφορες γλώσσες προγραμματισμού και για την παροχή εμπλουτισμένων πληροφοριών για κάθε πρόγραμμα σε προγραμματιστές στατικών και δυναμικών εργαλείων ανάλυσης. Πρώτα πρέπει να κατεβάσουμε την τελευταία έκδοση του λογισμικού. Στο κεντρικό μενού του ιστοτόπου του λογισμικού επιλέγουμε το Downloads και αφού συμπληρώσουμε τα στοιχεία μας κατεβάζουμε το αρχείο pdtoolkit-3.16.tar.gz ( που περιλαμβάνει την τελευταία έκδοση του λογισμικού. cd Downloads/ gunzip pdt_latest.tar.gz tar -xf pdt_latest.tar mv pdtoolkit /pdtoolkit-3.16-source cd ~ mkdir pdtoolkit-3.16-install cd pdtoolkit-3.16-source

90 ./configure -prefix=/mirror/mpiuser/pdtoolkit-3.16-install Κατόπιν δίνουμε τις ακόλουθες εντολές για να πραγματοποιηθεί η εγκατάσταση του λογισμικού και να διαγραφούν περιττά αρχεία μετά το πέρας της. make make install Στη συνέχεια, σύμφωνα με προηγούμενη υπόδειξη, προσθέτουμε τη διαδρομή /mirror/mpiuser/pdtoolkit-3.16-install/linux//bin στη μεταβλητή PATH του n00, με επεξεργασία του αρχείου.bashrc. sudo vi.bashrc Ενεργοποιούμε τις αλλαγές με..bashrc

91 Μετά μπορούμε να παράγουμε τα αρχεία τεκμηρίωσης της βιβλιοθήκης DUCTAPE που χρησιμοποιεί το PDT. Μεταβαίνουμε στο φάκελο pdtoolkit-3.16-source/ductape/inc/ όπου δίνουμε τις εντολές cd pdtoolkit-3.16-source/ductape/inc/./makehtmldocu Αυτό έχει ως αποτέλεσμα την ανάπτυξη αρχείων HTML της τεκμηρίωσης. Η κεντρική σελίδα απ όπου μπορούμε να τη διαβάσουμε είναι η /mirror/mpiuser/pdtoolkit source/ductape/html/primer.html. Εγκατάσταση του PAPI (προαιρετικά) Αναφορές Το Performance Application Programming Interface (PAPI) είναι μια διεπαφή και μεθοδολογία χρήσης των μετρητών απόδοσης που υπάρχουν στο υλικό των πιο διαδεδομένων μικροεπεξεργαστών. Το PAPI επιτρέπει στους μηχανικούς λογισμικού να ανακαλύψουν σχεδόν σε πραγματικό χρόνο τη σχέση μεταξύ της απόδοσης του λογισμικού και των γεγονότων του επεξεργαστή.

92 Κατεβάζουμε την τελευταία έκδοση του λογισμικού από τον ιστότοπο του έργου και δίνουμε τις ακόλουθες εντολές για να αποσυμπιέσουμε τα αρχεία εγκατάστασης, από το φάκελο Downloads, σε κατάλληλο φάκελο μέσα στο προσωπικό ευρετήριο του χρήστη mpiuser. cd Downloads gunzip papi tar.gz tar -xf papi tar mv papi /papi source cd mkdir papi install cd papi source cd src./configure --prefix=/mirror/mpiuser/papi install make make install

93 Μετά την εγκατάσταση μπορούμε να μεταβούμε στο φάκελο /mirror/mpiuser/papi install/bin και να δούμε κάποιες πληροφορίες για το PAPI και το σύστημά μας. cd /mirror/mpiuser/papi install/bin./papi_avail./papi_cost./papi_version./papi_clockres Εγκατάσταση του TAU (για ανάλυση απόδοσης (δημιουργία προφίλ) κώδικα MPI, αλλά και για ανίχνευση) Αναφορές Για την εγκατάσταση του TAU αρχικά μεταβαίνουμε στον ιστότοπο του έργου

94 Εκεί επιλέγουμε το Downloads για να κατεβάσουμε την τελευταία έκδοση του TAU. Στην περίπτωσή μας ήταν η έκδοση Το λογισμικό αποθηκεύεται με όνομα tau_latest.tar.gz στο ευρετήριο Downloads του προσωπικού ευρετηρίου του χρήστη mpiuser. Από εκεί θα το αποσυμπιέσουμε και θα

95 μετακινήσουμε τα περιεχόμενά του πηγαίου κώδικα σε νέο ευρετήριο για να εγκαταστήσουμε το λογισμικό. Δίνουμε λοιπόν τις ακόλουθες εντολές από ένα τερματικό εντολών. cd Downloads gunzip tau_latest.tar.gz tar -xf tau_latest.tar mv tau /tau-2.20-source cd mkdir tau-2.20-install cd tau-2.20-source Δίνουμε τις ακόλουθες εντολές για τη ρύθμιση της εγκατάστασης και την υλοποίησή της../configure -cc=gcc -mpi -pdt=/mirror/mpiuser/pdtoolkit-3.16-install \ -mpiinc=/mirror/mpiuser/mpich2-install/include \ -mpilib=/mirror/mpiuser/mpich2-install/lib \ -mpilibrary='-lmpich -lmpl' -tag=config-01 \ -PROFILE -prefix=/mirror/mpiuser/tau install make install ή αν έχει εγκατασταθεί το MPICH2 στην εξ ορισμού θέση /usr/bin, δίνουμε./configure -cc=gcc -mpi -pdt=/mirror/pdtoolkit-3.16-install \ -mpiinc=/usr/include/mpich2/ \ -mpilib=/usr/lib \ -mpilibrary='-lmpich' -tag=config-01 \ -PROFILE -prefix=/mirror/tau install make install Σημείωση: Στη δεύτερη περίπτωση δεν χρησιμοποιήθηκε η παράμετρος -lmpl αναφοράς στη βιβλιοθήκη MPL, διότι όταν αυτή χρησιμοποιούταν δεν μπορούσε να ολοκληρωθεί η εγκατάσταση. Χρησιμοποιήθηκε μόνο η -lmpich.

96 Για να έχει τη δυνατότητα το TAU να παράγει και αρχεία ανίχνευσης γεγονότων κατά την εκτέλεση παράλλου κώδικα MPI δίνουμε επιπλέον και την παράμετρο TRACE. (Σημείωση: Η προβολή αρχείων ανίχνευσης γεγονότων δεν υποστηρίζεται αυτόματα από το TAU μέσα από το γραφικό περιβάλλον του Eclipse.)./configure -cc=gcc -mpi -pdt=/mirror/mpiuser/pdtoolkit-3.16-install \ -mpiinc=/mirror/mpiuser/mpich2-install/include \ -mpilib=/mirror/mpiuser/mpich2-install/lib \ -mpilibrary='-lmpich -lmpl' -tag=config-02 \ -PROFILE -TRACE -prefix=/mirror/mpiuser/tau install make install ή αν έχει εγκατασταθεί το MPICH2 στην εξ ορισμού θέση /usr/bin, δίνουμε./configure -cc=gcc -mpi -pdt=/mirror/pdtoolkit-3.16-install \ -mpiinc=/usr/include/mpich2/ \ -mpilib=/usr/lib \ -mpilibrary='-lmpich' -tag=config-02 \ -PROFILE -TRACE -prefix=/mirror/tau install make install Σημείωση: Στη δεύτερη περίπτωση δεν χρησιμοποιήθηκε η παράμετρος -lmpl αναφοράς στη βιβλιοθήκη MPL, διότι όταν αυτή χρησιμοποιούταν δεν μπορούσε να ολοκληρωθεί η εγκατάσταση. Χρησιμοποιήθηκε μόνο η -lmpich. Κατόπιν και σύμφωνα με την υπόδειξη της configure ενημερώνουμε το αρχείο.bashrc ώστε να προσθέσουμε τη διαδρομή /mirror/mpiuser/tau install/i386_linux/bin στη μεταβλητή συστήματος PATH. Επιπλέον δημιουργούμε τη μεταβλητή TAU_MAKEFILE με τιμή /mirror/mpiuser/tau install/i386_linux/lib/makefile.tau-config-01-prof-pdtmpi-pdt. sudo vi.bashrc Ενημερώνουμε το περιβάλλον του χρήστη mpiuser δίνοντας..bashrc

97 Ή μπορούμε να ενεργοποιήσουμε συγκεκριμένο αρχείο ρυθμίσεων πριν τη χρήση του, χωρίς αλλαες στο.bashrc, δίνοντας απευθείας από τη γραμμή εντολών export TAU_MAKEFILE=/mirror/tau install/i386_linux/lib/makefile.tau-config-01-mpi-pdt ή export TAU_MAKEFILE=/mirror/tau install/i386_linux/lib/akefile.tau-config-02-mpi-pdt-profile-trace Έλεγχος της εγκατάστασης του TAU Το TAU δίνει τη δυνατότητα να δημιουργούμε πολλαπλά σύνολα ρυθμίσεων (configuration) για διαφορετικά συνεργαζόμενα εργαλεία (PDT, PAPI, κ.α.), για ανάλυση απόδοσης (profiling) ή ανίχνευση γεγονότων (tracing), κ.ο.κ. Κάθε σύνολο ρυθμίσεων διαθέτει δικό της αρχείο οδηγιών μεταγλώττισης και δημιουργίας εκτελέσιμου κώδικα (makefile). Μπορούμε να ελέγξουμε τη λειτουργία του TAU για κάθε συνδυασμό δυνατοτήτων των υπαρχόντων αρχείων Makefile, χρησιμοποιώντας το tau_validate. Στην περίπτωσή μας έχουμε ένα Makefile, αλλά αυτό δεν αποτελεί πρόβλημα. Σημείωση: Η μεταβλητή TAU_MAKEFILE δείχνει στο αρχείο Makefile που χρησιμοποιούμε κάθε φορά. Στην προηγούμενη ενότητα ορίστηκε η μεταβλητή TAU_MAKEFILE να έχει συγκεκριμένη τιμή, να δείχνει δηλαδή σε ένα συγκεκριμένο Makefile για λόγους απλούστευσης των τρεχουσών οδηγιών. Στην πραγματικότητα η τιμή της ορίζεται πριν από κάθε μεταγλώττιση με χρήση των εργαλείων του TAU, δείχνοντας στο κατάλληλο Makefile για το εκάστοτε σύνολο ρυθμίσεων. cd /mirror/mpiuser/tau-2.20-source/./tau_validate../tau-2.20-install/i386_linux/

98 Αν και στο τέλος αναφέρονται 5 σφάλματα παρατηρούμε ότι πέρασαν επιτυχώς τον έλεγχο οι περιπτώσεις που μας ενδιαφέρουν: MPI (C), PDT-MPI (C), PDT-MPI (C++). Χρήση του TAU για ανάλυση απόδοσης κώδικα MPI από γραμμή εντολών (Εναλλακτικός έλεγχος καλής λειτουργίας του TAU) Ένας άλλος τρόπος για να είμαστε σίγουροι ότι το TAU εγκαταστάθηκε και λειτουργεί σωστά είναι εκτελώντας μια δειγματική ανάλυση απόδοσης παράλληλου κώδικα. Ξεκινούμε λοιπόν το διαχειριστή εργασιών του MPICH2. Έπειτα μεταγλωττίζουμε ένα από τα υπάρχοντα παραδείγματα του TAU, την πρώτη φορά χρησιμοποιώντας το μεταγλωττιστή του MPICH2 και το εκτελούμε. Tη δεύτερη φορά το μεταγλωττίζουμε χρησιμοποιώντας ένα από τα εργαλεία του TAU, το οποίο προσθέτει πληροφορίες ενοργάνωσης (instrumentation) και το εκτελούμε παρατηρώντας ότι εκτελείται με τον ίδιο τρόπο, με τη διαφορά ότι στο φάκελο δημιουργούνται αρχεία που περιέχουν πληροφορίες που προκύπτουν από την ανάλυση απόδοσης (profiling) του παράλληλου κώδικα. mpdboot -n 4 -f mpd.hosts mpdtrace cd tau-2.20-source/examples/taucompiler/c mpicc ring.c -o ring1 mpirun -np 4./ring1

99 tau_cc.sh ring.c -o ring2 mpirun -np 4./ring2 ls

100 Για να μπορέσουμε να δούμε οπτικοποιημένα τα περιεχόμενα των αρχείων ανάλυσης απόδοσης του παράλληλου κώδικα, μπορούμε να χρησιμοποιήσουμε τα εργαλεία ParaProf και PerfExplorer που διαθέτει το TAU. Πριν τη χρήση τους απαιτείται μια διαδικασία ρύθμισης της κοινής βάσης δεδομένων που χρησιμοποιούν, μετά από την οποία λειτουργούν και τα δύο εργαλεία. Ρύθμιση των PerfExplorer και ParaProf

101 Για να λειτουργήσουν τα δύο εργαλεία οπτικοποίησης θα πρέπει να ρυθμιστεί η λειτουργία ενός συστήματος διαχείρισης βάσεων δεδομένων που θα χειρίζεται τη βάση δεδομένων των αποτελεσμάτων των πειραμάτων, όπως ονομάζονται οι διαφορετικές εκτελέσεις παράλληλου κώδικα, για την ανάλυση της απόδοσής τους. Επιλέγουμε το σύστημα διαχείρισης βάσεων δεδομένων Apache Derby το οποίο προτείνεται από τους δημιουργούς του TAU και το οποίο εγκαταστήσαμε σε προηγούμενη ενότητα. Για ρυθμίσουμε τη λειτουργία της βάσης δεδομένων δίνουμε perfdfm_configure Ονομάζουμε το σύνολο ρυθμίσεων ως config-01, δεν αλλάζουμε τις προεπιλεγμένες τιμές πατώντας απλά το Enter, δίνουμε κενό username και password και απαντούμε θετικά στην ερώτηση αποθήκευσης του password της βάσης δεδομένων.

102 Στη συνέχεια δίνουμε την ακόλουθη εντολή για να ρυθμίσουμε τη λειτουργία του PerfExplorer. perfexplorer_configure Δίνουμε το όνομα config-01 των προηγούμενων ρυθμίσεων στην προτροπή What is the name of your PerfDMF Configuration. Απαντούμε θετικά σε κάθε ερώτηση. Είναι απαραίτητη η σύνδεση του κόμβου n00 στο διαδίκτυο κατά τη διενέργεια των ρυθμίσεων.

103 Μετά τις ρυθμίσεις αυτές μπορεί να λειτουργήσει τόσο το PerfExplorer όσο και το ParaProf. Η μορφή των αρχείων ανάλυσης απόδοσης του TAU είναι η ίδια είτε αναλύεται η απόδοση κώδικα MPI, είτε κώδικα OpenMP. Καλό είναι όμως για την ομαδοποίηση των μετρήσεων που προέρχονται από ανάλυση απόδοσης κώδικα MPI χωριστά από αυτών που προέρχονται από ανάλυση κώδικα OpenMP, να δημιουργηθεί και μια δεύτερη βάση δεδομένων μετρήσεων με διαφορετικό όνομα (όπως περιγράφεται την ενότητα αυτή).

104 Βασική λειτουργία των PerfExplorer και ParaProf από τη γραμμή εντολών Ξεκινούμε το PerfExplorer δίνοντας perfexplorer Εμφανίζεται τότε το παράθυρο PerfExplorer Console και μετά το PerfExplorer Client. Από το μενού File επιλέγουμε Load Profile Data για να φορτώσουμε τα αρχεία ανάλυσης απόδοσης (προφίλ) που προέκυψαν από τη δοκιμή λειτουργίας του TAU.

105 Στο παράθυρο διαλόγου TAU: ParaProf: Load Trial επιλέγουμε στο Trial Type το Tau profiles και πατούμε το Select File(s) για να εντοπίσουμε το φάκελο των αρχείων. Επιλέγουμε σταδιακά τη διαδρομή /mirror/mpiuser/tau-2.20-source/examples/taucompiler/c που βρίσκονται τα αρχεία και πατούμε το Select.

106 Στο παράθυρο TAU: ParaProf: Load Trial πατούμε το Ok για να φορτωθούν τα αρχεία προφίλ στο περιβάλλον του εργαλείου. Στο παράθυρο PerfExplorer Client εμφανίζονται με ιεραρχική μορφή οι πληροφορίες για το συγκεκριμένο πείραμα. Επιλέγοντας τις συναρτήσεις μπορούμε να δούμε τις πληροφορίες που έχουν συγκεντρωθεί. Από τα μενού του παραθύρου μπορούμε να επιλέξουμε διαφορετικές προβολές και γραφήματα, όπως για παράδειγμα από το μενού Charts το Stacked Bar Chart και από το Visualization το Do 3D Correlation Cube.

107 Ξεκινούμε το ParaProf δίνοντας paraprof Στο κεντρικό παράθυρο TAU ParaProf Manager μπορούμε να δούμε αποτελέσματα για το σύνολο των πειραμάτων που έχουν εκτελεστεί ως εκείνη τη στιγμή, συμπεριλαμβανομένων των πειραμάτων που έχουν χρησιμοποιηθεί από το PerfExplorer, αφού τα δύο εργαλεία

108 διαθέτουν κοινή βάση δεδομένων. Μπορούμε επίσης να επιλέξουμε από το μενού File, Open το άνοιγμα και την ενσωμάτωση στη βάση δεδομένων και άλλων αρχείων προφίλ. Αν επιλέξουμε τη μέτρηση ενός πειράματος με διπλό κλικ τότε ανοίγει το παράθυρο TAU: ParaProf: Application x, Experiment y, Trial z στο οποίο παρουσιάζονται οι σχετικές πληροφορίες με διάφορες μορφές, ανάλογα με το ποιες επιλέγουμε από το μενού του παραθύρου. Για παράδειγμα μπορούμε από το μενού Window να επιλέξουμε το 3D Visualization.

109 Χρήση του TAU για ανίχνευση κώδικα MPI από τη γραμμή εντολών και οπτικοποίηση με το Jumpshot Αν έχει προηγηθεί εγκατάσταση του TAU με εναλλακτικό αρχείο ρυθμίσεων (configuration makefile) για την παραγωγή αρχείων ανίχνευσης γεγονότων με χρήση της παραμέτρου - TRACE τότε μπορεί να γίνει μετατροπή των αρχείων ανίχνευσης στην ανοιχτού κώδικα μορφή SLOG2 και τα αρχεία ανίχνευσης να οπτικοποιηθούν μέσω της ανοιχτού κώδικα εφαρμογής Jumpshot. Πρέπει να σημειωθεί ότι ακόμη και αν δεν έχει προηγηθεί μπορεί να γίνουν και στη συνέχεια πολλαπλές επανεγκαταστάσεις του TAU διαφορετικές κάθε φορά ρυθμίσεις, για την κάλυψη διαφορετικού συνόλου ρυθμίσεων κάθε φορά. Τα αρχεία ρυθμισεων κάθε διαφορετικής εγκατάστασης αποθηκεύονται στο ευρετήριο /mirror/tau install/i386_linux/lib με ονόματα Makefile.tau-config-xx-<χαρακτηριστικά> όπου config-xx η ετικέτα της εγκατάστασης όπως αυτή έχει οριστεί με την παράμετρο -tag της εντολής configure κατά τη ρύθμιση πριν την εγκατάσταση και όπου <χαρακτηριστικά> ένα όνομα που δημιουργεί αυτόματα το TAU για να περιγράψει κατά το δυνατό μονοσήμαντα το σύνολο ρυθμίσεων που έχουν επιλεγεί. Η διαδικασία εγκατάστασης περιγράφεται αναλυτικά σε προηγούμενη ενότητα. Πριν την εκτέλεση των tau_cc.sh και mpirun όπως έχει περιγραφεί παραπάνω για την παραγωγή αρχείων προφίλ και αρχείων ανίχνευσης, θα πρέπει να έχει προηγηθεί η αλλαγή της τιμής της μεταβλητής TAU_MAKEFILE στο αρχείο.bashrc ώστε αυτή να δείχνει στο εναλλακτικό σύνολο ρυθμίσεων για την ανίχνευση κώδικα, ως εξής

110 TAU_MAKEFILE=/mirror/tau install/i386_linux/lib/Makefile.tauconfig-02-mpi-pdt-profile-trace export TAU_MAKEFILE Κατόπιν θα πρέπει να ενεργοποιηθούν οι αλλαγες στο.bashrc δίνοντας..bashrc Εναλλακτικά, αν δεν επιθυμούμε να κάνουμε αλλαγές στο αρχείο.bashrc δίνουμε απευθείας από τη γραμμή εντολών export TAU_MAKEFILE=/mirror/tau install/i386_linux/lib/akefile.tau-config-02-mpi-pdt-profile-trace Σημείωση: Η προβολή αρχείων ανίχνευσης γεγονότων δεν υποστηρίζεται αυτόματα από το TAU μέσα από το γραφικό περιβάλλον του Eclipse. Από τη γραμμή εντολών μεταβαίνουμε στο ευτερτήριο που υπάρχει ο πηγαίος κώδικας του οποίου την εκτέλεση θέλουμε να ανιχνεύσουμε και από εκεί μεταγλωττίζουμε και εκτελούμε χρησιμοποιώντας τα παρεχόμενα από το TAU σενάρια. Εκκινούμε το mpd αν δεν εκτελείται ήδη. mpdboot -n 4 -f mpd.hosts mpdtrace cd tau-2.20-source/examples/taucompiler/c tau_cc.sh ring.c -o ring2 mpirun -np 4./ring2 Βλέποντας τα περιεχόμενα του ευρετηρίου μετά την εκτέλεση παρατηρούμε ότι έχουν δημιουργηθεί από το TAU διαφορετικά αρχεία προφίλ (.edf) και ανίχνευσης (.trc) για κάθε διεργασία. Συγχωνεύουμε τα αρχεία σε δύο. Ένα αρχείο προφίλ και ένα αρχείο ανίχνευσης για όλες τις διεργασίες. tau_treemerge.pl Κατόπιν μετατρέπουμε τα δύο αρχεία σε ένα, μορφής SLOG2 tau2slog2 tau.trc tau.edf -o tau.slog2 Το αρχείο tau.slog2 μπορεί να οπτικοποιηθεί χρησιμοποιώντας το λογισμικό Jumpshot. jumpshot tau.slog2 Κατά την πρώτη εκτέλεση του Jumpshot αποθηκεύονται κάποιες ρυθμίσεις

111 και στη συνέχεια εμφανίζεται το γραφικό περιβάλλον ανίχνευσης των γεγονότων κατά την εκτέλεση του παράλληλου κώδικα. Εναλλακτικό σύνολο ρυθμίσεων του TAU για το PAPI (εάν έχει εγκατασταθεί το PAPI) Μεταβαίνουμε στο φάκελο /mirror/mpiuser/tau source απ όπου εκτελούμε την εντολή δημιουργίας ενός δεύτερου συνόλου ρυθμίσεων που να συμπεριλαμβάνει και μετρικές του πακέτου PAPI. Δίνουμε./configure -cc=gcc -mpi -pdt=/mirror/pdtoolkit-3.16-install \ -mpiinc=/mirror/mpich2-install/include \ -mpilib=/mirror/mpich2-install/lib \ -mpilibrary='-lmpich -lmpl' -tag=config-03 \ -PROFILE -prefix=/mirror/tau install \

112 -papi=/mirror/papi install make install ή αν έχει εγκατασταθεί το MPICH2 στην εξ ορισμού θέση /usr/bin, δίνουμε./configure -cc=gcc -mpi -pdt=/mirror/pdtoolkit-3.16-install \ -mpiinc=/usr/include/mpich2/ \ -mpilib=/usr/lib \ -mpilibrary='-lmpich' -tag=config-03 \ -PROFILE -prefix=/mirror/tau install \ -papi=/mirror/papi install make install Αυτές οι εντολές θα δημιουργήσουν στο φάκελο /mirror/mpiuser/tau install/i386_linux/lib ένα νέο Makefile. Κατόπιν το μόνο που θα έχουμε να κάνουμε είναι να αλλάζουμε την τιμή της μεταβλητής $TAU_MAKEFILE όταν θέλουμε να χρησιμοποιήσουμε και το PAPI στις μετρήσεις μας, δίνοντας export TAU_MAKEFILE=/mirror/tau install/i386_linux/lib/makefile.tau-config-03-papi-mpi-pdt πριν τη χρήση του σεναρίου μεταγλώττισης tau_cc.sh ή αλλάζοντας την τιμή της μεταβλητής στο αρχείο.bashrc και ενεργοποιώντας με..bashrc Εναλλακτικό σύνολο ρυθμίσεων του TAU για την ανάλυση απόδοσης παράλληλου κώδικα OpenMP Μεταβαίνουμε στο φάκελο /mirror/mpiuser/tau source απ όπου εκτελούμε την εντολή δημιουργίας ενός τρίτου συνόλου ρυθμίσεων που να υποστηρίζει την ανάλυση κώδικα OpenMP. Για εγκατάσταση χωρίς υποστήριξη του PAPI δίνουμε./configure -cc=gcc -pdt=/mirror/pdtoolkit-3.16-install \ -openmp -opari -tag=config-04 -PROFILE \ -prefix=/mirror/tau install make install Για εγκατάσταση με υποστήριξη του PAPI και δυνατότητα ανίχνευσης γεγονότων κατά την εκτέλεση παράλληλου κώδικα OpenMP δίνουμε./configure -cc=gcc -pdt=/mirror/pdtoolkit-3.16-install \ -openmp -opari -tag=config-05 -PROFILE -TRACE \ -prefix=/mirror/tau install \ -papi=/mirror/papi install make install

113 (Σημείωση: Η προβολή αρχείων ανίχνευσης γεγονότων δεν υποστηρίζεται αυτόματα από το TAU μέσα από το γραφικό περιβάλλον του Eclipse.) Αυτές οι εντολές θα δημιουργήσουν στο φάκελο /mirror/mpiuser/tau install/i386_linux/lib ένα νέο Makefile. Κατόπιν το μόνο που θα έχουμε να κάνουμε είναι να αλλάζουμε την τιμή της μεταβλητής $TAU_MAKEFILE όταν θέλουμε να αναλύσουμε κώδικα διαμοιραζόμενης (κοινόχρηστης) μνήμης OpenMP, δίνοντας export TAU_MAKEFILE=/mirror/tau install/i386_linux/lib/makefile.tau-config-04-pdt-openmp-opari ή export TAU_MAKEFILE=/mirror/tau install/i386_linux/lib/makefile.tau-config-05-papi-pdt-openmp-opariprofile-trace πριν τη χρήση του σεναρίου μεταγλώττισης tau_cc.sh ή αλλάζοντας την τιμή της μεταβλητής στο αρχείο.bashrc και ενεργοποιώντας με..bashrc Χρήση του TAU για ανάλυση απόδοσης κώδικα OpenMP από γραμμή εντολών (Έλεγχος καλής λειτουργίας του συνόλου ρυθμίσεων του TAU για κώδικα OpenMP) Για να σιγουρευτούμε ότι λειτουργεί σωστά το σύνολο ρυθμίσεων του TAU για κώδικα OpenMP είναι εκτελώντας μια δειγματική ανάλυση απόδοσης πολυνηματικού παράλληλου κώδικα. Θεωρούμε το επόμενο πρόγραμμα OpenMP για τον υπολογισμό της τιμής του αριθμού π (χωρίς κρίσιμο τμήμα) το οποίο αποθηκεύουμε σε ένα αρχείο με όνομα piopenmp.c: #include <stdio.h> #include <omp.h> #define NBIN #define MAX_THREADS 100 void main() { int nthreads,tid; double step,sum[max_threads]={0.0},pi=0.0; step = 1.0/NBIN; #pragma omp parallel private(tid) { int i; double x;

114 } nthreads = omp_get_num_threads(); tid = omp_get_thread_num(); for (i=tid; i<nbin; i+=nthreads) { x = (i+0.5)*step; sum[tid] += 4.0/(1.0+x*x); } } for(tid=0; tid<nthreads; tid++) pi += sum[tid]*step; printf("pi = %f\n",pi); Πριν τη μεταγλώττιση και εκτέλεση του κώδικα OpenMP ορίζουμε την τιμή της μεταβλητής συστήματος η οποία καθορίζει το πλήθος των νημάτων που θα χρησιμοποιηθούν για την εκτέλεση του κώδικα. export OMP_NUM_THREADS=10 Το OpenMP χρησιμοποιεί νήματα επεξεργασίας και δεν απαιτείται η ύπαρξη διαχειριστή εργασιών όπως στο MPI (MPICH2). Σαν μια πρώτη δοκιμή μεταγλωττίζουμε τον κώδικα OpenMP χρησιμοποιώντας το gcc, προσθέτοντας την παράμετρο fopenmp, και εκτελούμε το πρόγραμμα gcc piopenmp.c fopenmp o pi./pi Για να αναλύσουμε αυτό το πρόγραμμα με το TAU θα πρέπει να ορίσουμε νέα τιμή στη μεταβλητή συστήματος TAU_MAKEFILE ώστε να «δείχνει» στο σύνολο ρυθμίσεων που έχει δημιουργηθεί για την ανάλυση απόδοσης κώδικα OpenMP. Δίνουμε export TAU_MAKEFILE=/mirror/tau install/i386_linux/lib/makefile.tau-config-04-pdt-openmp-opari Κατόπιν μεταγλωττίζουμε και εκτελούμε τον κώδικα του piopenmp.c tau_cc.sh piopenmp.c -o pi./pi Μπορούμε στη συνέχεια να δούμε τα γραφικά της ανάλυσης απόδοσης δίνοντας paraprof Για να μπορέσουμε να δούμε οπτικοποιημένα τα περιεχόμενα των αρχείων ανάλυσης απόδοσης θα πρέπει να έχει ρυθμιστεί η λειτουργία των ParaProf και PerfExplorer. Δεν απαιτείται ειδική ρύθμιση για την οπτικοποίηση της ανάλυσης απόδοσης κώδικα OpenMP. Η μορφή των αρχείων ανάλυσης απόδοσης του TAU είναι η ίδια είτε αναλύεται η απόδοση κώδικα MPI, είτε κώδικα OpenMP. Καλό είναι όμως για την ομαδοποίηση των μετρήσεων που προέρχονται από ανάλυση απόδοσης κώδικα MPI χωριστά από αυτών που προέρχονται από ανάλυση κώδικα OpenMP, να δημιουργηθεί μια δεύτερη βάση δεδομένων μετρήσεων με

115 διαφορετικό όνομα (όπως περιγράφεται στην ενότητα «Ρύθμιση των PerfExplorer και ParaProf»). Χρήση του TAU για την ανίχνευση κώδικα OpenMP από γραμμή εντολών (Δεύτερος έλεγχος καλής λειτουργίας του συνόλου ρυθμίσεων του TAU για κώδικα OpenMP) Θεωρούμε το προηγούμενο πρόγραμμα OpenMP για τον υπολογισμό της τιμής του αριθμού π piopenmp.c. Θα πρέπει να έχουμε ορίσει την τιμή της μεταβλητής συστήματος η οποία καθορίζει το πλήθος των νημάτων που θα χρησιμοποιηθούν για την εκτέλεση του κώδικα. export OMP_NUM_THREADS=10 Για να ανιχνεύσουμε το πρόγραμμα με το TAU θα πρέπει να ορίσουμε νέα τιμή στη μεταβλητή συστήματος TAU_MAKEFILE ώστε να «δείχνει» στο σύνολο ρυθμίσεων που έχει δημιουργηθεί για την ανίχνευση κώδικα OpenMP. Δίνουμε export TAU_MAKEFILE=/mirror/tau install/i386_linux/lib/makefile.tau-config-05-papi-pdt-openmp-opariprofile-trace Κατόπιν μεταγλωττίζουμε και εκτελούμε τον κώδικα του piopenmp.c tau_cc.sh piopenmp.c -o pi./pi Στη συνέχεια συγχωνεύουμε τα αρχεία ανίχνευσης δίνοντας tau_treemerge.pl Μετατρέπουμε τα αρχεία σε μορφή SLOG2 tau2slog2 tau.trc tau.edf -o tau.slog2 Τέλος οπτικοποιούμε τα αποτελέσματα της ανίχνευσης χρησιμοποιώντας το λογισμικό Jumpshot. jumpshot tau.slog2 Ενσωμάτωση του TAU στο περιβάλλον του Eclipse Αναφορές

116 Για να λειτουργήσουν τα εργαλεία του TAU μέσα από το γραφικό περιβάλλον του Eclipse, θα πρέπει να εγκαταστήσουμε στο Eclipse το σχετικό επιπρόσθετο (plug-in) του TAU. Όπως περιγράφηκε στην ενότητα εγκατάστασης του Eclipse ξεκινούμε το Eclipse και πηγαίνουμε στο μενού Help, Install New Software Στο παράθυρο Install που ανοίγει επιλέγουμε στο Work with το Helios - Στη λίστα που αναφέρει τα διαθέσιμα επιπρόσθετα επιλέγουμε την ομάδα General Purpose Tools και το PTP External Tools Framework TAU Extension. Παρατηρούμε ότι το Parallel Tools Platform (PTP) End-User Runtime εμφανίζεται με λευκό εικονίδιο γεγονός που σημαίνει ότι έχει ήδη εγκατασταθεί. Επιλέγουμε τα πλήκτρα Next σε κάθε καρτέλα και αφού αποδεχθούμε τους όρους της άδειας χρήσης, πατούμε το Finish για να ξεκινήσει η εγκατάσταση του επιπρόσθετου. Μετά το πέρας της επανεκκινούμε το Eclipse, επιλέγοντας Restart Now στο σχετικό παράθυρο διαλόγου ή επιλέγουμε να το κλείσουμε αργότερα.

117 Στη συνέχεια θα πρέπει να εγκαταστήσουμε στο φάκελο του Eclipse ένα σύνολο αρχείων που απαιτούνται για να λειτουργήσει το TAU μέσα από το περιβάλλον του Eclipse. Σε ένα τερματικό εντολών δίνουμε τις ακόλουθες. cd tau source/tools/src/eclipse./install_plugins.sh /opt/eclipse Θα χρειαστεί επανεκκίνηση του Eclipse, οπότε εάν εκτελείται το τερματίζουμε και το ξεκινούμε από ένα τερματικό εντολών χρησιμοποιώντας την παράμετρο clean. Ανάλυση απόδοσης παράλληλου κώδικα MPI χρησιμοποιώντας το TAU μέσα από το Eclipse PTP Για να εκτελέσουμε και να αναλύσουμε την απόδοση παράλληλου κώδικα στη συστοιχία μας θα πρέπει ήδη να λειτουργεί ο διαχειριστής διεργασιών mpd του MPICH2. Έστω ότι θα εργαστούμε με το έργο test που δημιουργήσαμε σε προηγούμενη ενότητα. Δίνουμε λοιπόν mpdboot -n 4 -f mpd.hosts mpdtrace /opt/eclipse/eclipse clean & Στο περιβάλλον το Eclipse θα πρέπει αρχικά να ενεργοποιήσουμε το διαχειριστή διεργασιών για το MPICH2. Επιλέγουμε στο μενού Window, Open Perspective το Parallel Runtime.

118 Στο πλαίσιο Resource Managers, κάνουμε δεξί κλικ πάνω στον MPICH2 (MPICH2) και επιλέγουμε Start Resource Manager στο τοπικό μενού. Στο μενού Run επιλέγουμε Profile Configurations και εκεί κάνουμε διπλό κλικ στο Parallel Performance Analysis για να δημιουργήσουμε ένα νέο σύνολο ρυθμίσεων. Στην καρτέλα Application επιλέγουμε το Application program από τη θέση /mirror/mpiuser/workspace/test/debug/test, πατώντας στο Browse.

119 Στην καρτέλα Resources επιλέγουμε το πλήθος διεργασιών εκτέλεσης του παράλληλου κώδικα. Στην καρτέλα Debugger επιλέγουμε τη θέση /mirror/mpiuser/eclipseplugins/org.eclipse.ptp.debug.sdm_ που βρίσκεται το εκτελέσιμο του αποσφαλματωτή sdm.

120 Στη συνέχεια μεταβαίνουμε στην καρτέλα Performance Analysis. Καθώς η καρτέλα δεν φαίνεται στο παράθυρο διαλόγου Profile Configurations θα πρέπει να πάμε δεξιά από τις ετικέτες των καρτελών, στο σημείο που εμφανίζεται το πλήκτρο με το πλήθος των κρυμμένων καρτελών. Το πατούμε και επιλέγουμε την καρτέλα Performance Analysis. Εκεί επιλέγουμε ως Select Tool το TAU.

121 Με τον ίδιο τρόπο επιλέγουμε την καρτέλα TAU όπου απλά επιλέγουμε στην καρτέλα του Analysis Options την ενοργάνωση με το PDT. Εάν έχουμε δημιουργήσει επιπλέον σύνολο ρυθμίσεων του TAU (άρα και το αντίστοιχο Makefile) για τη χρήση του PAPI, τότε επιλέγουμε το PAPI και στο Select Makefile το αντίστοιχο Makefile που αφορά το εναλλακτικό σετ ρυθμίσεων. Στην καρτέλα Data Collection επιλέγουμε στο Select Database τη βάση δεδομένων που έχουμε δημιουργήσει για τη συλλογή των δεδομένων ανάλυσης απόδοσης (προφίλ) κώδικα MPI.

122 Πατούμε το πλήκτρο Profile και μετά από μερικά δευτερόλεπτα παρατηρούμε ότι στο πλαίσιο Performance Data εμφανίζεται μια νέα καταχώρηση στη βάση δεδομένων συλλογής των δεδομένων ανάλυσης απόδοσης (προφίλ) κώδικα MPI, για το έργο test με την ημερομηνία και ώρα της εκτέλεσης του παράλληλου κώδικα.

123 Κάνοντας διπλό κλικ σε αυτή την καταχώρηση ανοίγει το εργαλείο ParaProf του TAU και μπορούμε να δούμε οπτικοποιημένα τα αποτελέσματα της ανάλυσης, μέσα από το διαλογικό γραφικό περιβάλλον εργασίας του εργαλείου.

124

125 Ανίχνευση γεγονότων κατά την εκτέλεση παράλληλου κώδικα MPI χρησιμοποιώντας το TAU μέσα από το Eclipse PTP (ισχύει και για παράλληλα προγράμματα OpenMP) Η ανίχνευση (tracing) κώδικα μπορεί να γίνει αν έχει δημιουργηθεί σύνολο ρυθμίσεων (configuration file) για το TAU στο οποίο να χρησιμοποιείται η παράμετρος TRACE. Τότε μπορεί μέσα από το Eclipse κατά τη διάρκεια ρυθμίσεων στο παράθυρο Profile Configurations, καρτέλα TAU, καρτέλα Alanysis Options, να καταργηθεί η επιλογή του PAPI και να επιλεγεί το Trace. Πατώντας το πλήκτρο Profile θα γίνει η ανίχνευση αλλά χωρίς να γίνει ανάλυση απόδοσης. Γι αυτό θα εμφανιστεί με το πέρας της ανάλυσης το μήνυμα λάθους No profile data was located. Please sure profile data is available. γιατί δεν θα έχουν δημιουργηθεί αρχεία προφίλ από την ανάλυση απόδοσης. Θα έχουν όμως δημιουργηθεί αρχεία ανίχνευσης. Θα πρέπει από γραμμή εντολών να ακολουθηθεί η δια διαδικασία που περιγράφεται στην παράγραφο Χρήση του TAU για ανίχνευση κώδικα MPI από γραμμή εντολών ώστε να μετατραπούν τα αρχεία ανίχνευσης στη μορφή SLOG2 και να οπτικοποιηθούν τα αρχεία ανίχνευσης μορφής SLOG2 με την κλήση του JumpShot από τη γραμμή εντολών.

126 Ανάλυση απόδοσης παράλληλου κώδικα OpenMP χρησιμοποιώντας το TAU μέσα από το Eclipse PTP Για να εκτελέσουμε και να αναλύσουμε την απόδοση παράλληλου κώδικα OpenMP δεν απαιτείται η λειτουργία διαχειριστή διεργασιών αφού η εκτέλεση κώδικα γίνεται με πολλαπλά νήματα στον ίδιο επεξεργαστή. Στο μενού Run επιλέγουμε Profile Configurations και εκεί κάνουμε διπλό κλικ στο Performance Analysis για να δημιουργήσουμε ένα νέο σύνολο ρυθμίσεων. Στην καρτέλα Main επιλέγουμε το έργο (project) και το εκτελέσιμό του αν δεν έχουν ήδη επιλεγεί. Στην καρτέλα Environment ορίζουμε τη μεταβλητή OMP_NUM_THREADS και της δίνουμε τιμή το πλήθος των επιθυμητών νημάτων που θα χρησιμοποιηθούν για την εκτέλεση του κώδικα, έστω 10. Στη συνέχεια μεταβαίνουμε στην καρτέλα Performance Analysis. Καθώς η καρτέλα δεν φαίνεται στο παράθυρο διαλόγου Profile Configurations θα πρέπει να πάμε δεξιά από τις ετικέτες των καρτελών, στο σημείο που εμφανίζεται το πλήκτρο με το πλήθος των κρυμμένων καρτελών. Το πατούμε και επιλέγουμε την καρτέλα Performance Analysis. Εκεί επιλέγουμε ως Select Tool το TAU. Με τον ίδιο τρόπο επιλέγουμε την καρτέλα TAU, όπου στην καρτέλα Analysis Options καταργούμε την επιλογή MPI και επιλέγουμε τις OPARI, OpenMP και την ενοργάνωση με το PDT. Στο Select Makefile επιλέγουμε από τη λίστα το Makefile που αφορά το εναλλακτικό σύνολο ρυθμίσεων που έχουμε δημιουργήσει για την ανάλυση απόδοσης κώδικα OpenMP. Στην καρτέλα Data Collection επιλέγουμε στο Select Database τη βάση δεδομένων που έχουμε δημιουργήσει για τη συλλογή των δεδομένων ανάλυσης απόδοσης (προφίλ) κώδικα OpenMP. Πατούμε το πλήκτρο Profile και μετά από μερικά δευτερόλεπτα παρατηρούμε ότι στο πλαίσιο Performance Data εμφανίζεται μια νέα καταχώρηση για το επιλεγμένο έργο στη βάση δεδομένων προφίλ κώδικα OpenMP, με την ημερομηνία και ώρα της εκτέλεσης του παράλληλου κώδικα. Κάνοντας διπλό κλικ σε αυτή την καταχώρηση ανοίγει το εργαλείο ParaProf του TAU και μπορούμε να δούμε οπτικοποιημένα τα αποτελέσματα της ανάλυσης, μέσα από το διαλογικό γραφικό περιβάλλον εργασίας του εργαλείου.

127 Εγκατάσταση του ISP και του GEM για το Eclipse PTP Το In-situ Partial Order (ISP) είναι ένα εργαλείο ανάλυσης δυσλειτουργιών παράλληλου κώδικα MPI, όπως συμφορήσεων, αδιεξόδων, κ.λπ. Μπορεί να λειτουργήσει από τη γραμμή εντολών, αλλά και χάρη στο επιπρόσθετο Graphical Explorer of MPI Programs (GEM), μέσα από το γραφικό περιβάλλον του Eclipse PTP. Το ISP πρέπει να εγκατασταθεί πριν το GEM. Ευχαριστούμε θερμά για την υποστήριξη, την ομάδα ανάπτυξης των συγκεκριμένων εργαλείων από το School of Computing του University of Utah. Επικεφαλής της είναι ο Καθηγητής Ganesh Gopalakrishnan, και συμμετέχουν οι Alan Humphrey, Anh Vo και Chris Derrick. Εγκατάσταση ISP Το In-situ Partial Order (ISP) είναι ένα εργαλείο ανάλυσης παράλληλου πηγαίου κώδικα για τον εντοπισμό δυσλειτουργιών όπως οι συμφορήσεις. Για να αποκτήσουμε την τελευταία έκδοση του λογισμικού επισκεπτόμαστε τον ιστότοπο του έργου, στη διεύθυνση Σημείωση: Λόγω προβλημάτων στην τελευταία έκδοση του ISP τον καιρό που γράφονταν οι παρούσες οδηγίες και αφού αυτά ξεπεράστηκαν, η ομάδα ανάπτυξης του ISP δημιούργησε για χάρη μας μια ειδική έκδοση ώστε να μην περιμένουμε την επόμενη επίσημη που θα καθυστερούσε. Έτσι, για τις ανάγκες των οδηγιών μας, κατεβάσαμε και χρησιμοποιήσαμε το πακέτο που βρίσκεται στη διεύθυνση

128 Το λογισμικό αποθηκεύεται στον προσωπικό φάκελο του χρήστη mpiuser. Μεταβαίνουμε εκεί και αποσυμπιέζουμε, για να ξεκινήσουμε την εγκατάσταση. cd Downloads gunzip isp constantinos.tar.gz tar -xf isp constantinos.tar mv isp /isp source cd ~/isp source mkdir../isp install./configure --with-mpi-dir=/mirror/mpiuser/mpich2-install \ --prefix=/mirror/mpiuser/isp install

129 ή./configure --with-mpi-dir=/usr/bin \ --with-mpi-inc-dir=/usr/include/mpich2/ \ --prefix=/mirror/isp install make make install Στη συνέχεια συμπληρώνουμε στη μεταβλητή PATH τη διαδρομή /mirror/isp install/bin προς τα εκτελέσιμα αρχεία του ISP, ενημερώνοντας κατάλληλα το αρχείο.bashrc. vi.bashrc Εφαρμόζουμε τις αλλαγές με..bashrc Βασική χρήση του ISP Το mpd θα πρέπει να εκτελείται πριν εκτελεστεί το ISP. Για το λόγο αυτό ξεκινούμε ή/και ελέγχουμε τη λειτουργία του mpd. mpdboot -n 4 -f mpd.hosts mpdtrace Για τη δοκιμή της λειτουργίας του ISP δημιουργούμε ένα αρχείο κειμένου με όνομα testisp.c και περιεχόμενο τον ακόλουθο κώδικα, που πήραμε από το εγχειρίδιο χρήσης του ISP. /* -*- Mode: C; -*- */ /* Creator: Bronis R. de Supinski (bronis@llnl.gov) Tue Aug */ /* any_src-can-deadlock9.c -- deadlock occurs if task 0 receives */ /* from task 2 first; sleeps generally */ /* make order 2 before 1 with all task */ /* 0 ops being posted after both 1 and 2 */

130 /* same as any_src-can-deadlock5.c */ /* except tasks 1 and 2 are interchanged */ #include <stdio.h> #include <isp.h> #include <string.h> #define buf_size 128 int main (int argc, char **argv) { int nprocs = -1; int rank = -1; char processor_name[128]; int namelen = 128; int buf0[buf_size]; int buf1[buf_size]; MPI_Status status; MPI_Request req; /* init */ MPI_Init (&argc, &argv); MPI_Comm_size (MPI_COMM_WORLD, &nprocs); MPI_Comm_rank (MPI_COMM_WORLD, &rank); MPI_Get_processor_name (processor_name, &namelen); printf ("(%d) is alive on %s\n", rank, processor_name); fflush (stdout); MPI_Barrier (MPI_COMM_WORLD); if (nprocs < 3) { printf ("not enough tasks\n"); } else if (rank == 0) { //sleep (60); MPI_Irecv (buf0, buf_size, MPI_INT, MPI_ANY_SOURCE, 0, MPI_COMM_WORLD, &req); MPI_Recv (buf1, buf_size, MPI_INT, 2, 0, MPI_COMM_WORLD, &status); MPI_Send (buf1, buf_size, MPI_INT, 2, 0, MPI_COMM_WORLD); MPI_Recv (buf1, buf_size, MPI_INT, MPI_ANY_SOURCE, 0, MPI_COMM_WORLD, &status); MPI_Wait (&req, &status); } else if (rank == 2) { memset (buf0, 0, buf_size); MPI_Send (buf0, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); MPI_Recv (buf1, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD, &status); MPI_Send (buf1, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); } else if (rank == 1) { memset (buf1, 1, buf_size);

131 // sleep (30); MPI_Send (buf1, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); } MPI_Barrier (MPI_COMM_WORLD); MPI_Finalize (); printf ("(%d) Finished normally\n", rank); } /* EOF */ Κατόπιν μεταγλωττίζουμε και εκτελούμε τον κώδικα του testisp.c, παίρνοντας τα αποτελέσματα και σε ένα αρχείο καταγραφής με όνομα testisp.log. ispcc testisp.c -o testisp isp -n 4 -h n00 -l testisp.log./testisp Στη ανάλυση της εκτέλεσης βλέπουμε ότι εσκεμμένα υπάρχει ένα αδιέξοδο.

132 Στη συνέχεια εκτελούμε το ispui, το γραφικό περιβάλλον οπτικοποίησης αρχείων καταγραφής του ISP. ispui Στο μενού File επιλέγουμε Open Trace και με τη βοήθεια του παραθύρου διαλόγου ανοίγουμε το αρχείο testisp.log.

133 Στο γραφικό περιβάλλον του ispui μπορούμε να δούμε διαγραμματικά τις κλήσεις διεργασιών μεταξύ των κόμβων και τον πηγαίο κώδικα που εκτελέστηκε σε κάθε κόμβο.

134

135 Εγκατάσταση του GEM Αναφορές ή Όπως έχει ήδη αναφερθεί μπορούμε να χρησιμοποιήσουμε το ISP και μέσα από το γραφικό περιβάλλον του Eclipse, αρκεί μετά την εγκατάσταση του ISP να εγκαταστήσουμε στο Eclipse το επιπρόσθετο Graphical Explorer of MPI Programs (GEM). Για να το πετύχουμε ανοίγουμε το Eclipse και πηγαίνουμε στο μενού Help απ όπου επιλέγουμε το Install New Software Στο παράθυρο Install και την καρτέλα του Available Software, πατούμε το πλήκτρο Add δεξιά του πεδίου Work with για να προσθέσουμε ένα νέο αποθετήριο λογισμικού απ όπου θα γίνει η λήψη του GEM. Στο παράθυρο που ανοίγει δίνουμε ένα όνομα, έστω GEM, και τη διεύθυνση και πατούμε το OK. Πίσω στο παράθυρο Install καταργούμε την επιλογή Group items by category και τότε εμφανίζεται στην πιο πάνω λίστα η καταχώρηση του GEM την οποία και επιλέγουμε για εγκατάσταση. Μετά πατούμε το πλήκτρο Next.

136 Στην καρτέλα Install Details απλά πατούμε το Next. Στην καρτέλα Review Licenses επιλέγουμε το I accept the terms of the license agreement και πατούμε Finish. Στη συνέχεια εμφανίζεται το παράθυρο της εγκατάστασης Installing Software και σε λίγο το παράθυρο Security Warning το οποίο μας ειδοποιεί για μη υπογεγραμμένο ψηφιακά περιεχόμενο και τους ενδεχόμενους κινδύνους από την εγκατάστασή του. Απαντούμε θετικά στη συνέχισή της πατώντας το ΟΚ.

137 Μετά το πέρας της εγκατάστασης επιλέγουμε το Restart Now για την επανεκκίνηση του Eclipse και την εφαρμογή των αλλαγών. Βασική χρήση του GEM (περιγραφεται μια υποθετική τυπική λειτουργία μέχρι o Αlan Humphrey να δώσει μια καλύτερη λύση) Μετά την επανεκκίνηση του Eclipse παρατηρούμε ότι εμφανίστηκε στη γραμμή εργαλείων του περιβάλλοντος εργασίας ένα νέο εργαλείο, το Formally Verify MPI Program, με εικονίδιο μια τρίαινα. Πατώντας το μικρό βέλος που βρίσκεται δίπλα στην τρίαινα εμφανίζεται ένα μενού απ όπου μπορούμε να επιλέξουμε το πλήθος των διεργασιών που θα συμμετέχουν στην ανάλυση (Set Number of Processes), να εκτελέσουμε την ανάλυση (Formally Verify MPI Program) ή να εμφανίσουμε την κονσόλα του GEM (Show GEM Console). Για να πραγματοποιηθεί ανάλυση θα πρέπει να εκτελείται ο διαχειριστής εργασιών του mpd αλλά και ο αντίστοιχος του Eclipse. Άρα θα πρέπει από ένα τερματικό εντολών να ελέγξουμε τη λειτουργία του πρώτου δίνοντας την εντολή mdptrace και από το περιβάλλον του Ecplipse θα πρέπει να ενεργοποιήσουμε το δεύτερο (μενού Window, Open Perspective, Other, Parallel Runtime, δεξί κλικ στον MPICH2 του πλαισίου Resource Managers και εκεί Start Resource Manager).

138 Όταν πατούμε την τρίαινα για να εκτελέσουμε την ανάλυση κώδικα, εμφανίζονται οι καρτέλες GEM Browser και GEM Analyzer. Στον GEM Browser εμφανίζονται τα αποτελέσματα της ανάλυσης με μορφή μηνυμάτων κατανεμημένων στις καρτέλες Deadlocks, Assertion Violations, Leaks, Irrelevant Barriers και Type Mismatches.

139 Στον GEM Analyzer εμφανίζονται οι κλήσεις MPI συναρτήσεων του πηγαίου κώδικα και μπορούμε να πλοηγηθούμε στις μεταβάσεις από διεργασία σε διεργασία. Περισσότερες πληροφορίες για το GEM μπορούμε να πάρουμε από τον ιστότοπο του έργου

140

Οδηγίες εγκατάστασης και χρήσης Java σε προσωπικό υπολογιστή

Οδηγίες εγκατάστασης και χρήσης Java σε προσωπικό υπολογιστή Οδηγίες εγκατάστασης και χρήσης Java σε προσωπικό υπολογιστή Οι οδηγίες που ακολουθούν περιγράφουν την εγκατάσταση και τη χρήση (compile & run) της Java για τον προσωπικό σας υπολογιστή. Windows (10, 8.1,

Διαβάστε περισσότερα

Epsilon Net PYLON Platform

Epsilon Net PYLON Platform Epsilon Net PYLON Platform Οδηγίες Εγκατάστασης Top 1 / 31 Περιεχόμενα 1 ΠΡΟΑΠΑΙΤΟΥΜΕΝΑ... 3 2 ΕΓΚΑΤΑΣΤΑΣΗ ΕΦΑΡΜΟΓΗΣ... 5 3 ΕΓΚΑΤΑΣΤΑΣΗ DEMO... 7 4 ΕΓΚΑΤΑΣΤΑΣΗ ΠΡΟΤΥΠΗΣ ΒΑΣΗΣ... 8 4.1 Φόρτωση πρότυπης

Διαβάστε περισσότερα

Δημιουργία μιας εφαρμογής Java με το NetBeans

Δημιουργία μιας εφαρμογής Java με το NetBeans Δημιουργία μιας εφαρμογής Java με το NetBeans Για να δημιουργήσετε μια εφαρμογή Java πρέπει να ακολουθήσετε τα εξής βήματα : Αρχικά πρέπει να δημιουργηθεί ένα project το οποίο θα περιέχει όλα τα αρχεία

Διαβάστε περισσότερα

Μανώλης Κιαγιάς, MSc. Aiolos Project. Αρχικές Ρυθμίσεις SSH και εγκατάσταση OpenMPI

Μανώλης Κιαγιάς, MSc. Aiolos Project. Αρχικές Ρυθμίσεις SSH και εγκατάσταση OpenMPI Μανώλης Κιαγιάς, MSc Aiolos Project Αρχικές Ρυθμίσεις SSH και εγκατάσταση OpenMPI Χανιά, 2015 2 (C) 2014 Μανώλης Κιαγιάς, manolis@freebsd.org Το παρόν έργο διατίθεται υπό τους όρους της Άδειας: Αναφορά

Διαβάστε περισσότερα

Για περισσότερες πληροφορίες σχετικά με τη συμβατότητα του λογισμικού με άλλα λειτουργικά συστήματα, επικοινωνήστε με το τμήμα υποστήριξης πελατών.

Για περισσότερες πληροφορίες σχετικά με τη συμβατότητα του λογισμικού με άλλα λειτουργικά συστήματα, επικοινωνήστε με το τμήμα υποστήριξης πελατών. Σελίδα 1 από 7 Οδηγός σύνδεσης Υποστηριζόμενα λειτουργικά συστήματα Μπορείτε να πραγματοποιήσετε εγκατάσταση του λογισμικού του εκτυπωτή χρησιμοποιώντας το CD Λογισμικό και τεκμηρίωση για τα ακόλουθα λειτουργικά

Διαβάστε περισσότερα

Τεχνολογία Διοίκησης Επιχειρησιακών Διαδικασιών

Τεχνολογία Διοίκησης Επιχειρησιακών Διαδικασιών ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ Τεχνολογία Διοίκησης Επιχειρησιακών Διαδικασιών Οδηγός Εργαστηρίου

Διαβάστε περισσότερα

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C Στο εργαστήριο αυτό, θα ασχοληθούμε με δύο προγραμματιστικά περιβάλλοντα για τη γλώσσα C: τον gcc μεταγλωττιστή της C σε περιβάλλον

Διαβάστε περισσότερα

Tο περιβάλλον Code::Blocks

Tο περιβάλλον Code::Blocks Tο περιβάλλον Code::Blocks Το Code::Blocks αποτελεί ένα πλήρες περιβάλλον ανάπτυξης εφαρμογών για την γλώσσα C και C++. Το περιβάλλον είναι ελεύθερο λογισμικό και χρησιμοποιεί μια ειδική έκδοση του μεταγλωττιστή

Διαβάστε περισσότερα

ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ

ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ Οδηγός Εργαστηρίου για το Μεταπτυχιακό Μάθημα Τεχνολογία Διοίκησης

Διαβάστε περισσότερα

Οδηγίες για την εγκατάσταση του πακέτου Cygwin

Οδηγίες για την εγκατάσταση του πακέτου Cygwin Οδηγίες για την εγκατάσταση του πακέτου Cygwin Ακολουθήστε τις οδηγίες που περιγράφονται σε αυτό το file μόνο αν έχετε κάποιο laptop ή desktop PC που τρέχουν κάποιο version των Microsoft Windows. 1) Copy

Διαβάστε περισσότερα

ΕΓΚΑΤΑΣΤΑΣΗ ΕΦΑΡΜΟΓΩΝ ΓΙΑ ΠΡΟΣΩΠΙΚΟ ΥΠΟΛΟΓΙΣΤΗ (MS WINDOWS, LINUX, MACOS)

ΕΓΚΑΤΑΣΤΑΣΗ ΕΦΑΡΜΟΓΩΝ ΓΙΑ ΠΡΟΣΩΠΙΚΟ ΥΠΟΛΟΓΙΣΤΗ (MS WINDOWS, LINUX, MACOS) ΕΓΚΑΤΑΣΤΑΣΗ ΕΦΑΡΜΟΓΩΝ ΓΙΑ ΠΡΟΣΩΠΙΚΟ ΥΠΟΛΟΓΙΣΤΗ (MS WINDOWS, LINUX, MACOS) ΠΕΡΙΕΧΟΜΕΝΑ ΕΓΚΑΤΑΣΤΑΣΗ ΕΦΑΡΜΟΓΗΣ OWNCLOUD ΣΕ MS WINDOWS... 2 ΧΡΗΣΗ ΕΦΑΡΜΟΓΗΣ OWNCLOUD ΣΕ MS WINDOWS... 11 ΔΙΑΜΟΙΡΑΣΜΟΣ ΑΡΧΕΙΩΝ/ΦΑΚΕΛΩΝ...

Διαβάστε περισσότερα

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Εργαστήριο Εγκατάσταση Ubuntu με VirtualBox Εγκατάσταση Ubuntu με Unetbootin Απομακρυσμένη πρόσβαση με Putty/WinSCP

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Εργαστήριο Εγκατάσταση Ubuntu με VirtualBox Εγκατάσταση Ubuntu με Unetbootin Απομακρυσμένη πρόσβαση με Putty/WinSCP ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Εργαστήριο Εγκατάσταση Ubuntu με VirtualBox Εγκατάσταση Ubuntu με Unetbootin Απομακρυσμένη πρόσβαση με Putty/WinSCP Κ.Γ. Μαργαρίτης, Τμήμα Εφαρμοσμένης Πληροφορικής, Πανεπιστήμιο

Διαβάστε περισσότερα

Αντικειμενοστρεφής Προγραμματισμός

Αντικειμενοστρεφής Προγραμματισμός Αντικειμενοστρεφής Προγραμματισμός Διδάσκουσα: Αναπλ. Καθηγήτρια Ανδριάνα Πρέντζα aprentza@unipi.gr Εργαστηριακός Συνεργάτης: Δρ. Βασιλική Κούφη vassok@unipi.gr 1 Δομημένος προγραμματισμός έναντι αντικειμενοστρεφούς

Διαβάστε περισσότερα

Οδηγός Βήμα-Βήμα για να εγκαταστήσετε τα Windows 7 στον Η/Υ σας

Οδηγός Βήμα-Βήμα για να εγκαταστήσετε τα Windows 7 στον Η/Υ σας Οδηγός Βήμα-Βήμα για να εγκαταστήσετε τα Windows 7 στον Η/Υ σας ΒΗΜΑ 1 Εφεδρικό Αντίγραφο Ασφαλείας ΠΡΟΣΟΧΗ: Πριν εφαρμόσουμε τον οδηγό εγκατάστασης στον Η/Υ μας κρατούμε αντίγραφα ασφαλείας των σημαντικών

Διαβάστε περισσότερα

ΡΥΘΜΙΣΕΙΣ ΟΙΚΙΑΚΟΥ ΔΙΚΤΥΟΥ ΣΤΑ WINDOWS 7

ΡΥΘΜΙΣΕΙΣ ΟΙΚΙΑΚΟΥ ΔΙΚΤΥΟΥ ΣΤΑ WINDOWS 7 ΡΥΘΜΙΣΕΙΣ ΟΙΚΙΑΚΟΥ ΔΙΚΤΥΟΥ ΣΤΑ WINDOWS 7 Προϋπόθεση: έχει ολοκληρωθεί., η σύνδεση των καρτών δικτύου στις θύρες RJ45 ενός router/switch. Στην περίπτωση δομημένης καλωδίωσης οι κάρτες δικτύου συνδέονται

Διαβάστε περισσότερα

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ ΟΔΗΓΙΕΣ ΕΓΚΑΤΑΣΤΑΣΗΣ ΕΦΑΡΜΟΓΩΝ JAIN-SIP-PROXY και SIP-COMMUNICATOR Εισαγωγή Αυτές οι οδηγίες περιγράφουν τα βήματα για να εγκαταστήσουμε τις εφαρμογές JAIN- SIP-Proxy και SIP-Communicator.

Διαβάστε περισσότερα

Οδηγός Εγκατάστασης

Οδηγός Εγκατάστασης www.athenaschool.net Οδηγός Εγκατάστασης Αθηνά 2012 Μάρτιος 2013 Copyright Πόλυς Γεωργίου, 2013 Με επιφύλαξη παντός δικαιώματος. All rights reserved. Απαγορεύεται η αντιγραφή ή διανομή του παρόντος εγχειριδίου,

Διαβάστε περισσότερα

Βρίγκας Μιχαήλ Α.Μ.744 Μπράχος Χ. Ευάγγελος Α.Μ.795

Βρίγκας Μιχαήλ Α.Μ.744 Μπράχος Χ. Ευάγγελος Α.Μ.795 Βρίγκας Μιχαήλ Α.Μ.744 Μπράχος Χ. Ευάγγελος Α.Μ.795 Περιεχόμενα Εισαγωγή Εγκατάσταση Δημιουργία νέου project Java Editor Perspectives Δημιουργία source folders Προσθήκη νέου αρχείου στο project Εισάγωντας

Διαβάστε περισσότερα

Περιβάλλον Παράλληλου Προγραμματισμού

Περιβάλλον Παράλληλου Προγραμματισμού Περιβάλλον Παράλληλου Προγραμματισμού Ελεύθερο Λογισμικό /Λογισμικό Ανοιχτού Κώδικα για την υλοποίηση ενός ολοκλήρωμενου εκπαιδευτικού περιβάλλοντος ανάπτυξης κώδικα Εμπειρίες και προβλήματα Κ. Τ. Δελησταύρου

Διαβάστε περισσότερα

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ DVR KTEC

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ DVR KTEC ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ DVR KTEC 1) Πατάμε δεξί κλικ Μενού 2) Όνομα Χρήστη βάζουμε «admin» 3) Κωδικός Πρόσβασης το αφήνουμε «κενό» 4) Πατάμε OK και μπαίνουμε στο Μενού Είσοδος στο μενού Στην πρώτη εκκίνηση μετά

Διαβάστε περισσότερα

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C Στο εργαστήριο αυτό, θα ασχοληθούμε με δύο προγραμματιστικά περιβάλλοντα της γλώσσας C, το Dev-C++, το οποίο είναι εφαρμογή που τρέχει

Διαβάστε περισσότερα

Κέντρο υποστήριξης HP. Εισαγωγή. Τι χρειάζεται να γνωρίζετε. Λήψη και εγκατάσταση της λύσης Vista στα Windows 8. 1 of 5 1/7/2014 2:09 μμ

Κέντρο υποστήριξης HP. Εισαγωγή. Τι χρειάζεται να γνωρίζετε. Λήψη και εγκατάσταση της λύσης Vista στα Windows 8. 1 of 5 1/7/2014 2:09 μμ http://h2056wwwhp.com/portal/site/hpsc/template.page/public/psi... 1 of 5 1/7/2014 2:09 μμ Για το σπίτι Για την επιχείρηση Υποστήριξη Είσοδος Εγγραφή Βοήθεια ιστότοπου HP Color LaserJet 3600 Printer series

Διαβάστε περισσότερα

Μπορείτε τα δείτε βιντεάκι με τη διαδικασία εδώ: http://www.greektuts.net/greek-in-joomla/

Μπορείτε τα δείτε βιντεάκι με τη διαδικασία εδώ: http://www.greektuts.net/greek-in-joomla/ 1) Εμφάνιση ιστοσελίδας Ανοίγουμε το πρόγραμμα πλοήγησης (Firefox, Chrome, Internet Explorer κτλ) και στη γραμμή διευθύνσεων πληκτρολογούμε τη διεύθυνση http://localhost ή http://127.0.0.1. Αν δεν βλέπουμε

Διαβάστε περισσότερα

Σενάριο Εστίασης Win XP:

Σενάριο Εστίασης Win XP: Σενάριο Εστίασης Win XP: Υλικό: 1 Η/Υ (backoffice), 1 POS, 1 router Motorola, 1 PDA. Σενάριο: Sync του backoffice με το POS και merge του POS με το PDA. Προϋποθέσεις Software: 1) BACK OFFICE : WIN XP pro,.net

Διαβάστε περισσότερα

Εγκατάσταση του PiNet για διαχείριση εργαστηρίου με Raspberry Pi. Συγγραφέας: Τριχόπουλος Γιώργος Δεκέμβριος 2016

Εγκατάσταση του PiNet για διαχείριση εργαστηρίου με Raspberry Pi. Συγγραφέας: Τριχόπουλος Γιώργος Δεκέμβριος 2016 Εγκατάσταση του PiNet για διαχείριση εργαστηρίου με Raspberry Pi Συγγραφέας: Τριχόπουλος Γιώργος Δεκέμβριος 2016 Το σύστημα PiNet εξυπηρετεί στη διαχείριση των υπολογιστών Raspberry Pi σε μία σχολική τάξη.

Διαβάστε περισσότερα

Σε αυτό το εργαστήριο θα εγκαταστήσουμε μια διανομή Linux Fedora Core 4 από DVD. Παρακάτω ακολουθούν τα βήματα της εγκατάστασης.

Σε αυτό το εργαστήριο θα εγκαταστήσουμε μια διανομή Linux Fedora Core 4 από DVD. Παρακάτω ακολουθούν τα βήματα της εγκατάστασης. Πανεπιστήμιο Μακεδονίας Τμήμα Εφαρμοσμένης Πληροφορικής Μάθημα: Προγραμματισμός Διαχείρισης Συστημάτων ΙΙ Εξάμηνο: Δ, Ακαδ. Έτος: 2005 2006 Διδακτική Ενότητα: Εγκατάσταση Fedora Core 4 Υπεύθυνος μαθήματος:

Διαβάστε περισσότερα

Οδηγίες Χρήσης EAP Controller Software

Οδηγίες Χρήσης EAP Controller Software Οδηγίες Χρήσης EAP Controller Software Designed by TP-Link Hellas Ltd. Professional Business Unit Επιμέλεια: Βαλάντης Οικονομόπουλος 1 Περιεχόμενα 1.1 Προσδιορισμός της Τοπολογίας του Δικτύου...2 1.2 Αρχική

Διαβάστε περισσότερα

Διαδικασία εγκατάστασης και ρύθμισης AUA-VPN για Windows XP/Vista/7/8

Διαδικασία εγκατάστασης και ρύθμισης AUA-VPN για Windows XP/Vista/7/8 Διαδικασία εγκατάστασης και ρύθμισης AUA-VPN για Windows XP/Vista/7/8 Κατεβάζουμε το πρόγραμμα openvpn-setup.exe στον υπολογιστή με τον browser της επιλογής μας (Internet Explorer, Firefox, Chrome κα)

Διαβάστε περισσότερα

Tο περιβάλλον Code::Blocks

Tο περιβάλλον Code::Blocks Tο περιβάλλον Code::Blocks Το Code::Blocks αποτελεί ένα πλήρες περιβάλλον ανάπτυξης εφαρμογών για την γλώσσα C και C++. Το περιβάλλον είναι ελεύθερο λογισμικό και χρησιμοποιεί μια ειδική έκδοση του μεταγλωττιστή

Διαβάστε περισσότερα

ΟΔΗΓΙΕΣ ΕΓΚΑΤΑΣΤΑΣΗΣ & ΧΡΗΣΗΣ ΟΛΟΚΛΗΡΩΜΕΝΟΥ ΠΕΡΙΒΑΛΛΟΝΤΟΣ ΑΝΑΠΤΥΞΗΣ BloodShed Dev-C++

ΟΔΗΓΙΕΣ ΕΓΚΑΤΑΣΤΑΣΗΣ & ΧΡΗΣΗΣ ΟΛΟΚΛΗΡΩΜΕΝΟΥ ΠΕΡΙΒΑΛΛΟΝΤΟΣ ΑΝΑΠΤΥΞΗΣ BloodShed Dev-C++ ΟΔΗΓΙΕΣ ΕΓΚΑΤΑΣΤΑΣΗΣ & ΧΡΗΣΗΣ ΟΛΟΚΛΗΡΩΜΕΝΟΥ ΠΕΡΙΒΑΛΛΟΝΤΟΣ ΑΝΑΠΤΥΞΗΣ BloodShed Dev-C++ Α. ΠΡΙΝ ΤΗΝ ΕΓΚΑΤΑΣΤΑΣΗ Το πρόγραμμα BloodShed Dev-C++ είναι ένα ολοκληρωμένο περιβάλλον ανάπτυξης* κώδικα για γλώσσες

Διαβάστε περισσότερα

6 Εισαγωγή στο Wordpress 3.x

6 Εισαγωγή στο Wordpress 3.x Περιεχόμενα 1 Εγκατάσταση του WordPress... 11 Ελάχιστες απαιτήσεις... 11 Easy PHP... 12 Εγκατάσταση Easy PHP... 12 Βήματα εγκατάστασης EasyPHP με εικόνες... 13 Το EasyPHP στα Ελληνικά... 17 Κατέβασμα και

Διαβάστε περισσότερα

Βασική εγκατάσταση Asterisk σε Linux

Βασική εγκατάσταση Asterisk σε Linux Βασική εγκατάσταση Asterisk σε Linux 1 Πι νακας περιεχομε νων ΓΕΝΙΚΆ... 3 ΕΓΚΑΤΆΣΤΑΣΗ ΛΟΓΙΣΜΙΚΟΎ... 4 LINUX MYSQL ASTERISK - UTILITIES... 4 ACCS (ALTEC CALL CENTER SERVER)... 5 Εγκατάσταση σε περιβάλλον

Διαβάστε περισσότερα

Οδηγός Χρήσης για Windows

Οδηγός Χρήσης για Windows Οδηγός Χρήσης για Windows Περιεχόμενα Γρήγορο ξεκίνημα... 1 Εγκατάσταση του λογισμικού... 1 Χρήση του Εικονιδίου στην Περιοχή Ειδοποιήσεων... 6 Επαναφορά του εικονιδίου στην Περιοχή ειδοποιήσεων... 8 Διαχείριση

Διαβάστε περισσότερα

Εγκατάσταση του εκτυπωτή από το CD λογισμικού και τεκμηρίωσης

Εγκατάσταση του εκτυπωτή από το CD λογισμικού και τεκμηρίωσης Σελίδα 1 από 6 Οδηγός σύνδεσης Υποστηριζόμενα λειτουργικά συστήματα Μπορείτε να εγκαταστήσετε το λογισμικό του εκτυπωτή χρησιμοποιώντας το CD λογισμικού στα ακόλουθα λειτουργικά συστήματα: Windows 8.1

Διαβάστε περισσότερα

Δομές Δεδομένων. Σημειώσεις από το εργαστήριο για τον χειρισμό του προγράμματος Eclipse. 5ο εξάμηνο. v1.0

Δομές Δεδομένων. Σημειώσεις από το εργαστήριο για τον χειρισμό του προγράμματος Eclipse. 5ο εξάμηνο. v1.0 Δομές Δεδομένων 5ο εξάμηνο Σημειώσεις από το εργαστήριο για τον χειρισμό του προγράμματος Eclipse v1.0 Τις σημειώσεις κράτησαν και διαμόρφωσαν σε word οι: Κονδύλη Γαλήνη, ΑΜ 5576 Μάλλιου Χριστίνα, ΑΜ 5413

Διαβάστε περισσότερα

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C Στο εργαστήριο αυτό, θα ασχοληθούμε με δύο προγραμματιστικά περιβάλλοντα της γλώσσας C, το Dev-C++, το οποίο είναι εφαρμογή που τρέχει

Διαβάστε περισσότερα

Linux με τη χρήση κονσόλας

Linux με τη χρήση κονσόλας Linux με τη χρήση κονσόλας Κεφάλαιο 2 Κείμενα Χρυσούλα Παπάζογλου Πανεπιστήμιο Μακεδονίας, Βιβλιοθήκη και Κέντρο Πληροφόρησης Υπηρεσία Ασύγχρονης Τηλεκπαίδευσης Θεσσαλονίκη, Μάρτης 2009 Το υλικό διατίθεται

Διαβάστε περισσότερα

Οδηγός σύνδεσης στο δίκτυο του ΤΕΠΑΚ μέσα από την υπηρεσία απομακρυσμένης πρόσβασης VPN Τεχνολογικό Πανεπιστήμιο Κύπρου

Οδηγός σύνδεσης στο δίκτυο του ΤΕΠΑΚ μέσα από την υπηρεσία απομακρυσμένης πρόσβασης VPN Τεχνολογικό Πανεπιστήμιο Κύπρου Οδηγός σύνδεσης στο δίκτυο του ΤΕΠΑΚ μέσα από την υπηρεσία απομακρυσμένης πρόσβασης VPN Τεχνολογικό Πανεπιστήμιο Κύπρου Περιεχόμενα Οδηγός σύνδεσης στο δίκτυο του ΤΕΠΑΚ μέσα από την υπηρεσία απομακρυσμένης

Διαβάστε περισσότερα

Περιεχόμενα. Μέρος 1: Βασικές έννοιες της πληροφορικής... 13. Πρόλογος... 11

Περιεχόμενα. Μέρος 1: Βασικές έννοιες της πληροφορικής... 13. Πρόλογος... 11 Περιεχόμενα Πρόλογος... 11 Μέρος 1: Βασικές έννοιες της πληροφορικής... 13 1.1 Windows XP... 15 1.2 Επιφάνεια εργασίας... 19 1.3 Γραμμή εργασιών... 24 1.4 Χειρισμός παραθύρων... 30 1.5 Μενού... 36 1.6

Διαβάστε περισσότερα

Προγραμματισμός Ι. Εργαστήριο 1 ο Περιβάλλον Εργασίας. Νικόλαος Δ. Τσελίκας Κυριακή Θ. Σεκλού

Προγραμματισμός Ι. Εργαστήριο 1 ο Περιβάλλον Εργασίας. Νικόλαος Δ. Τσελίκας Κυριακή Θ. Σεκλού Προγραμματισμός Ι Εργαστήριο 1 ο Περιβάλλον Εργασίας Νικόλαος Δ. Τσελίκας ntsel@uop.gr Κυριακή Θ. Σεκλού kseklou@uop.gr Εργαστήριο στον Προγραμματισμό Ι - Τμήμα Πληροφορικής και Τηλεπικοινωνιών - Πανεπιστήμιο

Διαβάστε περισσότερα

ΜΕΤΑΦΟΡΑ ΑΡΧΕΙΩΝ FTP

ΜΕΤΑΦΟΡΑ ΑΡΧΕΙΩΝ FTP ΜΕΤΑΦΟΡΑ ΑΡΧΕΙΩΝ FTP Το FTP (File Transfer Protocol) είναι το εξειδικευμένο πρωτόκολλο μεταφοράς αρχείων στα σύγχρονα δίκτυα δεδομένων όπως το Διαδίκτυο. Δίνει τη δυνατότητα μεταφοράς αρχείων από τον υπολογιστή

Διαβάστε περισσότερα

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010 Τμήμα Πληροφορικής & Επικοινωνιών Τομέας Υπολογιστικών Τεχνικών & Συστημάτων Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010 Ιωάννης Γεωργουδάκης - Πάρις Μαστοροκώστας Σεπτέμβριος 2011 ΠΕΡΙΕΧΟΜΕΝΑ

Διαβάστε περισσότερα

SingularLogic Σεπτέμβριος 2014

SingularLogic Σεπτέμβριος 2014 LIVE UPDATE Έκδοση 5 SingularLogic Σεπτέμβριος 2014 SingularLogic Live Update (SLUC) Είναι μια ανεξάρτητη εφαρμογή που σας επιτρέπει με εύκολο τρόπο: Να ενημερώνεστε για τις τρέχουσες προσφορές της SingularLogic

Διαβάστε περισσότερα

Vodafone Business Connect

Vodafone Business Connect Vodafone Business Connect Vodafone Business WebHosting Αναλυτικός Οδηγός Χρήσης MSSQL Manager Αναλυτικός οδηγός χρήσης: MS SQL Manager Vodafone Business Connect - Υπηρεσίες φιλοξενίας εταιρικού e-mail

Διαβάστε περισσότερα

BHMATA ΓΙΑ ΑΝΑΒΑΘΜΙΣΗ ΣΤΟ 3S/I.T.P.

BHMATA ΓΙΑ ΑΝΑΒΑΘΜΙΣΗ ΣΤΟ 3S/I.T.P. BHMATA ΓΙΑ ΑΝΑΒΑΘΜΙΣΗ ΣΤΟ 3S/I.T.P. Πριν την έναρξη της διαδικασίας θα θέλαμε να σας ενημερώσουμε ότι η αναβάθμιση διαφέρει σε κάποιες λεπτομέρειες, ανάλογα με το τύπο της βάσης δεδομένων της κάθε χρήσης.

Διαβάστε περισσότερα

MS SQL 2012 Express (Εγκατάσταση με Advanced Services)

MS SQL 2012 Express (Εγκατάσταση με Advanced Services) Published on PRISMA Win Help - Megasoft (http://docs.megasoft.gr) Home > Τεχνικά Εγχειρίδια > Βάσεις Δεδομένων > MS SQL 2012 Express (Εγκατάσταση με Advanced Services) MS SQL 2012 Express (Εγκατάσταση

Διαβάστε περισσότερα

Εγκατάσταση και δοκιμή προγραμμάτων για προγραμματισμό στη C

Εγκατάσταση και δοκιμή προγραμμάτων για προγραμματισμό στη C Εγκατάσταση και δοκιμή προγραμμάτων για προγραμματισμό στη C Τα βήματα είναι 3 για τα λειτουργικά συστήματα (Ubuntu και Windows) που θα δούμε: 1. Εγκατάσταση του GNU C Compiler (gcc) 2. Εγκατάσταση του

Διαβάστε περισσότερα

ΠΡΟΑΙΡΕΤΙΚΑ ΣΕΜΙΝΑΡΙΑ 2012-2013. Πληροφορική και Επιστήμη Ηλεκτρονικών Υπολογιστών

ΠΡΟΑΙΡΕΤΙΚΑ ΣΕΜΙΝΑΡΙΑ 2012-2013. Πληροφορική και Επιστήμη Ηλεκτρονικών Υπολογιστών ΠΡΟΑΙΡΕΤΙΚΑ ΣΕΜΙΝΑΡΙΑ 2012-2013 Πληροφορική και Επιστήμη Ηλεκτρονικών Υπολογιστών Εγκατάσταση Linux Server/Samba/Web Server (Apache)/MySQL Database Server/Joomla/Moodle/Word Press (Blog)/Email Server/File

Διαβάστε περισσότερα

Υπηρεσία διαμοιρασμού αρχείων

Υπηρεσία διαμοιρασμού αρχείων 7 Ιουνίου 2013 Υπηρεσία διαμοιρασμού αρχείων Πανεπιστήμιο Κύπρου, Τμήμα Πληροφορικής Ομάδα Τεχνικής Υποστήριξης v0.4 Πίνακας περιεχομένων Γενικά... 2 Διαθεσιμότητα... 2 Πρόσβαση... 2 Φυλλομετρητή ιστού...

Διαβάστε περισσότερα

MCSS Medical Center Support Systems. Setup Instructions

MCSS Medical Center Support Systems. Setup Instructions MCSS Medical Center Support Systems Setup Instructions Author: Dr. Alexander Patelis Version: 1.5.00 Code: MCSS_IN_003 Αθήνα, Ιούνιος 2010 2006 2010 Dragon Systems MCSS_IN_003 Page 1 / 89 Πίνακας Αλλαγών

Διαβάστε περισσότερα

Tο περιβάλλον Code::Blocks

Tο περιβάλλον Code::Blocks Tο περιβάλλον Code::Blocks Το Code::Blocks αποτελεί ένα πλήρες περιβάλλον ανάπτυξης εφαρμογών για την γλώσσα C και C++. Το περιβάλλον είναι ελεύθερο λογισμικό και χρησιμοποιεί μια ειδική έκδοση του μεταγλωττιστή

Διαβάστε περισσότερα

Χρήσιμες Ρυθμίσεις του Windows 7 στον Η/Υ σας

Χρήσιμες Ρυθμίσεις του Windows 7 στον Η/Υ σας Χρήσιμες Ρυθμίσεις του Windows 7 στον Η/Υ σας Πώς να δημιουργήσουμε ένα νέο λογαριασμό χρήστη (User Account) στα Windows 7 Αρκετές φορές τυχαίνει να χρησιμοποιούν διάφορα άτομα τον Η/Υ σας. Σε τέτοιες

Διαβάστε περισσότερα

Λίγα λόγια από το συγγραφέα Κεφάλαιο 1: Microsoft Excel Κεφάλαιο 2: Η δομή ενός φύλλου εργασίας... 26

Λίγα λόγια από το συγγραφέα Κεφάλαιο 1: Microsoft Excel Κεφάλαιο 2: Η δομή ενός φύλλου εργασίας... 26 Περιεχόμενα Λίγα λόγια από το συγγραφέα... 7 Κεφάλαιο 1: Microsoft Excel 2002... 9 Κεφάλαιο 2: Η δομή ενός φύλλου εργασίας... 26 Κεφάλαιο 3: Δημιουργία νέου βιβλίου εργασίας και καταχώριση δεδομένων...

Διαβάστε περισσότερα

ΟΔΗΓΙΕΣ ΕΓΚΑΤΑΣΤΑΣΗΣ Α2Α

ΟΔΗΓΙΕΣ ΕΓΚΑΤΑΣΤΑΣΗΣ Α2Α 1 ΤΕΧΝΙΚΕΣ ΠΡΟΔΙΑΓΡΑΦΕΣ ΟΔΗΓΙΕΣ ΕΓΚΑΤΑΣΤΑΣΗΣ Α2Α 1.1 ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ Το λειτουργικό σύστημα θα πρέπει να είναι Windows XP, 2000 και 2003. Ο λογαριασμός χρήστη του υπολογιστή, θα πρέπει να έχει πλήρη

Διαβάστε περισσότερα

To περιβάλλον Ανάπτυξης εφαρμογών της Visual Basic 2008 Express Edition

To περιβάλλον Ανάπτυξης εφαρμογών της Visual Basic 2008 Express Edition To περιβάλλον Ανάπτυξης εφαρμογών της Visual Basic 2008 Express Edition Πίνακας Περιεχομένων To περιβάλλον Ανάπτυξης εφαρμογών της Visual Basic 2008 Express Edition... 1 Εκτέλεση του περιβάλλοντος ανάπτυξης

Διαβάστε περισσότερα

ΕΓΧΕΙΡΙ ΙΟ ΕΓΚΑΤΑΣΤΑΣΗΣ QUARKXPRESS & QLA SERVER

ΕΓΧΕΙΡΙ ΙΟ ΕΓΚΑΤΑΣΤΑΣΗΣ QUARKXPRESS & QLA SERVER ΕΓΧΕΙΡΙ ΙΟ ΕΓΚΑΤΑΣΤΑΣΗΣ QUARKXPRESS & QLA SERVER Quark License Administrator (QLA) Εγχειρίδιο εγκατάστασης Τι είναι ο QLA O Quark License Administrator (QLA) είναι μια δικτυακή εφαρμογή διαχείρισης αδειών

Διαβάστε περισσότερα

Πως θα κατασκευάσω το πρώτο πρόγραμμα;

Πως θα κατασκευάσω το πρώτο πρόγραμμα; Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών Σκοπός Να γίνει εξοικείωση το μαθητών με τον ΗΥ και το λειτουργικό σύστημα. - Επίδειξη του My Computer

Διαβάστε περισσότερα

ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Σύντομη εισαγωγή στο εργαστήριο

ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Σύντομη εισαγωγή στο εργαστήριο ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Σύντομη εισαγωγή στο εργαστήριο Στο φετινό εργαστήριο του μαθήματος, έχετε τη δυνατότητα να δουλέψετε σε 2 περιβάλλοντα. Ένα σε περιβάλλον UNIX μέσω απομακρυσμένης σύνδεσης σε

Διαβάστε περισσότερα

Field Service Management ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ

Field Service Management ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ Field Service Management ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ 1 ΠΕΡΙΕΧΟΜΕΝΑ 1. ΑΝΑΛΥΣΗ ΜΕΝΟΥ ΕΦΑΡΜΟΓΗΣ... 4 2. ΕΠΕΞΗΓΗΣΗ ΚΕΝΤΡΙΚΟΥ ΜΕΝΟΥ ΚΑΡΤΕΛΑΣ... 5 3. ΔΗΜΙΟΥΡΓΙΑ ΠΕΛΑΤΗ... 6 4. ΑΝΑΖΗΤΗΣΗ ΠΕΛΑΤΗ... 6 5. ΕΠΕΞΕΡΓΑΣΙΑ/ΔΙΑΓΡΑΦΗ

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΟΙΚΟΝΟΜΙΚΩΝ ΕΠΙΣΤΗΜΩΝ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΟΙΚΟΝΟΜΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΟΙΚΟΝΟΜΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΜΑΘΗΜΑ : Η/Υ I (ενότητα WINDOWS) ΥΠΕΥΘΥΝΟΣ : ΑΝΑΣΤΑΣΙΟΣ ΟΙΚΟΝΟΜΙΔΗΣ, Καθηγητής ΕΡΓΑΣΤΗΡΙΑ : ΘΕΑΝΩ ΧΑΤΖΙΔΑΚΗ, Εργαστηριακό

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΜΣ ΕΠΙΣΤΗΜΗ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑ Η/Υ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΜΣ ΕΠΙΣΤΗΜΗ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑ Η/Υ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΜΣ ΕΠΙΣΤΗΜΗ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑ Η/Υ ΟΔΗΓΟΣ ΕΓΚΑΤΑΣΤΑΣΗΣ Γλώσσας Quipper ΚΟΥΒΕΛΑΣ ΘΕΟΔΩΡΟΣ ΚΥΤΕΑ ΚΩΝΣΤΑΝΤΙΝΑ ΧΡΗΣΤΙΔΗ ΑΓΓΕΛΙΚΗ-ΜΑΡΙΑ

Διαβάστε περισσότερα

Εγκατάσταση και Απεγκατάσταση Ubuntu 7.10

Εγκατάσταση και Απεγκατάσταση Ubuntu 7.10 Εγκατάσταση και Απεγκατάσταση Ubuntu 7.10 Εγκατάσταση Κατεβάζουμε την διανομή Ubuntu 7.10, η οποία είναι σε CD Image από εδώ : Ubuntu Φυσικά γράφουμε το image που μόλις κατεβάσαμε σε ένα CD, χρησιμοποιώντας

Διαβάστε περισσότερα

Περιεχόμενα. Λίγα λόγια από το συγγραφέα... 7 Κεφάλαιο 1: Windows XP Κεφάλαιο 2: Επιφάνεια εργασίας (desktop)... 15

Περιεχόμενα. Λίγα λόγια από το συγγραφέα... 7 Κεφάλαιο 1: Windows XP Κεφάλαιο 2: Επιφάνεια εργασίας (desktop)... 15 Περιεχόμενα Λίγα λόγια από το συγγραφέα... 7 Κεφάλαιο 1: Windows XP... 9 Κεφάλαιο 2: Επιφάνεια εργασίας (desktop)... 15 Κεφάλαιο 3: Γραμμή εργασιών (taskbar)... 26 Κεφάλαιο 4: Χειρισμός παραθύρων... 44

Διαβάστε περισσότερα

Κεφάλαιο 2.3: Ρυθμίσεις των Windows

Κεφάλαιο 2.3: Ρυθμίσεις των Windows Κεφάλαιο 2.3: Ρυθμίσεις των Windows 2.3.1 Βασικές πληροφορίες συστήματος Για να δούμε βασικές πληροφορίες για τον υπολογιστή μας, πατάμε το κουμπί «Έναρξη» και επιλέγουμε διαδοχικά «Πίνακας Ελέγχου», «Σύστημα

Διαβάστε περισσότερα

ΔΙΑΔΙΚΑΣΙA ΜΕΤΑΦΟΡΑΣ ΥΛΙΚΟΥ ΜΑΘΗΜΑΤΟΣ ΑΠΟ BLACKBOARD VISTA ΣΕ MOODLE

ΔΙΑΔΙΚΑΣΙA ΜΕΤΑΦΟΡΑΣ ΥΛΙΚΟΥ ΜΑΘΗΜΑΤΟΣ ΑΠΟ BLACKBOARD VISTA ΣΕ MOODLE ΔΙΑΔΙΚΑΣΙA ΜΕΤΑΦΟΡΑΣ ΥΛΙΚΟΥ ΜΑΘΗΜΑΤΟΣ ΑΠΟ BLACKBOARD VISTA ΣΕ MOODLE Η διαδικασία μεταφοράς του υλικού ενός μαθήματος από την πλατφόρμα Blackboard Vista στην πλατφόρμα Moodle σε βήματα είναι η ακόλουθη:

Διαβάστε περισσότερα

Συνοπτικός Οδηγός Χρήσης του MySQL Workbench

Συνοπτικός Οδηγός Χρήσης του MySQL Workbench Συνοπτικός Οδηγός Χρήσης του MySQL Workbench To ΜySQL Workbench είναι μία εφαρμογή, με γραφικό περιβάλλον, στην οποία μπορούμε να συντάξουμε και να εκτελέσουμε εντολές SQL. To MySQL Workbench απαιτεί να

Διαβάστε περισσότερα

Ενηµερώσεις λογισµικού Οδηγός χρήσης

Ενηµερώσεις λογισµικού Οδηγός χρήσης Ενηµερώσεις λογισµικού Οδηγός χρήσης Copyright 2009 Hewlett-Packard Development Company, L.P. Η ονοµασία Windows είναι κατοχυρωµένο εµπορικό σήµα της Microsoft Corporation στις Η.Π.Α. Οι πληροφορίες στο

Διαβάστε περισσότερα

ΑΣΚΗΣΗ 1: TO ΠΕΡΙΒΑΛΛΟΝ ΕΡΓΑΣΙΑΣ DEV-C++

ΑΣΚΗΣΗ 1: TO ΠΕΡΙΒΑΛΛΟΝ ΕΡΓΑΣΙΑΣ DEV-C++ ΑΣΚΗΣΗ 1: TO ΠΕΡΙΒΑΛΛΟΝ ΕΡΓΑΣΙΑΣ DEV-C++ Σκοπός της Άσκησης Ο σκοπός αυτής της εργαστηριακής άσκησης είναι η εξοικείωση με τη χρήση του περιβάλλοντος Dev C++ το οποίο θα χρησιμοποιηθεί για την υλοποίηση

Διαβάστε περισσότερα

Μικρή Εισαγωγή στο wxdev-c++

Μικρή Εισαγωγή στο wxdev-c++ Μικρή Εισαγωγή στο περιβάλλον wxdev-c++ Το wxdev-c++ αποτελεί ένα πλήρες περιβάλλον ανάπτυξης εφαρμογών για την γλώσσα C και C++. Το περιβάλλον είναι ελεύθερο λογισμικό και χρησιμοποιεί μια ειδική έκδοση

Διαβάστε περισσότερα

Οδηγός αναβάθμισης των Windows 8 βήμα προς βήμα ΕΜΠΙΣΤΕΥΤ ΚΟ 1/53

Οδηγός αναβάθμισης των Windows 8 βήμα προς βήμα ΕΜΠΙΣΤΕΥΤ ΚΟ 1/53 Οδηγός αναβάθμισης των Windows 8 βήμα προς βήμα ΕΜΠΙΣΤΕΥΤ ΚΟ 1/53 Περιεχόμενα 1. 1. Διαδικασία των Windows 8 2. Απαιτήσεις συστήματος 3. Προετοιμασία 2. 3. 4. 5. με τη 6. 1. Εξατομίκευση 2. Ασύρματο 3.

Διαβάστε περισσότερα

Δίκτυα Η/Υ στην Επιχείρηση

Δίκτυα Η/Υ στην Επιχείρηση Δίκτυα Η/Υ στην Επιχείρηση Εισαγωγή στο λειτουργικό σύστημα Unix Γκάμας Βασίλειος, Εργαστηριακός Συνεργάτης Λειτουργικό Σύστημα (ΛΣ) Λογισμικό συστήματος, το οποίο αποτελεί τη διασύνδεση μεταξύ του υλικού

Διαβάστε περισσότερα

Android Studio για Windows

Android Studio για Windows Android Studio για Windows 1. Οδηγίες Εγκατάστασης: 1. Κατεβάστε το Android Studio από εδώ (τελευταία έκδοση 0.4.6, 496 MB): http://developer.android.com/sdk/installing/studio.html 2. Εγκαταστήστε το αρχείο

Διαβάστε περισσότερα

Εισαγωγή στο περιβάλλον Code::Blocks

Εισαγωγή στο περιβάλλον Code::Blocks Εισαγωγή στο περιβάλλον Code::Blocks Στο παρόν εγχειρίδιο παρουσιάζεται η διαδικασία ανάπτυξης, μεταγλώττισης και εκτέλεσης ενός προγράμματος C στο περιβάλλον του Code::Blocks. Η διαδικασία αυτή παρουσιάζεται

Διαβάστε περισσότερα

Πατάμε στο εικονίδιο του δικτύου (κάτω δεξιά) και κάνουμε κλικ στο Άνοιγμα Κέντρου Δικτύου και κοινής χρήσης

Πατάμε στο εικονίδιο του δικτύου (κάτω δεξιά) και κάνουμε κλικ στο Άνοιγμα Κέντρου Δικτύου και κοινής χρήσης Δραστηριότητα 5: Διευθύνσεις IP για Η/Υ με Windws 7 Βιβλιογραφία: ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ, ΙΝΣΤΙΤΟΥΤΟ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΚΑΙ ΕΚΔΟΣΕΩΝ «ΔΙΟΦΑΝΤΟΣ»,Γ Τάξη ΤΟΜΕΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΑ.Λ., Κωνσταντοπούλου Μ.,

Διαβάστε περισσότερα

Σύντομη περιγραφή 5. Για να ξεκινήσετε 6. Οι οθόνες του προγράμματος 8. Εγκατάσταση προγράμματος 6 Δημιουργία κωδικών χρήστη 7

Σύντομη περιγραφή 5. Για να ξεκινήσετε 6. Οι οθόνες του προγράμματος 8. Εγκατάσταση προγράμματος 6 Δημιουργία κωδικών χρήστη 7 Σύντομη περιγραφή 5 Για να ξεκινήσετε 6 Εγκατάσταση προγράμματος 6 Δημιουργία κωδικών χρήστη 7 Οι οθόνες του προγράμματος 8 Αρχική οθόνη 8 Στοιχεία ασθενή 9 Εργασίες - Ραντεβού 10 Εικόνες 11 Ημερολόγιο

Διαβάστε περισσότερα

Εγκατάσταση λογισμικού και αναβάθμιση συσκευής Device software installation and software upgrade

Εγκατάσταση λογισμικού και αναβάθμιση συσκευής Device software installation and software upgrade Για να ελέγξετε το λογισμικό που έχει τώρα η συσκευή κάντε κλικ Menu > Options > Device > About Device Versions. Στο πιο κάτω παράδειγμα η συσκευή έχει έκδοση λογισμικού 6.0.0.546 με πλατφόρμα 6.6.0.207.

Διαβάστε περισσότερα

Οδηγός Εγκατάστασης Pylon Auto Moto Cube

Οδηγός Εγκατάστασης Pylon Auto Moto Cube POWERED BY ACT Οδηγός Εγκατάστασης Pylon Auto Moto Cube 1 Version: 01 Μάιος 2017 Περιεχόμενα Εκτέλεση Εγκατάστασης Pylon 3 Pylon Auto-Moto Cube Configuration για Sql Server βάση 5 Εγκατάσταση και Εξαγωγή

Διαβάστε περισσότερα

Προγραμματισμός Διαχείρισης Συστημάτων ΙΙ

Προγραμματισμός Διαχείρισης Συστημάτων ΙΙ Προγραμματισμός Διαχείρισης Συστημάτων ΙΙ Μάθημα 5ο Εγκατάσταση λογισμικού Μιχαηλίδης Παναγιώτης Περιεχόμενα Εγκατάσταση λογισμικού Εγκατάσταση, παραμετροποίηση Ενημέρωση συστήματος Διαχείριση πακέτων:rpm

Διαβάστε περισσότερα

TeleCost Hotel για Panasonic TDA

TeleCost Hotel για Panasonic TDA TeleCost Hotel για Panasonic TDA 1. Οδηγίες Εγκατάστασης του Λογισμικού του Συστήματος Telecost Hotel Γενικά Για την εγκατάσταση του Λογισμικού του Συστήματος TeleCost HL θα πρέπει να ακολουθηθούν συνοπτικά

Διαβάστε περισσότερα

ΜΑΘΗΜΑ Άνοιγμα Της Εφαρμογής Επεξεργασίας Κειμένου. 2. Κύρια Οθόνη Της Εφαρμογής Κειμένου ΣΤΟΧΟΙ:

ΜΑΘΗΜΑ Άνοιγμα Της Εφαρμογής Επεξεργασίας Κειμένου. 2. Κύρια Οθόνη Της Εφαρμογής Κειμένου ΣΤΟΧΟΙ: ΜΑΘΗΜΑ 1 ΣΤΟΧΟΙ: 1. Άνοιγμα Της Εφαρμογής Επεξεργασίας Κειμένου (Microsoft Word) 2. Κύρια Οθόνη Της Εφαρμογής Κειμένου 3. Δημιουργία Νέου Εγγράφου 4. Δημιουργία Εγγράφου Βασισμένο Σε Πρότυπο 5. Κλείσιμο

Διαβάστε περισσότερα

Τεχνικές αλλαγές στις εκδόσεις

Τεχνικές αλλαγές στις εκδόσεις Τεχνικές αλλαγές στις εκδόσεις SingularLogic Control 4 rel 3.05 SingularLogic Control 1, 2, 3 rel 3.05 SingularLogic Accountant rel 3.05 SingularLogic Λογιστικά rel 3.05 ή µεταγενέστερες εκδόσεις SingularLogic

Διαβάστε περισσότερα

Οδηγός εγκατάστασης λογισμικού NPD4758-00 EL

Οδηγός εγκατάστασης λογισμικού NPD4758-00 EL Οδηγός εγκατάστασης λογισμικού NPD4758-00 EL Εγκατάσταση λογισμικού Σημείωση για τη σύνδεση USB: Μην συνδέσετε το καλώδιο USB μέχρι να εμφανιστεί η σχετική ειδοποίηση. Εάν εμφανιστεί αυτή η οθόνη, κάντε

Διαβάστε περισσότερα

CYGWIN Οδηγίες Χρήσης (Συγγραφέας: Γιώργος ούκας)

CYGWIN Οδηγίες Χρήσης (Συγγραφέας: Γιώργος ούκας) Γενικά CYGWIN Οδηγίες Χρήσης (Συγγραφέας: Γιώργος ούκας) Το cygwin είναι ένα περιβάλλον προσοµοίωσης του UNIX/Linux στα Windows. Παρέχει στον χρήστη την δυνατότητα να δηµιουργεί προγράµµατα κάνοντας χρήση

Διαβάστε περισσότερα

Υπηρεσία Πληροφορικών Συστημάτων Τομέας Συστημάτων

Υπηρεσία Πληροφορικών Συστημάτων Τομέας Συστημάτων Υπηρεσία Πληροφορικών Συστημάτων Τομέας Συστημάτων Οδηγός σύνδεσης Office Outlook 2013 με την Υπηρεσία Ηλεκτρονικού Ταχυδρομείου μέσω Zimbra Outlook Connector Υπηρεσία Πληροφορικών Συστημάτων Τομέας Συστημάτων

Διαβάστε περισσότερα

Διαχείριση Έργων Πληροφορικής Εργαστήριο

Διαχείριση Έργων Πληροφορικής Εργαστήριο Διαχείριση Έργων Πληροφορικής Εργαστήριο «Εισαγωγή στο MS Project- Διάγραμμα Gantt» Μ.Τσικνάκης, Ρ.Χατζάκη Ε. Μανιαδή, Ά. Μαριδάκη 1. Εισαγωγή στο Microsoft Project To λογισμικό διαχείρισης έργων MS Project

Διαβάστε περισσότερα

Οδηγός Εγκατάστασης και Χρήσης του Arebas Easy

Οδηγός Εγκατάστασης και Χρήσης του Arebas Easy Σ ε λ ί δ α 1 Οδηγός Εγκατάστασης και Χρήσης του Arebas Easy Περιεχόμενα 1. Download Arebas Easy... 2 2. Εγκατάσταση Arebas Easy... 3 3. Εγγραφή στον Arebas Server... 7 4. Παραμετροποίηση Arebas Easy...

Διαβάστε περισσότερα

Open eclass 2.2 - Πλατφόρμα Ασύγχρονης Τηλεκπαίδευσης

Open eclass 2.2 - Πλατφόρμα Ασύγχρονης Τηλεκπαίδευσης Open eclass 2.2 - Πλατφόρμα Ασύγχρονης Τηλεκπαίδευσης Οδηγίες Αναβάθμισης (Upgrade) Ομάδα Εργασίας: Τσιμπάνης Κωνσταντίνος, Εξηνταρίδης Γιάννης Αθήνα, 30 Σεπτεμβρίου 2009 Εισαγωγή Η πλατφόρμα Open eclass

Διαβάστε περισσότερα

Σύστημα Άυλων Τίτλων - Οδηγίες παραμετροποίησης client συστήματος

Σύστημα Άυλων Τίτλων - Οδηγίες παραμετροποίησης client συστήματος Σύστημα Άυλων Τίτλων - Οδηγίες παραμετροποίησης client συστήματος Έκδοση 1.0 10/03/2016 Page 1 of 42 Περιεχόμενα 1. Προαπαιτούμενα... 3 1.1 Java Runtime Environment (JRE)... 4 1.2 Browsers... 5 1.3 Certificates...

Διαβάστε περισσότερα

Οδηγός αναβάθμισης των Windows 8 βήμα προς βήμα ΕΜΠΙΣΤΕΥΤΙΚΟ 1/53

Οδηγός αναβάθμισης των Windows 8 βήμα προς βήμα ΕΜΠΙΣΤΕΥΤΙΚΟ 1/53 Οδηγός αναβάθμισης των Windows 8 βήμα προς βήμα ΕΜΠΙΣΤΕΥΤΙΚΟ 1/53 Περιεχόμενα 1. 1. Διαδικασία των Windows 8 2. Απαιτήσεις συστήματος 3. Προετοιμασία 2. 3. 4. 5. με τη 6. 1. Εξατομίκευση 2. Ασύρματο 3.

Διαβάστε περισσότερα

Windows 7 Windows Vista

Windows 7 Windows Vista ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΗΠΕΙΡΟΥ ΚΕΝΤΡΟ ΔΙΑΧΕΙΡΙΣΗΣ ΔΙΚΤΥΩΝ Κωστακιοί Άρτας, ΑΡΤΑ 47100 - Tηλ.. 26810 50500 - Fax. 2681 76941 e-mail: noc@teiep.gr ΟΔΗΓΙΕΣ ΣΥΝΔΕΣΗΣ ΣΤΟ ΔΙΚΤΥΟ ΤΟΥ Τ.Ε.Ι. ΗΠΕΙΡΟΥ

Διαβάστε περισσότερα

Οδηγίες Εγκατάστασης και χρήσης προγραμμάτων για την γλώσσα C

Οδηγίες Εγκατάστασης και χρήσης προγραμμάτων για την γλώσσα C Οδηγίες Εγκατάστασης και χρήσης προγραμμάτων για την γλώσσα C Περιεχόμενα 1. Το πρόγραμμα Dev-C++... 2 1.1 Λήψη και εγκατάσταση... 2 1.2 Χρήση... 5 2. Το πρόγραμμα Geany... 10 2.1 Λήψη και εγκατάσταση...

Διαβάστε περισσότερα

WORDPRESS. Εικόνα 1. Πατώντας στη «Σύνδεση» γράψτε το Username (όνομα χρήστη) και το Password (συνθηματικό) (εικόνα 2) που σας έδωσε ο διαχειριστής

WORDPRESS. Εικόνα 1. Πατώντας στη «Σύνδεση» γράψτε το Username (όνομα χρήστη) και το Password (συνθηματικό) (εικόνα 2) που σας έδωσε ο διαχειριστής WORDPRESS Το παρόν εγχειρίδιο είναι μία προσπάθεια για τους συναδέλφους εκπαιδευτικούς αλλά και μαθητές για την δημοσίευση άρθρων. Για παραλήψεις, λάθη ή κάτι το δυσνόητο παρακαλώ ενημερώστε με ώστε να

Διαβάστε περισσότερα

Οδηγίες ρύθμισης για σύνδεση των μετατροπέων Fronius στο online portal Fronius Solar.web (με χρήση Η/Υ)

Οδηγίες ρύθμισης για σύνδεση των μετατροπέων Fronius στο online portal Fronius Solar.web (με χρήση Η/Υ) Οδηγίες ρύθμισης για σύνδεση των μετατροπέων Fronius στο online portal Fronius Solar.web (με χρήση Η/Υ) 1. Πριν Ξεκινήσετε Δημιουργήστε λογαριασμό στο online portal Fronius Solar.web Σε περίπτωση που δεν

Διαβάστε περισσότερα

MultiBoot Οδηγός χρήσης

MultiBoot Οδηγός χρήσης MultiBoot Οδηγός χρήσης Copyright 2008 Hewlett-Packard Development Company, L.P. Οι πληροφορίες στο παρόν έγγραφο μπορεί να αλλάξουν χωρίς προειδοποίηση. Οι μοναδικές εγγυήσεις για προϊόντα και υπηρεσίες

Διαβάστε περισσότερα

Ενημερώσεις λογισμικού Οδηγός χρήσης

Ενημερώσεις λογισμικού Οδηγός χρήσης Ενημερώσεις λογισμικού Οδηγός χρήσης Copyright 2008 Hewlett-Packard Development Company, L.P. Η ονομασία Windows είναι σήμα κατατεθέν της εταιρείας Microsoft Corporation στις Η.Π.Α. Οι πληροφορίες στο

Διαβάστε περισσότερα

ΕΝΤΑΞΗ ΣΤΑΘΜΟΥ ΕΡΓΑΣΙΑΣ ΣΕ DOMAIN

ΕΝΤΑΞΗ ΣΤΑΘΜΟΥ ΕΡΓΑΣΙΑΣ ΣΕ DOMAIN ΕΝΤΑΞΗ ΣΤΑΘΜΟΥ ΕΡΓΑΣΙΑΣ ΣΕ DOMAIN Στόχοι Μετά την ολοκλήρωση της άσκησης θα είσαι σε θέση: 1. Να εντάσσεις έναν σταθμό εργασίας σε domain. 2. Να εντοπίζεις τους σταθμούς εργασίας ενός domain. 3. Να εξηγείς

Διαβάστε περισσότερα

Εθνική Πύλη ermis.gov.gr

Εθνική Πύλη ermis.gov.gr Εθνική Πύλη ermis.gov.gr Έκδοση και εγκατάσταση ψηφιακών πιστοποιητικών χαλαρής αποθήκευσης Έκδοση 1.1 Εγκατάσταση Ψηφιακών Πιστοποιητικών Χαλαρής Αποθήκευσης σελίδα 1 / 31 Πίνακας Περιεχομένων 1. ΕΙΣΑΓΩΓΗ

Διαβάστε περισσότερα

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΚΑΙ ΔΙΑΧΕΙΡΙΣΗΣ ΨΗΦΙΑΚΩΝ ΠΙΣΤΟΠΟΙΗΤΙΚΩΝ

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΚΑΙ ΔΙΑΧΕΙΡΙΣΗΣ ΨΗΦΙΑΚΩΝ ΠΙΣΤΟΠΟΙΗΤΙΚΩΝ ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΚΑΙ ΔΙΑΧΕΙΡΙΣΗΣ ΨΗΦΙΑΚΩΝ ΠΙΣΤΟΠΟΙΗΤΙΚΩΝ 1 Α. ΛΗΨΗ ΑΝΤΙΓΡΑΦΟΥ ΑΣΦΑΛΕΙΑΣ (EXPORT) ΨΗΦΙΑΚΩΝ ΠΙΣΤΟΠΟΙΗΤΙΚΩΝ 3 1. ΜΕ ΧΡΗΣΗ INTERNET EXPLORER 3 2. ΜΕ ΧΡΗΣΗ MOZILLA FIREFOX 10 Β. ΜΕΤΑΦΟΡΑ ΨΗΦΙΑΚΩΝ

Διαβάστε περισσότερα

Εγκατάσταση Joomla 1. Στο Π.Σ.Δ. (www.sch.gr) 2. Τοπικά 3. Σε δωρεάν Server

Εγκατάσταση Joomla 1. Στο Π.Σ.Δ. (www.sch.gr) 2. Τοπικά 3. Σε δωρεάν Server Γεώργιος Χρ. Μακρής Εγκατάσταση Joomla 1. Στο Π.Σ.Δ. (www.sch.gr) 2. Τοπικά 3. Σε δωρεάν Server 2012 Γ ε ώ ρ γ ι ο ς Χ ρ. Μ α κ ρ ή ς ( h t t p : / / u s e r s. s c h. g r / g m a k r i s ) Περιεχόμενα

Διαβάστε περισσότερα

SocialSkip Service v2.0

SocialSkip Service v2.0 SocialSkip Service v2.0 Οδηγίες εγκατάστασης Κωνσταντίνος Παρδάλης Ιόνιο Πανεπιστήμιο - Τμήμα Πληροφορικής Κέρκυρα, Μάιος 2013 Πίνακας περιεχομένων Εισαγωγή... 2 Αρχεία για λήψη... 2 Εγκατάσταση Java Developer

Διαβάστε περισσότερα