THMMY.gr

Μαθήματα Κύκλου Ηλεκτρονικής & Υπολογιστών => Παράλληλα και Διανεμημένα Συστήματα => Topic started by: Nerevar on December 04, 2015, 10:36:38 am



Title: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Nerevar on December 04, 2015, 10:36:38 am
Topic που αφορά την 2η εργασία του μαθήματοhttp://alexander.ee.auth.gr:8083/eTHMMY/archive%5C173%5CdownloadFile%5C6261%5Cgrid-knn-mpi.pdf (http://alexander.ee.auth.gr:8083/eTHMMY/archive%5C173%5CdownloadFile%5C6261%5Cgrid-knn-mpi.pdf)


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: PureForm on December 04, 2015, 22:09:39 pm
καμια ιδεα για το πως ανεβαζουμε αρχειο στο hellasgrid?κατι για sftp λεει αλλα δεν ξερω μπλεχτηκα :-\


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Nerevar on December 04, 2015, 22:34:02 pm
Δες το αρχείο στα downloads...


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: PureForm on December 04, 2015, 23:21:20 pm
ναι απο εκει κοιταω και απο οτι εχω καταλαβει,ενω εχω συνδεθει στο hellasgrid για να ανεβασω αρχειο μεσω της εντολης sftp [user@]host[:dir[/]] ,οπου user kai host ta local στοιχεια του teriminal και στο dir το path που ειναι το αρχειο που θελω να ανεβασω αλλα δεν...
μηπως λεω μπουρδες?


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: mmarios on December 04, 2015, 23:30:10 pm
ναι απο εκει κοιταω και απο οτι εχω καταλαβει,ενω εχω συνδεθει στο hellasgrid για να ανεβασω αρχειο μεσω της εντολης sftp [user@]host[:dir[/]] ,οπου user kai host ta local στοιχεια του teriminal και στο dir το path που ειναι το αρχειο που θελω να ανεβασω αλλα δεν...
μηπως λεω μπουρδες?

Μπορείς να δοκιμάσεις το WinSCP. Είναι αρκετά εύχρηστο.


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: greekoo on December 05, 2015, 10:36:54 am
"Δουλεύει σωστά για: N = 2 [21:25] , n × m × k = 2 [12:16] , P = 2 [0:7] . "

To N δεν το ορίζει παραπάνω.
Παριστάνει το πλήθος των σημείων και των δύο συνόλων Q,C, δηλαδή Ν/2 το Q, N/2 το C?


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Ragnar Lothbrok on December 06, 2015, 14:31:08 pm
Καμια ιδεα για το πως θα δημιουργησουμε τα συνολα που ζηταει;


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: rspappas on December 08, 2015, 22:03:23 pm
περιεργη φαση που θελει να γραψουμε και τον σειριακο κωδικα...


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Dealan on December 08, 2015, 23:23:39 pm
Το κανε και πρόπερσι στην 1η εργασία από ότι μου έχουν πει.


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Exomag on December 08, 2015, 23:31:34 pm
Και πέρυσι στην 3η/4η.


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: raf18 on December 10, 2015, 18:40:07 pm
παιδια compile σε mpi που κανουμε??
και πως το περναμε σε cygwin ξερει κανεις????


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Ragnar Lothbrok on December 10, 2015, 19:53:45 pm
καμια ιδεα για το πως θα δημιουργησουμε το πλεγμα εχει κανεις;;;; :-\


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Ragnar Lothbrok on December 10, 2015, 19:54:31 pm
"Δουλεύει σωστά για: N = 2 [21:25] , n × m × k = 2 [12:16] , P = 2 [0:7] . "

To N δεν το ορίζει παραπάνω.
Παριστάνει το πλήθος των σημείων και των δύο συνόλων Q,C, δηλαδή Ν/2 το Q, N/2 το C?

απ οτι ειπε στο μαθημα, παριστανει το πληθος των q,  δηλαδη το μεγεθος του Q


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: greekoo on December 11, 2015, 09:56:47 am
"Δουλεύει σωστά για: N = 2 [21:25] , n × m × k = 2 [12:16] , P = 2 [0:7] . "

To N δεν το ορίζει παραπάνω.
Παριστάνει το πλήθος των σημείων και των δύο συνόλων Q,C, δηλαδή Ν/2 το Q, N/2 το C?

απ οτι ειπε στο μαθημα, παριστανει το πληθος των q,  δηλαδη το μεγεθος του Q

Ευχαριστώ φίλε. !
Κ κάτι ακόμα: γιατί το πλέγμα μπορεί και να μην είναι κυβος  (k*m*n (k=m=n)) ? Αφού θα καλύπτει κάθε φορά όλο τον κύβο και το μόνο που θα αλλάζει θα ειναι το μέγεθος των κόμβων του (κουτιων), άρα αν δεν είναι κύβος δεν θα "προεξέχει" απτον μοναδιαιο πχ?


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Ragnar Lothbrok on December 11, 2015, 11:56:36 am
"Δουλεύει σωστά για: N = 2 [21:25] , n × m × k = 2 [12:16] , P = 2 [0:7] . "

To N δεν το ορίζει παραπάνω.
Παριστάνει το πλήθος των σημείων και των δύο συνόλων Q,C, δηλαδή Ν/2 το Q, N/2 το C?

απ οτι ειπε στο μαθημα, παριστανει το πληθος των q,  δηλαδη το μεγεθος του Q

Ευχαριστώ φίλε. !
Κ κάτι ακόμα: γιατί το πλέγμα μπορεί και να μην είναι κυβος  (k*m*n (k=m=n)) ? Αφού θα καλύπτει κάθε φορά όλο τον κύβο και το μόνο που θα αλλάζει θα ειναι το μέγεθος των κόμβων του (κουτιων), άρα αν δεν είναι κύβος δεν θα "προεξέχει" απτον μοναδιαιο πχ?

Πολυ πιθανον να προεξεχει. Ειπε στο μαθημα οτι οι διαστασες του πλεγματος να παιρνονται ετσι ωστε παντα να προσεγγιζει οσο γινεται τον κυβο. Ας πουμε αν εχει 32 κομβους, τοτε να ειναι 4x4x2 και οχι 2x8x2 . Επομενως θα προεξεχει σχεδον παντα, αλλα αυτο δεν σε ενοχλει.

Καμια ιδεα για το πως θα φτιαξουμε το πλεγμα εχεις; Γιατι εχω σκαλωσει  :-\


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: greekoo on December 11, 2015, 12:09:12 pm
"Δουλεύει σωστά για: N = 2 [21:25] , n × m × k = 2 [12:16] , P = 2 [0:7] . "

To N δεν το ορίζει παραπάνω.
Παριστάνει το πλήθος των σημείων και των δύο συνόλων Q,C, δηλαδή Ν/2 το Q, N/2 το C?

απ οτι ειπε στο μαθημα, παριστανει το πληθος των q,  δηλαδη το μεγεθος του Q

Ευχαριστώ φίλε. !
Κ κάτι ακόμα: γιατί το πλέγμα μπορεί και να μην είναι κυβος  (k*m*n (k=m=n)) ? Αφού θα καλύπτει κάθε φορά όλο τον κύβο και το μόνο που θα αλλάζει θα ειναι το μέγεθος των κόμβων του (κουτιων), άρα αν δεν είναι κύβος δεν θα "προεξέχει" απτον μοναδιαιο πχ?

Πολυ πιθανον να προεξεχει. Ειπε στο μαθημα οτι οι διαστασες του πλεγματος να παιρνονται ετσι ωστε παντα να προσεγγιζει οσο γινεται τον κυβο. Ας πουμε αν εχει 32 κομβους, τοτε να ειναι 4x4x2 και οχι 2x8x2 . Επομενως θα προεξεχει σχεδον παντα, αλλα αυτο δεν σε ενοχλει.

Καμια ιδεα για το πως θα φτιαξουμε το πλεγμα εχεις; Γιατι εχω σκαλωσει  :-\

Ωραιος.
Ρε φιλε έτσι όπως το σκέφτομαι λογικά κάθε κουτί του πλέγματος θα έχει ένα όριο xmax-xmin,ymax-ymin και zmax-zmin.

Οπότε τόσα κουτιά με τόσα όρια ??


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Ragnar Lothbrok on December 11, 2015, 12:17:58 pm
"Δουλεύει σωστά για: N = 2 [21:25] , n × m × k = 2 [12:16] , P = 2 [0:7] . "

To N δεν το ορίζει παραπάνω.
Παριστάνει το πλήθος των σημείων και των δύο συνόλων Q,C, δηλαδή Ν/2 το Q, N/2 το C?

απ οτι ειπε στο μαθημα, παριστανει το πληθος των q,  δηλαδη το μεγεθος του Q

Ευχαριστώ φίλε. !
Κ κάτι ακόμα: γιατί το πλέγμα μπορεί και να μην είναι κυβος  (k*m*n (k=m=n)) ? Αφού θα καλύπτει κάθε φορά όλο τον κύβο και το μόνο που θα αλλάζει θα ειναι το μέγεθος των κόμβων του (κουτιων), άρα αν δεν είναι κύβος δεν θα "προεξέχει" απτον μοναδιαιο πχ?

Πολυ πιθανον να προεξεχει. Ειπε στο μαθημα οτι οι διαστασες του πλεγματος να παιρνονται ετσι ωστε παντα να προσεγγιζει οσο γινεται τον κυβο. Ας πουμε αν εχει 32 κομβους, τοτε να ειναι 4x4x2 και οχι 2x8x2 . Επομενως θα προεξεχει σχεδον παντα, αλλα αυτο δεν σε ενοχλει.

Καμια ιδεα για το πως θα φτιαξουμε το πλεγμα εχεις; Γιατι εχω σκαλωσει  :-\

Ωραιος.
Ρε φιλε έτσι όπως το σκέφτομαι λογικά κάθε κουτί του πλέγματος θα έχει ένα όριο xmax-xmin,ymax-ymin και zmax-zmin.

Οπότε τόσα κουτιά με τόσα όρια ??

Ναι, ισως αυτη να ειναι μια καλη προσεγγιση.  Τελοσπαντων, προσπαθουμε και βλέπουμε. Εχουμε ακομα μια τεταρτη για αποριες. :P


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: rspappas on December 11, 2015, 14:25:26 pm
θα γραψω οτι εχω κανει μεχρι στιγμης γιατι πονοκεφαλιασα αρκετα για να τα καταλαβω:

  • Δημιουργουμε συνολικα NQ και NC σημεια, που ειναι χωρισμενα σε P διεργασιες. Αρα καθε διεργασια εχει Ν/P στοιχεια
  • Προσωπικα θεωρησα οτι NQ = NC, αλλα δεν εχει μεγαλη σημασια
  • nXmXk=2^12 εως 2^16. Αυτο σημαινει οτι το καθε πλεγμα εχει 2^12 εως 2^16 τομεις/κουτακια. Αυτο σημαινει οτι πρεπει να βρουμε ποσες τομες να κανουμε σε καθε πλευρα/διασταση (οι τομες ειναι τα n, m, k) ωστε να εχουμε τοσα κουτια στο συνολο. Αυτο βγαινει διαιρωντας το (πχ) 12 δια 3, και μετα προσθετοντας το οποιο υπολοιπο σε μια ή δυο πλευρες. αρα τα κουτια δεν θα ειναι απαραιτητα κυβοι, αλλα ορθογωνια παραλληλεπιπεδα. αυτο δεν πειραζει καθολου.
  • θα βολεψει πολυ για την συνεχεια να γινει καποια συμβαση με τα κουτια, να οριστει δηλαδη ενας τροπος διευθυνσιοδοτησης τους. προσωπικα προτιμησα να εχω δυο διαφορετικους τροπους αναγνωρισης του κουτιου, ειτε με τις συντεταγμενες του στο πλεγμα (πχ το 3ο κουτι κατα μηκος, 2ο κατα πλατος, 4ο κατα υψος) ειτε με ενα id απο 0 εως max_koutia. συντεταγμενες και id θα πρεπει να συνδεονται, ωστε να μπορει καποιος να πηδαει απο το ενα στο αλλο.
  • μετα θα πρεπει να γινει αναζητηση σε ολα τα σημεια που εχει η διεργασια, ενα ενα, να βρεθει σε ποιο κουτι ειναι με βαση τις συντεταγμενες. προσωπικα αυτο το εκανα ως εξης. εστω το σημειο εχει χ=0,6. Αν εχουμε 4 κουτια κατα μηκος, τοτε κανοντας 0.6*4=2.4. κανοντας typecast σε int, αυτος ο αριθμος στρογγυλοποιειται προς τα κατω, οποτε εν προκειμενω γινεται 2. οποτε ξερεις οτι κατα μηκος, στον αξονα χ, εισαι στο 2ο κουτι (ξεκινωντας την αριθμηση απο το 0).
  • θα πρεπει να μετρηθουν ποσα σημεια q Και ποσα c υπαρχουν σε καθε κουτι, να γινουν τα απαραιτητα malloc, και να μεταφερθουν τα σημεια (οι συντεταγμενες τους) στο αντιστοιχο πινακα ή τμημα πινακα για καθε κουτι. ετσι θα ειναι ολα τα σημεια καθε κουτιου μαζεμενα και δεν θα πρεπει να γινεται αναζητηση καθε φορα.
  • για την αναζητηση, θα πρεπει να γινει για καθε σημειο q ενος κουτιου, συγκριση με ολα τα σημεια c του ιδιου κουτιου και των εφαπτομενων κουτιων. η αποσταση θα μπορει να ειναι ειτε ευκλειδεια ειτε manhattan μαλλον? δεν ξερω. μια απο τα ιδια, θεωρητικα τουλαχιστον.
  • τα γειτονικα κουτια λεει στην εκφωνηση οτι ειναι αυτα που εφαπτονται. και εγω αναρωτιεμαι αν εννοει τα 6 κουτια που εφαπτονται στις οψεις του κουτιου, τα 16 που εφαπτονται στις ακμες ή τα 26 που εφαπτονται στις κορυφες? (σκεφτειτε κυβο rubik για να οπτικοποιησετε αυτο το προβλημα). εγω το εκανα με τα 6 των πλευρων, για ευκολια.

(ακομα δεν εχω πιασει το παραλληλο κομματι καθολου)


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Ragnar Lothbrok on December 11, 2015, 14:38:06 pm
Ξερει κανεις πως λεμε στο προγραμμα ποσα processes να ξεκινησει; γιατι απ οτι καταλαβα το MPI_Comm_size(MPI_COMM_WORLD, &nproc), επιστρεφει ποσες διεργασιες ξεκινησε απο μονο του.


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: greekoo on December 11, 2015, 15:27:03 pm
θα γραψω οτι εχω κανει μεχρι στιγμης γιατι πονοκεφαλιασα αρκετα για να τα καταλαβω:

  • Δημιουργουμε συνολικα NQ και NC σημεια, που ειναι χωρισμενα σε P διεργασιες. Αρα καθε διεργασια εχει Ν/P στοιχεια
  • Προσωπικα θεωρησα οτι NQ = NC, αλλα δεν εχει μεγαλη σημασια
  • nXmXk=2^12 εως 2^16. Αυτο σημαινει οτι το καθε πλεγμα εχει 2^12 εως 2^16 τομεις/κουτακια. Αυτο σημαινει οτι πρεπει να βρουμε ποσες τομες να κανουμε σε καθε πλευρα/διασταση (οι τομες ειναι τα n, m, k) ωστε να εχουμε τοσα κουτια στο συνολο. Αυτο βγαινει διαιρωντας το (πχ) 12 δια 3, και μετα προσθετοντας το οποιο υπολοιπο σε μια ή δυο πλευρες. αρα τα κουτια δεν θα ειναι απαραιτητα κυβοι, αλλα ορθογωνια παραλληλεπιπεδα. αυτο δεν πειραζει καθολου.
  • θα βολεψει πολυ για την συνεχεια να γινει καποια συμβαση με τα κουτια, να οριστει δηλαδη ενας τροπος διευθυνσιοδοτησης τους. προσωπικα προτιμησα να εχω δυο διαφορετικους τροπους αναγνωρισης του κουτιου, ειτε με τις συντεταγμενες του στο πλεγμα (πχ το 3ο κουτι κατα μηκος, 2ο κατα πλατος, 4ο κατα υψος) ειτε με ενα id απο 0 εως max_koutia. συντεταγμενες και id θα πρεπει να συνδεονται, ωστε να μπορει καποιος να πηδαει απο το ενα στο αλλο.
  • μετα θα πρεπει να γινει αναζητηση σε ολα τα σημεια που εχει η διεργασια, ενα ενα, να βρεθει σε ποιο κουτι ειναι με βαση τις συντεταγμενες. προσωπικα αυτο το εκανα ως εξης. εστω το σημειο εχει χ=0,6. Αν εχουμε 4 κουτια κατα μηκος, τοτε κανοντας 0.6*4=2.4. κανοντας typecast σε int, αυτος ο αριθμος στρογγυλοποιειται προς τα κατω, οποτε εν προκειμενω γινεται 2. οποτε ξερεις οτι κατα μηκος, στον αξονα χ, εισαι στο 2ο κουτι (ξεκινωντας την αριθμηση απο το 0).
  • θα πρεπει να μετρηθουν ποσα σημεια q Και ποσα c υπαρχουν σε καθε κουτι, να γινουν τα απαραιτητα malloc, και να μεταφερθουν τα σημεια (οι συντεταγμενες τους) στο αντιστοιχο πινακα ή τμημα πινακα για καθε κουτι. ετσι θα ειναι ολα τα σημεια καθε κουτιου μαζεμενα και δεν θα πρεπει να γινεται αναζητηση καθε φορα.
  • για την αναζητηση, θα πρεπει να γινει για καθε σημειο q ενος κουτιου, συγκριση με ολα τα σημεια c του ιδιου κουτιου και των εφαπτομενων κουτιων. η αποσταση θα μπορει να ειναι ειτε ευκλειδεια ειτε manhattan μαλλον? δεν ξερω. μια απο τα ιδια, θεωρητικα τουλαχιστον.
  • τα γειτονικα κουτια λεει στην εκφωνηση οτι ειναι αυτα που εφαπτονται. και εγω αναρωτιεμαι αν εννοει τα 6 κουτια που εφαπτονται στις οψεις του κουτιου, τα 16 που εφαπτονται στις ακμες ή τα 26 που εφαπτονται στις κορυφες? (σκεφτειτε κυβο rubik για να οπτικοποιησετε αυτο το προβλημα). εγω το εκανα με τα 6 των πλευρων, για ευκολια.

(ακομα δεν εχω πιασει το παραλληλο κομματι καθολου)

φιλε πραγματικα σε ευχαριστώ! μου έλυσες πολλές απορίες που δημιουργήθηκαν απο την δυσνόητη εκφώνηση της εργασίας!!


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Xbaremenos on December 11, 2015, 16:25:18 pm
Ξερει κανεις πως λεμε στο προγραμμα ποσα processes να ξεκινησει; γιατι απ οτι καταλαβα το MPI_Comm_size(MPI_COMM_WORLD, &nproc), επιστρεφει ποσες διεργασιες ξεκινησε απο μονο του.

mpirun -np x a.out

αν a.out το εκτελέσιμο αρχείο
το χ είναι ο αριθμός των processes που θα ξεκινήσει


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Ragnar Lothbrok on December 11, 2015, 18:58:15 pm
Ξερει κανεις πως λεμε στο προγραμμα ποσα processes να ξεκινησει; γιατι απ οτι καταλαβα το MPI_Comm_size(MPI_COMM_WORLD, &nproc), επιστρεφει ποσες διεργασιες ξεκινησε απο μονο του.

mpirun -np x a.out

αν a.out το εκτελέσιμο αρχείο
το χ είναι ο αριθμός των processes που θα ξεκινήσει

