THMMY.gr

Μαθήματα Κύκλου Ηλεκτρονικής & Υπολογιστών => Παράλληλα και Διανεμημένα Συστήματα => Topic started by: Exomag on December 01, 2014, 12:28:44 pm



Title: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Exomag on December 01, 2014, 12:28:44 pm
Topic που αφορά την 2η εργασία του μαθήματος. Stay on topic!


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: MG9S on December 02, 2014, 14:26:15 pm
http://pdplab.it.uom.gr/teaching/llnl-gr/Message%20Passing%20Interface%20%28MPI%29.htm

Ελληνική έκδοση MPI  ;)


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: TTL on December 04, 2014, 16:37:43 pm
ξεκίνησε κανείς με την εργασία;
Υπάρχει κάπου link να εξηγεί πως ξεκινάμε το Mpi σε πολλο'ς υπολογιστές;
Τρέχω το hello_world στο pc μου η στο διάδη αλλά μου λέει απλά ότι ειναι το task 0 ( δεν υπάρχει και κάνα άλλο ).
Γενικά κάπου δεν πρέπει να πω ποιοι υπολογιστές συμμετέχουν στο πρόγραμμα, πχ να δώσω κάπου ip διευθύνσεις; Αλλιως έχοντας μόνο το pc μου το mpi δεν εχει κανένα νόημα.


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: nohponex on December 04, 2014, 17:25:09 pm
Μη χάσεις χρόνο να το βάλεις σε πολλούς υπολογιστές, θα σου βγει η πιστή και μπορει να μη δουλεψει.. Εχασα παρα πολλες ωρες με αυτο περσι :P
Στο μάθημα το θέλουν στον ιδιο


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: jimPster on December 04, 2014, 18:35:37 pm
Βασικά  hellasgrid θελει ... Πως αποκταμε προσβαση ?


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: TTL on December 04, 2014, 18:43:47 pm
δηλαδη τι θα έχω μόνο ένα task; και πως θα κάνω παραλληλισμό; Μήπως εννοείς με κάποιο τρόπο να δώσω ένα task σε κάθε πυρήνα ( δηλαδή να είναι κάθε πυρήνας και ένας κόμβος );
Και αν όντως εννοείς αυτόμ, πως το κάνω;
Ευχαριστώ btw  :)


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: jimPster on December 04, 2014, 18:56:28 pm
mpirun -np 4 mpi_hello_world
και μου βγαζει αυτα
Hello world from processor diades.ee.auth.gr, rank 0 out of 4 processors
Hello world from processor diades.ee.auth.gr, rank 1 out of 4 processors
Hello world from processor diades.ee.auth.gr, rank 2 out of 4 processors
Hello world from processor diades.ee.auth.gr, rank 3 out of 4 processors

Δεν ξερω αν εννοεις αυτο..


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: TTL on December 04, 2014, 21:06:30 pm
ακριβώς αυτό εννοώ  :)
Ωστόσο απότι διάβασα σε διάφορα forum, το mpi εισάγει αρκετά μεγάλο overhead με αποτέλεσμα να μην συμφέρει να το χρησιμοποιήσιες για ένα μηχάνημα μόνο, οπότε αναρωτιέμαι πως θα βγάλουμε επιτάχυνση...anyway με ξεκόλλησες, ty!


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: spira mirabilis on December 05, 2014, 15:03:25 pm
Για την εργασία αρκεί η εγκατάσταση του mpich2 ή πρέπει να γίνουν και αυτά τα βήματα;  https://help.ubuntu.com/community/MpichCluster  Δηλαδή πρέπει να δημιουργήσω clusters ή αυτό δεν έχει κανένα νόημα αφού δουλεύω μόνο στο λάπτοπ μου?


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: MG9S on December 08, 2014, 15:03:58 pm
https://www.youtube.com/watch?v=RfFkgSSTw2c
απο μια φάση και μετά λέει για την πρόσβαση στο hellasgrid και ποιες επιλογές έχουμε


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Gru on December 08, 2014, 22:55:55 pm
Κατέβασε κάποιος αυτά που έχει στο Link http://www.mpich.org/downloads/ στο ethmmy?

Δεν μπορώ να καταλάβω τις οδηγίες που έχει.  :-[


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: spira mirabilis on December 09, 2014, 02:34:28 am
Νομίζω(ελπίζω) ότι έπιασα το πνεύμα της εργασίας... Το πρόγραμμα δεν θα τρέχει στον υπολογιστή μας αφού η παραλληλοποίηση γίνεται με επικοινωνία πολλών τερματικών, οπότε δεν χρειάζεται και δεν έχει νόημα η εγκατάσταση του mpich(ακόμα κι αν έτρεχε σε έναν υπολογιστή, πως ακριβώς θα προέκυπτε επιτάχυνση;) Η εκτέλεση γίνεται μόνο στον διάδη ή στο hellas grid,τα οποία είναι clusters και υποστηρίζουν mpi. Απλά ανεβάζεις το αρχείο, κάνεις compile με mpicc, τρέχεις με mpirun και δεν σε νοιάζουν ούτε IP addresses, ούτε τίποτα(στο hellas grid παίζει και να σε νοιάζουν).  ´Εχει και μια ανακοίνωση ότι πρέπει να κάνεις μια προσθήκη στο bash_profile.c(στα ubuntu 12.04 λέγεται profile.c)


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: sof_s on December 10, 2014, 13:55:06 pm
Έστειλα mail στον Πιτσιάνη για το αν πρέπει στον αναδρομικό αλγόριθμο της Bitonic Sort να γίνεται συγχώνευση με αποστολή στοιχείων από την μία διεργασία στην άλλη. Μου φάνηκε  χρονοβόρο το να στέλνονται συνέχεια στοιχεία και μου απάντησε:

Μη σκέφτεστε χρόνο μόνο αλλά το γεγονός ότι η τοπική μνήμη για μια διεργασία δε θα χωράει περισσότερα από 2Ν στοιχεία, Ν τα τοπικά και Ν αυτά που θα πάρει από τον “συνέταιρο” Ο πίνακας θα είναι πάντα τόσο μεγάλος που δε θα χωράει ποτέ σε μία διεργασία. Η άσκηση είναι να κάνετε διάταξη σε πίνακες που δεν χωράνε σε ένα υπολογιστή..


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Gru on December 13, 2014, 15:44:34 pm
Στην εργασία θέλει να ταξινομήσουμε τα στοιχεία 2p πινάκων ή να ταξινομήσουμε έναν τελικό πίνακα με 2(p+q) στοιχεία?


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Exomag on December 13, 2014, 16:59:23 pm
Στην εργασία θέλει να ταξινομήσουμε τα στοιχεία 2p πινάκων ή να ταξινομήσουμε έναν τελικό πίνακα με 2(p+q) στοιχεία?

Είναι ένας συνολικός πίνακας με 2(p+q) στοιχεία, ο οποίος είναι απλά σε κομμάτια των 2p στοιχείων. Αλλά θέλεις να ταξινομηθεί συνολικά, όχι απλά να ταξινομήσεις τον κάθε μικρό πίνακα.


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Gru on December 14, 2014, 12:29:37 pm
Έχει τρέξει κάποιος mpi στο diadi?

Δεν μπορώ να καταλάβω που θέλει να βάλουμε εκείνη την βιβλιοθήκη  :???:


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: jimPster on December 14, 2014, 12:50:41 pm
πατα nano .bash_profile και κατω απο το export PATH αντεγραψε :

LD_LIBRARY_PATH=/usr/mpi/gcc/openmpi-1.2.6/lib64:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH

φανταζομαι αυτο εννοεις


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Gru on December 14, 2014, 12:54:46 pm
Δεν μπορώ να βρω το bash_profile.
έχω ενα .profile αλλα σε αυτό δεν υπάρχει κάποιο export


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: jimPster on December 14, 2014, 12:56:28 pm
Πατας ls -a και δεν στο βγαζει?


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Gru on December 14, 2014, 12:58:10 pm
Πατας ls -a και δεν στο βγαζει?

ναι δεν εχω κατι τετοιο. Στο home το παταω


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: jimPster on December 14, 2014, 13:06:28 pm
δημιουργησε τοτε    .bash_profile

και αντεγραψε

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
   . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH
LD_LIBRARY_PATH=/usr/mpi/gcc/openmpi-1.2.6/lib64:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH


η εναλλακτικα στο ανεβασα , βγαλε το extension .txt και ανεβασε το στο account σου


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Gru on December 14, 2014, 13:22:48 pm
Οταν λες στο account μου? Εγω στο Home το εβαλα και παλι λαθη μου βγαζει  :-\

Ευχαριστω παρα πολυ για τη βοηθεια  ::)


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: jimPster on December 14, 2014, 13:24:42 pm
ε στο folder σου εννοω μεσα τι λαθη βγαζει?


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Gru on December 14, 2014, 13:27:27 pm
ε στο folder σου εννοω ναι τι λαθη βγαζει?

make run
make[1]: Entering directory `/export/home/stellamc/mpi'
# mpiexec -machinefile mpd.hosts -n 4 ./mpi-hello.out
mpiexec  -n 4 ./mpi-hello.out
make[1]: execvp: mpiexec: Permission denied
make[1]: *** [run] Error 127
make[1]: Leaving directory `/export/home/stellamc/mpi'
make: *** [all] Error 2


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: jimPster on December 14, 2014, 13:33:27 pm
mpicc -O3 mpi-hello.c -o hello
mpirun -np 4 hello        (-np 4 οριζει ποσα processes θα το τρεξει, στην προκειμενη 4)


