Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών. Οδηγίες εργαστηρίου. Συστήματα Παράλληλης Επεξεργασίας 9 ο Εξάμηνο



Σχετικά έγγραφα
Οδηγίες Χρήσης Παράλληλης Μηχανής 160 πυρήνων (rbs.marie.hellasgrid.gr)

Οδηγίες Χρήσης Παράλληλης Μηχανής 160 πυρήνων (rbs.marie.hellasgrid.gr)

Κατανεμημένος και Παράλληλος Προγραμματισμός. Εισαγωγή στο MPI. Εγκατάσταση MPICH σε ένα ΗΥ 10/3/2017

Εισαγωγή στο περιβάλλον προγραμματισμού του εργαστηρίου. Λειτουργικά Συστήματα Εργαστήριο Υπολογιστικών Συστημάτων ΕΜΠ

ΕΚΔΟΣΗ 1.0 ΟΚΤΩΒΡΙΟΣ, 2017 ΕΙΣΑΓΩΓΗ ΣΤΑ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΤΟ ΠΡΩΤΟΚΟΛΛΟ TARRY ΕΠΙΜΕΛΕΙΑ: Β. ΤΣΑΚΑΝΙΚΑΣ, Β. ΤΑΜΠΑΚΑΣ

Εισαγωγή στο περιβάλλον προγραμματισμού του εργαστηρίου

Οδηγίες Χρήσης Παράλληλης Μηχανής 160 πυρήνων (rbs.marie.hellasgrid.gr)

ΕΚΔΟΣΗ 1.1 ΑΠΡΙΛΙΟΣ, 2018 ΕΙΣΑΓΩΓΗ ΣΤΑ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΤΟ ΠΡΩΤΟΚΟΛΛΟ ECHO ΕΠΙΜΕΛΕΙΑ: Β. ΤΣΑΚΑΝΙΚΑΣ, Β. ΤΑΜΠΑΚΑΣ

ΕΚΔΟΣΗ 1.1 ΜΑΙΟΣ, 2018 ΕΙΣΑΓΩΓΗ ΣΤΑ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΑΛΓΟΡΙΘΜΟΣ POLLING ΚΥΜΑΤΙΚΟΣ ΑΛΓΟΡΙΘΜΟΣ ΕΠΙΜΕΛΕΙΑ: Β. ΤΣΑΚΑΝΙΚΑΣ, Β.

HY555 Παράλληλα Συστήματα και Grids Χειμερινό εξάμηνο 2007 Άσκηση 3 Εξοικείωση με το EGEE GRID Environment

Κατανεμημένος και Παράλληλος Προγραμματισμός

Κατανεμημένος και. Ηλίας Κ. Σάββας Αναπληρωτής Καθηγητής Τμήμα Μηχανικών Πληροφορικής ΤΕ, ΤΕΙ Θεσσαλίας

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

Εισαγωγή στο περιβάλλον προγραμματισμού του εργαστηρίου

Κατανεμημένος και Παράλληλος Προγραμματισμός. Εισαγωγή στο MPI. Εγκατάσταση MPICH σε ένα ΗΥ 6/3/2016

Message Passing Interface (MPI)

ύο μηχανισμοί απαιτούνται: 1. Μία μέθοδος για τη δημιουργία διεργασιών

Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας

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

ΕΚΔΟΣΗ 1.1 ΜΑΙΟΣ, 2018 ΕΙΣΑΓΩΓΗ ΣΤΑ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΕΚΛΟΓΗ ΑΡΧΗΓΟΥ ΕΠΙΜΕΛΕΙΑ: Β. ΤΣΑΚΑΝΙΚΑΣ, Β. ΤΑΜΠΑΚΑΣ

Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας

Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας

ΕΚΔΟΣΗ 1.0 ΟΚΤΩΒΡΙΟΣ, 2017 ΕΙΣΑΓΩΓΗ ΣΤΑ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΚΑΤΑΝΕΜΗΜΕΝΑ ΡΟΛΟΓΙΑ ΕΠΙΜΕΛΕΙΑ: Β. ΤΣΑΚΑΝΙΚΑΣ, Β. ΤΑΜΠΑΚΑΣ

Message Passing Interface (MPI)

Προγραμματισμός ΙI (E)

make Προγραμματισμός II 1

Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας

GRNET. ntell [at] grnet.gr

Υπολογισμοί Μεταβίβασης Μηνυμάτων

Hancock. Ζωγραφάκης Ιωάννης Εξαρχάκος Νικόλαος. ΕΠΛ 428 Προγραμματισμός Συστημάτων

CE121 Προγραµµατισµός 2. Εισαγωγή σε Makefiles. CE121 -

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

Προγραµµατισµός Ι Εργαστήριο 13ο Ακαδ. Έτος ΕΡΓΑΣΤΗΡΙΟ 13 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας

Εξοικείωση με το πρόγραμμα DEV C++ Επικοινωνία Χρήστη - Υπολογιστή

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

Κατανεμημένα και Παράλληλα Συστήματα (εργαστήριο) Παραδείγματα με openmp

ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 00Β