και τα υπολοιπα arguments που θελει να βαζουμε, οπως π.χ. N = 2^[21:25], n x m x k = 2[^12:16] πως τα βαζουμε μεσω command line?



Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Xbaremenos on December 11, 2015, 19:51:49 pm
Ξερει κανεις πως λεμε στο προγραμμα ποσα processes να ξεκινησει; γιατι απ οτι καταλαβα το MPI_Comm_size(MPI_COMM_WORLD, &nproc), επιστρεφει ποσες διεργασιες ξεκινησε απο μονο του.

mpirun -np x a.out

αν a.out το εκτελέσιμο αρχείο
το χ είναι ο αριθμός των processes που θα ξεκινήσει
και τα υπολοιπα arguments που θελει να βαζουμε, οπως π.χ. N = 2^[21:25], n x m x k = 2[^12:16] πως τα βαζουμε μεσω command line?




mpirun -np x a.out arg1 arg2 arg3 ...

όπως ακριβώς θα χρησιμοποιούσες τα argv δηλαδή... μετά το όνομα του εκτελέσιμου αρχείου


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Ragnar Lothbrok on December 11, 2015, 20:13:19 pm
Ξερει κανεις πως λεμε στο προγραμμα ποσα processes να ξεκινησει; γιατι απ οτι καταλαβα το MPI_Comm_size(MPI_COMM_WORLD, &nproc), επιστρεφει ποσες διεργασιες ξεκινησε απο μονο του.

mpirun -np x a.out

αν a.out το εκτελέσιμο αρχείο
το χ είναι ο αριθμός των processes που θα ξεκινήσει
και τα υπολοιπα arguments που θελει να βαζουμε, οπως π.χ. N = 2^[21:25], n x m x k = 2[^12:16] πως τα βαζουμε μεσω command line?




mpirun -np x a.out arg1 arg2 arg3 ...

όπως ακριβώς θα χρησιμοποιούσες τα argv δηλαδή... μετά το όνομα του εκτελέσιμου αρχείου


κομπλε ρε. Θα ρθεις παρτυ σημερα;


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: mitsoschelsea on December 13, 2015, 15:23:26 pm

  • nXmXk=2^12 εως 2^16. Αυτο σημαινει οτι το καθε πλεγμα εχει 2^12 εως 2^16 τομεις/κουτακια. Αυτο σημαινει οτι πρεπει να βρουμε ποσες τομες να κανουμε σε καθε πλευρα/διασταση (οι τομες ειναι τα n, m, k) ωστε να εχουμε τοσα κουτια στο συνολο. Αυτο βγαινει διαιρωντας το (πχ) 12 δια 3, και μετα προσθετοντας το οποιο υπολοιπο σε μια ή δυο πλευρες. αρα τα κουτια δεν θα ειναι απαραιτητα κυβοι, αλλα ορθογωνια παραλληλεπιπεδα. αυτο δεν πειραζει καθολου.


Γιατί κάθε πλέγμα; Ένα δεν είναι το πλέγμα που θα πρέπει να κάνουμε;


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


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: raf18 on December 13, 2015, 18:10:33 pm
παιδια MPI στα ελληνικά για πιο εύκολα
http://pdplab.it.uom.gr/teaching/llnl-gr/Message%20Passing%20Interface%20%28MPI%29.htm#Group_Management_Routines (http://pdplab.it.uom.gr/teaching/llnl-gr/Message%20Passing%20Interface%20%28MPI%29.htm#Group_Management_Routines)


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Ragnar Lothbrok on December 13, 2015, 19:44:59 pm
Εγω αυτο που καταλαβα ειναι οτι το πλεγμα θα ειναι οντως κυβος, απλα τα κουτακια του θα ειναι παραλληλογραμμα. Δηλαδη, παιρνουμε το πλεγμα μας, n x m x k  , π.χ.εστω 16 x 16 x 32, και το συμπιέζουμε για να χωρέσει μέσα στον μοναδιαίο κύβο. Το "συμπιεσμένο" πλέγμα λοιπον, θα εχει σχήμα κύβου, αλλά τα επιμέρους κουτάκια/τομείς του, θα είναι παραλληλόγραμμα. (δηλαδή το κάθε κουτάκι θα έχει διαστάσεις x=1/16, y=1/16,z=1/32). Δεν ξέρω αν ειναι σωστό το σκεπτικό, αλλά ήταν το μόνο που μπορούσα να φανταστώ/ οπτικοποιήσω


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Xbaremenos on December 13, 2015, 19:56:45 pm
Εγω αυτο που καταλαβα ειναι οτι το πλεγμα θα ειναι οντως κυβος, απλα τα κουτακια του θα ειναι παραλληλογραμμα. Δηλαδη, παιρνουμε το πλεγμα μας, n x m x k  , π.χ.εστω 16 x 16 x 32, και το συμπιέζουμε για να χωρέσει μέσα στον μοναδιαίο κύβο. Το "συμπιεσμένο" πλέγμα λοιπον, θα εχει σχήμα κύβου, αλλά τα επιμέρους κουτάκια/τομείς του, θα είναι παραλληλόγραμμα. (δηλαδή το κάθε κουτάκι θα έχει διαστάσεις x=1/16, y=1/16,z=1/32). Δεν ξέρω αν ειναι σωστό το σκεπτικό, αλλά ήταν το μόνο που μπορούσα να φανταστώ/ οπτικοποιήσω

Νομίζω πως και μέσα στην τάξη κάτι τέτοιο είχε πει ...

Έφερε το παράδειγμα στον 2D κόσμο όπου έχουμε ξέρω γω ενα φύλλο χαρτί 1x1 και το γεμίζουμε με σημεία... μετά ένα πλέγμα nXm θα ήταν στην ουσια αυτό το φύλλο χωρίζοντας τον 1 άξονα σε n χώρους και τον άλλον άξονα σε m χώρους... Οπότε και σε αυτό το παράδειγμα θα είχες ένα φύλλο χαρτί (Τετράγωνο στο επίπεδο) του οποίου ο χώρος θα ήταν μοιρασμένος σε παραλληλόγραμμα. Ε στον χώρο απλά έχεις άλλη μια διεύθυνση ...

Όχι ?


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Λήσταρχος Γιαγκούλας on December 14, 2015, 03:24:06 am
Εγω αυτο που καταλαβα ειναι οτι το πλεγμα θα ειναι οντως κυβος, απλα τα κουτακια του θα ειναι παραλληλογραμμα. Δηλαδη, παιρνουμε το πλεγμα μας, n x m x k  , π.χ.εστω 16 x 16 x 32, και το συμπιέζουμε για να χωρέσει μέσα στον μοναδιαίο κύβο. Το "συμπιεσμένο" πλέγμα λοιπον, θα εχει σχήμα κύβου, αλλά τα επιμέρους κουτάκια/τομείς του, θα είναι παραλληλόγραμμα. (δηλαδή το κάθε κουτάκι θα έχει διαστάσεις x=1/16, y=1/16,z=1/32). Δεν ξέρω αν ειναι σωστό το σκεπτικό, αλλά ήταν το μόνο που μπορούσα να φανταστώ/ οπτικοποιήσω
+1, συμφώνω και εγώ,έτσι πιστεύω θέλει.


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Λήσταρχος Γιαγκούλας on December 14, 2015, 17:35:49 pm
  • τα γειτονικα κουτια λεει στην εκφωνηση οτι ειναι αυτα που εφαπτονται. και εγω αναρωτιεμαι αν εννοει τα 6 κουτια που εφαπτονται στις οψεις του κουτιου, τα 16 που εφαπτονται στις ακμες ή τα 26 που εφαπτονται στις κορυφες? (σκεφτειτε κυβο rubik για να οπτικοποιησετε αυτο το προβλημα). εγω το εκανα με τα 6 των πλευρων, για ευκολια.

Aν κρίνω από αυτό που θα ήταν πιο "δίκαιο" αναφορικά με τις αποστάσεις σε ένα κύβο εγώ μάλλον θα επέλεγα τα 26


Επιπλεόν , έχει κανείς τρόπο να τρέχουμε ταυτόχρονα πιο πολλές εκτελέσεις ?
Εννοώ ότι συνολικά έχουμε 200(5χ5χ8) "πειράματα".Είναι κάπως χρονοβόρο...


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Κηπουρίδης on December 14, 2015, 20:09:21 pm
Σιγουρα τις 26.

Μπορεις να κανεις ενα .sh που να τα τρεξει ολα. Δεν ειμαι τωρα στο πισι μου, αν μπορεσει κανεις να γραψει κατι, αλλιως θα γραψω εγω σε κανα δυο μερες.


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: mitsoschelsea on December 14, 2015, 20:43:45 pm
Μετά από μέιλ στον κ. Πιτσιάνη:

1. Όταν μας λέτε n x m x k διαστάσεις θα έχουμε πχ 2^4 * 2^4 * 2^4 = 2^12. Τα κουτάκια που θα φτιάξουμε
θα είναι έχουν διαστάσεις 1/n , 1/m , 1/k?


Ναι

Ή θα πρέπει να ψάξουμε να βρούμε μία σχέση που απλά
να μας δίνει σε πόσα κουτάκια θα είχαμε τον πιο αποδοτικό παραλληλισμό και να το χωρίσουμε κατάλληλα;


Όχι, αυτό θα το κάνει η αναφορά σας έμμεσα με το να δοκιμάσει τις περιπτώσεις που σας ζητάμε.


2. Όταν μας λέτε για τα κουτάκια που εφάπτονται το ένα με το άλλο, εννοείτε ότι εφάπτονται στις έδρες,
στις ακμές ή στις κορυφές;


Ακόμα και σε 1 σημείο.

3. Τα ΝQ και NP είναι ίσα;


Όχι.

Αν όχι, θα πρέπει να διακρίνουμε περιπτώσεις και να τις γράψουμε στην αναφορά;

Όχι, μόνο στον κώδικα.

4. Είναι πάντα σίγουρο πως θα είναι κύβος; Για παράδειγμα για διαστάσεις 2^13 δέ μπορεί να είναι ακριβώς
κύβος.


Τα δεδομένα είναι κύβος. Το πλέγμα κουτιών δεν είναι απαραίτητο να σχηματίζει κύβο. Γι’ αυτό και ορίσαμε n <= m <= k.


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Λήσταρχος Γιαγκούλας on December 14, 2015, 21:30:14 pm
Συνάδελφοι,αν μπορείτε βοηθήστε λίγο στις παρακάτω ερωτήσεις...

1)Εκφώνηση:Το πρόγραμμά σας θα πρέπει να:
• Δημιουργεί τα δύο σύνολα σημείων, Q και C, που ακολουθούν ομοιόμορφη κατανομή στον [0; 1). Τα
σημεία των δύο σύνολων είναι κατανεμημένα σε P διεργασίες.

Εστω λοιπόν Νc/P σημεία/διεργασία. Αυτό που θα το εκμεταλλευτούμε;
Θα παραλληλοποιήσουμε την δημιουργία?
Μάλλον όχι

Update:
Aν κατάλαβα καλά θα ψάξουμε το κοντινότερο για κάθε σημείο.
Αρά κάθε διεργασία θα αναλάβει την αναζήτηση του κοντινότερου σημείου των "υπό την ευθύνη" της  Nc/P σημείων.
Η αναζήτηση αυτή θα γίνει στο αντίστοιχο S του κάθε σημείου.

Είναι σωστή η λογική μου ή κάτι μου διαφεύγει;
Tις γνώμες σας παρακαλώ...





Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: rspappas on December 15, 2015, 01:17:46 am

μια προς μια γαμηθηκαν ολες οι παραδοχες μου. καλη φαση
back to the design board


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: nlogn on December 15, 2015, 13:15:48 pm

Aν κατάλαβα καλά θα ψάξουμε το κοντινότερο για κάθε σημείο.


Στο μάθημα έλεγε συνεχώς ότι στο knn που έχουμε, πρέπει να ψάξουμε τα k κοντινότερα σημεία.
Αν δεις και το pdf της άσκησης λέγεται grid-knn-mpi.pdf .


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Λήσταρχος Γιαγκούλας on December 15, 2015, 13:17:01 pm

Aν κατάλαβα καλά θα ψάξουμε το κοντινότερο για κάθε σημείο.


Στο μάθημα έλεγε συνεχώς ότι στο knn που έχουμε πρέπει να ψάξουμε τα k κοντινότερα σημεία.
Αν δεις και το pdf της άσκησης λέει grid-knn-mpi.pdf .

Συμφωνώ φίλε ,αλλά με τι έυρος του k?


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: nlogn on December 15, 2015, 13:20:07 pm

Aν κατάλαβα καλά θα ψάξουμε το κοντινότερο για κάθε σημείο.


Στο μάθημα έλεγε συνεχώς ότι στο knn που έχουμε πρέπει να ψάξουμε τα k κοντινότερα σημεία.
Αν δεις και το pdf της άσκησης λέει grid-knn-mpi.pdf .

Συμφωνώ φίλε ,αλλά με τι έυρος του k?
Δεν ξέρω.
Εγώ το έβαλα οποιοδήποτε, αρκεί να με βολεύει τα σημεία που επιστρέφω να εμπεριέχονται μέσα σε ένα κουτί και τους γειτονές του.
Στην πραγματικότητα μπορεί να είναι μέχρι sqrt(n), όπου n: πλήθος σημείων σε όλο το grid.
 


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Λήσταρχος Γιαγκούλας on December 15, 2015, 13:23:06 pm

Aν κατάλαβα καλά θα ψάξουμε το κοντινότερο για κάθε σημείο.


Στο μάθημα έλεγε συνεχώς ότι στο knn που έχουμε πρέπει να ψάξουμε τα k κοντινότερα σημεία.
Αν δεις και το pdf της άσκησης λέει grid-knn-mpi.pdf .
Συμφωνώ φίλε ,αλλά με τι έυρος του k?
Δεν ξέρω.
Εγώ το έβαλα οποιοδήποτε, αρκεί να με βολεύει τα σημεία που επιστρέφω να εμπεριέχονται μέσα σε ένα κουτί και τους γειτονές του.
Στην πραγματικότητα μπορεί να είναι μέχρι sqrt(n), όπου n: πλήθος σημείων σε όλο το grid.
 

Τι να πω φίλε,δεν καταλαβαίνω τι θέλει...ξέρω ότι ο knn θέλει τους k κοντινότερους αλλά διαβάζοντας την εκφώνηση υποπτεύομαι πως θέλει μόνο έναν.
Συνάδελφοι τις γνωμες σας παρακαλώ..


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: nlogn on December 15, 2015, 13:51:52 pm

Aν κατάλαβα καλά θα ψάξουμε το κοντινότερο για κάθε σημείο.


Στο μάθημα έλεγε συνεχώς ότι στο knn που έχουμε πρέπει να ψάξουμε τα k κοντινότερα σημεία.
Αν δεις και το pdf της άσκησης λέει grid-knn-mpi.pdf .
Συμφωνώ φίλε ,αλλά με τι έυρος του k?
Δεν ξέρω.
Εγώ το έβαλα οποιοδήποτε, αρκεί να με βολεύει τα σημεία που επιστρέφω να εμπεριέχονται μέσα σε ένα κουτί και τους γειτονές του.
Στην πραγματικότητα μπορεί να είναι μέχρι sqrt(n), όπου n: πλήθος σημείων σε όλο το grid.
 

Τι να πω φίλε,δεν καταλαβαίνω τι θέλει...ξέρω ότι ο knn θέλει τους k κοντινότερους αλλά διαβάζοντας την εκφώνηση υποπτεύομαι πως θέλει μόνο έναν.
Συνάδελφοι τις γνωμες σας παρακαλώ..


Ρώτησα με μέιλ και :      k = 1


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Λήσταρχος Γιαγκούλας on December 15, 2015, 14:15:03 pm

Aν κατάλαβα καλά θα ψάξουμε το κοντινότερο για κάθε σημείο.


Στο μάθημα έλεγε συνεχώς ότι στο knn που έχουμε πρέπει να ψάξουμε τα k κοντινότερα σημεία.
Αν δεις και το pdf της άσκησης λέει grid-knn-mpi.pdf .
Συμφωνώ φίλε ,αλλά με τι έυρος του k?
Δεν ξέρω.
Εγώ το έβαλα οποιοδήποτε, αρκεί να με βολεύει τα σημεία που επιστρέφω να εμπεριέχονται μέσα σε ένα κουτί και τους γειτονές του.
Στην πραγματικότητα μπορεί να είναι μέχρι sqrt(n), όπου n: πλήθος σημείων σε όλο το grid.
 

Τι να πω φίλε,δεν καταλαβαίνω τι θέλει...ξέρω ότι ο knn θέλει τους k κοντινότερους αλλά διαβάζοντας την εκφώνηση υποπτεύομαι πως θέλει μόνο έναν.
Συνάδελφοι τις γνωμες σας παρακαλώ..


Ρώτησα με μέιλ και :      k = 1
thumbs up!


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Κηπουρίδης on December 15, 2015, 15:20:53 pm
Συνάδελφοι,αν μπορείτε βοηθήστε λίγο στις παρακάτω ερωτήσεις...

1)Εκφώνηση:Το πρόγραμμά σας θα πρέπει να:
• Δημιουργεί τα δύο σύνολα σημείων, Q και C, που ακολουθούν ομοιόμορφη κατανομή στον [0; 1). Τα
σημεία των δύο σύνολων είναι κατανεμημένα σε P διεργασίες.

Εστω λοιπόν Νc/P σημεία/διεργασία. Αυτό που θα το εκμεταλλευτούμε;
Θα παραλληλοποιήσουμε την δημιουργία?
Μάλλον όχι

Update:
Aν κατάλαβα καλά θα ψάξουμε το κοντινότερο για κάθε σημείο.
Αρά κάθε διεργασία θα αναλάβει την αναζήτηση του κοντινότερου σημείου των "υπό την ευθύνη" της  Nc/P σημείων.
Η αναζήτηση αυτή θα γίνει στο αντίστοιχο S του κάθε σημείου.

Είναι σωστή η λογική μου ή κάτι μου διαφεύγει;
Tις γνώμες σας παρακαλώ...

Καθε διεργασια θα ψαχνει το κοντινοτερο για καθε ενα απο τα Nq/P υπο την ευθυνη της ερωτηματα.
Πραγματι τα περισσοτερα απο αυτα τα Nq/P ερωτηματα θα απαντιουνται με σημεια που βρισκονται μεσα στα Nc/P υπο την ευθυνη της σημεια, ΟΜΩΣ

καθε διεργασια αναλαμβανει ενα μικρο παραλληλεπιπεδο (ας το πουμε Α) μεσα στον κυβο. Αυτο το μικρο παραλληλεπιδο με την σειρα του χωριζεται σε μικροτερα παραλληλεπιπεδα (ας τα πουμε Β, αυτα τα nxmxk, κι ολο δια P). Οσα απο τα Β βρισκονται στην εξωτερικη επιφανεια του Α, αυτην που θα εβλεπε ενας ανθρωπος δηλαδη αν επιανε στα χερια του το Α, μπορει να εχουν απαντηση εκτος του Α. Οχι πολυ μακρια βεβαια, αλλα εκτος. Επομενως πρεπει να ζητησεις και λιγα Β απο καποια αλλη διεργασια, για να ελεγξεις και εκεινα τα σημεια.