Μην κανεις make ... χωρις να ειμαι σιγουρος για το makefile θελει να ορισεις και hostnames
δηλ. που θα τρεξουν τα processes και δεν χρειαζεται ... γι' αυτο εχουμε hellasgrid


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Gru on December 14, 2014, 13:36:56 pm
mpicc -O3 mpi-hello.c -o hello
mpirun -np 4 hello        (-np 4 οριζει ποσα processes θα το τρεξει, στην προκειμενη 4)


Μην κανεις make ... χωρις να ειμαι σιγουρος για το makefile θελει να ορισεις και hostnames
δηλ. που θα τρεξουν τα processes και δεν χρειαζεται ... γι' αυτο εχουμε hellasgrid

ποο ευχαριστω παρα πολυ!!  ^hat^


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Silvo the Beautiful on December 14, 2014, 19:52:37 pm
Το μαστερ θρεντ το μετράμε στον αριθμό των νημάτων; Αν ναι τοτε μετα το μοιρασμα στα slaves πρεπει να συμμετέχει ενεργά σε όλη τη διαδικασία! Και μάλιστα να πάρει απο τον εαυτό του κομμάτι του πίνακα με στοιχεία;


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Exomag on December 14, 2014, 19:58:17 pm
Το μαστερ θρεντ το μετράμε στον αριθμό των νημάτων; Αν ναι τοτε μετα το μοιρασμα στα slaves πρεπει να συμμετέχει ενεργά σε όλη τη διαδικασία! Και μάλιστα να πάρει απο τον εαυτό του κομμάτι του πίνακα με στοιχεία;

Το master thread θα συμμετέχει στη διαδικασία του sorting, ναι. Θα έχει και αυτό, δηλαδή, ένα κομμάτι του πίνακα.


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: jthois on December 14, 2014, 21:43:40 pm
Το όρισμα tag πρέπει να είναι μοναδικό για κάθε αποστολή και λήψη; Υπάρχει περίπτωση να "μπερδευτούν" δηλαδή δύο μηνύματα;


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Professional Hater on December 14, 2014, 23:37:31 pm
http://pdplab.it.uom.gr/teaching/llnl-gr/Message%20Passing%20Interface%20%28MPI%29.htm

Ελληνική έκδοση MPI  ;)
Σωραιοςς


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: dimi93gr on December 15, 2014, 15:09:31 pm
Στην εκφώνηση γράφει:"Επιλέξτε την αναδρομική ή επαναληπτική έκδοση του αλγορίθμου"
Υλοποιούμε όποια θέλουμε;


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Exomag on December 15, 2014, 15:21:03 pm
Στην εκφώνηση γράφει:"Επιλέξτε την αναδρομική ή επαναληπτική έκδοση του αλγορίθμου"
Υλοποιούμε όποια θέλουμε;

Ναι, όποια από τις δύο θέλεις.


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Silvo the Beautiful on December 15, 2014, 15:35:22 pm
κάτσε ρε δνε κάνουμε και τις δύο;


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: vlad on December 15, 2014, 19:34:13 pm
κάτσε ρε δνε κάνουμε και τις δύο;
Κανε και τις 2.Θα το εκτιμησει.


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Silvo the Beautiful on December 15, 2014, 19:52:48 pm
δεν ξέρω αν θα το εκτιμήσω εγώ


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Exomag on December 15, 2014, 20:08:50 pm
κάτσε ρε δνε κάνουμε και τις δύο;
Η εκφώνηση ξεκαθαρίζει, όποια από τις δύο θέλεις.


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Silvo the Beautiful on December 15, 2014, 20:28:08 pm
είσαι σίγουρος για αυτό γιανκο δράκο;

( πριν ντάξει ρώτησα για να ρωτήσω χωρίς διάθεση ειρωνίας ή τρολαρίσματος :P)


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: c0ndemn3d on December 15, 2014, 20:31:52 pm
είσαι σίγουρος για αυτό γιανκο δράκο;

xD


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: et3rn1ty on December 16, 2014, 12:49:19 pm
2 ερωτήσεις:
  • Στον Διάδη, κάνω compile (mpicc temp.c -o temp). Δεν βγάζει σφάλμα, απλά τερματίζει και μετά δεν υπάρχει executable στο directory. Έχω κάνει export το path του MPI κανονικά... Επίσης έσβησα και ένα semicolon από το τέλος της γραμμής για να δω αν θα μου πετάξει compilation error, δεν κάνει τίποτα. Καμιά ιδέα? (Στην αφροδίτη το κάνει compile και run κανονικά)
  • Όταν λέει η εκφώνηση να μην υλοποιήσουμε άλλο κώδικα που θα βρούμε αλλά τον δικό του σε MPI, τι ακριβώς εννοεί? Από αυτά που έχω καταλάβει, πάνω-κάτω αυτό που πρέπει να κάνουμε είναι πρώτα κάθε επεξεργαστής να κάνει generate μία ακολουθία και να την κάνει bitonic, και μετά ουσιαστικά να κάνουμε κατανεμημένο bitonic merge μεταξύ των επεξεργαστών. Σε ποιό κομμάτι χρησιμοποιούμε τον κώδικα της εκφώνησης?


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: jthois on December 16, 2014, 13:07:49 pm
  • Όταν λέει η εκφώνηση να μην υλοποιήσουμε άλλο κώδικα που θα βρούμε αλλά τον δικό του σε MPI, τι ακριβώς εννοεί? Από αυτά που έχω καταλάβει, πάνω-κάτω αυτό που πρέπει να κάνουμε είναι πρώτα κάθε επεξεργαστής να κάνει generate μία ακολουθία και να την κάνει bitonic, και μετά ουσιαστικά να κάνουμε κατανεμημένο bitonic merge μεταξύ των επεξεργαστών. Σε ποιό κομμάτι χρησιμοποιούμε τον κώδικα της εκφώνησης?

Αρχικά, εννοεί να χρησιμοποιήσεις αυτήν την έκδοση της Bitonic Sort που λέγεται και Batcher Sort και όχι κάποια άλλη παραλλαγή της bitonic (επειδή υπάρχουν στο ιντερνετ υλοποιήσεις σε MPI). Το generate είναι έτοιμο και γίνεται στην init() πριν ξεκινήσει το MPI. Μετά όπως τα λες. Οι BitonicMerge και BitonicSort θα χρειαστούν για να ταξινομείς τους τοπικούς πίνακες, μετά από κάθε επικοινωνία.

Ερώτηση: πως ανέβασες το αρχείο στην αφροδίτη και το έτρεξες; με ποιές εντολές;


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Exomag on December 16, 2014, 13:10:26 pm
Ερώτηση: πως ανέβασες το αρχείο στην αφροδίτη και το έτρεξες; με ποιές εντολές;

Στο email που σου στάλθηκε αν δεις έχει links με αναλυτικές οδηγίες για job submission ή ότι άλλο μπορεί να χρειαστείς.


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: jthois on December 16, 2014, 13:12:39 pm
Ερώτηση: πως ανέβασες το αρχείο στην αφροδίτη και το έτρεξες; με ποιές εντολές;

Στο email που σου στάλθηκε αν δεις έχει links με αναλυτικές οδηγίες για job submission ή ότι άλλο μπορεί να χρειαστείς.
Ναι, συνδέομαι στον server αλλά από εκεί και μετά δεν κατάλαβα πως ανεβάζω και τρέχω το εκτελέσιμο

**με Terminal


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Exomag on December 16, 2014, 13:15:35 pm
Ερώτηση: πως ανέβασες το αρχείο στην αφροδίτη και το έτρεξες; με ποιές εντολές;

Στο email που σου στάλθηκε αν δεις έχει links με αναλυτικές οδηγίες για job submission ή ότι άλλο μπορεί να χρειαστείς.
Ναι, συνδέομαι στον server αλλά από εκεί και μετά δεν κατάλαβα πως ανεβάζω και τρέχω το εκτελέσιμο

**με Terminal

Αφού συνδεθείς θα πρέπει να ανεβάσεις το εκτελέσιμο καθώς και το job-submission script μέσω, πχ, sftp (όπως ακριβώς και στον diades).


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: L on December 16, 2014, 16:38:25 pm
To sort του εκάστοτε merged πίνακα θα  γίνεται παράλληλα από τις διεργασίες που συνεισφέρανε στο merge ή μόνο από τη μία (θα σκοτώνουμε δηλαδή);


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: jthois on December 16, 2014, 16:46:27 pm
To sort του εκάστοτε merged πίνακα θα  γίνεται από τις διεργασίες που συνεισφέρανε στο merge ή μόνο από τη μία (θα σκοτώνουμε δηλαδή);

Νομίζω πρέπει να δουλεύουν όλες οι διεργασίες μέχρι το τέλος. Γιατί αν αρχίζεις και σκοτώνεις, η τελευταία ταξινόμηση θα γίνει από μία διεργασία, οπότε χάνει πλέον το νόημα της η άσκηση.

Quote
Η τοπική μνήμη για μια διεργασία δε θα χωράει περισσότερα από 2Ν στοιχεία, Ν τα τοπικά και Ν αυτά που θα πάρει από τον “συνέταιρο” Ο πίνακας θα είναι πάντα τόσο μεγάλος που δε θα χωράει ποτέ σε μία διεργασία. Η άσκηση είναι να κάνετε διάταξη σε πίνακες που δεν χωράνε σε ένα υπολογιστή..


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: rspappas on December 16, 2014, 16:54:16 pm
το νοημα ειναι να στελνεις στοιχεια των πινακων απο την μια διεργασια στην αλλη, να γινεται μια ανταλλαγη δηλαδη, να παιρνει πχ η μια διεργασια τα μεγαλυτερα των δυο και η αλλη τα μικροτερα, οποτε σιγα σιγα να γινεται η ταξινομηση.