ΕΚΔΟΣΗ 1.0 ΟΚΤΩΒΡΙΟΣ, 2017 ΕΙΣΑΓΩΓΗ ΣΤΑ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΕΙΣΑΓΩΓΗ ΣΤO MESSAGE PASSING INTERFACE - MPI ΕΠΙΜΕΛΕΙΑ: Β. ΤΣΑΚΑΝΙΚΑΣ, Β.

Προγραµµατισµός Ι Εργαστήριο 13ο Ακαδ. Έτος ΕΡΓΑΣΤΗΡΙΟ 13 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας

ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

Δυναμική δέσμευση και αποδέσμευση μνήμης. Προγραμματισμός II 1

ΕΚΔΟΣΗ 1.0 ΟΚΤΩΒΡΙΟΣ, 2017 ΕΙΣΑΓΩΓΗ ΣΤΑ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΓΕΝΙΚΟΙ ΓΡΑΦΟΙ ΣΤΟ MPI ΕΠΙΜΕΛΕΙΑ: Β. ΤΣΑΚΑΝΙΚΑΣ, Β. ΤΑΜΠΑΚΑΣ

Προγραμματισμός Ι (ΗΥ120)

ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Προγραμματισμός Ι (HY120)

Προγραμματισμός Υπολογιστών με C++ Φύλλο Διαγωνίσματος Ακαδημαϊκό εξάμηνο: Χειμερινό

Εργαστήριο Λειτουργικών Συστημάτων Ακ. Έτος Άσκηση 3

Προγραµµατισµός Ι Εργαστήριο 6ο Ακαδ. Έτος ΕΡΓΑΣΤΗΡΙΟ 6 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

Προγραμματισμός Ι (ΗΥ120)

Η πολυνηματική γλώσσα προγραμματισμού Cilk

Προγραμματισμό για ΗΜΥ

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

Ι Αρχεία δεδομένων, μέρος δεύτερο: δυαδικά αρχεία ΙΙ Δομές δεδομένων (struct)

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Ενδεικτικές Απαντήσεις Εξετάσεων Β' Περιόδου Θέµα 1. (α')

ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Βιβλιοθήκες Αφηρημένοι τύποι δεδομένων. Προγραμματισμός II 1

Ταχύτερα compile με ccache και distcc

Προγραμματισμός Υπολογιστών με C++

Συστήµατα Παράλληλης Επεξεργασίας. Message Passing Interface (MPI)

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Eισαγωγή στον Προγραμματισμό

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Γλώσσα Προγραμματισμού C

Λειτουργικά Συστήματα 7ο εξάμηνο, Ακαδημαϊκή περίοδος

Προεπεξεργαστής της C. C Preprocessor. Προγραμματισμός II 1

Διαδικαστικός Προγραμματισμός

Ε-85: Ειδικά Θέµατα Λογισµικού

Προγραμματισμός Ι (ΗΥ120)

MPI: Message Passing Interface

ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Προγραµµατισµός Ι Εργαστήριο 6ο Ακαδ. Έτος ΕΡΓΑΣΤΗΡΙΟ 6 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

$./jms console -w <jms in> -r <jms out> -o <operations file> namedpipe. (standard input).

Προγραμματισμός Ι (ΗΥ120)

Προγραμματισμός Ι (ΗΥ120)

CE121 Προγραµµατισµός 2. Εισαγωγή σε Makefiles. CE121 -

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

Επεξεργασία Αρχείων Κειµένου

Παρουσίαση 1 ης Άσκησης:

Επικοινωνία. Message-Passing Interface (MPI) Βασικές Κλήσεις για Sockets. Μοντέλο Μεταβίβασης Μηνυµάτων. Μοντέλα Παράλληλου Υπολογισµού

Παρουσίαση 5 ης Άσκησης:

Εργαστήριο Λειτουργικών Συστημάτων. Minix Overview

Διαδικασία Ανάπτυξης Λογισμικού

Παρουσίαση 5 ης Άσκησης:

ΕΙΣΑΓΩΓΗ ΣΤΟ ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Ι Βάνα Ντουφεξή