Ελπιζω να βοηθησα.


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Ragnar Lothbrok on December 15, 2015, 17:55:18 pm
άρα αφού λέει k=1, θέλει ΤΟΝ ΚΟΝΤΙΝΟΤΕΡΟ; αφου στο μαθημα ελεγε θα κανετε εναν νεο πινακα που να λεει ποιοι ειναι οι κοντινοτεροι(δηλαδη αυτοι που ανηκουν στο S, ΠΟΙΟΙ είναι αυτοί, και σε τι αποσταση βρίσκονται).
Για ποιο πουστη λογο πρεπει να βγαζει μια ΤΟΣΟ ασαφη εκφωνηση, και μια βδομαδα πριν παραδωσουμε να πεταει τις διευκρινησεις μια μια, λες και επρεπε να μυρισουμε τα δαχτυλα μας για να καταλαβουμε τι ακριβως εννοει;;; :( . καθεσαι γραφεις κωδικα τοσες μερες, και με μια διευκρινηση που υπεθεσε οτι επρεπε να υποθεσεις σωστα εσυ, σου ακυρωνει τη μιση δουλεια σου...  >:( >:(


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Κηπουρίδης on December 15, 2015, 18:02:30 pm
άρα αφού λέει k=1, θέλει ΤΟΝ ΚΟΝΤΙΝΟΤΕΡΟ; αφου στο μαθημα ελεγε θα κανετε εναν νεο πινακα που να λεει ποιοι ειναι οι κοντινοτεροι(δηλαδη αυτοι που ανηκουν στο S, ΠΟΙΟΙ είναι αυτοί, και σε τι αποσταση βρίσκονται).
Για ποιο πουστη λογο πρεπει να βγαζει μια ΤΟΣΟ ασαφη εκφωνηση, και μια βδομαδα πριν παραδωσουμε να πεταει τις διευκρινησεις μια μια, λες και επρεπε να μυρισουμε τα δαχτυλα μας για να καταλαβουμε τι ακριβως εννοει;;; :( . καθεσαι γραφεις κωδικα τοσες μερες, και με μια διευκρινηση που υπεθεσε οτι επρεπε να υποθεσεις σωστα εσυ, σου ακυρωνει τη μιση δουλεια σου...  >:( >:(

Αν τσεκαρεις τις δημοσιευσεις του Πιτσιανη θα δεις οτι ασχολειται γενικα με το kNN. Για αυτο μπερδευτηκε στις διευκρινισεις, πραγμα που θεωρω πραγματι ασχημο.
Τωρα τα περι ασαφους εκφωνησης θεωρω πως ειναι υπερβολικα.
Η μονη ασαφεια ηταν το Nc Nq που διορθωθηκε. Ας μην τα ριχνουμε ολα στους "κακους" καθηγητες, νομιζω δε βοηθαει κανεναν. Ποσο μαλλον σε τετοιες περιπτωσεις που το μαθημα εχει ενα επιπεδο που δε το εχουν τα υπολοιπα.

Φιλικα,
Κηπουριδης


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Ragnar Lothbrok on December 15, 2015, 18:08:44 pm
Δεν είπα ποτέ ότι ο Πιτσιάνης είναι κακός καθηγητής, ίσα ίσα, τον πάω με τα χίλια. Απλά θα μπορούσε να είναι πιο κατατοπιστικός στις εκφωνήσεις του.


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: rspappas on December 15, 2015, 19:14:53 pm
ο k nearest neigbors ειναι γνωστος αλγοριθμος γενικα, και κανει αυτο που λεει ο τιτλος του. για ολα τα σημεια που του δινεις, βρισκει τα k πιο κοντινα τους.

εν προκειμενω, η εκφωνηση περιγραφει μια απλοποιημενη μορφη του αλγοριθμου, οπου κ=1, δηλαδη για καθε σημειο υπαρχει μια απαντηση και οχι k.

μια απο τα ιδια γενικα, απλα με 1 αντι για k ειναι ελαφρως πιο ευκολο να υλοποιηθει.


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Ragnar Lothbrok on December 15, 2015, 19:37:18 pm
ο k nearest neigbors ειναι γνωστος αλγοριθμος γενικα, και κανει αυτο που λεει ο τιτλος του. για ολα τα σημεια που του δινεις, βρισκει τα k πιο κοντινα τους.

εν προκειμενω, η εκφωνηση περιγραφει μια απλοποιημενη μορφη του αλγοριθμου, οπου κ=1, δηλαδη για καθε σημειο υπαρχει μια απαντηση και οχι k.

μια απο τα ιδια γενικα, απλα με 1 αντι για k ειναι ελαφρως πιο ευκολο να υλοποιηθει.

ναι αλλα οι πιθανοτητες να ψαξει μεσα στο ιδιο του το τετραγωνακι και να βρει εναν σημειο που ανηκει στο C, ειναι πολυ μεγαλη. Δηλαδή για k=1, ψαχνει στο τετραγωνακι του(που ειναι τεραστια η πιθανοτητα να βρει κατι), και μονο αν δεν βρει, τσεκαρει και γειτονικα(αρα μονο τοτε υπαρχει και η πιθανοτητα να "ζητησει" σημειο απο αλλη διεργασια). Σωστα;


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Κηπουρίδης on December 15, 2015, 19:56:15 pm
ο k nearest neigbors ειναι γνωστος αλγοριθμος γενικα, και κανει αυτο που λεει ο τιτλος του. για ολα τα σημεια που του δινεις, βρισκει τα k πιο κοντινα τους.

εν προκειμενω, η εκφωνηση περιγραφει μια απλοποιημενη μορφη του αλγοριθμου, οπου κ=1, δηλαδη για καθε σημειο υπαρχει μια απαντηση και οχι k.

μια απο τα ιδια γενικα, απλα με 1 αντι για k ειναι ελαφρως πιο ευκολο να υλοποιηθει.

ναι αλλα οι πιθανοτητες να ψαξει μεσα στο ιδιο του το τετραγωνακι και να βρει εναν σημειο που ανηκει στο C, ειναι πολυ μεγαλη. Δηλαδή για k=1, ψαχνει στο τετραγωνακι του(που ειναι τεραστια η πιθανοτητα να βρει κατι), και μονο αν δεν βρει, τσεκαρει και γειτονικα(αρα μονο τοτε υπαρχει και η πιθανοτητα να "ζητησει" σημειο απο αλλη διεργασια). Σωστα;

Εισαι σε πολυ καλο δρομο :). Απλα να κανω μια διορθωση, υπαρχει περιπτωση να βρει κατι στο παραλληλεπιπεδο του και παλι να πρεπει να πρεπει να δει διπλανους. Σκεψου να ειναι πολυ κοντα στην μια γωνια Α, αυτο που βρισκει να ειναι πολυ κοντα σε καποια αλλη γωνια Β, κι ενα αλλα παραλληλεπιπεδο με κοινη την γωνια Α να εχει σημεια εκει κοντα.
Σιγουρα ομως αν δεις ολα τα γειτονικα (26 ειναι αφου ειναι 3 οι διαστασεις, 3^3-1 που ειναι αυτο που ειμαστε) τοτε εισαι κομπλε. Τα ειπα λιγο τσομπανικα, οποτε πες μου αν δεν καταλαβες.

Λογω της βεβαιοτητας αυτης οτι αρκει να δουμε τα 26 γειτονικα, το k=1 ειναι φοβερα μεγαλη απλοποιηση βεβαια, αφου ακομα και το k=2 θα μας αναγκαζε να δουμε πολυυυ περισσοτερα κουτια.


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Ragnar Lothbrok on December 15, 2015, 20:06:44 pm
ο k nearest neigbors ειναι γνωστος αλγοριθμος γενικα, και κανει αυτο που λεει ο τιτλος του. για ολα τα σημεια που του δινεις, βρισκει τα k πιο κοντινα τους.

εν προκειμενω, η εκφωνηση περιγραφει μια απλοποιημενη μορφη του αλγοριθμου, οπου κ=1, δηλαδη για καθε σημειο υπαρχει μια απαντηση και οχι k.

μια απο τα ιδια γενικα, απλα με 1 αντι για k ειναι ελαφρως πιο ευκολο να υλοποιηθει.


ναι αλλα οι πιθανοτητες να ψαξει μεσα στο ιδιο του το τετραγωνακι και να βρει εναν σημειο που ανηκει στο C, ειναι πολυ μεγαλη. Δηλαδή για k=1, ψαχνει στο τετραγωνακι του(που ειναι τεραστια η πιθανοτητα να βρει κατι), και μονο αν δεν βρει, τσεκαρει και γειτονικα(αρα μονο τοτε υπαρχει και η πιθανοτητα να "ζητησει" σημειο απο αλλη διεργασια). Σωστα;

Εισαι σε πολυ καλο δρομο :). Απλα να κανω μια διορθωση, υπαρχει περιπτωση να βρει κατι στο παραλληλεπιπεδο του και παλι να πρεπει να πρεπει να δει διπλανους. Σκεψου να ειναι πολυ κοντα στην μια γωνια Α, αυτο που βρισκει να ειναι πολυ κοντα σε καποια αλλη γωνια Β, κι ενα αλλα παραλληλεπιπεδο με κοινη την γωνια Α να εχει σημεια εκει κοντα.
Σιγουρα ομως αν δεις ολα τα γειτονικα (26 ειναι αφου ειναι 3 οι διαστασεις, 3^3-1 που ειναι αυτο που ειμαστε) τοτε εισαι κομπλε. Τα ειπα λιγο τσομπανικα, οποτε πες μου αν δεν καταλαβες.

Λογω της βεβαιοτητας αυτης οτι αρκει να δουμε τα 26 γειτονικα, το k=1 ειναι φοβερα μεγαλη απλοποιηση βεβαια, αφου ακομα και το k=2 θα μας αναγκαζε να δουμε πολυυυ περισσοτερα κουτια.

προσωπικα το εκανα να ψαχνει μεσα στο κουτακι του.Βρισκει οσα υπαρχουν, τα ταξινομει και επιλεγει το πλησιεστερο σε αυτο. Αν δεν βρει, να τσεκαρει και τα 26 γειτονικα του. Και να ξανακανει ταξινομηση οσα βρηκε στα 26 αυτα, και παλι να επιλεγει το πλησιεστερο. Αυτο εννοουσες και συ;


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: rspappas on December 15, 2015, 21:19:09 pm
αν ενα σημειο ειναι κοντα στην ακρη ενος κουτιου, πιθανα να ειναι πιο κοντα σε καποιο σημειο εκτος κουτιου παρα σε καποιο εντος κουτιου.
(στην δικη μου υλοποιηση με τα 6 κουτια αντι για 26, εβρισκε αξιοσημειωτα συχνα σημειο εκτος κουτιου ως το πιο κοντινο)

παντως σιγουρα αξιζει να γινουν πραξεις και υπολογισμοι, που να λαμβανουν υποψιν το που ειναι το σημειο που ελεγχουμε μεσα στο κουτι και ποσο κοντα ειναι το πιο κοντινο σημειο μεσα στο συγκεκριμενο κουτι. ετσι θα αποφευχθουν πολλες περιττες επικοινωνιες, καθως θα ξερουμε πχ, αν εχουμε βρει ενα σημειο που απεχει 0.1, και το γειτονικο κουτι ειναι 0.2 μακρια, ε τοτε να μην ψαξουμε καθολου.



Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: rspappas on December 15, 2015, 21:26:08 pm
επισης, μια εναλλακτικη λυση, που ξεφευγει βεβαια απο τον δρομο της εκφωνησης, θα ηταν καθε διεργασια να κραταει τα σημεια c που ειναι στα κουτια της, αλλα και στα κουτια που εφαπτονται στα κουτια της. δηλαδη να κραταει και μια "εξωτερικη στρωση" με κουτια c. ετσι, στο επιπεδο της αναζητησης, δεν θα χρειαζεται να γινει καμμια επικοινωνια. αλλα απο την αλλη θα εχουμε την πληροφορια σε πολλα αντιγραφα.

κλασσικο παραδειγμα tradeoff μνημης για ταχυτητα.


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Κηπουρίδης on December 15, 2015, 21:27:45 pm
Πρεπει να ελεγξει και τα 26 και τον εαυτο του, ανεξαρτητα απ το αν εχει βρει κατι η οχι στο δικο του κουτι.
Δες αυτο, παροτι δυο διαστασεων εξηγει αυτο που εννοω : http://api.muchosmedia.com/brainwave/uploads/client_12/snap_84a86d12ee594fd660f3b34d280b97da.png
Χρειαζεται να δουμε και τα γειτονικα, επειδη τελικα η απαντηση βρισκεται στο κουτι 1, παροτι βρηκαμε σημεια μεσα στο 5.

(
και μια προσθηκη που κανει λιγο πιο περιπλοκα τα πραγματα και δε θα την προτεινα, παρολο που θα δωσει μεγαλη επιταχυνση στο προγραμμα :
Καθε φορα δημιουργουμε εναν κυκλο με το κοντινοτερο σημειο που εχουμε βρει μεχρι εκεινη τη στιγμη. Δεν ξεκιναμε να κοιταμε ενα καινουριο κουτι αν δε βρισκεται μεσα στον κυκλο. Στο παραπανω screenshot χρειαζεται να δουμε το 1, προφανως, αλλα και το 2 και το 4, παρολο που εν τελει δεν εχουν λυση, θα μπορουσαν να εχουν. Δε χρειαζεται ομως να δουμε καθολου τα 3,6,7,8,9.
Τωρα τον κυκλο τον λεω για κατανοηση. Αρκει να κοιταξεις ποσο μακρια εισαι απο αυτο το κουτι (στις 3 διαστασεις ειναι καπως περιπλοκο, γιατι μπορει να μοιραζεσαι τετραγωνο, ακμη, ή απλα σημειο) και να συγκρινεις με την current Minimum Distance
)


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: raf18 on December 15, 2015, 21:32:42 pm
Την δημιουργία των σημείων q και c και των πινάκων που θα τα αποθηκεύσουμε πρέπει να τα κάνουμε μέσα στο παράλληλο κομμάτι?? Ή μπορούμε να τα κάνουμε σειριακά και μετά ξεκινάμε παράλληλα στις αναζητήσεις για το κοντινότερο σημείο του κάθε q???


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Κηπουρίδης on December 15, 2015, 21:35:32 pm
Στο παραλληλο κομματι απ ο,τι ειπε στο μαθημα. Αλλιως θα επρεπε να τα κανεις στο σειριακο και να επικοινωνησεις με τα αλλα processes, ενημερωνοντας τα για τα σημεια τους. Αλλα αποφευγουμε ειπαμε οσο μπορουμε τις επικοινωνιες γιατι κοστιζουν πολυ :).


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: rspappas on December 15, 2015, 21:37:18 pm
εγω το εβαλα στο παραλληλο.
μια διεργασια δημιουργει Ν/Ρ στοιχεια σε ολο τον χωρο, τα ταξινομει στα κουτια, κραταει οσα ειναι σε δικα της κουτια, πασαρει οσα ειναι σε κουτια των γειτονων στον αντιστοιχο γειτονα, και παιρνει απο γειτονες οσα ειναι δικα της.


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: raf18 on December 15, 2015, 21:45:17 pm
ωραια thanks..!!


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Κηπουρίδης on December 15, 2015, 21:46:06 pm
εγω το εβαλα στο παραλληλο.
μια διεργασια δημιουργει Ν/Ρ στοιχεια σε ολο τον χωρο, τα ταξινομει στα κουτια, κραταει οσα ειναι σε δικα της κουτια, πασαρει οσα ειναι σε κουτια των γειτονων στον αντιστοιχο γειτονα, και παιρνει απο γειτονες οσα ειναι δικα της.
Μπορεις να παραλειψεις πληρως το κομματι των επικοινωνιων που αναφερεις, αρκει η καθε διεργασια να δημιουργησει μονο δικα της σημεια.
Σκεψου οτι για να δημιουργησεις εναν αριθμο αναμεσα σε Χ και Ψ που ειναι τα ορια σου, αρκει να κανεις Χ + Random_Between_0_and_(Ψ-Χ).


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: raf18 on December 15, 2015, 21:56:33 pm
εγω το εβαλα στο παραλληλο.
μια διεργασια δημιουργει Ν/Ρ στοιχεια σε ολο τον χωρο, τα ταξινομει στα κουτια, κραταει οσα ειναι σε δικα της κουτια, πασαρει οσα ειναι σε κουτια των γειτονων στον αντιστοιχο γειτονα, και παιρνει απο γειτονες οσα ειναι δικα της.
Μπορεις να παραλειψεις πληρως το κομματι των επικοινωνιων που αναφερεις, αρκει η καθε διεργασια να δημιουργησει μονο δικα της σημεια.
Σκεψου οτι για να δημιουργησεις εναν αριθμο αναμεσα σε Χ και Ψ που ειναι τα ορια σου, αρκει να κανεις Χ + Random_Between_0_and_(Ψ-Χ).


Ααα έτσι λες να το κάνουμε....
νομίζω στο μάθημα ότι είχε πει να δημιουργεί κάθε διεργασία σημεία παντού, ώστε κάθε σύνολο κουτιών (που ανήκουν στην ίδια διεργασία) να μην έχει συγκεκριμένο αριθμό σημείων αλλά τυχαίο.
έτσι όπως είπες θα έχει κάθε διεργασία ίδιο πλήθος σημείων Νq/P , Nc/P


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Κηπουρίδης on December 15, 2015, 21:59:48 pm
Ευχαριστω αρχοντα, δεν ειχα ακουσει οτι το ζητουσε ετσι.


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Xbaremenos on December 16, 2015, 01:56:45 am
Την δημιουργία των σημείων q και c και των πινάκων που θα τα αποθηκεύσουμε πρέπει να τα κάνουμε μέσα στο παράλληλο κομμάτι?? Ή μπορούμε να τα κάνουμε σειριακά και μετά ξεκινάμε παράλληλα στις αναζητήσεις για το κοντινότερο σημείο του κάθε q???

Γενικώς απο τη στιγμή που θα γράψουμε κώδικα και θα τον τρέξουμε με Mpirun -np x μπλα μπλα μπλα ...
Ο κώδικας του αρχείου μας θα εκτελεστεί απο όλα τα processes ακόμα και το κομμάτι που είναι πριν το MPI_Init()...
Οπότε απλά όταν γράφεις κώδικα θα έχεις στο νου σου οτι αυτή την σελίδα θα την διαβάζει κάθε process
Γιαυτό και δημιουργείς Νc/P σημεία, έτσι ώστε όταν τα δημιουργήσουν ολα τα processes να αθροίζουν σε Nc

(Έτσι δεν είναι ? )


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Exomag on December 16, 2015, 02:09:53 am
Την δημιουργία των σημείων q και c και των πινάκων που θα τα αποθηκεύσουμε πρέπει να τα κάνουμε μέσα στο παράλληλο κομμάτι?? Ή μπορούμε να τα κάνουμε σειριακά και μετά ξεκινάμε παράλληλα στις αναζητήσεις για το κοντινότερο σημείο του κάθε q???

Γενικώς απο τη στιγμή που θα γράψουμε κώδικα και θα τον τρέξουμε με Mpirun -np x μπλα μπλα μπλα ...
Ο κώδικας του αρχείου μας θα εκτελεστεί απο όλα τα processes ακόμα και το κομμάτι που είναι πριν το MPI_Init()...
Οπότε απλά όταν γράφεις κώδικα θα έχεις στο νου σου οτι αυτή την σελίδα θα την διαβάζει κάθε process
Γιαυτό και δημιουργείς Νc/P σημεία, έτσι ώστε όταν τα δημιουργήσουν ολα τα processes να αθροίζουν σε Nc

(Έτσι δεν είναι ? )

Σωστά τα λες, ναι.


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Xbaremenos on December 16, 2015, 02:30:23 am
Κάτι ακόμα...
Εφόσων δε ξέρουμε απο πριν πόσα σημεία θα έχει στο τέλος κάθε κουτί ...
Έχω σκεφτέι να έχω 2 πίνακες για κάθε σύνολο.. π.χ. για το σύνολο Q να έχω εναν *Q και έναν "προσωρινό" *Q_temp
Όπου ο Q_temp θα κρατάει τα πρώτα σημεία που δημιουργεί το process (που γνωρίζουμε οτι θα είναι ακριβώς Ν)
και στη συνέχεια σκέφτομαι να βλέπω πόσα σημεία θα μου έρθουν, και να κάνω malloc τον Q και να αποθηκεύω εκεί τα σημεία που "ανήκουν" σε αυτό το process/κουτί ...
Μετά μπορώ να ελευθερώσω τον Q_temp..

Υπάρχει άλλος τρόπος ώστε να μη δεσμεύω 2 φορές μνήμη ?



Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: greekoo on December 16, 2015, 10:50:20 am
Παιδιά με mpiexec η mpirun  το τρέχετε , και γιατί ;


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: mitsoschelsea on December 16, 2015, 13:46:04 pm
Την δημιουργία των σημείων q και c και των πινάκων που θα τα αποθηκεύσουμε πρέπει να τα κάνουμε μέσα στο παράλληλο κομμάτι?? Ή μπορούμε να τα κάνουμε σειριακά και μετά ξεκινάμε παράλληλα στις αναζητήσεις για το κοντινότερο σημείο του κάθε q???

Γενικώς απο τη στιγμή που θα γράψουμε κώδικα και θα τον τρέξουμε με Mpirun -np x μπλα μπλα μπλα ...
Ο κώδικας του αρχείου μας θα εκτελεστεί απο όλα τα processes ακόμα και το κομμάτι που είναι πριν το MPI_Init()...
Οπότε απλά όταν γράφεις κώδικα θα έχεις στο νου σου οτι αυτή την σελίδα θα την διαβάζει κάθε process
Γιαυτό και δημιουργείς Νc/P σημεία, έτσι ώστε όταν τα δημιουργήσουν ολα τα processes να αθροίζουν σε Nc

(Έτσι δεν είναι ? )

Σωστά τα λες, ναι.

Με το ίδιο σκεπτικό και τις διαστάσεις n x m x k, θα τις ορίσουμε (n x m x k)/P κάθε φορά, ανάλογα με το ID της διεργασίας;;


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Ragnar Lothbrok on December 16, 2015, 19:28:20 pm
Την δημιουργία των σημείων q και c και των πινάκων που θα τα αποθηκεύσουμε πρέπει να τα κάνουμε μέσα στο παράλληλο κομμάτι?? Ή μπορούμε να τα κάνουμε σειριακά και μετά ξεκινάμε παράλληλα στις αναζητήσεις για το κοντινότερο σημείο του κάθε q???

Γενικώς απο τη στιγμή που θα γράψουμε κώδικα και θα τον τρέξουμε με Mpirun -np x μπλα μπλα μπλα ...
Ο κώδικας του αρχείου μας θα εκτελεστεί απο όλα τα processes ακόμα και το κομμάτι που είναι πριν το MPI_Init()...
Οπότε απλά όταν γράφεις κώδικα θα έχεις στο νου σου οτι αυτή την σελίδα θα την διαβάζει κάθε process
Γιαυτό και δημιουργείς Νc/P σημεία, έτσι ώστε όταν τα δημιουργήσουν ολα τα processes να αθροίζουν σε Nc

(Έτσι δεν είναι ? )

Σωστά τα λες, ναι.

Με το ίδιο σκεπτικό και τις διαστάσεις n x m x k, θα τις ορίσουμε (n x m x k)/P κάθε φορά, ανάλογα με το ID της διεργασίας;;

Όχι, δεν νομίζω. Το πλέγμα το εφαρμόζεις σε κάθε διεργασία για όλο το χώρο (δηλαδή όλο την μοναδιαιο κύβο). Όχι μόνο για το χώρο που ελέγχει η κάθε διεργασία


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: raf18 on December 16, 2015, 20:59:57 pm
Κάτι ακόμα...
Εφόσων δε ξέρουμε απο πριν πόσα σημεία θα έχει στο τέλος κάθε κουτί ...
Έχω σκεφτέι να έχω 2 πίνακες για κάθε σύνολο.. π.χ. για το σύνολο Q να έχω εναν *Q και έναν "προσωρινό" *Q_temp
Όπου ο Q_temp θα κρατάει τα πρώτα σημεία που δημιουργεί το process (που γνωρίζουμε οτι θα είναι ακριβώς Ν)
και στη συνέχεια σκέφτομαι να βλέπω πόσα σημεία θα μου έρθουν, και να κάνω malloc τον Q και να αποθηκεύω εκεί τα σημεία που "ανήκουν" σε αυτό το process/κουτί ...
Μετά μπορώ να ελευθερώσω τον Q_temp..

Υπάρχει άλλος τρόπος ώστε να μη δεσμεύω 2 φορές μνήμη ?




και γω έτσι το έχω κάνει μέχρι στιγμής. Σκέφτηκα να κάνω Realloc για να βάζω +1 θέση κάθε φορά που έρχεται σημείο αλλά νομίζω είναι τζάμπα κόπος.
Από ότι έχω καταλάβει στην φιλοσοφία του MPI έχουμε άπειρη (σχεδόν) μνήμη γιατί κάθε διεργασία κρατάει μόνο ένα κομμάτι δεδομένων. Άρα δεν χρειάζεται να τσιγκουνευτούμε μνήμη. (άσε που για την εργασία θεωρούνται μικρά τα μεγέθη)


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Λήσταρχος Γιαγκούλας on December 16, 2015, 21:56:22 pm
Kαλησπέρα παιδία,
είχε κανείς σας μέχρι τώρα πρόβλημα με segmentation fault
στο pc του ή στο grid?
Θέλω να δημιουργήσω πίνακα διαστάσεων 2^22 και δεν μου επιτρέπει..
Βοήθεια....


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Ragnar Lothbrok on December 16, 2015, 23:06:06 pm
Kαλησπέρα παιδία,
είχε κανείς σας μέχρι τώρα πρόβλημα με segmentation fault
στο pc του ή στο grid?
Θέλω να δημιουργήσω πίνακα διαστάσεων 2^22 και δεν μου επιτρέπει..
Βοήθεια....

Δεν ξέρω που οφείλεται το λάθος, αλλά segmentation fault βγάζει συνήθως όταν έχεις κάνει λάθος με pointers. Τσέκαρε τους προσεκτικά όλους


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Λήσταρχος Γιαγκούλας on December 17, 2015, 02:25:51 am
Kαλησπέρα παιδία,
είχε κανείς σας μέχρι τώρα πρόβλημα με segmentation fault
στο pc του ή στο grid?
Θέλω να δημιουργήσω πίνακα διαστάσεων 2^22 και δεν μου επιτρέπει..
Βοήθεια....

Δεν ξέρω που οφείλεται το λάθος, αλλά segmentation fault βγάζει συνήθως όταν έχεις κάνει λάθος με pointers. Τσέκαρε τους προσεκτικά όλους

Πίστεψε με είχα ξεσκίσει του πόιντερς στον έλεγχο έναν έναν!
Είχα ξεσκίσει όλα τα manuals των segmentation faults(signal 11)!
Mε πήγε πολύ πίσω!
Εν τέλει το βρήκα και όντως σε ένα malloc είχα το unknown size της εισόδου και όχι το δικό μου Max_points!
Εψαξα τόσες ώρες να το βρω αυτό το γαμ****ο σφάλμα που ντρέπομαι να το πιστέψω!
Ευχαριστώ!  8))


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Xbaremenos on December 18, 2015, 17:29:28 pm
Σαν πολύ δεν χαλαρώσαμε με την παράταση ???

Άντε να γίνεται συζήτηση σιγά-σιγά      :D :D :D


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Λήσταρχος Γιαγκούλας on December 18, 2015, 17:46:22 pm
Σαν πολύ δεν χαλαρώσαμε με την παράταση ???

Άντε να γίνεται συζήτηση σιγά-σιγά      :D :D :D
Δεν μπορείς να φανταστείς για πόσο λίγο με πρόλαβες,
ήθελα να κάνω παρόμοιο σχόλιο... :D :D :D
Ετσι είναι..χαλαρώσαμε,ωστόσο ακριβή ημερομηνία δεν είδα να ανακοινώνει για την παράταση...


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Ragnar Lothbrok on December 18, 2015, 18:43:47 pm
Σαν πολύ δεν χαλαρώσαμε με την παράταση ???

Άντε να γίνεται συζήτηση σιγά-σιγά      :D :D :D
Δεν μπορείς να φανταστείς για πόσο λίγο με πρόλαβες,
ήθελα να κάνω παρόμοιο σχόλιο... :D :D :D
Ετσι είναι..χαλαρώσαμε,ωστόσο ακριβή ημερομηνία δεν είδα να ανακοινώνει για την παράταση...

Τον ρώτησα μετά το τέλος του μαθήματος προχθές, και είπε Hard deadline 7 Ιανουαρίου, αλλά καλό θα ήταν όσο πιο νωρίς γίνεται πριν από αυτή την ημερομηνία, να την παραδώσουμε. Υποθέτω για να προλάβει να διορθώσει


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Λήσταρχος Γιαγκούλας on December 18, 2015, 19:47:23 pm
Σαν πολύ δεν χαλαρώσαμε με την παράταση ???

Άντε να γίνεται συζήτηση σιγά-σιγά      :D :D :D
Δεν μπορείς να φανταστείς για πόσο λίγο με πρόλαβες,
ήθελα να κάνω παρόμοιο σχόλιο... :D :D :D
Ετσι είναι..χαλαρώσαμε,ωστόσο ακριβή ημερομηνία δεν είδα να ανακοινώνει για την παράταση...

Τον ρώτησα μετά το τέλος του μαθήματος προχθές, και είπε Hard deadline 7 Ιανουαρίου, αλλά καλό θα ήταν όσο πιο νωρίς γίνεται πριν από αυτή την ημερομηνία, να την παραδώσουμε. Υποθέτω για να προλάβει να διορθώσει

Να υποθέσω τότε πως σε κάθε περίπτωση θα μας δώσει "soft" μέχρι πρωτοχρονιά πολύ άνετα! Πάλι καλά!  :)


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Ragnar Lothbrok on December 19, 2015, 18:48:02 pm
Μάγκες τη βοήθειά σας.