εδω εχει μια ωραια υλοποιηση, που την εξηγει καλα http://www.cs.rutgers.edu/~venugopa/parallel_summer2012/mpi_bitonic.html
τωρα πως θα υλοποιηθει αυτο απο την αρχη, δεν ξερω :P
(υποψιν οτι στο λινκ λειπει ο μισος κωδικας, μαλλον κατα λαθος δειχνει δυο φορες το ιδιο πραγμα... oh well....)


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Exomag on December 16, 2014, 18:25:23 pm
το νοημα ειναι να στελνεις στοιχεια των πινακων απο την μια διεργασια στην αλλη, να γινεται μια ανταλλαγη δηλαδη, να παιρνει πχ η μια διεργασια τα μεγαλυτερα των δυο και η αλλη τα μικροτερα, οποτε σιγα σιγα να γινεται η ταξινομηση.

εδω εχει μια ωραια υλοποιηση, που την εξηγει καλα http://www.cs.rutgers.edu/~venugopa/parallel_summer2012/mpi_bitonic.html
τωρα πως θα υλοποιηθει αυτο απο την αρχη, δεν ξερω :P
(υποψιν οτι στο λινκ λειπει ο μισος κωδικας, μαλλον κατα λαθος δειχνει δυο φορες το ιδιο πραγμα... oh well....)

Αυτό το link όντως δεν έχει έτοιμο τον κώδικα, αλλά εξηγεί πολύ καλά τη λογική (μέσω pseudocode) του αλγορίθμου.


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: dimi93gr on December 16, 2014, 21:09:26 pm
Για να τρέξει στο hellasgrid, σύμφωνα με αυτά που διάβασα λέει να κάνουμε ενα script και μάλιστα έχει και για υποβολή μιας εργασίας σε mpi.
Εγώ έγραψα αυτό που προτείνει
#!/bin/bash
#PBS -q auth
#PBS -N mpi-mm
#PBS -j oe
#PBS -l nodes=1:ppn=8

cd $PBS_O_WORKDIR
export NP=$(cat $PBS_NODEFILE | wc -l)

export I2G_MPI_TYPE=mpich2
export I2G_MPI_APPLICATION=mybitonicsort
$I2G_MPI_START

Αλλά όταν το τρέχω όπως λέει με qsub submit.sh και πατήσω μετά qstat ήταν επί ώρες σε κατάσταση Q.

Υπάρχει κάπου λάθος στη διαιδικασία;


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Exomag on December 16, 2014, 21:12:45 pm
Η διαδικασία σωστή είναι, απλά είσαι σε queue μέχρις ότου δοθεί προτεραιότητα στο job σου.

Το script που έκανες qsub είναι ακριβώς αυτό που postαρες; Σχετικά με τα nodes/ppn ρωτάω.


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: dimi93gr on December 16, 2014, 21:22:21 pm
Πότε δηλαδή αναμένεται να εκτελεστεί;
Ναι αυτό είναι το script δοκιμαστικό το έκανα. Αυτό δεν μου δίνει 8 πυρήνες άρα 8 διεργασίες που φτιάχνουν από ένα πίνακα;
Και κάτι άλλο, αν έχω βάλει να παίρνει ορίσματα(δηλαδή να το δίνω το q για το 2^q ) πρέπει να βάλω mybitonicsort 4 π.χ για q=4;


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Exomag on December 16, 2014, 21:46:39 pm
Πότε δηλαδή αναμένεται να εκτελεστεί;
Εξαρτάται από τον φόρτο του grid και το μέγεθος των resources που ζητάς. Από δευτερόλεπτα μέχρι και ώρες ή μέρες.


Ναι αυτό είναι το script δοκιμαστικό το έκανα. Αυτό δεν μου δίνει 8 πυρήνες άρα 8 διεργασίες που φτιάχνουν από ένα πίνακα;
Γενικά και τα nodes αλλά και τα ppn είναι οι "διεργασίες" του MPI που αναφέρει η εκφώνηση της εργασίας. Το πιο "σωστό" είναι, βέβαια, να χρησιμοποιεί περισσότερα nodes μιας και αυτό ουσιαστικά είναι το νόημα του MPI και της εργασίας. Αν κρίνεις απαραίτητο, για κάποιο λόγο, μπορείς να έχεις περισσότερα ppn (αντί για nodes) ως διεργασίες.


Και κάτι άλλο, αν έχω βάλει να παίρνει ορίσματα(δηλαδή να το δίνω το q για το 2^q ) πρέπει να βάλω mybitonicsort 4 π.χ για q=4;
Καταρχάς θα μπορούσες να είχες δοκιμάσει αυτό που προτείνεις για να δεις πως δεν δουλεύει. Κατά δεύτερον, μπορείς να δεις εδώ (http://bit.ly/1yZGbML).


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: spira mirabilis on December 16, 2014, 22:51:25 pm
Για να τρέξω τον κώδικα στο grid τί modules πρέπει να έχω κάνει load;Προσπαθώ να τρέξω τα παραδείγματα από το git repository που έχει στο ethmmy και έχω κάνει load τα intel και mpich2, αλλά τα makefiles δεν τρέχουν. Από ότι κατάλαβα για να χρησιμοποιήσω το intel θέλει κάποια άδεια, που δεν έχω. Συγκεκριμένα μου βγάζει mpic++ -O0 mm.cpp -o mm

Error: A license for CCompL could not be obtained (-1,359,2).

Is your license file in the right location and readable?
The location of your license file should be specified via
the $INTEL_LICENSE_FILE environment variable.

Πώς τα τρέξατε εσείς;


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Exomag on December 16, 2014, 23:00:42 pm
Για να τρέξω τον κώδικα στο grid τί modules πρέπει να έχω κάνει load;Προσπαθώ να τρέξω τα παραδείγματα από το git repository που έχει στο ethmmy και έχω κάνει load τα intel και mpich2, αλλά τα makefiles δεν τρέχουν. Από ότι κατάλαβα για να χρησιμοποιήσω το intel θέλει κάποια άδεια, που δεν έχω. Συγκεκριμένα μου βγάζει mpic++ -O0 mm.cpp -o mm

Error: A license for CCompL could not be obtained (-1,359,2).

Is your license file in the right location and readable?
The location of your license file should be specified via
the $INTEL_LICENSE_FILE environment variable.

Πώς τα τρέξατε εσείς;

Κάνε compile το MPI πρόγραμμα σου (με mpicc), και έπειτα κάνε qsub XXX.sh όπου XXX.sh ένα script (στον ίδιο φάκελο με το compiled πρόγραμμα) με κώδικα ίδιο με αυτόν που έγραψε παραπάνω ο dimi93gr (απλά άλλαξε το "mybitonicsort" στο όνομα του δικού σου compiled αρχείου).


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Antipunishment on December 17, 2014, 01:09:32 am
Μπορεί να μου πει κάποιος πως ακριβώς τρέχω το πρόγραμμα στον hellagrid? Ολα τα βήματα απο το μηδέν.


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: spira mirabilis on December 17, 2014, 01:35:30 am
Για να τρέξω τον κώδικα στο grid τί modules πρέπει να έχω κάνει load;Προσπαθώ να τρέξω τα παραδείγματα από το git repository που έχει στο ethmmy και έχω κάνει load τα intel και mpich2, αλλά τα makefiles δεν τρέχουν. Από ότι κατάλαβα για να χρησιμοποιήσω το intel θέλει κάποια άδεια, που δεν έχω. Συγκεκριμένα μου βγάζει mpic++ -O0 mm.cpp -o mm

Error: A license for CCompL could not be obtained (-1,359,2).

Is your license file in the right location and readable?
The location of your license file should be specified via
the $INTEL_LICENSE_FILE environment variable.

Πώς τα τρέξατε εσείς;

Κάνε compile το MPI πρόγραμμα σου (με mpicc), και έπειτα κάνε qsub XXX.sh όπου XXX.sh ένα script (στον ίδιο φάκελο με το compiled πρόγραμμα) με κώδικα ίδιο με αυτόν που έγραψε παραπάνω ο dimi93gr (απλά άλλαξε το "mybitonicsort" στο όνομα του δικού σου compiled αρχείου).
     

Αα ανεβάζω έτοιμο το executable... (ελπίζω να βγω από το queue πριν την λήξη της προθεσμίας)Από ότι κατάλαβα από το wiki  για να γίνει η εκτέλεση με παραμετρικές εισόδους χρειάζεται ένα αρχείο .jdl, δεν αρκεί το .sh .Το πρώτο βήμα είναι η δημιουργία  proxy και θέλει να δηλώσουμε σε ποιο VO ανήκουμε.Εμείς ανήκουμε κάπου ή πρέπει να εγγραφούμε(στο SEE ας πούμε).


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Exomag on December 17, 2014, 02:14:17 am
Για να τρέξω τον κώδικα στο grid τί modules πρέπει να έχω κάνει load;Προσπαθώ να τρέξω τα παραδείγματα από το git repository που έχει στο ethmmy και έχω κάνει load τα intel και mpich2, αλλά τα makefiles δεν τρέχουν. Από ότι κατάλαβα για να χρησιμοποιήσω το intel θέλει κάποια άδεια, που δεν έχω. Συγκεκριμένα μου βγάζει mpic++ -O0 mm.cpp -o mm

Error: A license for CCompL could not be obtained (-1,359,2).

Is your license file in the right location and readable?
The location of your license file should be specified via
the $INTEL_LICENSE_FILE environment variable.

Πώς τα τρέξατε εσείς;

Κάνε compile το MPI πρόγραμμα σου (με mpicc), και έπειτα κάνε qsub XXX.sh όπου XXX.sh ένα script (στον ίδιο φάκελο με το compiled πρόγραμμα) με κώδικα ίδιο με αυτόν που έγραψε παραπάνω ο dimi93gr (απλά άλλαξε το "mybitonicsort" στο όνομα του δικού σου compiled αρχείου).
     

Αα ανεβάζω έτοιμο το executable... (ελπίζω να βγω από το queue πριν την λήξη της προθεσμίας)Από ότι κατάλαβα από το wiki  για να γίνει η εκτέλεση με παραμετρικές εισόδους χρειάζεται ένα αρχείο .jdl, δεν αρκεί το .sh .Το πρώτο βήμα είναι η δημιουργία  proxy και θέλει να δηλώσουμε σε ποιο VO ανήκουμε.Εμείς ανήκουμε κάπου ή πρέπει να εγγραφούμε(στο SEE ας πούμε).

Ισχύει αυτό που λες για παραμετρικές εισόδους, αλλά πιο εύκολο/απλό θα ήταν απλά να κάνεις διάφορα submit (διάφορα jobs) με τις εισόδους που θες. Δεν είναι πολλές οι δυνατές τιμές άλλωστε.


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Exomag on December 17, 2014, 02:15:17 am
Μπορεί να μου πει κάποιος πως ακριβώς τρέχω το πρόγραμμα στον hellagrid? Ολα τα βήματα απο το μηδέν.

Δεν νομίζω πως γίνεται να το εξηγήσει κανείς πιο αναλυτικά/ορθά από αυτό (http://www.it.auth.gr/el/sciComp/Computing-Services/manuals/job-submission). Διάβασε το, σκέψου το, δοκίμασε το, και αν έχεις ακόμα θέμα τότε ρώτα μια συγκεκριμένη ερώτηση.


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: chrimour on December 17, 2014, 14:09:25 pm
Απορια. Κανω το qsub xxx.sh. Tο αρχειο εκτελειται αλλα πως βλεπω τα αποτελεσματα; Απλα τρεχει και βγαινει(το βλεπω απο το qstat). Tο αρχειο δεν εχει προβλημα αφου το τρεξα και στον διαδη με mpirun και κανω και το compile me mpicc.
Δηλαδη: α) πρωτα κανω compile mpicc xxxx.c - o xxx
              β) qsub xxxx.sh
              γ) ;;;;;;;