Κατανεμημένος και Παράλληλος Προγραμματισμός MPI. MPI Απλές εντολές 03/13/2016. Οδηγίες αποστολής / παραλαβής μηνυμάτων, Υπολογισμός του π (

Παρουσίαση 2 ης Άσκησης:

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Διεργασίες και Νήματα Εργαστηριακές Ασκήσεις

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

Προγραμματισμός Ι (ΗΥ120)

Εκφωνήσεις ασκήσεων εργαστηρίου 2 (pthreads)

Message Passing Interface (MPI)

ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Πανεπιστήμιο Ιωαννίνων

Message Passing Interface (MPI)

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

Transcript:

Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων Οδηγίες εργαστηρίου 9 ο Εξάμηνο

Λογαριασμοί Έχετε 2 accounts (και 2 διαφορετικά home directories!) danaos.cslab.ece.ntua.gr ntua (όπως στα λειτουργικά) Για πρόσβαση στα μηχανήματα που βρίσκονται στο χώρο του εργαστηρίου cluster 16 μηχανημάτων (amorgos, skyros, lemnos, lesvos, salamina, poros, kythnos, naxos, serifos, skopelos, kerkyra, leykada, ithaki, kefalonia, zakynthos, paxoi) ουρά lab Εκεί δουλεύουμε για: Υλοποίηση Debugging Testing Eπίδειξη ασκήσεων scirouter.cslab.ece.ntua.grcslab ece Για πρόσβαση στα μηχανήματα στο server room του cslab (ουρά clones) Εκεί δουλεύουμε για: Λήψη μετρήσεων σε προκαθορισμένες μέρες και ώρες 2

Πρόσβαση 3

Οι ουρές lab και clones έχουν: ΠΡΟΣΟΧΗ Διαφορετική αρχιτεκτονική (πρέπει να ξανακάνετε compile από τη μία στην άλλη) Διαφορετικό home directory (πρέπει να μεταφέρετε τα αρχεία σας) 4

compilation για την ουρά lab Για εκτέλεση στην ουρά lab parlab40@scirouter: ~$ ssh amorgos parlab40@amorgos: ~$ mpicc myprog_mpi.c -O3 Wall o myprog_mpi parlab40@amorgos: ~$ gcc myprog_omp.c -O3 Wall fopenmp o myprog_omp ΧΡΗΣΙΜΟΠΟΙΕΙΣΤΕ MAKEFILES 5

compilation για την ουρά clones: make_ on_ clones.sh Για εκτέλεση στην ουρά clones Δημιουργία κατάλληλου script (βλ. παράδειγμα παρακάτω make_on_clones.sh) Έστω ότι θέλουμε να κάνουμε make στο directory του scirouter /home/parallel/parlab40/fw #!/bin/bash ## Give the Job a descriptive name #PBS -N makejob ## Output and error files #PBS -o makejob.out #PBS -e makejob.err ## How many machines should we get? #PBS -l nodes=1 ## Start ## Run make in the src folder (~/fw/ in this template) cd /home/parallel/parlab40/fw/ make parlab40@scirouter: ~$ qsub q clones make_on_clones.sh 6

#!/bin/bash Εκτέλεση στην ουρά lab: mpirun_on_lab.sh ## Give the Job a descriptive name #PBS -N testjob ## Output and error files #PBS -o testjob.out #PBS -e testjob.err ## Limit memory, runtime etc. #PBS -l walltime=01:00:00 #PBS -l pmem=100mb ## How many nodes should we get from the system? #PBS -l nodes=8 ## Start #echo "PBS_NODEFILE = $PBS_NODEFILE" #cat $PBS_NODEFILE ## Run the job (use full paths to make sure we execute the correct thing) mpirun -np 8 -hostfile $PBS_NODEFILE --bynode /home/parallel/parlab40/fw/fw_mpi 2048 parlab40@scirouter: ~$ qsub q lab mpirun_on_lab.sh 7

#!/bin/bash Εκτέλεση στην ουρά clones: mpirun_on_clones.sh ## Give the Job a descriptive name #PBS -N testjob ## Output and error files #PBS -o testjob.out #PBS -e testjob.err ## Limit memory, runtime etc. #PBS -l walltime=01:00:00 #PBS -l pmem=100mb ## How many nodes:processors_per_node should we get? #PBS -l nodes=8:ppn=8:mx10g:lowmem ## Start ## Run the job (use full paths to make sure we execute the correct thing) /usr/local/open-mpi/bin/mpirun / / p / / p -x MX_ RCACHE=8 --mca btl tcp,self -np 4 --bynode \ /home/users/goumas/benchmarks/mpi_code/fw/fw_mpi 2048 parlab40@scirouter: ~$ qsub q clones mpirun_on_clones.sh 8

scripts Τα template scripts make_on_clones.sh, mpirun_on_lab.sh και mpirun_on_clones.sh θα τα βρείτε στο /home/parallel/scripts στον scirouter 9

Job info H εντολή qsub απαντά με το όνομα της δουλειάς σας στον torque: parlab40@scirouter:~$ qsub -q lab the_script.sh 26160.localhost Λήψη πληροφοριών για τη δουλειά: parlab40@scirouter:~$ qstat -f 26160.localhost Λήψη πληροφοριών για την ουρά: parlab40@scirouter:~$ queue d lab parlab40@scirouter:~$ queue d clones Για να δούμε όλα τα jobs: parlab40@scirouter:~$ showq Για να σβήσουμε μία δουλειά από την ουρά: parlab40@scirouter:~$ qdel 26160 10

#include <stdio.h> #include <stdlib.h> #include <mpi.h> #include <unistd.h> MPI_test.c int main(int argc, char **argv) { char name[256]; int size; int myrank; int N=1024; MPI_Init(&argc,&argv); MPI_Comm_size(MPI_COMM_WORLD, &size); MPI_Comm_rank(MPI_COMM_WORLD, &myrank); gethostname(name, sizeof(name)); N=atoi(argv[1]); fprintf(stdout,"%s: rank=%d, size=%d, N=%d \n",name, myrank,size,n); } MPI_Finalize(); return 1; 11