αφού το κάνω comple χωρις προβλημα, οταν παω να το τρεξω μεσω mpirun , μου βγάζει  
HYDU_create_process (utils/launch/launch.c:75): execvp error on file myexe.out (No such file or directory)

Ξέρει κανείς τι παίζει; είμαι κανονικά στον φάκελο που πρέπει


EDIT: Το βρηκα, αλλα το αφηνω μηπως εχει κανεις το ιδιο θεμα. Οταν το τρεχουμε, αντι για
§mpirun -np x myexe argv1 argv2 argv3

γραφουμε
§mpirun -np x ./myexe argv1 argv2 argv3

(όπου x ο αριθμος των επεξεργαστων που θελουμε και argv1 argv2 argv3 τα ορισματα μας)


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Ragnar Lothbrok on December 19, 2015, 21:09:00 pm
καινουριο προβλημα :P

Αφου το τρεχω, μου βγαζει το εξης:

http://s15.postimg.org/egl6hog4r/Screen_Shot_2015_12_19_at_7_52_56_PM.png

Καμια ιδεα; Δεν βρισκω πουθενα documentation για exit code 8


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: sk0uf on December 19, 2015, 21:55:27 pm
Ξερει κανεις πως τρεχουμε mpi στο hellasgrid?


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: raf18 on December 19, 2015, 22:36:55 pm
Ξερει κανεις πως τρεχουμε mpi στο hellasgrid?

αυτό μάλλον θα βοηθήσει.
http://alexander.ee.auth.gr:8083/eTHMMY/archive/173/downloadFile/6251/SCO-IT-AUTH-2015.pdf
είναι η παρουσιάση που είχαν κάνει σε ένα μάθημα 2 κοπέλες από το Κέντρο Ηλ. Διακ.


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: raf18 on December 19, 2015, 22:41:46 pm
καινουριο προβλημα :P

Αφου το τρεχω, μου βγαζει το εξης:

http://s15.postimg.org/egl6hog4r/Screen_Shot_2015_12_19_at_7_52_56_PM.png

Καμια ιδεα; Δεν βρισκω πουθενα documentation για exit code 8

Καλύτερα δοκίμασε να το τρέξεις και στο grid γιατί παίζει να είναι θέμα λειτουργικού.
Προσπαθείς να κάνεις send και receive με τύπο δεδομένων δομή?


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: sk0uf on December 19, 2015, 23:35:48 pm
Ξερει κανεις πως τρεχουμε mpi στο hellasgrid?

αυτό μάλλον θα βοηθήσει.
http://alexander.ee.auth.gr:8083/eTHMMY/archive/173/downloadFile/6251/SCO-IT-AUTH-2015.pdf
είναι η παρουσιάση που είχαν κάνει σε ένα μάθημα 2 κοπέλες από το Κέντρο Ηλ. Διακ.


Μπορεις να μου πεις τι ακριβως κανεις εσυ για να το τρεξεις; Στο pc απλα κανεις mpicc το αρχειακι σου και μετα mpirun.
Ειμαι στο home μου στο grid , κανω το αρχειακι μου το κανω compile με mpicc και μετα απο εκει δεν εχω ιδεα του τι πρεπει να κανω!


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Ragnar Lothbrok on December 20, 2015, 00:08:44 am
καινουριο προβλημα :P

Αφου το τρεχω, μου βγαζει το εξης:

http://s15.postimg.org/egl6hog4r/Screen_Shot_2015_12_19_at_7_52_56_PM.png

Καμια ιδεα; Δεν βρισκω πουθενα documentation για exit code 8

Καλύτερα δοκίμασε να το τρέξεις και στο grid γιατί παίζει να είναι θέμα λειτουργικού.
Προσπαθείς να κάνεις send και receive με τύπο δεδομένων δομή?

Δομη; όχι. Με MPI_Alltoallv στέλνω και λαμβάνω δεδομένα, δηλαδή τα buffers μου είναι πίνακες float


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: raf18 on December 20, 2015, 01:32:14 am
Ξερει κανεις πως τρεχουμε mpi στο hellasgrid?

αυτό μάλλον θα βοηθήσει.
http://alexander.ee.auth.gr:8083/eTHMMY/archive/173/downloadFile/6251/SCO-IT-AUTH-2015.pdf
είναι η παρουσιάση που είχαν κάνει σε ένα μάθημα 2 κοπέλες από το Κέντρο Ηλ. Διακ.


Μπορεις να μου πεις τι ακριβως κανεις εσυ για να το τρεξεις; Στο pc απλα κανεις mpicc το αρχειακι σου και μετα mpirun.
Ειμαι στο home μου στο grid , κανω το αρχειακι μου το κανω compile με mpicc και μετα απο εκει δεν εχω ιδεα του τι πρεπει να κανω!

δυστυχώς ακόμα δεν το έχω τρέξει στο grid γιατί ειμαι ακόμα στο debugging.
Απλα θυμώμουν οτι υπήρχε αυτό το αρχείο που σου έστειλα, όπως και κάτι βοηθητικά link μας είχαν στείλει στα mail.
Αλλά ακόμα δεν τα έχω δοκιμάσει..


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: raf18 on December 20, 2015, 01:46:03 am
καινουριο προβλημα :P

Αφου το τρεχω, μου βγαζει το εξης:

http://s15.postimg.org/egl6hog4r/Screen_Shot_2015_12_19_at_7_52_56_PM.png

Καμια ιδεα; Δεν βρισκω πουθενα documentation για exit code 8

Καλύτερα δοκίμασε να το τρέξεις και στο grid γιατί παίζει να είναι θέμα λειτουργικού.
Προσπαθείς να κάνεις send και receive με τύπο δεδομένων δομή?

Δομη; όχι. Με MPI_Alltoallv στέλνω και λαμβάνω δεδομένα, δηλαδή τα buffers μου είναι πίνακες float

Επειδή floating point exception είναι το error που σου έβγαλε κάτι παίζει με λάθος σε πράξη. Τσέκαρε μήπως υπάρχει περίπτωση να διαιρείται κάτι με το 0. Επήσις, τσέκαρε τις συνθήκες των for,if (πχ μήπως σε κπ for η συνθήκη δεν είναι στη μέση). Τέλος παίζει να είναι και overflow σε κπ μεταβλητή.


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Ragnar Lothbrok on December 20, 2015, 01:53:24 am
καινουριο προβλημα :P

Αφου το τρεχω, μου βγαζει το εξης:

http://s15.postimg.org/egl6hog4r/Screen_Shot_2015_12_19_at_7_52_56_PM.png

Καμια ιδεα; Δεν βρισκω πουθενα documentation για exit code 8

Καλύτερα δοκίμασε να το τρέξεις και στο grid γιατί παίζει να είναι θέμα λειτουργικού.
Προσπαθείς να κάνεις send και receive με τύπο δεδομένων δομή?

Δομη; όχι. Με MPI_Alltoallv στέλνω και λαμβάνω δεδομένα, δηλαδή τα buffers μου είναι πίνακες float

Επειδή floating point exception είναι το error που σου έβγαλε κάτι παίζει με λάθος σε πράξη. Τσέκαρε μήπως υπάρχει περίπτωση να διαιρείται κάτι με το 0. Επήσις, τσέκαρε τις συνθήκες των for,if (πχ μήπως σε κπ for η συνθήκη δεν είναι στη μέση). Τέλος παίζει να είναι και overflow σε κπ μεταβλητή.

Οκ, αύριο με το καλό θα το τσεκάρω. Thanks  for the advice  8))


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: raf18 on December 20, 2015, 01:55:13 am
καινουριο προβλημα :P

Αφου το τρεχω, μου βγαζει το εξης:

http://s15.postimg.org/egl6hog4r/Screen_Shot_2015_12_19_at_7_52_56_PM.png

Καμια ιδεα; Δεν βρισκω πουθενα documentation για exit code 8

Καλύτερα δοκίμασε να το τρέξεις και στο grid γιατί παίζει να είναι θέμα λειτουργικού.
Προσπαθείς να κάνεις send και receive με τύπο δεδομένων δομή?

Δομη; όχι. Με MPI_Alltoallv στέλνω και λαμβάνω δεδομένα, δηλαδή τα buffers μου είναι πίνακες float

Επειδή floating point exception είναι το error που σου έβγαλε κάτι παίζει με λάθος σε πράξη. Τσέκαρε μήπως υπάρχει περίπτωση να διαιρείται κάτι με το 0. Επήσις, τσέκαρε τις συνθήκες των for,if (πχ μήπως σε κπ for η συνθήκη δεν είναι στη μέση). Τέλος παίζει να είναι και overflow σε κπ μεταβλητή.

Οκ, αύριο με το καλό θα το τσεκάρω. Thanks  for the advice  8))

Tίποτα..!! Να ξέρεις παίζει να μην πέσω και μέσα μην σε πάρω στο λαιμό μου...


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: greekoo on December 23, 2015, 20:08:48 pm
Υπάρχει περίπτωση με πολλές Isend και με μεγάλο Ν να γεμίσει ο  send ή ο receive buffer κ να βγάζει exit code 139 segmentation fault?


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Λήσταρχος Γιαγκούλας on December 23, 2015, 22:08:51 pm
Καλησπέρα παιδιά και καλές γιορτές!
Εχει κανείς κάποιους ενδεικτικoύς χρόνους εκτέλεσης για τον σειριακό αλγόριθμο;
(Χωρίς καθόλου MPI)


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Λήσταρχος Γιαγκούλας on December 23, 2015, 22:18:21 pm
Eπιπλέον....