Μετα το qsub τι πρεπει να γραψω για να εμφανιστουν τα αποτελεσματα (δοκιμασα και το παραδειγμα mm που εχει το gitlab και παλι το ιδιο).


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Solaufein on December 17, 2014, 14:36:25 pm
Πρέπει το κάθε thread να κάνει sort το δικό του πίνακα με Ν=2^q στοιχεία και μετά όλα μαζί μεταξύ τους  ή  το main thread να δημιουργεί έναν πίνακα Ν στοιχείων και τα επιμέρους threads να μοιράζονται και να ταξινομούν αυτόν τον πίνακα?


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: jthois on December 17, 2014, 15:06:33 pm
Πρέπει το κάθε thread να κάνει sort το δικό του πίνακα με Ν=2^q στοιχεία και μετά όλα μαζί μεταξύ τους  ή  το main thread να δημιουργεί έναν πίνακα Ν στοιχείων και τα επιμέρους threads να μοιράζονται και να ταξινομούν αυτόν τον πίνακα?


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: nvog1993 on December 17, 2014, 15:58:03 pm
Πρέπει το κάθε thread να κάνει sort το δικό του πίνακα με Ν=2^q στοιχεία και μετά όλα μαζί μεταξύ τους  ή  το main thread να δημιουργεί έναν πίνακα Ν στοιχείων και τα επιμέρους threads να μοιράζονται και να ταξινομούν αυτόν τον πίνακα?

Στο Pdf λέει ότι πρέπει κάθε διεργασία να δημιουργεί τον δικό της πίνακα με 2q στοιχεία. Άρα είναι το πρωτο και όχι το 2ο.


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Exomag on December 17, 2014, 16:17:15 pm
Απορια. Κανω το qsub xxx.sh. Tο αρχειο εκτελειται αλλα πως βλεπω τα αποτελεσματα; Απλα τρεχει και βγαινει(το βλεπω απο το qstat). Tο αρχειο δεν εχει προβλημα αφου το τρεξα και στον διαδη με mpirun και κανω και το compile me mpicc.
Δηλαδη: α) πρωτα κανω compile mpicc xxxx.c - o xxx
              β) qsub xxxx.sh
              γ) ;;;;;;;

Μετα το qsub τι πρεπει να γραψω για να εμφανιστουν τα αποτελεσματα (δοκιμασα και το παραδειγμα mm που εχει το gitlab και παλι το ιδιο).

Στον ίδιο φάκελο που έκανες qsub θα δημιουργηθεί ένα αρχείο με το output του προγράμματος που εκτελέστηκε.


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Exomag on December 17, 2014, 16:20:39 pm
Πρέπει το κάθε thread να κάνει sort το δικό του πίνακα με Ν=2^q στοιχεία και μετά όλα μαζί μεταξύ τους  ή  το main thread να δημιουργεί έναν πίνακα Ν στοιχείων και τα επιμέρους threads να μοιράζονται και να ταξινομούν αυτόν τον πίνακα?

Στο Pdf λέει ότι πρέπει κάθε διεργασία να δημιουργεί τον δικό της πίνακα με 2q στοιχεία. Άρα είναι το πρωτο και όχι το 2ο.

Γενικά η λογική του προγράμματος είναι ότι δεν πρέπει σε οποιαδήποτε στιγμή να υπάρχει ολόκληρος ο πίνακας μεγέθους 2p+q σε οποιοδήποτε process/thread.


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Antipunishment on December 17, 2014, 16:38:24 pm
Για το hellasgrid πρέπει να κάνω λογαριασμό όπως λέει? Με αστυνομικές ταυτότητες κτλπ?


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Exomag on December 17, 2014, 16:58:13 pm
Για το hellasgrid πρέπει να κάνω λογαριασμό όπως λέει? Με αστυνομικές ταυτότητες κτλπ?

Οχι, θα σου έχει έρθει email με τον λογαριασμό σου.


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Antipunishment on December 17, 2014, 17:04:28 pm
Ηρθε! Ευχαριστώ!


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: jthois on December 18, 2014, 16:41:47 pm
Πρέπει το κάθε thread να κάνει sort το δικό του πίνακα με Ν=2^q στοιχεία και μετά όλα μαζί μεταξύ τους  ή  το main thread να δημιουργεί έναν πίνακα Ν στοιχείων και τα επιμέρους threads να μοιράζονται και να ταξινομούν αυτόν τον πίνακα?

Στο Pdf λέει ότι πρέπει κάθε διεργασία να δημιουργεί τον δικό της πίνακα με 2q στοιχεία. Άρα είναι το πρωτο και όχι το 2ο.

Εντάξει δεν εχει και πολυ μεγάλη σημασία. Στον κώδικα που δίνεται η main δημιουργεί τον πίνακα. Και απο κει και μετα αρχίζει η παραλληλοποίηση μέσα στη sort


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Antipunishment on December 18, 2014, 19:23:59 pm
Παιδιά έχει καταφέρει να τρέξει κανείς το πρόγραμμά του στο hellasgrid με 8 nodes και πάνω (περιμένω πάνω απο μια μέρα)?  Η μας trollarei ο Πιτσιάνης?


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Exomag on December 18, 2014, 19:25:27 pm
Παιδιά έχει καταφέρει να τρέξει κανείς το πρόγραμμά του στο hellasgrid με 8 nodes και πάνω (περιμένω πάνω απο μια μέρα)?  Η μας trollarei ο Πιτσιάνης?

Έχω καταφέρει να τρέξω μέχρι και 16 nodes. Να σημειωθεί πως όσα περισσότερα ppn ζητάς, τόσο πιο απίθανο είναι να ικανοποιηθεί το αίτημα σου.


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Antipunishment on December 18, 2014, 19:26:54 pm
Αν κατάλαβα καλά απο την εκφώνηση δεν λέει να κάνουμε μετρήσεις μέχρι 128 Nodes?


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Exomag on December 18, 2014, 19:36:19 pm
Αν κατάλαβα καλά απο την εκφώνηση δεν λέει να κάνουμε μετρήσεις μέχρι 128 Nodes?

Καταρχάς θα δεις πως άμα ζητήσεις 128 nodes τότε θα απορριφθεί αυτόματα το αίτημα σου.

Επίσης, η εργασία αναφέρει να κάνουμε μετρήσεις μέχρι 128 processes. Τα processes μπορούν να είναι είτε nodes είτε processors. Προτιμότερο είναι να έχεις περισσότερα nodes, αλλά άμα δεις ότι το σύστημα δε σου δίνει τόσα πολλά τότε άρχισε να χρησιμοποιείς και processors.


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Antipunishment on December 18, 2014, 19:48:59 pm
TY


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: dimi93gr on December 19, 2014, 20:44:15 pm
Σας έχει εκτελεστεί κάτι, αν ρίξατε, από χθες ή μόνο τα δικά μου περιμένουν;


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Eragon on December 19, 2014, 21:04:04 pm
Σας έχει εκτελεστεί κάτι, αν ρίξατε, από χθες ή μόνο τα δικά μου περιμένουν;
Καλησπέρα,


Θα θέλαμε να σας ενημερώσουμε ότι την Πέμπτη 18 Δεκεμβρίου 2014,
αναμένουμε να πραγματοποιηθούν εργασίες για την επίλυση των προβλημάτων
που παρουσιάζονται στην ηλεκτροδότηση της υποδομής.

Από τις 14:00 το μεσημέρι της Πέμπτης, θα πραγματοποιηθεί ελεγχόμενη
διακοπή της λειτουργίας της υποδομής και των υπηρεσιών, ώστε να
διερευνηθεί η βλάβη στο σύστημα ηλεκτροδότησης.

Θα υπάρξει νεότερη ενημέρωση, μόλις η υποδομή και οι υπηρεσίες μας
επανέλθουν στην κανονική τους λειτουργία.


Εκ μέρους του Γραφείου Επιστημονικών Υπολογιστικών Υπηρεσιών, ΚΗΔ ΑΠΘ,
Αλεξάνδρα Χαραλαμπίδου


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: dimi93gr on December 19, 2014, 21:12:58 pm
Νόμιζα ότι θα πάρει μερικές ώρες και μόλις επανέλθει ότι θα δουλεύει.


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: ktsiolis on December 20, 2014, 03:54:26 am
Τους χρόνους πς τους μετράτε?? Στέλεντε από κάθε slave στο master το χρόνο του και με τη σειρά του ο master τα προσθέτει και βγάζει ένα συνολικό ή δίνει ως συνολικό το μέγιστο από αυτά που δέχεται???

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


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: spira mirabilis on December 20, 2014, 19:57:47 pm
Μήπως βλέπετε κάποιο συντακτικό λάθος;; Μου βγάζει  export: `1': not a valid identifier
 export: `2': not a valid identifier.....  και τα αρχεία results.* δημιουργούνται αλλά είναι κενά
#PBS -q auth
#PBS -N  bitonic2
#PBS -j oe
#PBS -l nodes=2:ppn=1
procs=2
cd $PBS_O_WORKDIR
export NP=$(cat $PBS_NODEFILE |wc -l)

export I2G_MPI_TYPE=mpich2
for arg in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
do
     export I2G_MPI_APPLICATION=bitonic_worker $arg >results.$arg$procs

done
$I2G_MPI_START




Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: spira mirabilis on December 20, 2014, 20:54:09 pm
Μήπως βλέπετε κάποιο συντακτικό λάθος;; Μου βγάζει  export: `1': not a valid identifier
 export: `2': not a valid identifier.....  και τα αρχεία results.* δημιουργούνται αλλά είναι κενά
#PBS -q auth
#PBS -N  bitonic2
#PBS -j oe
#PBS -l nodes=2:ppn=1
procs=2
cd $PBS_O_WORKDIR
export NP=$(cat $PBS_NODEFILE |wc -l)

export I2G_MPI_TYPE=mpich2
for arg in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
do
     export I2G_MPI_APPLICATION=bitonic_worker $arg >results.$arg$procs

done
$I2G_MPI_START




for arg in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
do
     export I2G_MPI_APPLICATION=bitonic_worker>results.$arg
        export I2G_MPI_APPLICATION_ARGS=$arg
        $I2G_MPI_START

done
Με αυτήν την αλλαγή τρέχει,απλά αντί να αποθηκεύει την έξοδο στα results τα βάζει όλα σε ένα αρχείό που δημιουργεί μόνο του. whatever


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: ktsiolis on December 21, 2014, 15:16:17 pm
Απάντηση του κύριου Πιτσιάνη για το πς να μετράμε το χρόνο:

Στο main process,
// Set up data instance
// Barrier sync with everybody
// Start timer
// Sort globally
// Barrier sync with everybody
// Stop timer
// Verify correctness
// Report time and correctness


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: et3rn1ty on December 21, 2014, 18:39:20 pm
Μη κανετε public broadcasting στο ui ρε, δεν ειμαστε μονοι μας...  ;)


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: dimi93gr on December 21, 2014, 20:11:57 pm
Ρε παιδια σας εχει τρεξει τιποτα απο Παρασκευη με το script που αναφερεται παραπανω; Μονο εγω περιμενω η ειναι γενικο; Αν ειναι γενικο το προβλημα εχει επικοινωνησει κανεις με Πιτσιανη;


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: stavridisdim on December 21, 2014, 20:20:04 pm
Μπορεί κάποιος να ανεβάσει τις οδηγίες για το hellas grid γιατί εμένα δεν μου ήρθε μαιλ ακομα??


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Σα τανυστής on December 21, 2014, 20:26:19 pm
Ρε παιδια σας εχει τρεξει τιποτα απο Παρασκευη με το script που αναφερεται παραπανω; Μονο εγω περιμενω η ειναι γενικο; Αν ειναι γενικο το προβλημα εχει επικοινωνησει κανεις με Πιτσιανη;

Κανε ls αφου εχεις κανει cd $SCRATCHDIR να δεις αν σου βγαλε το txt με τα αποτελεσματα.

Εμενα μου βγαζει queue full σε καθε qsub εδω και 3 ωρες περιπου.

Μπορεί κάποιος να ανεβάσει τις οδηγίες για το hellas grid γιατί εμένα δεν μου ήρθε μαιλ ακομα??

http://pastebin.com/vN51Wgdj


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: dimi93gr on December 21, 2014, 20:30:23 pm
Ρε παιδια σας εχει τρεξει τιποτα απο Παρασκευη με το script που αναφερεται παραπανω; Μονο εγω περιμενω η ειναι γενικο; Αν ειναι γενικο το προβλημα εχει επικοινωνησει κανεις με Πιτσιανη;

Κανε ls αφου εχεις κανει cd $SCRATCHDIR να δεις αν σου βγαλε το txt με τα αποτελεσματα.

Εμενα μου βγαζει queue full σε καθε qsub εδω και 3 ωρες περιπου.

Μπορεί κάποιος να ανεβάσει τις οδηγίες για το hellas grid γιατί εμένα δεν μου ήρθε μαιλ ακομα??

http://pastebin.com/vN51Wgdj
Παταω qstat και τα βλεπω ακομα σε κατασταση Q γι αυτο ρωταω.Επισης  για ιδιες εισοδους στο diades πηρα κατι msec και στο grid 300 sec.


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Σα τανυστής on December 21, 2014, 23:50:22 pm

Παταω qstat και τα βλεπω ακομα σε κατασταση Q γι αυτο ρωταω.Επισης  για ιδιες εισοδους στο diades πηρα κατι msec και στο grid 300 sec.

Λογικα θα κανεις κατι λαθος στο submit script σου. Για ολα τα request συμβαινει αυτο?

Δοκιμασε να κανεις μερικα light submits (που τρεχουν χωρις μεγαλη αναμονη, πχ 1 node / 4 ppn ) για να δεις τι παιζει


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: TrueForce on December 22, 2014, 01:14:21 am
Μπορεί κάποιος να ανεβάσει τις οδηγίες για το hellas grid γιατί εμένα δεν μου ήρθε μαιλ ακομα??
εμενα μου ειχε ερθει email χωρις να κανω κατι φιλε μου. τσεκαρες καλα τα μειλ σου;

Ερωτηση: για τον τελικο πινακα, αρκει μια global μεταβλητη *Ν; Η θέλει καμιά τρελή καγκουριά που δε φανταζομαι; ::)


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Exomag on December 22, 2014, 02:34:11 am
Ερωτηση: για τον τελικο πινακα, αρκει μια global μεταβλητη *Ν; Η θέλει καμιά τρελή καγκουριά που δε φανταζομαι; ::)

Ο συνολικός πίνακας (μεγέθους N, που είναι διαχωρισμένος στα διάφορα processes) δε θα πρέπει σε καμία στιγμή να βρίσκεται ολόκληρος σε κάποιο process.


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: sof_s on December 22, 2014, 14:00:24 pm
Διευκρίνιση για 2η εργασία
22 Δεκ 2014 11:17 πμ
Σισμάνης

Λόγω  προβλημάτων  ηλεκτροδότησης  και  φόρτου  εργασίας  στο  Hellasgrid,  στην  εργασία  MPI  θα  γίνουν  δεκτές  και  μετρήσεις  από  το  diades  ή  άλλο  μηχάνημα.  Όταν  τα  προβλήματα  ξεπεραστούν,  μπορείτε  να  συμπληρώσετε  τα  αποτελέσματα  που  σας  λείπουν  από  το  grid  και  να  υποβάλετε  εκ  νέου  την  εργασία  σας,  ακόμη  και  εκπρόθεσμα.  Θα  ληφθεί  θετικά  υπόψη.


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: nvog1993 on December 22, 2014, 14:17:59 pm
Στο hellas grid, πρέπει να φτιάξουμε ενα jdl file για να του πούμε πόσες διεργασίες να κάνει?


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: jthois on December 22, 2014, 14:21:42 pm
Μπορεί να δώσει κανείς αναλυτικές οδηγίες για το πως να τρέξουμε MPI στον διαδη;


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: TrueForce on December 22, 2014, 15:01:37 pm
Μπορεί να δώσει κανείς αναλυτικές οδηγίες για το πως να τρέξουμε MPI στον διαδη;
++