(http://i68.tinypic.com/orufb9.jpg)


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: TrueForce on December 23, 2015, 23:47:08 pm
Και πέρσι ειχε κάτι αντιστοιχο σε χριστουγεννιάτικο δέντρο. Καλό για να απαλύνει τις φρίκες που τρως από το μάθημα. xD


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: greekoo on December 24, 2015, 12:52:31 pm
πάω να κάνω compile στον διάδη και μου πετάει "/usr/bin/ld: final link failed: No space left on device
collect2: ld returned 1 exit status".

Τι παίζει;


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Λήσταρχος Γιαγκούλας on December 24, 2015, 13:28:31 pm
πάω να κάνω compile στον διάδη και μου πετάει "/usr/bin/ld: final link failed: No space left on device
collect2: ld returned 1 exit status".

Τι παίζει;

Χρησιμοποιείς αρχεία;(για εισαγωγη δεδομένων)


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: greekoo on December 24, 2015, 14:08:06 pm
πάω να κάνω compile στον διάδη και μου πετάει "/usr/bin/ld: final link failed: No space left on device
collect2: ld returned 1 exit status".

Τι παίζει;

Χρησιμοποιείς αρχεία;(για εισαγωγη δεδομένων)


όχι φίλε μου!


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Λήσταρχος Γιαγκούλας on December 24, 2015, 14:43:41 pm
πάω να κάνω compile στον διάδη και μου πετάει "/usr/bin/ld: final link failed: No space left on device
collect2: ld returned 1 exit status".

Τι παίζει;

Χρησιμοποιείς αρχεία;(για εισαγωγη δεδομένων)
όχι φίλε μου!
Δοκίμασε και στο cluster,μπορεί να έχει θέμα ο Διάδης.
Πολύ πιθανό σφάλμα πάντως όταν πας να τρέξεις το πρόγραμμα σε διαφορετικό υπολογιστή~filesystem~OS




Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: greekoo on December 24, 2015, 15:49:40 pm
πάω να κάνω compile στον διάδη και μου πετάει "/usr/bin/ld: final link failed: No space left on device
collect2: ld returned 1 exit status".

Τι παίζει;

Χρησιμοποιείς αρχεία;(για εισαγωγη δεδομένων)
όχι φίλε μου!
Δοκίμασε και στο cluster,μπορεί να έχει θέμα ο Διάδης.
Πολύ πιθανό σφάλμα πάντως όταν πας να τρέξεις το πρόγραμμα σε διαφορετικό υπολογιστή~filesystem~OS




Θα το δοκιμάσω φίλε μ ευχαριστώ.

Αρκεί η διάλεξη για το grid στο ethmmy, για την εξήγηση του πως να τρέξω mpi στο cluster?


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Λήσταρχος Γιαγκούλας on December 24, 2015, 18:18:20 pm
πάω να κάνω compile στον διάδη και μου πετάει "/usr/bin/ld: final link failed: No space left on device
collect2: ld returned 1 exit status".

Τι παίζει;

Χρησιμοποιείς αρχεία;(για εισαγωγη δεδομένων)
όχι φίλε μου!
Δοκίμασε και στο cluster,μπορεί να έχει θέμα ο Διάδης.
Πολύ πιθανό σφάλμα πάντως όταν πας να τρέξεις το πρόγραμμα σε διαφορετικό υπολογιστή~filesystem~OS
Θα το δοκιμάσω φίλε μ ευχαριστώ.
Αρκεί η διάλεξη για το grid στο ethmmy, για την εξήγηση του πως να τρέξω mpi στο cluster?
Θελω να πιστεύω πως ναι!


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: greekoo on December 26, 2015, 16:04:27 pm
Yπάρχει ένα βίντεο στο youtube με ένα παράδειγμα υποβολής παράλληλου MPI JOB στο grid.

Μπορεί να μου πεί κάποιος τι <VO> βάζουμε στο voms-proxy-init (λεπτό 7:19) ;;

Και αν πέρα απο τις οδηγίες που μας έστειλαν στο authmail μας για την εγγραφή, χρειαζόμαστε να κάνουμε κ κάτι άλλο;

https://www.youtube.com/watch?v=-CE0BLW2e8Q


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Λήσταρχος Γιαγκούλας on December 26, 2015, 20:56:31 pm
Yπάρχει ένα βίντεο στο youtube με ένα παράδειγμα υποβολής παράλληλου MPI JOB στο grid.

Μπορεί να μου πεί κάποιος τι <VO> βάζουμε στο voms-proxy-init (λεπτό 7:19) ;;
Και αν πέρα απο τις οδηγίες που μας έστειλαν στο authmail μας για την εγγραφή, χρειαζόμαστε να κάνουμε κ κάτι άλλο;

Δώσε λινκ ή κάνε embedd να ξέρουμε για τι μιλάμε!  :D ;)


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Λήσταρχος Γιαγκούλας on December 26, 2015, 21:01:23 pm
Ερώτηση σε όσους προχώρησαν στο MPI:
Εχει νόημα να βάλουμε σε γενικές γραμμες send,recv αντί για lsend,lrecv
(Blocking ή non-blocking?)
Γενικά πιστεύετε ότι θα χρειαστούν ιδιαίτερα διαφορετικές συναρτήσεις πέρα από τι κλασσικές?
send ,recv, bcast alltoall κλπ?


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: greekoo on December 26, 2015, 21:34:52 pm
Yπάρχει ένα βίντεο στο youtube με ένα παράδειγμα υποβολής παράλληλου MPI JOB στο grid.

Μπορεί να μου πεί κάποιος τι <VO> βάζουμε στο voms-proxy-init (λεπτό 7:19) ;;
Και αν πέρα απο τις οδηγίες που μας έστειλαν στο authmail μας για την εγγραφή, χρειαζόμαστε να κάνουμε κ κάτι άλλο;

Δώσε λινκ ή κάνε embedd να ξέρουμε για τι μιλάμε!  :D ;)

χαχα ξεχαστηκα φιλε οριστε

 https://www.youtube.com/watch?v=-CE0BLW2e8Q


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: rspappas on December 26, 2015, 21:56:33 pm
Ερώτηση σε όσους προχώρησαν στο MPI:
Εχει νόημα να βάλουμε σε γενικές γραμμες send,recv αντί για lsend,lrecv
(Blocking ή non-blocking?)
Γενικά πιστεύετε ότι θα χρειαστούν ιδιαίτερα διαφορετικές συναρτήσεις πέρα από τι κλασσικές?
send ,recv, bcast alltoall κλπ?

χωρις να εχω κανει mpi, κανω τις εξης υποθεσεις:

για το κομματι της αρχικης ανταλλαγης κουτιων μεταξυ processes, φανταζομαι εξαρταται παρα πολυ απο το πως επιλεξεις να κανεις τις επικοινωνιες, δηλαδη με ποια σειρα και πως θα τα στελνεις (πχ η εργασια Χ στελνει πρωτα στην εργασια 0, μετα σητν εργασια 1, κλπ).
Το send, κατα την γνωμη μου, θα πρεπει να ειναι blocking, ωστε να πρεπει να αποσταλει το καθε πακετο για να "ξεμπερδευουμε" με αυτο, ενω το receive non blocking ωστε να μην περιμενεις μια αποστολη τζαμπα πολυ ωρα.
 αλλα φανταζομαι με λιγο καλο συγχρονισμο των διεργασιων σε αυτο το σημειο, και με την επινοηση ενος εξυπνου τροπου επιλογης του σε ποιον να στελνει καθε φορα η διεργασια και με ποια σειρα, τοτε δεν θα υπαρξει ιδιαιτερο θεμα (bottlenecks Κλπ)

για το σημειο του search, ειναι πιο ξεκαθαρο οτι το send πρεπει να ειναι blocking, ωστε να περιμενει η διεργασια να γινει η αναζητηση σε γειτονικο κουτι, καθως χρειαζεται αμεσα το αποτελεσμα
ενω το receive να μην ειναι blocking καθως μπορει να μην εχει ζητησει κανεις επικοινωνια με την συγκεκριμενη διεργασια
για το search, οπου send εννοω το αιτημα που θα στειλει μια διεργασια προς μια αλλη διεργασια, οταν θελει να ψαξει σε ενα κουτι της. αφου γινει αυτο, θα υπαρξει μια ακομα ανταλλαγη δεδομενων φανταζομαι, με το αποτελεσμα της αναζητησης.
δηλαδη:

ΔΙΕΡΓΑΣΙΑ Α: Ε ψιτ, θελω να ψαξεις στο κουτι Χ ποιο σημειο ειναι πιο κοντα στο σημειο μου Q (block μεχρι να ληφθει το μηνυμα)
ΔΙΕΡΓΑΣΙΑ Β: (οταν ερθει η ωρα του receive της) Ακουω. ΟΚ, ελαβα, και ψαχνω
ΔΙΕΡΓΑΣΙΑ Α: blocking receive μεχρι να της ερθει το αποτελεσμα απο την B
ΔΙΕΡΓΑΣΙΑ Β: Ελα, μαν, βρηκα το σημειο C, ειναι ο καλυτερος υποψηφιος (send, blocking or nonblocking, ο Α περιμενει)
ΔΙΕΡΓΑΣΙΑ Α: ΟΚ, ελαβα, συνεχιζω την αναζητηση
ΔΙΕΡΓΑΣΙΑ Β: ΟΚ, συνεχιζω την αναζητηση


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Λήσταρχος Γιαγκούλας on December 26, 2015, 22:00:46 pm
Yπάρχει ένα βίντεο στο youtube με ένα παράδειγμα υποβολής παράλληλου MPI JOB στο grid.

Μπορεί να μου πεί κάποιος τι <VO> βάζουμε στο voms-proxy-init (λεπτό 7:19) ;;
Και αν πέρα απο τις οδηγίες που μας έστειλαν στο authmail μας για την εγγραφή, χρειαζόμαστε να κάνουμε κ κάτι άλλο;

Δώσε λινκ ή κάνε embedd να ξέρουμε για τι μιλάμε!  :D ;)

χαχα ξεχαστηκα φιλε οριστε
 https://www.youtube.com/watch?v=-CE0BLW2e8Q

Δεν ξέρω αν χρειάζεται να μπλέξεις με .jdl αρχεία...( :???:)
Tα .pbs δεν σου κάνουν την δουλειά;
Δεν έχω καταλάβει σε πιο κομμάτι δεν καλύπτεσαι..
Δεν γνωρίζω κάτι πάνω στο κομμάτι του video που αναφέρεις.
Προσδιόρισε τι ακριβώς δεν σου βγαίνει..


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Λήσταρχος Γιαγκούλας on December 26, 2015, 22:03:05 pm
Ερώτηση σε όσους προχώρησαν στο MPI:
Εχει νόημα να βάλουμε σε γενικές γραμμες send,recv αντί για lsend,lrecv
(Blocking ή non-blocking?)
Γενικά πιστεύετε ότι θα χρειαστούν ιδιαίτερα διαφορετικές συναρτήσεις πέρα από τι κλασσικές?
send ,recv, bcast alltoall κλπ?

χωρις να εχω κανει mpi, κανω τις εξης υποθεσεις:

για το κομματι της αρχικης ανταλλαγης κουτιων μεταξυ processes, φανταζομαι εξαρταται παρα πολυ απο το πως επιλεξεις να κανεις τις επικοινωνιες, δηλαδη με ποια σειρα και πως θα τα στελνεις (πχ η εργασια Χ στελνει πρωτα στην εργασια 0, μετα σητν εργασια 1, κλπ).
Το send, κατα την γνωμη μου, θα πρεπει να ειναι blocking, ωστε να πρεπει να αποσταλει το καθε πακετο για να "ξεμπερδευουμε" με αυτο, ενω το receive non blocking ωστε να μην περιμενεις μια αποστολη τζαμπα πολυ ωρα.
 αλλα φανταζομαι με λιγο καλο συγχρονισμο των διεργασιων σε αυτο το σημειο, και με την επινοηση ενος εξυπνου τροπου επιλογης του σε ποιον να στελνει καθε φορα η διεργασια και με ποια σειρα, τοτε δεν θα υπαρξει ιδιαιτερο θεμα (bottlenecks Κλπ)

για το σημειο του search, ειναι πιο ξεκαθαρο οτι το send πρεπει να ειναι blocking, ωστε να περιμενει η διεργασια να γινει η αναζητηση σε γειτονικο κουτι, καθως χρειαζεται αμεσα το αποτελεσμα
ενω το receive να μην ειναι blocking καθως μπορει να μην εχει ζητησει κανεις επικοινωνια με την συγκεκριμενη διεργασια
Eυχαριστώ για τα σχόλια φίλε,μόλις προχωρήσω θα γράψω και γω κάτι πάνω σε αυτό.
Εχεις μήπως κάποιους ενδεικτικούς χρόνους κάποιας serial implementation πάνω στις προδιαγραφές που δίνονται;


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: rspappas on December 26, 2015, 22:12:13 pm
~28sec για 2^21 σημεια Q και C, 2^16 κουτια σε 1 process
~40sec για 2^21 σημεια Q και C, 2^14 κουτια σε 1 process
~85sec για 2^21 σημεια Q και C, 2^12 κουτια σε 1 process

~65sec για 2^22 σημεια Q και C, 2^16 κουτια σε 1 process

αυτοι ειναι local χρονοι (με ι3) και οχι στο γκριντ

περισσοτερα σημεια τοπικα, απλα βαριεμαι να περιμενω :P


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Xleboniaris on December 26, 2015, 23:01:34 pm
Αν γνωρίζει κάποιος παρακαλώ ας βοηθήσει,

Έχω σε έναν πίνακα float **initial_points, τα N/P τυχαία σημεία μιας διεργασίας. Ο πίνακας αυτός είναι μεγέθους [N/P γραμμές]x[3 στήλες], ώστε οι συντεταγμένες κάθε σημείου να αποθηκεύονται συνεχόμενα στην μνήμη (μου φαίνεται κάθε γραμμή αποθηκεύεται συνεχόμενα στην μνήμη). Επιπλέον, τα σημεία αυτά είναι ταξινομημένα ανάλογα με την διεργασία στην οποία πρέπει να πάνε.

Επίσης, έχω και δυο πίνακες, τους *counts και *displs μεγέθους P. Ο πρώτος περιέχει πόσα σημεία του πίνακα initial_points πρέπει να πάρει η κάθε διεργασία, ενώ ο δεύτερος περιέχει τη θέση στον πίνακα initial_points, από την οποία πρέπει να αρχίσει να λαμβάνει μια διεργασία.

Αν μπορεί κάποιος, ας βοηθήσει με την σύνταξη της εντολής MPI_Alltoallv. Θέλω, με βάση τα στοιχεία που περιέχουν οι παραπάνω πίνακες, να στείλω γραμμές των 3 στηλών από κάθε μια διεργασία, σε κάθε άλλη. Βρήκα παράδειγμα, μόνο που αναφερόταν σε πίνακα μιας διάστασης. Έχω κάνει μια δοκιμή, όμως δεν πολύ βγάζω άκρη.

*** edit: Επίσης, για τους buffers στους οποίους θα αποθηκευτουν τα στοιχεία που θα λάβει μια διεργασία από τις άλλες, πρέπει να έχω ορίσει μέγεθος μνήμης πιο πριν? Η το κάνει μόνη της η Alltoallv????


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: rspappas on December 27, 2015, 02:47:26 am
αντι να εχεις εναν δισδιαστατο πινακα για τις συντεταγμενες, σκεψου την πιθανοτητα να φτιαξεις ενα struct για τα σημεια, δηλαδη ενα struct με 3 floats μεσα, για τα χ,ψ.ζ
και μετα χρειαζεσαι μονο εναν μονοδιαστατο πινακα με στοιχεια αυτο το struct.


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: greekoo on December 27, 2015, 11:28:09 am
αντι να εχεις εναν δισδιαστατο πινακα για τις συντεταγμενες, σκεψου την πιθανοτητα να φτιαξεις ενα struct για τα σημεια, δηλαδη ενα struct με 3 floats μεσα, για τα χ,ψ.ζ
και μετα χρειαζεσαι μονο εναν μονοδιαστατο πινακα με στοιχεια αυτο το struct.

Τότε όμως δεν θα πρέπει να δημιουργήσεις δικό σου MPI_Datatype ?

---------------

Χρησιμοποιώ αυτό το scriptaki για να κάνω qsub το job μου. Μήπως μπορεί να με βοηθήσει κανείς στην σύνταξη της for ώστε να τρέξει το job για όλους τους συνδυασμούς Ν και numboxes(n*m*k) για δεδομένο αριθμό tasks (nodes*ppn) ?

#!/bin/sh
#PBS -q auth
#PBS -N mpi-myprogram
#PBS -j oe
#PBS -l nodes=16:ppn=4

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

export I2G_MPI_TYPE=mpich2
export I2G_MPI_APPLICATION=myprogram
export I2G_MPI_APPLICATION_ARGS="ProtoOrisma DefteroOrisma"  #οπου το πρώτο όρισμα είναι η δύναμη του Ν, και το δεύτερο η δύναμη του numboxes=(n*m*k)

for arg in ??????
do
     export I2G_MPI_APPLICATION=myprogram>results.$arg
        export I2G_MPI_APPLICATION_ARGS=$arg
        $I2G_MPI_START

done



Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Λήσταρχος Γιαγκούλας on December 27, 2015, 13:27:01 pm
~28sec για 2^21 σημεια Q και C, 2^16 κουτια σε 1 process Eγώ 78sec
~40sec για 2^21 σημεια Q και C, 2^14 κουτια σε 1 process Εγώ 300sec

αυτοι ειναι local χρονοι (με ι3) και οχι στο γκριντ
με core2duo



Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Λήσταρχος Γιαγκούλας on December 27, 2015, 18:49:04 pm
Kαλησπέρα παίδες,
έχει δοκιμάσει κανείς να τρέξει στο grid πολυπήρυνο;
ζήτησα 8 nodes-16 ppn και έχω βαρεθεί να περιμένω
έχει (ουτε εγώ δεν θυμάμαι) πόση ώρα που είναι ακόμα queued...
Ζήτησε κανείς μέχρι τώρα ανάλογους πόρους να ξέρουμε πόση ώρα περιμένουμε?

edit:
Για 1 node και  #x ppn δεν περιμένω πολύ.Το grid δέχεται  μέχρι 64(pow of 2) ppn.
Για >1 έστω 2 nodes και 64πχ ppn... όπως και νωρίτερα...περιμένω πολύ...δεν έχει τελειώσει ούτε
μια φορά προκειμένου να ξέρω πόσο θα πρέπει να περιμένω  >:( >:( >:(


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: greekoo on December 27, 2015, 19:38:42 pm
Kαλησπέρα παίδες,
έχει δοκιμάσει κανείς να τρέξει στο grid πολυπήρυνο;
ζήτησα 8 nodes-16 ppn και έχω βαρεθεί να περιμένω
έχει (ουτε εγώ δεν θυμάμαι) πόση ώρα που είναι ακόμα queued...
Ζήτησε κανείς μέχρι τώρα ανάλογους πόρους να ξέρουμε πόση ώρα περιμένουμε?

edit:
Για 1 node και  #x ppn δεν περιμένω πολύ.Το grid δέχεται  μέχρι 64(pow of 2) ppn.
Για >1 έστω 2 nodes και 64πχ ppn... όπως και νωρίτερα...περιμένω πολύ...δεν έχει τελειώσει ούτε
μια φορά προκειμένου να ξέρω πόσο θα πρέπει να περιμένω  >:( >:( >:(

δεν υπάρχει ελπίδα φίλε μου. χθες το βράδυ ζήτησα 16nodes με 2ppn (ή 8 επι 4 δεν θυμαμαι) και ακομη περιμενω!!


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: TrueForce on December 28, 2015, 01:38:12 am
Εγώ πέρσι για 16*2 παίζει να περίμενα καμιά βδομάδα, αλλά είχε προκύψει θέμα με την κίνηση τότε. Γενικα αργεί πολυ, να ξέρετε.


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: pentium4 on December 28, 2015, 01:41:35 am
Εγώ πέρσι για 16*2 παίζει να περίμενα καμιά βδομάδα, αλλά είχε προκύψει θέμα με την κίνηση τότε. Γενικα αργεί πολυ, να ξέρετε.

happy new year


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Xbaremenos on December 28, 2015, 11:08:02 am
αντι να εχεις εναν δισδιαστατο πινακα για τις συντεταγμενες, σκεψου την πιθανοτητα να φτιαξεις ενα struct για τα σημεια, δηλαδη ενα struct με 3 floats μεσα, για τα χ,ψ.ζ
και μετα χρειαζεσαι μονο εναν μονοδιαστατο πινακα με στοιχεια αυτο το struct.

Τότε όμως δεν θα πρέπει να δημιουργήσεις δικό σου MPI_Datatype ?


Μπορείς να αποθηκεύεις προσωρινά σε εναν float *, να στέλνεις και να υποδέχεσαι σε εναν άλλον float *


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: raf18 on December 28, 2015, 14:41:01 pm
αντι να εχεις εναν δισδιαστατο πινακα για τις συντεταγμενες, σκεψου την πιθανοτητα να φτιαξεις ενα struct για τα σημεια, δηλαδη ενα struct με 3 floats μεσα, για τα χ,ψ.ζ
και μετα χρειαζεσαι μονο εναν μονοδιαστατο πινακα με στοιχεια αυτο το struct.

Τότε όμως δεν θα πρέπει να δημιουργήσεις δικό σου MPI_Datatype ?


Μπορείς να αποθηκεύεις προσωρινά σε εναν float *, να στέλνεις και να υποδέχεσαι σε εναν άλλον float *




δεν είναι τόσο δύσκολο να φτιάξεις Datatype πάντως. Δες στο tutorial που έχει μέσα στην εργασία έχει παράδειγμα.


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Xbaremenos on December 28, 2015, 15:57:55 pm
Ρε παίδες, προς το παρον εχω φτιάξει εναν τριπλό ποιντερ με την αρίθμηση των κουτιών (0 - (Αρ.κουτιων -1)) που θεωρώ λογικό...
Τώρα απο κει και πέρα πως θα οριοθετήσω ενα μάτσο κουτιά σε κάθε διεργασία ?
Εχω τις διεργασίες και τα κουτιά δλδ, δε ξερω πως ακριβώς να αναθέσω στη κάθε εργασία τα κουτιά


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: rspappas on December 28, 2015, 19:59:48 pm
δεν καταλαβα γιατι εχεις τριπλο ποιντερ.
δηλαδη ξερω γω
Code:
πινακας[κουτι][σημειο][συντεταγμενη]
?


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: c0ndemn3d on December 28, 2015, 20:14:29 pm
Μάλλον εννοείς τρεις συντεταγμένες και μέσα ένα struct για τα σημεία;


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: c0ndemn3d on December 28, 2015, 23:40:15 pm
Ερώτηση: Αν βάλω ας πούμε λίγα σημεία, υπάρχει περίπτωση ένα σημείο να βρίσκεται σε ένα κουτί και να μην υπάρχει άλλο σημείο ούτε σε εκείνο το κουτί, ούτε στα γειτονικά του, άρα θα πρέπει να ελέγξουμε σε ακόμη μεγαλύτερη εμβέλεια. Να αγνοήσω τέτοια περίπτωση; (λίγο παρανοϊκό, αλλά ποτέ δεν ξέρεις)


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: rspappas on December 29, 2015, 00:14:52 am
το ελαχιστο Ν σημειων q και c ειναι 2^20
τα μεγιστα κουτια ειναι 2^16
ψαχνουμε σε 27 κουτια για 1 σημειο
κανονικη κατανομη

ειναι νομιζω αρκετα ασφαλες να κανεις αυτη την υποθεση


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Κηπουρίδης on December 29, 2015, 02:38:00 am
Ερώτηση: Αν βάλω ας πούμε λίγα σημεία, υπάρχει περίπτωση ένα σημείο να βρίσκεται σε ένα κουτί και να μην υπάρχει άλλο σημείο ούτε σε εκείνο το κουτί, ούτε στα γειτονικά του, άρα θα πρέπει να ελέγξουμε σε ακόμη μεγαλύτερη εμβέλεια. Να αγνοήσω τέτοια περίπτωση; (λίγο παρανοϊκό, αλλά ποτέ δεν ξέρεις)

Οχι, ειναι τοσο μικρη η πιθανοτητα που καλυτερα να παιξεις πολλα τζοκερ συνεχομενα και να ελπιζεις οτι θα τα κερδισεις ολα.

Αφου εχουμε ομοιομορφη κατανομη μπορεις να υπολογισεις ακριβως την πιθανοτητα να συμβει αυτο που λες. Ξερεις ποση ειναι η πιθανοτητα ενα σημειο να πεσει σε ενα κουτι (ειναι 1 / πληθος_κουτιων λογω ομοιομορφης κατανομης), αρα ειναι 1 - αυτη_την_πιθανοτητα να μη μπει σε ενα κουτι. Αρα για να γινει αυτο για καθε σημειο εχεις ( 1 - αυτη_την_πιθανοτητα ) ^ Ν.
Επομενως με inclusion - exclusion principle μπορεις να καταληξεις σε εναν τυπο που σου δινει την ζητουμενη πιθανοτητα ( δηλαδη ειναι το αθροισμα (Πληθος_κουτιων ορων) των πιθανοτητων να ειναι καποιο κουτι αδειο κι ας κανουν τα υπολοιπα ο,τι θελουν, μειον το αθροισμα (Πληθος κουτιων choose 2 ορων) των πιθανοτητων να ειναι δυο ταυτοχρονα αδεια και τα αλλα τρεχα γυρευ, συν το αθροισμα να ειναι τρια ταυτοχρονα, μειον ... ).
Ενα upper bound σε αυτο ειναι να παρεις μονο το αθροισμα των πιθανοτητων ενα να ειναι αδειο. Επομενως η πιθανοτητα σου ειναι :
πληθος_κουτιων * (1 - αυτη_την_πιθανοτητα)^Ν
Στο χειροτερο τεστ λοιπον ( 2^16 τα κουτια και 2^21 το Ν ) μιλαμε για πιθανοτητα φραγμενη απο πανω απο 2^16 * (1-1/2^16)^(2^21) = http://www.wolframalpha.com/input/?i=2^16+*+%281-1%2F2^16%29^%282^21%29 (http://www.wolframalpha.com/input/?i=2^16+*+%281-1%2F2^16%29^%282^21%29)

Κι αυτη η αναλυση αναφερεται στην περιπτωση ενα μονο κουτι να ειναι αδειο! Το ενα αδειο κουτι ομως δεν ειναι καν προβλημα, το προβλημα μπορει να αρχισει μονο απο δυο αδεια κουτια και μετα, ωστε να ειναι αδειο και το παρον κουτι, και καποιο γειτονικο, και η απαντηση να βρισκεται σε ενα παραγειτονικο προς την ιδια κατευθυνση με το αδειο (και παλι ακομα και να συμβει αυτο το παρανοικο σεναριο, υπο καποια μικρη πιθανοτητα θα υπαρξει nearest neighbor στο παραγειτονικο κι οχι σε καποιο αλλο απ τα γεματα γειτονικα).


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: raf18 on December 29, 2015, 03:21:01 am
Ερώτηση: Αν βάλω ας πούμε λίγα σημεία, υπάρχει περίπτωση ένα σημείο να βρίσκεται σε ένα κουτί και να μην υπάρχει άλλο σημείο ούτε σε εκείνο το κουτί, ούτε στα γειτονικά του, άρα θα πρέπει να ελέγξουμε σε ακόμη μεγαλύτερη εμβέλεια. Να αγνοήσω τέτοια περίπτωση; (λίγο παρανοϊκό, αλλά ποτέ δεν ξέρεις)

Οχι, ειναι τοσο μικρη η πιθανοτητα που καλυτερα να παιξεις πολλα τζοκερ συνεχομενα και να ελπιζεις οτι θα τα κερδισεις ολα.

Αφου εχουμε ομοιομορφη κατανομη μπορεις να υπολογισεις ακριβως την πιθανοτητα να συμβει αυτο που λες. Ξερεις ποση ειναι η πιθανοτητα ενα σημειο να πεσει σε ενα κουτι (ειναι 1 / πληθος_κουτιων λογω ομοιομορφης κατανομης), αρα ειναι 1 - αυτη_την_πιθανοτητα να μη μπει σε ενα κουτι. Αρα για να γινει αυτο για καθε σημειο εχεις ( 1 - αυτη_την_πιθανοτητα ) ^ Ν.
Επομενως με inclusion - exclusion principle μπορεις να καταληξεις σε εναν τυπο που σου δινει την ζητουμενη πιθανοτητα ( δηλαδη ειναι το αθροισμα (Πληθος_κουτιων ορων) των πιθανοτητων να ειναι καποιο κουτι αδειο κι ας κανουν τα υπολοιπα ο,τι θελουν, μειον το αθροισμα (Πληθος κουτιων choose 2 ορων) των πιθανοτητων να ειναι δυο ταυτοχρονα αδεια και τα αλλα τρεχα γυρευ, συν το αθροισμα να ειναι τρια ταυτοχρονα, μειον ... ).
Ενα upper bound σε αυτο ειναι να παρεις μονο το αθροισμα των πιθανοτητων ενα να ειναι αδειο. Επομενως η πιθανοτητα σου ειναι :
πληθος_κουτιων * (1 - αυτη_την_πιθανοτητα)^Ν
Στο χειροτερο τεστ λοιπον ( 2^16 τα κουτια και 2^21 το Ν ) μιλαμε για πιθανοτητα φραγμενη απο πανω απο 2^16 * (1-1/2^16)^(2^21) = http://www.wolframalpha.com/input/?i=2^16+*+%281-1%2F2^16%29^%282^21%29 (http://www.wolframalpha.com/input/?i=2^16+*+%281-1%2F2^16%29^%282^21%29)

Κι αυτη η αναλυση αναφερεται στην περιπτωση ενα μονο κουτι να ειναι αδειο! Το ενα αδειο κουτι ομως δεν ειναι καν προβλημα, το προβλημα μπορει να αρχισει μονο απο δυο αδεια κουτια και μετα, ωστε να ειναι αδειο και το παρον κουτι, και καποιο γειτονικο, και η απαντηση να βρισκεται σε ενα παραγειτονικο προς την ιδια κατευθυνση με το αδειο (και παλι ακομα και να συμβει αυτο το παρανοικο σεναριο, υπο καποια μικρη πιθανοτητα θα υπαρξει nearest neighbor στο παραγειτονικο κι οχι σε καποιο αλλο απ τα γεματα γειτονικα).

Σωστός... Αν θυμάμαι καλά μας είχε πει και στο μάθημα να μην ασχοληθούμε με άδεια κουτιά....
Αρκεί οι τυχαίοι αριθμοί να είναι ομοιόμορφοι. Δηλαδή να αρχικοποιήσουμε τη rand με ένα συνδυασμό rank διεργασίας και ώρας ρολογιού.


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Ragnar Lothbrok on December 29, 2015, 14:18:15 pm
Ερώτηση: Αν βάλω ας πούμε λίγα σημεία, υπάρχει περίπτωση ένα σημείο να βρίσκεται σε ένα κουτί και να μην υπάρχει άλλο σημείο ούτε σε εκείνο το κουτί, ούτε στα γειτονικά του, άρα θα πρέπει να ελέγξουμε σε ακόμη μεγαλύτερη εμβέλεια. Να αγνοήσω τέτοια περίπτωση; (λίγο παρανοϊκό, αλλά ποτέ δεν ξέρεις)

Οχι, ειναι τοσο μικρη η πιθανοτητα που καλυτερα να παιξεις πολλα τζοκερ συνεχομενα και να ελπιζεις οτι θα τα κερδισεις ολα.

Αφου εχουμε ομοιομορφη κατανομη μπορεις να υπολογισεις ακριβως την πιθανοτητα να συμβει αυτο που λες. Ξερεις ποση ειναι η πιθανοτητα ενα σημειο να πεσει σε ενα κουτι (ειναι 1 / πληθος_κουτιων λογω ομοιομορφης κατανομης), αρα ειναι 1 - αυτη_την_πιθανοτητα να μη μπει σε ενα κουτι. Αρα για να γινει αυτο για καθε σημειο εχεις ( 1 - αυτη_την_πιθανοτητα ) ^ Ν.
Επομενως με inclusion - exclusion principle μπορεις να καταληξεις σε εναν τυπο που σου δινει την ζητουμενη πιθανοτητα ( δηλαδη ειναι το αθροισμα (Πληθος_κουτιων ορων) των πιθανοτητων να ειναι καποιο κουτι αδειο κι ας κανουν τα υπολοιπα ο,τι θελουν, μειον το αθροισμα (Πληθος κουτιων choose 2 ορων) των πιθανοτητων να ειναι δυο ταυτοχρονα αδεια και τα αλλα τρεχα γυρευ, συν το αθροισμα να ειναι τρια ταυτοχρονα, μειον ... ).
Ενα upper bound σε αυτο ειναι να παρεις μονο το αθροισμα των πιθανοτητων ενα να ειναι αδειο. Επομενως η πιθανοτητα σου ειναι :
πληθος_κουτιων * (1 - αυτη_την_πιθανοτητα)^Ν
Στο χειροτερο τεστ λοιπον ( 2^16 τα κουτια και 2^21 το Ν ) μιλαμε για πιθανοτητα φραγμενη απο πανω απο 2^16 * (1-1/2^16)^(2^21) = http://www.wolframalpha.com/input/?i=2^16+*+%281-1%2F2^16%29^%282^21%29 (http://www.wolframalpha.com/input/?i=2^16+*+%281-1%2F2^16%29^%282^21%29)

Κι αυτη η αναλυση αναφερεται στην περιπτωση ενα μονο κουτι να ειναι αδειο! Το ενα αδειο κουτι ομως δεν ειναι καν προβλημα, το προβλημα μπορει να αρχισει μονο απο δυο αδεια κουτια και μετα, ωστε να ειναι αδειο και το παρον κουτι, και καποιο γειτονικο, και η απαντηση να βρισκεται σε ενα παραγειτονικο προς την ιδια κατευθυνση με το αδειο (και παλι ακομα και να συμβει αυτο το παρανοικο σεναριο, υπο καποια μικρη πιθανοτητα θα υπαρξει nearest neighbor στο παραγειτονικο κι οχι σε καποιο αλλο απ τα γεματα γειτονικα).

Σωστός... Αν θυμάμαι καλά μας είχε πει και στο μάθημα να μην ασχοληθούμε με άδεια κουτιά....
Αρκεί οι τυχαίοι αριθμοί να είναι ομοιόμορφοι. Δηλαδή να αρχικοποιήσουμε τη rand με ένα συνδυασμό rank διεργασίας και ώρας ρολογιού.

κανενα hint για αυτο το τελευταιο;


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Xbaremenos on December 29, 2015, 16:12:11 pm
Ερώτηση: Αν βάλω ας πούμε λίγα σημεία, υπάρχει περίπτωση ένα σημείο να βρίσκεται σε ένα κουτί και να μην υπάρχει άλλο σημείο ούτε σε εκείνο το κουτί, ούτε στα γειτονικά του, άρα θα πρέπει να ελέγξουμε σε ακόμη μεγαλύτερη εμβέλεια. Να αγνοήσω τέτοια περίπτωση; (λίγο παρανοϊκό, αλλά ποτέ δεν ξέρεις)
κανενα hint για αυτο το τελευταιο;
εγώ εχω βάλει ενα :

local_seed = time(NULL) + 100 * rank;
srand(local_seed);

το οποίο είναι άχρηστη ποζεριά, απλά θες κάτι που αλλάζει απο πρόσες σε προσες για να έχεις και διαφορετικό seed ( μονο το rank νομίζω αρκεί )


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Xbaremenos on December 29, 2015, 16:14:48 pm
δεν καταλαβα γιατι εχεις τριπλο ποιντερ.
δηλαδη ξερω γω
Code:
πινακας[κουτι][σημειο][συντεταγμενη]
?

όχι εχω ενα τριπλο ποιντερ σε ιντ και εχω αριθμήσει τα κουτία με εναν δικό μου τρόπο ...
Στην ουσία το έχω για εύκολο τρόπο να βρίσκω το id ενος κουτιού μόνο με Box [ x ] [ y ][ z] το οποίο έχει τι τιμή (id) του κουτιού

με βάζει τις συντεταγμένες (του κουτιού) δλδ επιστρέφω το id


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Exomag on December 29, 2015, 16:39:08 pm
εγώ εχω βάλει ενα :

local_seed = time(NULL) + 100 * rank;
srand(local_seed);

το οποίο είναι άχρηστη ποζεριά, απλά θες κάτι που αλλάζει απο πρόσες σε προσες για να έχεις και διαφορετικό seed ( μονο το rank νομίζω αρκεί )

Δεν είναι καθόλου άχρηστη ποζεριά, είναι απαραίτητο να κάνεις κάτι τέτοιο γιατί η κλήση της rand() από μόνη της δεν είναι thread-safe.


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Ragnar Lothbrok on December 29, 2015, 17:50:07 pm
Ερώτηση: Αν βάλω ας πούμε λίγα σημεία, υπάρχει περίπτωση ένα σημείο να βρίσκεται σε ένα κουτί και να μην υπάρχει άλλο σημείο ούτε σε εκείνο το κουτί, ούτε στα γειτονικά του, άρα θα πρέπει να ελέγξουμε σε ακόμη μεγαλύτερη εμβέλεια. Να αγνοήσω τέτοια περίπτωση; (λίγο παρανοϊκό, αλλά ποτέ δεν ξέρεις)
κανενα hint για αυτο το τελευταιο;
εγώ εχω βάλει ενα :

local_seed = time(NULL) + 100 * rank;
srand(local_seed);

το οποίο είναι άχρηστη ποζεριά, απλά θες κάτι που αλλάζει απο πρόσες σε προσες για να έχεις και διαφορετικό seed ( μονο το rank νομίζω αρκεί )

Thankssss 8)) 8)) 8))


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Ragnar Lothbrok on December 29, 2015, 18:32:13 pm
Ρε παιδια, εχω χαθει λιγο με το πως κανουμε υποβολή στο grid. εχει βγαλει κανεις ακρη, να μας τα πει λιγο λαικα, μιας που ειμαστε και λαικα παιδια; (καρΓιες οταν το λαηκο πεδι σας λεη να ανεβασεται την εργασηα στον διαδη, το λετε πασκλας και συντιριτικο, οταν ομως ο μεταπτηχιακος χλεμπουρας απο τα μετσοβια πολιτεχνια σας πη για το ελλασγκριντ σταζετε και μαθαινετε ολες τις γιουνιξ εντολες σαν την βιβλο )


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Λήσταρχος Γιαγκούλας on December 29, 2015, 18:47:11 pm
Ρε παιδια, εχω χαθει λιγο με το πως κανουμε υποβολή στο grid. εχει βγαλει κανεις ακρη, να μας τα πει λιγο λαικα, μιας που ειμαστε και λαικα παιδια; (καρΓιες οταν το λαηκο πεδι σας λεη να ανεβασεται την εργασηα στον διαδη, το λετε πασκλας και συντιριτικο, οταν ομως ο μεταπτηχιακος χλεμπουρας απο τα μετσοβια πολιτεχνια σας πη για το ελλασγκριντ σταζετε και μαθαινετε ολες τις γιουνιξ εντολες σαν την βιβλο )

 χαχαχα θέλω να μου το κάνεις με μεμε...


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Ragnar Lothbrok on December 30, 2015, 20:58:48 pm
Κανείς;  :-\


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Nerevar on December 30, 2015, 21:17:47 pm
Ρε παιδια, εχω χαθει λιγο με το πως κανουμε υποβολή στο grid. εχει βγαλει κανεις ακρη, να μας τα πει λιγο λαικα, μιας που ειμαστε και λαικα παιδια; (καρΓιες οταν το λαηκο πεδι σας λεη να ανεβασεται την εργασηα στον διαδη, το λετε πασκλας και συντιριτικο, οταν ομως ο μεταπτηχιακος χλεμπουρας απο τα μετσοβια πολιτεχνια σας πη για το ελλασγκριντ σταζετε και μαθαινετε ολες τις γιουνιξ εντολες σαν την βιβλο )

Αυτό κανονικά πάει στο "ξεριζώστε..."


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: greekoo on December 31, 2015, 13:17:49 pm
Για όσους έχουν χαθεί (όπως είχα και εγώ) σχετικά με την υποβολή στο γριντ ακολουθήστε τα βήματα:

1)login sto grid μεσω τερματικού λινουξ (ssh κλπ) ή PuTTy

2)upload το .c αρχείο σας με scp myfile.c username@ui.afroditi.hellasgrid.gr:/mnt/scratchdir/home/username/

3)τώρα στην κονσόλα που είστε συνδεδεμένοι στο γκριντ πατήστε module load mpich2

4) μετα mpicc myfile.c -o myprogram (opou myprogram onomazetai opos 8elete to executable)