γενικα μπορεις να κανεις compile και να δες τα ερρος(αμα αυτο θες να κανεις και οχι να ελεγξεις γενικα τη λειτουργια του αλγοριθμου), αλλα δε θα τρεξει.


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: jthois on December 22, 2014, 15:07:51 pm
Το έχω κάνει compile και στο δικό μου υπολογιστή. Νόμιζα ότι μπορεί να τρέξει στο διάδη :-\ :-\


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: TrueForce on December 22, 2014, 15:18:06 pm
Εχει οδηγιες στη 2η σελιδα βασικα. Ο διαδης κολαει η ειναι ιδεα μου/φταει το πισι μου;


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: kofski17 on December 22, 2014, 19:22:39 pm
o διάδης μου κρασάρει εμένα όταν πάω να τρέξω το παράλληλό μου για q+p πάνω από 23. Επίσης το σειριακό της εκφώνησης κρασάρει επίσης στο διάδη αν δοκιμάσεις να βάλεις q γύρω στο 30 και πάνω.

Σχετικά με το δεγκριντ, έχω συνδεθεί κανονικά και αλλάξει το πασσ μου όπως υποδυκνείει στο ημαιλ που μας στείλανε, αλλά δεν μπορώ να βρώ πουθενά οδηγίες για το πως μεταφέρω τα αρχεία μου εκεί και πως τα τρέχω. Φαντάζομαι ότι μια εντολή scp από το command line όπως και στο διάδη θα είναι αλλά δεν μπορώ να βρω τη σύνταξή της. Επίσης το δεγκριντ έχει επανέλθει, δηλαδή λειτουργεί κανονικά πλέον??

στις οδηγίες που δίνει το ημαιλ λέει για τη μεταφορά αρχείων από και προς το server για Linux δείτε εδώ, και το εδώ γράφει απλά χρησιμοποιούμε τις εντολές scp από το terminal...


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Σα τανυστής on December 22, 2014, 22:39:13 pm


Σχετικά με το δεγκριντ, έχω συνδεθεί κανονικά και αλλάξει το πασσ μου όπως υποδυκνείει στο ημαιλ που μας στείλανε, αλλά δεν μπορώ να βρώ πουθενά οδηγίες για το πως μεταφέρω τα αρχεία μου εκεί και πως τα τρέχω. Φαντάζομαι ότι μια εντολή scp από το command line όπως και στο διάδη θα είναι αλλά δεν μπορώ να βρω τη σύνταξή της. Επίσης το δεγκριντ έχει επανέλθει, δηλαδή λειτουργεί κανονικά πλέον??

στις οδηγίες που δίνει το ημαιλ λέει για τη μεταφορά αρχείων από και προς το server για Linux δείτε εδώ, και το εδώ γράφει απλά χρησιμοποιούμε τις εντολές scp από το terminal...
Μου λειτουργει κανονικα εμενα.

cd στο local φακελο σου, και μετα scp localfilename user@ui.afroditi.hellasgrid.gr:

μη ξεχασεις το : στο τελος


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: TrueForce on December 23, 2014, 15:42:21 pm
Παιδια, τωρα που θα τρεξουμε το προγραμμα στον διαδη(μπειτε ethmmy αν δεν ειδατε την ανακοινωση) εχει νοημα να κανουμε συγκριση με τον σειριακο;


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: et3rn1ty on December 23, 2014, 16:18:49 pm
Παιδια, τωρα που θα τρεξουμε το προγραμμα στον διαδη(μπειτε ethmmy αν δεν ειδατε την ανακοινωση) εχει νοημα να κανουμε συγκριση με τον σειριακο;

Εννοείς ότι μπορεί να έχεις πιο αργά αποτελέσματα? Δεδομένου ότι έχει μπόλικους πυρήνες και άρα μπορεί να τρέχει αρκετά processes ταυτόχρονα, νομίζω θα είναι πιο γρήγορο από τον σειριακό, αλλά όχι τόσο όσο στο grid.


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: pikachu93 on December 23, 2014, 16:54:19 pm
Όταν τρέχω το πρόγραμμα στο grid μου βγάζει αυτό το error message:

error while loading shared libraries: libmpich.so.10: cannot open shared object file: No such file or directory

Δεν μπορώ να καταλάβω τι φταίει. Αν είχε κανείς παρόμοιο πρόβλημα...


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: TrueForce on December 23, 2014, 18:31:49 pm
Παιδια, τωρα που θα τρεξουμε το προγραμμα στον διαδη(μπειτε ethmmy αν δεν ειδατε την ανακοινωση) εχει νοημα να κανουμε συγκριση με τον σειριακο;

Εννοείς ότι μπορεί να έχεις πιο αργά αποτελέσματα? Δεδομένου ότι έχει μπόλικους πυρήνες και άρα μπορεί να τρέχει αρκετά processes ταυτόχρονα, νομίζω θα είναι πιο γρήγορο από τον σειριακό, αλλά όχι τόσο όσο στο grid.
δοκιμασα, και οντως μεχρι 8 tasks τρεχει μια χαρα.
μετα λογικα θα καθυστερει αρκετα


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: TrueForce on December 25, 2014, 21:38:42 pm
Quote
Καλησπέρα,

Παρατηρήσαμε ότι ένας αριθμός εργασιών που έχουν υποβληθεί στην υποδομή
του HellasGrid, ορίζουν απαιτήσεις σε πόρους, οι οποίες είναι δύσκολο ή
αδύνατο να ικανοποιηθούν από το σύστημα.

Παρακαλώ, σημειώστε τα εξής:

Ο αριθμός των nodes δεν θα πρέπει να υπερβαίνει τα 4.

Για κάθε “p”, θα μπορούσατε να υποβάλετε μία διαφορετική εργασία, καθώς
κάθε μία θα πρέπει να δεσμεύει διαφορετικό αριθμό processors.

Για 2^q random integers και q=[16:20], μπορείτε να υποβάλετε μία εργασία
χρησιμοποιώντας ένα από τα PBS commands που μπορείτε να βρείτε στο τέλος
αυτού του μηνύματος, για τον ορισμό των nodes και των processors per
node που θα χρησιμοποιούνται από την κάθε εργασία.

Εργασίες που δεν έχουν υποβληθεί ακολουθώντας την παραπάνω λογική, θα
μπορούσαν να ακυρωθούν (με την χρήση της εντολής “qdel” για τα
αντίστοιχα Job IDs) και να υποβληθούν εκ νέου, αφού εφαρμοσθούν οι
απαραίτητες τροποποιήσεις.


Μπορείτε να βρείτε συνημμένο το script submit.sh, το οποίο μπορεί να σας
φανεί χρήσιμο για την υποβολή των εργασιών σας.

Σημειώστε ότι έχουμε θεωρήσει ότι το εκτελέσιμο αρχείο σας ονομάζεται
bitonic.
Για να χρησιμοποιήσετε το συνημμένο script, θα χρειαστεί ενδεχομένως να
τροποποιήσετε τον κώδικά σας, ώστε να δέχεται την τιμή του “q” ως argument.

Για οποιαδήποτε απορία, πρόβλημα ή πρόταση μη διστάσετε να
επικοινωνήσετε μαζί μας στο scientific-computing@auth.gr .

Σας ευχόμαστε Καλά Χριστούγεννα!


Εκ μέρους του Γραφείου Επιστημονικών Υπολογιστικών Υπηρεσιών, ΚΗΔ ΑΠΘ,
Αλεξάνδρα Χαραλαμπίδου
Αυτό το email το στείλανε σε όλους; Εγώ δεν έχω χρησιμοποιήσει τον hellas grid ακομα. Για λιγότερα από 8 nodes μπορουμε να κάνουμε και στον διάδη μετρήσεις άμα είμαστε μόνοι....


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Eragon on December 26, 2014, 01:32:34 am
Quote
Καλησπέρα,

Παρατηρήσαμε ότι ένας αριθμός εργασιών που έχουν υποβληθεί στην υποδομή
του HellasGrid, ορίζουν απαιτήσεις σε πόρους, οι οποίες είναι δύσκολο ή
αδύνατο να ικανοποιηθούν από το σύστημα.

Παρακαλώ, σημειώστε τα εξής:

Ο αριθμός των nodes δεν θα πρέπει να υπερβαίνει τα 4.

Για κάθε “p”, θα μπορούσατε να υποβάλετε μία διαφορετική εργασία, καθώς
κάθε μία θα πρέπει να δεσμεύει διαφορετικό αριθμό processors.

Για 2^q random integers και q=[16:20], μπορείτε να υποβάλετε μία εργασία
χρησιμοποιώντας ένα από τα PBS commands που μπορείτε να βρείτε στο τέλος
αυτού του μηνύματος, για τον ορισμό των nodes και των processors per
node που θα χρησιμοποιούνται από την κάθε εργασία.

Εργασίες που δεν έχουν υποβληθεί ακολουθώντας την παραπάνω λογική, θα
μπορούσαν να ακυρωθούν (με την χρήση της εντολής “qdel” για τα
αντίστοιχα Job IDs) και να υποβληθούν εκ νέου, αφού εφαρμοσθούν οι
απαραίτητες τροποποιήσεις.


Μπορείτε να βρείτε συνημμένο το script submit.sh, το οποίο μπορεί να σας
φανεί χρήσιμο για την υποβολή των εργασιών σας.