5)και τωρα πρεπει να φτιαξετε το σκριπτακι που θα κανετε υποβολη .
πατατε nano run.sh και γραφετε αυτα:

Quote
#!/bin/bash
#PBS -­q auth
#PBS ­-N mpi-­myprogram
#PBS ­-j oe
#PBS ­-l nodes=1:ppn=4
cd $PBS_O_WORKDIR

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

export I2G_MPI_TYPE=mpich2
export I2G_MPI_APPLICATION=myprogram
export I2G_MPI_APPLICATION_ARGS="arg1 arg2"
$I2G_MPI_START

όπου myprogram είναι το όνομα του executable
στα nodes kai ppn ρυθμιζετε τα τασκς

και στα ARGS βαζετε με την σειρα τυχον ορισματα που εχετε στο προγραμμα σας

6)το σωζετε ως run.sh  και πατατε qsub run.sh για την υποβολη του.

7) ειστε κομπλε περιμενετε μεχρι να σας βγαλει ενα αρχειο με τα output της κονσολας (πατατε qstat να δειτε status)


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: raf18 on December 31, 2015, 18:26:44 pm
Παιδιά εγώ έχω ένα περίεργο bug. Τα τυχαία σημεία παράγονται κανονικά και μετά τα στέλνω σε άλλες διεργασίες για να κρατήσουν όσα τους ανήκουν. Όμως αν ελέγξω τον buffer λήψης κάποια σημεία δεν έχουν ληφθεί κανονικά και είναι μηδενισμένα (όλες οι συντεταγμένες τους που στέλνω). Το παράξενο είναι ότι τα περισσότερα σημεία φτάνουν κανονικά, ενώ ένα 10% (σε κάθε διεργασία!) από αυτά φτάνουν μηδενισμένα (άρα δεν φτάνουν). Φαντάζεται κανείς τι μπορεί να φταίει???
Κατά τα άλλα για τα σημεία που φτάνουν φυσιολογικά το πρόγραμμα δουλεύει σωστά!  :(


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Xleboniaris on December 31, 2015, 18:57:32 pm
Υπάρχει κάποιος που να έχει νιώσει καλά το κομμάτι της αναζήτησης μεταξύ των διεργασιών για να βοηθήσει λίγο?

Αρχικά, θεωρήσαμε 4 περιπτώσεις για ένα σημείο q. ‘Η θα είναι εσωτερικό στον χώρο που ορίζεται για την διεργασία, οπότε γίνεται σειριακή αναζήτηση σε 27 συνολικά κουτιά, ή θα βρίσκεται σε μια κάθετη πλευρά στον χώρο της διεργασία (χρειάζεται μέχρι μια επικοινωνία με μια άλλη διεργασία) ή σε μια ακμή (μέχρι 2 επικοινωνίες) ή σε μια γωνία του χώρου της διεργασίας (μέχρι 3 επικοινωνίες).

Το θέμα είναι με τι προτεραιότητα γίνονται όλα αυτά και ποιες διεργασίες μπλοκάρουν κάθε φορά. Δηλαδή, έστω η διεργασία Α εντοπίζει ότι το q βρίσκεται στην κάθετη εξωτερική επιφάνεια του χώρου που ορίζει. Στέλνει μήνυμα στην διπλανή της Β και ζητάει να βρεθεί η ελάχιστη απόσταση από το q για κάποια κουτιά, που τα έχει δηλώσει.

Τι κάνει η Α έπειτα? Μπλοκάρει μέχρι να πάρει απάντηση? Συνεχίζει στο επόμενο q από αυτά που έχει? Θα κοιτάξει να ικανοποιήσει κάποιο άλλο μήνυμα?

Και τώρα η Β. Αυτή, λογικά αν για παράδειγμα εκτελούσε αναζήτηση για ένα qB, φαντάζομαι ότι πρώτα πρέπει να τελειώσει την αναζήτηση που ήδη εκτελεί και μετά να ικανοποιήσει το αίτημα έτσι? Το αίτημα θα το ικανοποιήσει αμέσως μόλις τελειώσει με το qB, δηλαδή πριν αρχίσει την αναζήτηση για ένα επόμενο qB έτσι? Η’ θα το αφήσει για αργότερα? Αν αργότερα , ποσό αργότερα γιατί φαντάζομαι ότι υπάρχει πιθανότητα να γεμίσει ο buffer της Β.

Όλη αυτή την ώρα η Α θα είναι μπλοκαρισμένη? Και αν δεν είναι τι μπορεί να κάνει χωρίς να προκύψει μεγάλο μπέρδεμα και να είναι πιο απλή η λύση?

Μήπως είναι καλύτερα, να εκτελεί η κάθε διεργασία πρώτα τις εσωτερικές αναζητήσεις και στο τέλος να στέλνει διάφορα αιτήματα σε πολλές διεργασίες (για περισσότερα του ενός σημεία qA) με το τι δουλεία της έχει απομείνει που πρέπει να καλυφθεί από τους παραλήπτες.

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

Καλές γιορτές.


***edit: Θεωρείται σωστή η λύση να στέλνουμε σημεία C (σταθερά), από μια διεργασία Α στις διεργασίες με τις οποίες εφάπτεται???  Έτσι, οι υπόλοιπες διεργασίες να μπορούν να ολοκληρώσουν της αναζητήσεις μόνες τους?? Με τον τρόπο αυτό πάντως έχουμε λίγες επικοινωνίες μεταξύ των διεργασιών, αν και μεγαλύτερες σε μέγεθος.


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: raf18 on December 31, 2015, 20:33:02 pm
Παιδιά εγώ έχω ένα περίεργο bug. Τα τυχαία σημεία παράγονται κανονικά και μετά τα στέλνω σε άλλες διεργασίες για να κρατήσουν όσα τους ανήκουν. Όμως αν ελέγξω τον buffer λήψης κάποια σημεία δεν έχουν ληφθεί κανονικά και είναι μηδενισμένα (όλες οι συντεταγμένες τους που στέλνω). Το παράξενο είναι ότι τα περισσότερα σημεία φτάνουν κανονικά, ενώ ένα 10% (σε κάθε διεργασία!) από αυτά φτάνουν μηδενισμένα (άρα δεν φτάνουν). Φαντάζεται κανείς τι μπορεί να φταίει???
Κατά τα άλλα για τα σημεία που φτάνουν φυσιολογικά το πρόγραμμα δουλεύει σωστά!  :(


Τελικά ΟΚ. Κάθε φορά τα 3 τελευταία στοιχεία που έστελνα περνούσαν για άγνωστο λόγω μηδενισμένα!!
Το πρόβλημα λύθηκε όταν στο count σε send/receive πρόσθεσα αφθαίρετα 4 θέσεις..!!  :P


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: nlogn on December 31, 2015, 21:59:00 pm
Παιδιά εγώ έχω ένα περίεργο bug. Τα τυχαία σημεία παράγονται κανονικά και μετά τα στέλνω σε άλλες διεργασίες για να κρατήσουν όσα τους ανήκουν. Όμως αν ελέγξω τον buffer λήψης κάποια σημεία δεν έχουν ληφθεί κανονικά και είναι μηδενισμένα (όλες οι συντεταγμένες τους που στέλνω). Το παράξενο είναι ότι τα περισσότερα σημεία φτάνουν κανονικά, ενώ ένα 10% (σε κάθε διεργασία!) από αυτά φτάνουν μηδενισμένα (άρα δεν φτάνουν). Φαντάζεται κανείς τι μπορεί να φταίει???
Κατά τα άλλα για τα σημεία που φτάνουν φυσιολογικά το πρόγραμμα δουλεύει σωστά!  :(


Τελικά ΟΚ. Κάθε φορά τα 3 τελευταία στοιχεία που έστελνα περνούσαν για άγνωστο λόγω μηδενισμένα!!
Το πρόβλημα λύθηκε όταν στο count σε send/receive πρόσθεσα αφθαίρετα 4 θέσεις..!!  :P
Έχεις πρόβλημα στη διαχείρηση μνήμης αν κάποια στιγμή σου πετάξει segmentation fault να ξες τι θα φταίει.
Αυτό βέβαια μπορεί να μη σου φανεί ποτέ όταν θα το τρέξεις (σου το εύχομαι!).


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: c0ndemn3d on January 01, 2016, 20:13:19 pm
1) Παίζει να έχετε βρει τρόπο να χρησιμοποιήσετε σύνθετες εντολές; Εγώ μέχρι στιγμής ό,τι σκέφτομαι έχει να κάνει με το να στέλνω κάθε κουτί ξεχωριστά..
2) Μία ακόμα ερώτηση, αν ας πούμε θέλετε ένα κουτί που το έχει άλλο process, υπάρχει τρόπος να το <<ζητήσετε>> (όποιος κατάλαβε, κατάλαβε);


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Xbaremenos on January 01, 2016, 22:24:55 pm
1) Παίζει να έχετε βρει τρόπο να χρησιμοποιήσετε σύνθετες εντολές; Εγώ μέχρι στιγμής ό,τι σκέφτομαι έχει να κάνει με το να στέλνω κάθε κουτί ξεχωριστά..
2) Μία ακόμα ερώτηση, αν ας πούμε θέλετε ένα κουτί που το έχει άλλο process, υπάρχει τρόπος να το <<ζητήσετε>> (όποιος κατάλαβε, κατάλαβε);

Παιδιά και γω εχω αυτό το θέμα, υπάρχει τρόπος, να ζητήσουμε κάτι και το άλλο προσεςς να μπλοκάρει, να μας απαντήσει, και να συνεχίσει ?


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: raf18 on January 02, 2016, 01:21:13 am
1) Παίζει να έχετε βρει τρόπο να χρησιμοποιήσετε σύνθετες εντολές; Εγώ μέχρι στιγμής ό,τι σκέφτομαι έχει να κάνει με το να στέλνω κάθε κουτί ξεχωριστά..
2) Μία ακόμα ερώτηση, αν ας πούμε θέλετε ένα κουτί που το έχει άλλο process, υπάρχει τρόπος να το <<ζητήσετε>> (όποιος κατάλαβε, κατάλαβε);

Παιδιά και γω εχω αυτό το θέμα, υπάρχει τρόπος, να ζητήσουμε κάτι και το άλλο προσεςς να μπλοκάρει, να μας απαντήσει, και να συνεχίσει ?


Εγώ έχω σε συγκεκριμένες θέσεις σε κάθε process ζευγάρια send,receive. Αλλά πάντα μέσα σε if ώστε αν δεν χρειάζετε η δοσοληψία να παρακάμπτεται. Αν όλες οι επικοινωνίες είναι ζεύγη (στέλνω σε κάθε γείτονα και περιμένω να λάβω) νομίζω δεν χρειάζεται να ζητήσεις. Όταν χρειαστεί στέλνεις/λαμβάνεις.
Έτσι το έχω εγώ τουλάχιστον, με μηνύματα Isend/Irecv από process σε proccess μέσα σε λούπες κάθε φορά.


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: lady_of_winter on January 02, 2016, 01:42:08 am
Εγώ έχω σε συγκεκριμένες θέσεις σε κάθε process ζευγάρια send,receive. Αλλά πάντα μέσα σε if ώστε αν δεν χρειάζετε η δοσοληψία να παρακάμπτεται. Αν όλες οι επικοινωνίες είναι ζεύγη (στέλνω σε κάθε γείτονα και περιμένω να λάβω) νομίζω δεν χρειάζεται να ζητήσεις. Όταν χρειαστεί στέλνεις/λαμβάνεις.
Έτσι το έχω εγώ τουλάχιστον, με μηνύματα Isend/Irecv από process σε proccess μέσα σε λούπες κάθε φορά.

δεν πολυκαταλαβα τι εννοεις :-\
το προβλημα που εχουμε ειναι οτι θελουμε να παρουμε καποια στοιχεια απο καποια αλλη διεργασια, χωρις να θελουμε να στειλουμε κατι σε καποια αλλη
αν κανουμε αυτο ομως με το if που λες, δεν θα πρεπει να στελνουμε κιολας κατι?ή δεν εχω καταλαβει καλα?


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: raf18 on January 02, 2016, 04:08:29 am
Εγώ έχω σε συγκεκριμένες θέσεις σε κάθε process ζευγάρια send,receive. Αλλά πάντα μέσα σε if ώστε αν δεν χρειάζετε η δοσοληψία να παρακάμπτεται. Αν όλες οι επικοινωνίες είναι ζεύγη (στέλνω σε κάθε γείτονα και περιμένω να λάβω) νομίζω δεν χρειάζεται να ζητήσεις. Όταν χρειαστεί στέλνεις/λαμβάνεις.
Έτσι το έχω εγώ τουλάχιστον, με μηνύματα Isend/Irecv από process σε proccess μέσα σε λούπες κάθε φορά.

δεν πολυκαταλαβα τι εννοεις :-\
το προβλημα που εχουμε ειναι οτι θελουμε να παρουμε καποια στοιχεια απο καποια αλλη διεργασια, χωρις να θελουμε να στειλουμε κατι σε καποια αλλη
αν κανουμε αυτο ομως με το if που λες, δεν θα πρεπει να στελνουμε κιολας κατι?ή δεν εχω καταλαβει καλα?