Σημειώστε ότι έχουμε θεωρήσει ότι το εκτελέσιμο αρχείο σας ονομάζεται
bitonic.
Για να χρησιμοποιήσετε το συνημμένο script, θα χρειαστεί ενδεχομένως να
τροποποιήσετε τον κώδικά σας, ώστε να δέχεται την τιμή του “q” ως argument.

Για οποιαδήποτε απορία, πρόβλημα ή πρόταση μη διστάσετε να
επικοινωνήσετε μαζί μας στο scientific-computing@auth.gr .

Σας ευχόμαστε Καλά Χριστούγεννα!


Εκ μέρους του Γραφείου Επιστημονικών Υπολογιστικών Υπηρεσιών, ΚΗΔ ΑΠΘ,
Αλεξάνδρα Χαραλαμπίδου
Αυτό το email το στείλανε σε όλους; Εγώ δεν έχω χρησιμοποιήσει τον hellas grid ακομα. Για λιγότερα από 8 nodes μπορουμε να κάνουμε και στον διάδη μετρήσεις άμα είμαστε μόνοι....

Ναι το έστειλαν σε όλους...
Στο διάδη εγώ τουλάχιστον έκανα μετρήσεις μέχρι και για 128 nodes... Απλώς για 128 nodes και q=19 και 20 κολλάει αρκετά...
Στο hellasgrid μου έχουν δεχτεί μέχρι και για 64 (nodes*ppn)...


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: TrueForce on December 26, 2014, 05:07:16 am
αρα τι παιζει; που θα κανουμε τις μετρησεις αμα στον χελλας δεν μπουρουμε να κανουμε πανω απο 4 νοντς;


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Eragon on December 26, 2014, 11:43:50 am
αρα τι παιζει; που θα κανουμε τις μετρησεις αμα στον χελλας δεν μπουρουμε να κανουμε πανω απο 4 νοντς;
στον χελλας μπορείς να κάνεις π.χ. 2 nodes *32 ppn... δεν ξέρω τι ακριβώς είναι τα nodes εν προκειμένω αλλά για να έχουν το πολύ 4 υποθέτω ότι δε μιλάμε για απλά PC. Μάλλον είναι συστοιχίες υπολογιστών, οπότε αν σου βγαίνει ο αριθμός που θες με nodes*ppn θα είσαι κομπλέ...και πράγματι μιλάμε για μια επιτάχυνση της τάξης του 30x σε σχέση με το σειριακό...


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: vasl12 on December 26, 2014, 16:16:49 pm
να ρωτήσω κάτι? όταν γίνεται το initialize κάθε διεργασία πρέπει να έχει διαφορετικά στοιχεία  από τις άλλες ή οχι :-\
Εμένα όλες αρχικοποιούν τα ίδια σημεία...


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: vlad on December 26, 2014, 18:38:15 pm
να ρωτήσω κάτι? όταν γίνεται το initialize κάθε διεργασία πρέπει να έχει διαφορετικά στοιχεία  από τις άλλες ή οχι :-\
Εμένα όλες αρχικοποιούν τα ίδια σημεία...
Τυχαια.Μπορει να εχουν τα ιδια μπορει οχι. :Ρ


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Exomag on December 26, 2014, 18:40:16 pm
να ρωτήσω κάτι? όταν γίνεται το initialize κάθε διεργασία πρέπει να έχει διαφορετικά στοιχεία  από τις άλλες ή οχι :-\
Εμένα όλες αρχικοποιούν τα ίδια σημεία...

Κάτι κάνεις λάθος τότε στο σημείο που δημιουργούνται τα τυχαία στοιχεία της κάθε διεργασίας. Κανονικά θα έπρεπε να έχει η κάθε μία διαφορετικά.


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Lord on December 26, 2014, 19:47:25 pm
Αρχικοποίησες το seed της rand ?


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Exomag on December 26, 2014, 19:50:25 pm
Αρχικοποίησες το seed της rand ?

Αν δεν αρχικοπιούσε το seed τότε θα έλεγε ότι σε κάθε εκτέλεση του αλγορίθμου τα "τυχαία" νούμερα που προκύπτουν είναι πάντα τα ίδια. Το πρόβλημα εδώ είναι ότι τα νούμερα είναι ίδια μεταξύ των διεργασιών, όχι σε κάθε εκτέλεση του προγράμματος. Εκτός δηλαδή αν τα νούμερα είναι ίδια ΚΑΙ μεταξύ διεργασιών αλλά ίδια ΚΑΙ σε κάθε εκτέλεση του προγράμματος, οπότε υπάρχει ακόμα μεγαλύτερο πρόβλημα.


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: vasl12 on December 26, 2014, 22:18:17 pm
Αρχικοποίησες το seed της rand ?

ναι αλλα έχω ίδια νουμερα και σε κάθε διεργασία και κάθε φορά που εκτελώ το προγραμμα...


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: et3rn1ty on December 26, 2014, 23:00:16 pm
Αρχικοποίησες το seed της rand ?

ναι αλλα έχω ίδια νουμερα και σε κάθε διεργασία και κάθε φορά που εκτελώ το προγραμμα...

Μάλλον τότε κάθε διεργασία έχει το ίδιο seed. Δοκίμασε κάτι σαν time(NULL)+numTasks*taskID για seed. Αν όλες οι διεργασίες έχουν το ίδιο seed ή πολύ κοντινά, πολύ πιθανό να έχουν πολύ παρόμοιους αριθμούς.


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Lord on December 27, 2014, 02:38:43 am
Δοκίμασε την rand_r (η οποία είναι και thread-safe μπας και ...)  :P .


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: vasl12 on December 27, 2014, 15:04:25 pm
Αρχικοποίησες το seed της rand ?

ναι αλλα έχω ίδια νουμερα και σε κάθε διεργασία και κάθε φορά που εκτελώ το προγραμμα...

Μάλλον τότε κάθε διεργασία έχει το ίδιο seed. Δοκίμασε κάτι σαν time(NULL)+numTasks*taskID για seed. Αν όλες οι διεργασίες έχουν το ίδιο seed ή πολύ κοντινά, πολύ πιθανό να έχουν πολύ παρόμοιους αριθμούς.

Με αυτό το seed έγινε η δουλεία:)
thnx  παιδιά
:P


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: vasl12 on December 28, 2014, 19:33:31 pm
Καλησπέρα

έχω το εξής πρόβλημα: όταν τρέχω τον κώδικα μου στο διαδη για 2^9 στοιχεία ο χρόνος είναι αψογος, ενώ για 2^10 δεν καταφερνει να βγαλει ποτέ χρόνο

Έχω επιλέξει να δημιουργήσω μια υλοποίηση που στέλνει επιλεγμένα στοιχεία από κάθε πίνακα και όχι όλο τον πίνακα

όταν τροποποιώ την υλοποίηση ώστε να στέλνει όλο τον πίνακα ποια τρέχει με χειρότερο χρόνο για 2^9 απ ότι πριν, ΑΛΛΑ βγάζει αποτέλεσμα για 2^10..

Καμιά ιδέα??


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Exomag on December 28, 2014, 19:43:42 pm
Καλησπέρα

έχω το εξής πρόβλημα: όταν τρέχω τον κώδικα μου στο διαδη για 2^9 στοιχεία ο χρόνος είναι αψογος, ενώ για 2^10 δεν καταφερνει να βγαλει ποτέ χρόνο

Έχω επιλέξει να δημιουργήσω μια υλοποίηση που στέλνει επιλεγμένα στοιχεία από κάθε πίνακα και όχι όλο τον πίνακα

όταν τροποποιώ την υλοποίηση ώστε να στέλνει όλο τον πίνακα ποια τρέχει με χειρότερο χρόνο για 2^9 απ ότι πριν, ΑΛΛΑ βγάζει αποτέλεσμα για 2^10..

Καμιά ιδέα??

Λες ότι δεν καταφέρνει να βγάλει χρόνο. Δοκίμασες (με prints, κλπ) να δεις που κολλάει; Μήπως κάνει κάποιο infinite loop ή κάτι σχετικό;

Επίσης, υπάρχει η οποιαδήποτε περίπτωση να έχεις χρησιμοποιήσει αυτόν (https://github.com/adrianlee/mpi-bitonic-sort)τον έτοιμο κώδικα;


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: vasl12 on December 28, 2014, 19:59:43 pm

Λες ότι δεν καταφέρνει να βγάλει χρόνο. Δοκίμασες (με prints, κλπ) να δεις που κολλάει; Μήπως κάνει κάποιο infinite loop ή κάτι σχετικό;

Επίσης, υπάρχει η οποιαδήποτε περίπτωση να έχεις χρησιμοποιήσει αυτόν (https://github.com/adrianlee/mpi-bitonic-sort)τον έτοιμο κώδικα;

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

Δοκιμάζω τώρα διαφορα prints να δουμε:)




Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: vasl12 on December 28, 2014, 20:25:59 pm

Λες ότι δεν καταφέρνει να βγάλει χρόνο. Δοκίμασες (με prints, κλπ) να δεις που κολλάει; Μήπως κάνει κάποιο infinite loop ή κάτι σχετικό;

Επίσης, υπάρχει η οποιαδήποτε περίπτωση να έχεις χρησιμοποιήσει αυτόν (https://github.com/adrianlee/mpi-bitonic-sort)τον έτοιμο κώδικα;

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

Δοκιμάζω τώρα διαφορα prints να δουμε:)


το πρόβλημα τελικά ήταν στο ότι δεν είχα σε σωστή σειρά τα send-receive και γι αυτό δημιουργούνταν deadlock :)


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: TrueForce on December 28, 2014, 23:06:03 pm
Έχω στείλει την εργασία εδώ και μέρες, αλλά μου ήρθε μια άκυρη ερώτηση:
Αφότου ο πίνακας ειναι ταξινομημένος στο κάθε task, θα τον φέρουμε τον μαστερ τασκ έτσι; Το test θα μπορούσε να γίνει και από πολλά tasks, απλά μου φαίνεται περίεργο να μην φέρουμε τον πίνακα σε έναν υπολογιστή για αποθήκευση/εκτύπωση....


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Σα τανυστής on December 29, 2014, 00:20:21 am
Έχω στείλει την εργασία εδώ και μέρες, αλλά μου ήρθε μια άκυρη ερώτηση:
Αφότου ο πίνακας ειναι ταξινομημένος στο κάθε task, θα τον φέρουμε τον μαστερ τασκ έτσι; Το test θα μπορούσε να γίνει και από πολλά tasks, απλά μου φαίνεται περίεργο να μην φέρουμε τον πίνακα σε έναν υπολογιστή για αποθήκευση/εκτύπωση....