Καλά κατάλαβες.Γενικά εγώ έχω αρκετά διαφορετική λογική. Βρίσκω ποια είναι τα γειτονικά κουτιά κάθε φορά και μετά τους στέλνω τα στοιχεία του κουτιού μου. Μετά περιμένω να μου στείλουν και τα γειτονικά αυτά. Αυτό γίνεται για ενα-ένα γειτονικό κουτι σε λούπα. Έτσι όπως το σκέφτηκες δεν μπορώ να φανταστώ κάτι, γιατί δεν ξέρεις κάθε πότε ζητάς στοιχεία...  :(


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: lady_of_winter on January 02, 2016, 11:12:20 am

Καλά κατάλαβες.Γενικά εγώ έχω αρκετά διαφορετική λογική. Βρίσκω ποια είναι τα γειτονικά κουτιά κάθε φορά και μετά τους στέλνω τα στοιχεία του κουτιού μου. Μετά περιμένω να μου στείλουν και τα γειτονικά αυτά. Αυτό γίνεται για ενα-ένα γειτονικό κουτι σε λούπα. Έτσι όπως το σκέφτηκες δεν μπορώ να φανταστώ κάτι, γιατί δεν ξέρεις κάθε πότε ζητάς στοιχεία...  :(

ααα ευχαριστωωωωωωω  :D :D
τωρα ενιωσα

απλως ειχα σκαλωσει χθες, και ελεγα μπας κ υπαρχει καποιος τροπος να γινει αυτο π ελεγα και δεν το χα σκεφτει


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Ragnar Lothbrok on January 02, 2016, 19:16:31 pm
Ξέρει κανείς ποιο header πρεπει να βάλουμε για τις μαθηματικες πραξεις; οταν βαζω το <math.h> , το grid δεν μου αναγνωρίζει την συναρτηση ρίζας (sqrt () ) .


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: c0ndemn3d on January 02, 2016, 20:00:10 pm
Ξέρει κανείς ποιο header πρεπει να βάλουμε για τις μαθηματικες πραξεις; οταν βαζω το <math.h> , το grid δεν μου αναγνωρίζει την συναρτηση ρίζας (sqrt () ) .

??

Όταν κάνεις compile, πρέπει να βάζεις -lm στο τέλος της εντολής. Tο grid δεν χρειάζεται κάτι μετά


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Ragnar Lothbrok on January 02, 2016, 20:07:36 pm
Ξέρει κανείς ποιο header πρεπει να βάλουμε για τις μαθηματικες πραξεις; οταν βαζω το <math.h> , το grid δεν μου αναγνωρίζει την συναρτηση ρίζας (sqrt () ) .

??

Όταν κάνεις compile, πρέπει να βάζεις -lm στο τέλος της εντολής. Tο grid δεν χρειάζεται κάτι μετά

πως δηλαδη;  mpicc myfile.c -o myprogram -Im ??


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: c0ndemn3d on January 02, 2016, 20:09:35 pm
Ναι. Φυσικά πρέπει να έχεις και #include <math.h> μέσα στο αρχείο κώδικα.


btw http://stackoverflow.com/questions/1033898/why-do-you-have-to-link-the-math-library-in-c


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Ragnar Lothbrok on January 02, 2016, 20:12:11 pm
Ναι. Φυσικά πρέπει να έχεις και #include <math.h> μέσα στο αρχείο κώδικα.


btw http://stackoverflow.com/questions/1033898/why-do-you-have-to-link-the-math-library-in-c

ok thanks!!!


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: WatchDog on January 03, 2016, 23:51:56 pm
Μου βγάζει error στο mpirun , λέει οτι δε μπορεί να βρεί το εκτελέσιμο. (no such file or directory). Με το %mpirun -np x file.o. Έχω προσπαθήσει και να βάλω ολόκληρο το Path,και πάλι τίποτα.Έχει κάποιος καμιά ιδέα για το τι μπορεί να παίζει?


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: c0ndemn3d on January 04, 2016, 00:32:03 am
./file.o μήπως;


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Ragnar Lothbrok on January 04, 2016, 14:21:06 pm
Αν μας βγαζει στο Grid  State: R Και Time use: 00:00:00 τι σημαίνει;


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Λήσταρχος Γιαγκούλας on January 04, 2016, 15:09:54 pm
Αν μας βγαζει στο Grid  State: R Και Time use: 00:00:00 τι σημαίνει;

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

Eρώτηση,καταφέρε κανείς να τρέξει 64 ή 128?


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Ragnar Lothbrok on January 04, 2016, 15:23:30 pm
Αν μας βγαζει στο Grid  State: R Και Time use: 00:00:00 τι σημαίνει;

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

Eρώτηση,καταφέρε κανείς να τρέξει 64 ή 128?

Συγγνωμη ρε φιλε, αλλα δεν καταλαβα τι ειπες :P



Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: lady_of_winter on January 05, 2016, 00:17:36 am
μπορει καποιος που ανεβασε την εργασια στο grid, να μου πει περιπου ποσο χρονο αναμονης ειχε  μεχρι να του την τρεξουν?



Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: c0ndemn3d on January 05, 2016, 01:41:18 am

Εξαρτάται από τα nodes που ζητάς. Άμα βλέπεις ότι κάτι αργεί, υποδιπλασίασε τα nodes και διπλασίασε το ppn (τώρα για p=2^7 δεν ξέρω αν προλαβαίνεις να πάρεις μέτρηση, εκεί πρέπει αναγκαστικά να ζητήσεις πολλά nodes.)

-------

Εντωμεταξύ μεγάλος καρκίνος αυτή η εργασία. Μακάρι να μην χρειαστεί να κάνω ξανά τέτοια εργασία.


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: TrueForce on January 05, 2016, 02:32:57 am
Εντωμεταξύ μεγάλος καρκίνος αυτή η εργασία. Μακάρι να μην χρειαστεί να κάνω ξανά τέτοια εργασία.
Welcome to Παράλληλα και Διανεμημένα Συστήματα xD

Αμα δεν προλάβεις όλες τις μετρήσεις ζήτα να στείλεις συμπληρωματικό excel/report, δε νομίζω να έχουν πρόβλημα. Κλάψου λίγο για την αφροδίτη που αργεί να δώσει αποτελέσματα, δε θα έχεις άδικο.


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: c0ndemn3d on January 05, 2016, 02:34:19 am
Εντωμεταξύ μεγάλος καρκίνος αυτή η εργασία. Μακάρι να μην χρειαστεί να κάνω ξανά τέτοια εργασία.
Welcome to Παράλληλα και Διανεμημένα Συστήματα xD

Αμα δεν προλάβεις όλες τις μετρήσεις ζήτα να στείλεις συμπληρωματικό excel/report, δε νομίζω να έχουν πρόβλημα. Κλάψου λίγο για την αφροδίτη που αργεί να δώσει αποτελέσματα, δε θα έχεις άδικο.

Πρέπει γενικά να τις κάνω όλες τις μετρήσεις; Σοβαρά τώρα; Εγώ έλεγα να κάνω plot κάμποσες που φτάνουν για να βγάλω συμπεράσματα και όχι απλά να τις πετάξω όλες


edit: Εντάξει τρόμαξα λίγο, αλλά σιγά μην τις θέλει όλες. Είναι πάρα πολλές


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: TrueForce on January 05, 2016, 02:40:30 am
Ισχύει ότι μέχρι ένα σημείο αρκεί αν σου έχει πάει καλά ο κώδικας. Και σε εμένα πέρσι ήταν εμφανής η αυξανόμενη βελτίωση και κανονικά για 2^3, άντε 2^4, θα αρκούσε, κατά τη γνώμη μου πάντα. Παρόλα αυτά έστειλα συμπληρωματικό excel.... Αφού ζητούσε μέχρι 128(2^7) τι να έκανα...; :D

Εχε υπόψη ότι δεν ξέρω ακριβώς με τι έχει να κάνει η εργασία, όταν λες όλες τις μετρήσεις αναφέρεσαι στον αριθμό των tasks και το μέγεθος προβλήματος ως παραμέτρους; Ή έχετε και άλλες εσείς;

edit: μην αγχώνεσαι γενικά, εμάς δε βγαίναν πάρα πολλές, γι' αυτο τις ήθελε όλες


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: c0ndemn3d on January 05, 2016, 02:49:36 am
Δεν είναι τόσο ότι αγχώνομαι, όσο το ότι βαριέμαι :P


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: DarkPassenger on January 05, 2016, 03:46:55 am
Εντωμεταξύ μεγάλος καρκίνος αυτή η εργασία. Μακάρι να μην χρειαστεί να κάνω ξανά τέτοια εργασία.
Welcome to Παράλληλα και Διανεμημένα Συστήματα xD

Αμα δεν προλάβεις όλες τις μετρήσεις ζήτα να στείλεις συμπληρωματικό excel/report, δε νομίζω να έχουν πρόβλημα. Κλάψου λίγο για την αφροδίτη που αργεί να δώσει αποτελέσματα, δε θα έχεις άδικο.
ξες μηπως αν ειναι εντάξει αν ανεβάσουμε την εργασία 2-3 μέρες μετα την διορία?


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: TrueForce on January 05, 2016, 04:17:02 am
Μη σε πάρω στο λαιμό μου αλλά 99% δε θα σου πούνε κάτι.


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Κηπουρίδης on January 05, 2016, 06:15:59 am
Ενα bug που μου εφαγε περιπου πεντε ωρες σημερα ειναι το εξης:

Ειχα :
struct Point {
  float dimension[3];
};

και δεν ειχα δηλωσει copy costructor, δηλαδη
Point( const Point &obj ) {
  for ( int i=0; i<3; ++i ) {
    dimension = obj.dimension;
  }
}

Ετσι οταν εκανα Point a = b, δειχνανε απλως και οι δυο στον ιδιο πινακα. Οποτε ενω αρχικα φαινοταν οκ, αν αλλαζε ο ενας αλλαζε αυτοματα και ο αλλος.

Επιπλεον, υπαρχουν δυο ειδων επικοινωνιες.
Μια που παραγουμε τα σημεια και τα στελνουμε στο καταλληλο process, και μια που στελνουμε τις απαντησεις μας στον 0.
Παροτι η πρωτη μορφη επικοινωνιας εχει ενα ξεκαθαρο ανω οριο στοιχειων που μπορουμε να στειλουμε (συνολο σημειων / πληθος διεργασιων), η δευτερη μορφη μπορει στη χειροτερη περιπτωση να χρειαστει να στειλει ακομα και Ν σημεια. Βεβαια το expected ειναι το ιδιο, συνολο_σημειων/πληθος_διεργασιων, αλλα αυτη τη φορα μιλαμε πιθανοτικα. Εγω εβαλα 2 φορες αυτο το φραγμα για να δουλεψει σιγουρα (οχι σιγουρα, αλλα εξαιρετικα πιθανα).


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Ragnar Lothbrok on January 05, 2016, 13:15:45 pm
Μπορειτε να ποσταρετε τους χρονους σας, να εχουμε ενα μετρο συγκρισης;


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: κύριος Φασόλης on January 05, 2016, 21:26:47 pm
hey! μπορειτε να συνδεθειτε στο hellasgrid ? παω να κανω ssh και μου λεει permission denied (ναι τσεκαρα αν ο κωδικος μου ειναι σωστος :P )


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: lady_of_winter on January 05, 2016, 21:55:44 pm
hey! μπορειτε να συνδεθειτε στο hellasgrid ? παω να κανω ssh και μου λεει permission denied (ναι τσεκαρα αν ο κωδικος μου ειναι σωστος :P )

νο νο νο


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Μεταλλαγμένη Πάπια on January 05, 2016, 23:48:00 pm
Ενα bug που μου εφαγε περιπου πεντε ωρες σημερα ειναι το εξης:

Ειχα :
struct Point {
  float dimension[3];
};

και δεν ειχα δηλωσει copy costructor, δηλαδη
Point( const Point &obj ) {
  for ( int i=0; i<3; ++i ) {
    dimension = obj.dimension;
  }
}

Ετσι οταν εκανα Point a = b, δειχνανε απλως και οι δυο στον ιδιο πινακα. Οποτε ενω αρχικα φαινοταν οκ, αν αλλαζε ο ενας αλλαζε αυτοματα και ο αλλος.

Επιπλεον, υπαρχουν δυο ειδων επικοινωνιες.
Μια που παραγουμε τα σημεια και τα στελνουμε στο καταλληλο process, και μια που στελνουμε τις απαντησεις μας στον 0.
Παροτι η πρωτη μορφη επικοινωνιας εχει ενα ξεκαθαρο ανω οριο στοιχειων που μπορουμε να στειλουμε (συνολο σημειων / πληθος διεργασιων), η δευτερη μορφη μπορει στη χειροτερη περιπτωση να χρειαστει να στειλει ακομα και Ν σημεια. Βεβαια το expected ειναι το ιδιο, συνολο_σημειων/πληθος_διεργασιων, αλλα αυτη τη φορα μιλαμε πιθανοτικα. Εγω εβαλα 2 φορες αυτο το φραγμα για να δουλεψει σιγουρα (οχι σιγουρα, αλλα εξαιρετικα πιθανα).

πωωω τι ειπες τωρα... και γω κανω ακριβως το ιδιο, δεν ήξερα καν οτι χρειαζεται να κανουμε κατι τετοιο. Θενξ !


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Ragnar Lothbrok on January 06, 2016, 15:12:21 pm
Grid still down... >:(


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: lady_of_winter on January 06, 2016, 15:21:26 pm
Grid still down... >:(

αστο και σιγα μην λειτουργησει σημερα

παντως στειλαμε μειλ στον σισμανη, και ειπε να ανεβασουμε την αναφορα με οτι εχουμε κανει κ με μετρησεις είτε απο διάδη ή απο τον υπολογιστή μας
και να στείλουμε εκπρόθεσμα τα υπολοιπα αποτελεσματά όταν τα παρουμε


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Andromedas on January 06, 2016, 16:27:33 pm
δοκίμασε κανείς mpi στο diades ;


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Κηπουρίδης on January 06, 2016, 17:11:42 pm
Δε νομιζω να αξιζει τον κοπο, αφου επιτρεπουν να στειλουμε και εκπροθεσμα τα αποτελεσματα.

Μια παρατηρηση για τις δοκιμες. Αν βαλεις το flag -O3 στο compile, και δεν τυπωνεις τιποτα, μπορει να προσπερασει πολλα πραγματα αφου εν τελει δε δινουν αποτελεσμα!
Βαλτε στο τελος μια απλη printf που να τυπωνει την απαντηση του τελευταιου ζευγαριου για να ειστε ενταξει.

Εγω δεν ειχα βαλει να τυπωνει και μου εβγαινε χωρις grid πιο γρηγορη η απαντηση απ ο,τι με grid, απλως διοτι ουσιαστικα στην solve δεν εμπαινε καθολου.

Χωρις Αφροδιτη τρεχουμε αναγκαστικα στο diades, οποτε δεν ξερω ακομα πως γινεται script που να τρεχει αυτοματα ολα τα αποτελεσματα στην Αφροδιτη.
Για το diades ομως, για σειριακα, μπορειτε να τρεξετε αυτο :


icc kNN.cpp && for n in {21..25}; do for grid in {12..16}; do (time ./a.out $n $grid 0) >> moxos.txt 2>&1 && echo "Done with N=$n, nmk=$grid"; done; done

Δοκιμαζει ολα τα N και nmk που ζηταει ο Πιτσιανης, τα δινει ορισματα μαζι με ορισμα το 0 στην περιπτωση μου, που του λεει να κανει 2^0 = 1 διεργασιες (ισως εσεις να μη το εχετε ετσι οποτε απλα διαγραψτε το 0 απο ορισμα), και βγαζει τα αποτελεσματα στο αρχειο moxos.txt


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Andromedas on January 06, 2016, 19:13:17 pm
Εγώ έχω θέμα με το compile για mpi καθώς δεν έχει μέσα στο path το αντίστοιχο lib το είδα από το echo path κλπ. Οπότε το mpicc δεν τρέχει, στην Αφροδίτη  δίνεις την εντολή module load mpich2
στο diades πρέπει να κάνεις include για το gcc. Το θέλω κυρίως για debugging μέχρι να το τσεκάρω στην Αφροδίτη. Με icc μπορείς να τρέξεις mpi; Και εάν ναι ας γράψει κάποιος το command. Thanks!


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: lady_of_winter on January 06, 2016, 19:29:52 pm
λοιπον παιζει το προβλημα που χω να ναι τερμα ηλιθιο


αλλα οριζω ενα πινακα S διπλο ποιντερ που αποτελειται απο δομες
οριζω αρχικα με μαλλοκ την μια διασταση ολα κομπλε
μετα παω οριζω το μεγεθος για την πρωτη γραμμη κομπλε
οταν παω ομως να ορισω το μεγεθος για την δευτερη γραμμη απλως κολλανε τα παντα
τι μπορει να φταει?


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: nlogn on January 06, 2016, 19:44:27 pm
Για να τρέξετε αυτόματα όλα τα αποτελέσματα στην Αφροδίτη:

Φτιάχνετε ένα πρώτο σκριπτάκι με όνομα: nns_mpi_yourName.sh
Code:
#!/bin/bash
#PBS -q auth
#PBS -N nns_mpi_yourName
#PBS -j oe
#PBS -l nodes=8:ppn=1   Από εδώ και επάνω μην βάζετε τίποτα παραπάνω

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

export I2G_MPI_TYPE=mpich2
$I2G_MPI_START

i=21
while [ $i -lt 25 ]
do
  j=12
  while [ $j -lt 16 ]
  do
    export I2G_MPI_APPLICATION_ARGoS=$j+" "+$i
    export I2G_MPI_APPLICATION=Όνομα_του_προγραμματός_σας
    $I2G_MPI_START
    j=`expr $j + 1`  
  done
  i=`expr $i + 1`
done
Και ένα άλλο με όνομα: run_all.sh
Code:
#!/bin/bash
k=2
while [ $k -lt 20 ]
do
  sed -i '5s/.*/\#PBS \-l nodes='$k'\:ppn=1/' nns_mpi_yourName.sh
  qsub nns_mpi_yourName.sh
  k=`expr $k + $k`
  sleep 1
done
k=2
while [ $k -lt 10 ]
do
  sed -i '5s/.*/\#PBS \-l nodes=16\:ppn='$k'/' nns_mpi_yourName.sh
  qsub nns_mpi_yourName.sh
  k=`expr $k + $k`
  sleep 1
done
Μετά τρέχετε το run_all.sh ετσι: sh run_all.sh
Αν καθυστερεί πολύ: πατάτε qstat σημειώνεται αριθμό του job σας που αργεί,
και πατάτε τα εξής: qalter -l h_rt=2:00:00 αριθμός_job_σας
Με αυτό δουλεύει και είναι τεσταρισμένο. Καλή τύχη (& υπομονή για τα 16 nodes)!


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Κηπουρίδης on January 06, 2016, 19:56:24 pm
λοιπον παιζει το προβλημα που χω να ναι τερμα ηλιθιο


αλλα οριζω ενα πινακα S διπλο ποιντερ που αποτελειται απο δομες
οριζω αρχικα με μαλλοκ την μια διασταση ολα κομπλε
μετα παω οριζω το μεγεθος για την πρωτη γραμμη κομπλε
οταν παω ομως να ορισω το μεγεθος για την δευτερη γραμμη απλως κολλανε τα παντα
τι μπορει να φταει?

Ετσι οπως το λες τιποτα :). Αν θες να δωσεις κωδικα μπορει κατι να βρουμε.
Γιατι οχι new ομως;

Ωραιος Γιαννη.


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: lady_of_winter on January 06, 2016, 20:16:47 pm
        int i,j,h,counter;
   

   S = (struct Point **)malloc(num_boxes * sizeof(struct Point *));
   if (S == NULL){
      printf("Cannot allocate memory for S... \n");
      exit(0);
   }
   for(i = 0; i < num_boxes; i++){
      counter = 0;
      S [ i ] = (struct Point *)malloc((num_points_in_box[ i ] + num_of_nei[ i ]) * sizeof(struct Point));
      if(S[ i ] == NULL){
         printf("Cannot allocate memory for S[%d]...\n",i);
         exit(1);
      }
}

γιατι να το κάνω με new?

edit: αυτο μας χτυπαει μονο οταν παμε να κανουμε το σειριακο
με το παραλληλο δεν εχουμε θεμα  >:( >:( >:(


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: nohponex on January 06, 2016, 20:34:48 pm
Note #1:
Μη επιστρέφεται 0 όταν έχετε σφάλματα

Quote
exit(0) indicates successful program termination & it is fully portable, While
see http://stackoverflow.com/a/9944880/2255129

Note #2:
Μην γράφετε μεγάλα κομμάτια κώδικα μέσα στα post, είναι δυσανάγνωστα

Χρησιμοποιήστε κάποια υπηρεσία για code/snippet sharing, με syntax highlight
  • http://codepad.org/
  • https://gist.github.com/


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: lady_of_winter on January 06, 2016, 20:40:16 pm
οκ boss θα ξερω για την επομενη φορα


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: reservoir dog on January 07, 2016, 20:03:34 pm
Προσπαθω να βγαλω τον κωδικα του MPI αλλα ζοριζομαι πολύ, εχει μηπως καποιος κανα λινκ που να βοηθαει γιατι οι διαφανειες και τα tutorials που βρηκα ως τωρα ειναι χαωτικα


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: rspappas on January 07, 2016, 21:58:21 pm
μου πεταει συχνα πυκνα ο grid σφαλμα "No space left on device". ακομα και για απλα πραγματα, τυπου νεα αρχεια μεγεθους μερικων byte. καμμια ιδεα για το τι παιζει?


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Xleboniaris on January 11, 2016, 21:30:06 pm
Τον χρόνο πότε ακριβώς αρχίζουμε να τον μετράμε?? όταν δημιουργηθούν από την καθε διεργασία τα αρχικά Q και C σε όλο το χώρο??? μήπως μετά από την αποστολή στην κατάλληλη διεργασία στην οποία τα διαχειρίζεται?? ή μήπως μετά την ταξινόμηση των C και Q (που απστάλθηκαν στην κάθε διεργασία) στο σωστό κουτί στο οποίο ανήκουν, για κάθε διεργασία???


Επίσης, πόση ώρα κατά μέσο όρο το grid, μας έχει στην ουρά για αναμονή πρώτου εκτελέσει το Job μας. Τέλος, είδα τα τελευταία 2 scripts, αλλά δεν κατάλαβα τα αποτελέσματα που αποθηκεύονται?? Η γενικότερα που βγαίνει το Output (το οποίο στο Pc μας θα εμφανίζοταν στο terminal), για κάποιο job που υποβάλλουμε??

-( όταν καταχωρούμε τιμές στα όρισμα του εκτελέσιμο μας (grid), αν δεν τους ορίσουμε μέσω μιας μεταβλητής αλλά με νούμερο, βάζουμε αυτάκια "1" ή όχι??)


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: raf18 on January 11, 2016, 23:41:27 pm
παιδιά όταν παω να υποβάλω script στο grid μου πετάει αυτό...

qsub: Unauthorized Request  MSG=group ACL is not satisfied: user mprouzos@ui3.afroditi.hellasgrid.gr, queue dteam

τι παίζει να φταίνει.??

*χρησιμοποιώ τα script που έχει βάλει πιο πάνω ο nlogn (nns_mpi_yourName.sh, run_all.sh)


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: raf18 on January 11, 2016, 23:49:52 pm
Τον χρόνο πότε ακριβώς αρχίζουμε να τον μετράμε?? όταν δημιουργηθούν από την καθε διεργασία τα αρχικά Q και C σε όλο το χώρο??? μήπως μετά από την αποστολή στην κατάλληλη διεργασία στην οποία τα διαχειρίζεται?? ή μήπως μετά την ταξινόμηση των C και Q (που απστάλθηκαν στην κάθε διεργασία) στο σωστό κουτί στο οποίο ανήκουν, για κάθε διεργασία???


Επίσης, πόση ώρα κατά μέσο όρο το grid, μας έχει στην ουρά για αναμονή πρώτου εκτελέσει το Job μας. Τέλος, είδα τα τελευταία 2 scripts, αλλά δεν κατάλαβα τα αποτελέσματα που αποθηκεύονται?? Η γενικότερα που βγαίνει το Output (το οποίο στο Pc μας θα εμφανίζοταν στο terminal), για κάποιο job που υποβάλλουμε??

-( όταν καταχωρούμε τιμές στα όρισμα του εκτελέσιμο μας (grid), αν δεν τους ορίσουμε μέσω μιας μεταβλητής αλλά με νούμερο, βάζουμε αυτάκια "1" ή όχι??)

Κανονικά μετράμε από τη στιγμή που δημιουργούνται τα σημεία (πριν την ταξινόμηση). Αν θες βάλε πάνω από μια μέτρηση ανάλογα και πως είναι το προγραμμά σου.
Το output θα βγει σε ένα αρχείο, στο φάκελο που έτρεξες το πρόγραμμα στο grid, που θα έχει όνομα το id του job που έτρεξες. Μόλις κάνεις qsub σου επιστρέφει αυτό το id και όταν τρέξει φτιάχνεται αυτό το αρχείο με ότι ήταν να βγει στην κονσόλα.
όταν δίνεις απευθείας τιμές θέλει αυτάκια ". Δες σε αυτό το topic σελίδα 9 κάποιος έχει ανεβάσει script που κάνει ακριβώς αυτό (και δουλεύει).
Ο χρόνος που θέλει είναι μπόλικος, καμία φορά πέφτει και το σύμπαν οπότε υπομονή....


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: DarkPassenger on January 13, 2016, 06:57:54 am
παιδιά όταν παω να υποβάλω script στο grid μου πετάει αυτό...

qsub: Unauthorized Request  MSG=group ACL is not satisfied: user mprouzos@ui3.afroditi.hellasgrid.gr, queue dteam

τι παίζει να φταίνει.??

*χρησιμοποιώ τα script που έχει βάλει πιο πάνω ο nlogn (nns_mpi_yourName.sh, run_all.sh)
+1 αν και εγώ έχω υποβάλει ήδη μερικά σκριπτς.. Τι φαση?


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: Napoleon on January 13, 2016, 13:33:32 pm
Βάλτε αυτό:
Code:
#!/bin/bash
#PBS -q auth
#PBS -N nns_mpi_yourName
#PBS -j oe

και στα 2 .sh αρχεία


Title: Re: [Παράλληλα και Διανεμημένα Συστ.] Εργασία 2
Post by: DarkPassenger on January 13, 2016, 16:04:27 pm
Βάλτε αυτό:
Code:
#!/bin/bash
#PBS -q auth
#PBS -N nns_mpi_yourName
#PBS -j oe

και στα 2 .sh αρχεία
ωραιος, κομπλε τώρα! σε καποια αρχεια το είχα και σε κάποια οχι... :S  :D ;D