Μπορεις να στελνεις τα τελευταια στοιχεια απο καθε διεργασια στον μαστερ, και να δεις εκει μετα αν εχεις ταξινομημενα δεδομενα. Αν παλι θες να τα πας στον μαστερ, απλα μη χρονομετρας τη μεταφορα τους και το τεστ για να σαι κομπλε.


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: TrueForce on December 29, 2014, 00:35:46 am
Έχω στείλει την εργασία εδώ και μέρες, αλλά μου ήρθε μια άκυρη ερώτηση:
Αφότου ο πίνακας ειναι ταξινομημένος στο κάθε task, θα τον φέρουμε τον μαστερ τασκ έτσι; Το test θα μπορούσε να γίνει και από πολλά tasks, απλά μου φαίνεται περίεργο να μην φέρουμε τον πίνακα σε έναν υπολογιστή για αποθήκευση/εκτύπωση....

Μπορεις να στελνεις τα τελευταια στοιχεια απο καθε διεργασια στον μαστερ, και να δεις εκει μετα αν εχεις ταξινομημενα δεδομενα. Αν παλι θες να τα πας στον μαστερ, απλα μη χρονομετρας τη μεταφορα τους και το τεστ για να σαι κομπλε.
Ναι, αυτο κανω, κομπλε βγαίνει ο χρόνος(μετραω όμως και τη μεταφορά από τα τασκ στον μαστερ, μονο το τεστ δεν μετραω). Απλά έχει αναφερθεί ότι κάθε τασκ έχει μόνο 2Ν στοιχεία, γι'αυτο ρωτησα. Οντως στο προγραμμα μου 2Ν εχει το καθε ενα για την ταξινομηση. Μετα όμως δεν πειράζει να τα στειλω ολα σε ενα ε;


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Eragon on December 29, 2014, 00:48:33 am
Έχω στείλει την εργασία εδώ και μέρες, αλλά μου ήρθε μια άκυρη ερώτηση:
Αφότου ο πίνακας ειναι ταξινομημένος στο κάθε task, θα τον φέρουμε τον μαστερ τασκ έτσι; Το test θα μπορούσε να γίνει και από πολλά tasks, απλά μου φαίνεται περίεργο να μην φέρουμε τον πίνακα σε έναν υπολογιστή για αποθήκευση/εκτύπωση....

Μπορεις να στελνεις τα τελευταια στοιχεια απο καθε διεργασια στον μαστερ, και να δεις εκει μετα αν εχεις ταξινομημενα δεδομενα. Αν παλι θες να τα πας στον μαστερ, απλα μη χρονομετρας τη μεταφορα τους και το τεστ για να σαι κομπλε.
Ναι, αυτο κανω, κομπλε βγαίνει ο χρόνος(μετραω όμως και τη μεταφορά από τα τασκ στον μαστερ, μονο το τεστ δεν μετραω). Απλά έχει αναφερθεί ότι κάθε τασκ έχει μόνο 2Ν στοιχεία, γι'αυτο ρωτησα. Οντως στο προγραμμα μου 2Ν εχει το καθε ενα για την ταξινομηση. Μετα όμως δεν πειράζει να τα στειλω ολα σε ενα ε;
Το concept είναι ότι οι πίνακες μπορεί να ήταν τόσο μεγάλοι που πράγματι να μη χωραγαν σε ένα task, άλλο που επειδή η εργασία είναι σχεδιασμένη για να τρέχει και στο diades οι πίνακες δεν είναι τόσο μεγάλοι...


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Σα τανυστής on December 29, 2014, 00:52:33 am
Δε στελνεις κανενα mail στο Σισμανη? Εγω θα ελεγα δε πειραζει αλλα κριμα ειναι να χασεις απο κατι τετοιο, δεν ειναι καν bitonic :P


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: TrueForce on December 29, 2014, 01:01:28 am
^οποτε κουλ για τον τροπο που γινεται ο ελεγχος, ε; 8))


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Exomag on December 29, 2014, 01:52:32 am
^οποτε κουλ για τον τροπο που γινεται ο ελεγχος, ε; 8))

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


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Σα τανυστής on December 29, 2014, 02:07:11 am
^οποτε κουλ για τον τροπο που γινεται ο ελεγχος, ε; 8))

Εγω κουλ τον βρισκω αλλα δεν ειμαι ο Σισμανης :P .Δε ξερω ποσο ελαστικος ειναι με αυτο.

 Αν καιγεσαι να το αλλαξεις μια αλλη ιδεα ειναι να στελνουν ολοι στο μαστερ οταν τελειωσουν το τελευταιο τους στοιχειο και να τσεκαρεις εκει αν ειναι ολα ταξινομημενα. Ετσι ο τελικος σου ελεγχος θα ειναι για Ν στοιχεια αντι για ολα.

Η μπορει απλα να πεις γιολο χωραει το τσεκαρα, και αν δε χωρουσε αφου εχω ελεγχο οτι δουλευει για τα p,q που μετρησες αρα θα δουλευει και με μεγαλυτερα. :D (super sloppy, use if desperate)



Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Professional Hater on December 29, 2014, 19:18:23 pm
Με το συμπάθιο ρε παιδια.. τι στο ΜΠΟΥΤΣΟ κανει αυτο?

oid impBitonicSort() {

  int i,j,k;
  
  for (k=2; k<=N; k=2*k) {
    for (j=k>>1; j>0; j=j>>1) {
      for (i=0; i<N; i++) {
   int ij=i^j;
   if ((ij)>i) {
     if ((i&k)==0 && a > a[ij])
         exchange(i,ij);
     if ((i&k)!=0 && a < a[ij])
         exchange(i,ij);
   }
      }
    }
  }
}

EDIT: ij=i^j  <----- Αυτό είναι XOR του i με το j. Oχι i εις την j


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Σα τανυστής on December 29, 2014, 20:10:56 pm
Δες αυτον τον (ημιτελη, περιεργο) κωδικα https://github.com/adrianlee/mpi-bitonic-sort/blob/master/bitonic.c (γραμμη 71) και προσπαθησε να κανεις αντιστοιχιση με το εσωτερικο των loops.
και αυτο εδω το αρθρο http://www.cs.rutgers.edu/~venugopa/parallel_summer2012/mpi_bitonic.html

Εγω ετσι ψιλοκαταλαβα τι παιζει με την imperative.


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Professional Hater on December 30, 2014, 15:10:50 pm
Ευχαριστώ πολύ αλλά βαριέμαι!!  :D
Αυτό που κατάλαβα είναι οτι το Κ σου δείχνει μέχρι ποιο επίπεδο θα γίνει βιτονικ η ακολουθία σου. Δηλαδή για Κ=4 θα γίνει 4 στοιχεία αύξουσα, 4 φθίνουσα κτλ, με προϋπόθεση ότι έχει ήδη γίνει βιτονικ για 2 στοιχεία. Τα υπόλοιπα είναι περιττά (νομίζω)!


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Exomag on December 30, 2014, 18:30:07 pm
Δες αυτον τον (ημιτελη, περιεργο) κωδικα https://github.com/adrianlee/mpi-bitonic-sort/blob/master/bitonic.c

Και πέρα-για-πέρα ότι να 'ναι και λάθος, να προσθέσω :P


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: inspired on January 04, 2015, 23:54:56 pm
γεια σας και απο μενα τον αργοπορημενο..
στην αφροδιτη (grid) τρεχει exe η linux executable? η και τα 2?


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Exomag on January 05, 2015, 00:01:30 am
γεια σας και απο μενα τον αργοπορημενο..
στην αφροδιτη (grid) τρεχει exe η linux executable? η και τα 2?

Linux τρέχουν τα μηχανήματα εκεί, οπότε linux executable.


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: vasl12 on January 11, 2015, 18:57:01 pm
#!/bin/bash
#PBS -q auth
#PBS -N mpi-mm
#PBS -j oe
#PBS -l nodes=1:ppn=4

cd $PBS_O_WORKDIR
# Define number of processors to send to mpirun for MPICH
export NP=$(cat $PBS_NODEFILE | wc -l)

export I2G_MPI_TYPE=mpich2

for arg in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
do
     export I2G_MPI_APPLICATION=bitonic>results.$arg
        export I2G_MPI_APPLICATION_ARGS=$arg
        $I2G_MPI_START

done

$I2G_MPI_START





έχει κανεις ιδέα τι κάνουμε λάθος και δεν αποθηκεύονται τα αποτελέσματα???? ::)