THMMY.gr

Μαθήματα Κύκλου Ηλεκτρονικής & Υπολογιστών => Παράλληλα και Διανεμημένα Συστήματα => Topic started by: diutinus on November 13, 2011, 23:14:18 pm



Title: Π&Δ 2011 - Εργασία 1
Post by: diutinus on November 13, 2011, 23:14:18 pm
Επειδή σιγά σιγά έρχεται ο καιρός, είπα να αρχίσει και η κουβέντα.

Η πρώτη άσκηση έχει ανέβει στο eTHMMY στην ενότητα Περιεχόμενα > Ασκήσεις.

Εγώ θα ξεκινήσω με μια απλή ερώτηση, διαδικαστική. Δίνεται ο σειριακός κώδικας σε πολλαπλά αρχεία και header files. Θα μπορούσε κάποιος καλός Σαμαρίτης να μου πει πώς γίνεται compile; Ο Dev δε φαίνεται πιάνει το νόημα των πολλαπλών αρχείων...


Title: Re: Π&Δ 2011 - Εργασία 1
Post by: chris21 on November 14, 2011, 16:29:47 pm
εφοσον εχει pthreads τρεχει είτε σε Native Linux ειτε σε Cygwin...
so Dev is out of the question

Edit:
αυτο που θα κανετε θα εχει pthreads αλλα και παλι νομιζω πως με τις συναρτησεις που εχουν τα δοσμενα αρχεια παλι δε τρεχει σε Windows...

Το πρόγραμμα που μας έχει δώσει είναι σειριακό και δεν έχει threads οποτε τρέχει όπου θέλεις. Τώρα αυτο που μας έδωσε έχει makefile δλδ αρκεί να ανοίξεις ένα terminal και να γράψεις απλά make και θα γίνει compile. Μετά απλά το τρέχεις (σε Linux ή σε Sygwin πάντα). Αν θες να το τρέχεις σε Windows τότε άνοιξε το makefile να δεις τι γράφει και θα πρέπει να δώσεις αντίστοιχες εντολές στον compiler. Για να οπτικοποίησουμε το αποτέλεσμα υπάρχει και ένα προγραμματάκι σε Matlab (.m file) που αναλαμβάνει να κάνει όλη την δούλεια, να αποθηκεύσει σε αρχεία τα αποτελέσματα και να τα κάνει plot.( δηλ. compile, run, save, plot) Καλύτερα κάντο έτσι, άνοιξε δλδ το Matlab και τρέξε αυτο το αρχείο που κάνει plot.


Title: Re: Π&Δ 2011 - Εργασία 1
Post by: arashi on November 14, 2011, 16:40:31 pm
Τώρα αυτο που μας έδωσε έχει makefile δλδ αρκεί να ανοίξεις ένα terminal και να γράψεις απλά make και θα γίνει compile.

Αυτο χρειαζεστε, κρατηστε το  ;)


Title: Re: Π&Δ 2011 - Εργασία 1
Post by: diutinus on November 19, 2011, 01:50:54 am
Λοιπόν, οκ αυτό με το makefile. Αλλά υπάρχουν τα εξής προβλήματα:
1.Στα Windows το Cygwin δεν έχει το πακέτο make.... Ομορφιές δηλαδή.. Κλάιν όμως, πάμε στο 2..
2. Στα Ubuntu, τρέχει οκ το makefile αλλά όταν πάω να κάνω run το αρχείο που βγαίνει μου λέει segmentation fault.. Ideas ppl?


Title: Re: Π&Δ 2011 - Εργασία 1
Post by: jason_ on November 19, 2011, 03:26:27 am
πρέπει να τρέξεις το εκτελέσιμο με τα ορίσματά του, δηλαδή: ./knnTest 10000 128 300 20 (δηλ 10000 στοιχεία, 128 διαστάσεις κλπ).

Για το cygwin πάντως μπορείς να κατεβάσεις και τις βιβλιοθήκες για το make και να κάνει compile.


Title: Re: Π&Δ 2011 - Εργασία 1
Post by: ^^DaRk_HunTeR on November 19, 2011, 03:27:08 am
@diutinus
καλο θα ηταν να ανατρεξεις στο τοπικ το περσινο και προπερσινο θα σου λυθουν αρκετες αποριες...

παντως για το 1. η standard εκδοση του Cygwin οντως δεν εχει μεσα το πακετο με την εντολη make...
αν κατεβασεις ομως τη Full... τρεχει κανονικοτατα... απλα ειναι μερικα GBs αν θυμαμαι καλα...


Title: Re: Π&Δ 2011 - Εργασία 1
Post by: diutinus on November 19, 2011, 16:40:41 pm
πρέπει να τρέξεις το εκτελέσιμο με τα ορίσματά του, δηλαδή: ./knnTest 10000 128 300 20 (δηλ 10000 στοιχεία, 128 διαστάσεις κλπ).

Για το cygwin πάντως μπορείς να κατεβάσεις και τις βιβλιοθήκες για το make και να κάνει compile.

thnx. Είναι ότι ακόμα δεν έχω διαβάσει τον κώδικα και δεν ήξερα για τα ορίσματα... Θα κοιτάξω και τα παλιά τόπικ - για ποια εργασία; Πρώτη ή γενικά;

Επίσης, τι προτείνετε, linux ή cygwin?


Title: Re: Π&Δ 2011 - Εργασία 1
Post by: arashi on November 19, 2011, 16:42:28 pm
ΛΙΝΟΥΞ


Title: Re: Π&Δ 2011 - Εργασία 1
Post by: Αιμιλία η φτερωτή χελώνα on November 19, 2011, 16:43:16 pm
ΛΙΝΟΥΞ
GIATI?


Title: Re: Π&Δ 2011 - Εργασία 1
Post by: arashi on November 19, 2011, 16:44:26 pm
Μονο που διαβασες παραπανω για πακετα επιλογων cygwin και μονο που

ειναι emulatori η ο,τι ειναι τεσπα σε μαθημα που κυνηγας επιδοσεις , θες παραπανω?

ΚΑΙ ΞΑΝΑΛΕΩ

διαβαστε αυτο που ειπε ο Darkhunter, πατε στα περσινα και στα προπερσινα




Title: Re: Π&Δ 2011 - Εργασία 1
Post by: tomshare3 on November 19, 2011, 17:52:59 pm

στις επομενες εργασιες το cygwin θα σας σας σπασει τα @@.. νευρα!! καλυτερα με linux απο τωρα!


Title: Re: Π&Δ 2011 - Εργασία 1
Post by: arashi on November 19, 2011, 18:10:44 pm
ηθελα χωρις διαθεση πραγματικα τωρα για flaming αλλα ετσι απο απορια

να μου απαντησει καποιος τι κανουμε με cygwin αμα θελουμε να τρεξουμε

cuda, βαζουμε πακετα για nvidia τι ακριβως και με ποιο βαθμο δυσκολιας?

ειλικρινης απορια ξαναλεω


Title: Re: Π&Δ 2011 - Εργασία 1
Post by: ^^DaRk_HunTeR on November 19, 2011, 20:07:51 pm
μεχρι και MPI ετρεξα με cygwin... cuda δε δοκιμασα καν γιατι εχω ATI...

Native is always better...


Title: Re: Π&Δ 2011 - Εργασία 1
Post by: tomshare3 on November 20, 2011, 03:34:16 am
ηθελα χωρις διαθεση πραγματικα τωρα για flaming αλλα ετσι απο απορια

να μου απαντησει καποιος τι κανουμε με cygwin αμα θελουμε να τρεξουμε

cuda, βαζουμε πακετα για nvidia τι ακριβως και με ποιο βαθμο δυσκολιας?

ειλικρινης απορια ξαναλεω

δεν νομιζω οτι γινεται.. ετσι κ αλλιως cuda σε windows μπορεις να τρεξεις πολυ πιο ευκολα με visual studio!
btw.. ενας mod να καθαρισει το τοπικ απο τα οφ τοπικ!  :P


Title: Re: Π&Δ 2011 - Εργασία 1
Post by: jimmakos on November 21, 2011, 05:54:42 am
Ασχολήθηκε κανείς με την ερμηνεία του ζητουμένου: " Η επιλογή για το αν θα εμφανίζονται με σειρά κατάταξης αφήνεται σε εσάς" ;
που ακριβώς να εμφανίζονται; στο plotάρισμα; και τι πάει να πει σειρά κατάταξης, να αλλάζουμε χρώματα στις μπορμπουλήθρες αναλόγως του query που ανήκουν;


Title: Re: Π&Δ 2011 - Εργασία 1
Post by: san_zoulapi on November 21, 2011, 20:20:18 pm
Αν θα είναι σορταρισμένοι οι πίνακες που επιστρέφει η knns φαντάζομαι. Η selection του σειριακού τα αφήνει σε τυχαία σειρά


Title: Re: Π&Δ 2011 - Εργασία 1
Post by: arashi on November 22, 2011, 12:42:46 pm
Στα τοπικ 7ου οποιος ξαναγραψει greeklish απλα θα πηγαινει καδο


Title: Re: Π&Δ 2011 - Εργασία 1
Post by: Αιμιλία η φτερωτή χελώνα on November 23, 2011, 13:27:42 pm
http://www.yolinux.com/TUTORIALS/LinuxTutorialPosixThreads.html

νομιζω πως βοηθαει για ultra n00bz ^bagface^ :P

ΥΓ : οποιος θελει να μπει στην ομαδα μου, να υποβαλλει αιτηση.


Title: Re: Π&Δ 2011 - Εργασία 1
Post by: vasso on November 24, 2011, 16:17:16 pm
Είναι κάποιος καλός άνθρωπος που θα μπορούσε να με βοηθήσει να καταλάβω τι ζητάει να φτιάξουμε;

όχι το πώς να το φτιάξω, απλά τι μας ζητάει...


Title: Re: Π&Δ 2011 - Εργασία 1
Post by: arashi on November 24, 2011, 16:22:36 pm
ας ποσταρει καποιος και την εργασια εδω αν ειναι .... ::)


Title: Re: Π&Δ 2011 - Εργασία 1
Post by: Αιμιλία η φτερωτή χελώνα on November 24, 2011, 16:25:39 pm
θα βαλεις μια global μεταβλητη NUMTHREADS
αυτη θα μπορει να ειναι 1, 2, 4,  8, 16, 32, 64.
αντιστοιχα, θα φτιαχνεις τοσα pthreads,
που το καθενα τους θα τρεχει την compute_distance για ενα κομματι του χωρου των Ν στοιχειων,
στην οποια compute_distance, αν εχω καταλαβει καλα,
θα πρεπει να περνας σαν ορισμα μια struct που θα φτιαξεις, γιατι εχεις πολλα arguments.
βοηθαει; :P

να σε ρωτησω...επειδη ειδα οτι εγραφες και περσι στα τοπικ του μαθηματος....
πως και γραφεις και φετος; :???: :P ::) :-[


Title: Re: Π&Δ 2011 - Εργασία 1
Post by: vasso on November 24, 2011, 16:26:14 pm
Παράλληλα και Κατανεμημένα 2011
Θέμα 1ης Εργασίας
Ημερομηνία παράδοσης:  Δευτέρα 28 Νοεμβρίου 2011
Ποσοστό βαθμού: 25%


Γράψτε ένα πρόγραμμα σε Pthreads που να υπολογίζει τους k-
κοντινότερους γείτονες (k-nearest neighbors) q σημείων x που ανήκουν
σε χώρο d διαστάσεων (query) από ένα σύνολο n σημείων (data set).  Το
πρόγραμμά σας θα πρέπει να επιστρέφει τους k κοντινότερους γείτονες
για κάθε query.
 Η επιλογή για το αν θα εμφανίζονται με σειρά κατάταξης αφήνεται σε εσάς.

Κριτήριο για την εύρεση των γειτόνων αποτελεί η Ευκλείδεια απόσταση.  Για περισσότερες πληροφορίες σχετικά με τον
αλγόριθμο δείτε παρακάτω:   
http://en.wikipedia.org/wiki/K-nearest_neighbor_algorithm       

Το πρόγραμμά σας πρέπει να δουλεύει σωστά για n<2^20,  d ≤ 128,  k≤128 και q ≤ 2^10
, όπου n ο αριθμός των σημείων στο αρχικό σετ δεδομένων, d ο αριθμός των διαστάσεων, k ο αριθμός των ζητούμενων γειτόνων και q ο αριθμός των ερωτημάτων προς το σετ δεδομένων.   


Παραδώστε:   
1. Ένα κείμενο 3-4 σελίδων με απλή περιγραφή της μεθόδου
παραλληλισμού που υλοποιήσατε και σχόλια για την ταχύτητα
υπολογισμού με 1, 2, 4, 8, 16 , 32, 64 threads στο Διάδη, σε
σύγκριση το με το σειριακό πρόγραμμα που σας δίνεται.
2. Τον κώδικα του προγράμματος σας. 
Δεοντολογία:
Εάν χρησιμοποιήσετε κώδικες από το διαδίκτυο αναφέρετε τις πηγές σας
και επακριβώς τις αλλαγές που έχετε κάνει. 
Η παράδοση θα γίνει με e-mail στη διεύθυνση του διδάσκοντα. Το mail
θα πρέπει να έχει τίτλο “UGRAD-P&K1” και στο εσωτερικό να
αναφέρονται τα ονόματά σας.  Έχετε τη δυνατότητα να συνεργαστείτε σε
ομάδες των δύο ατόμων και να καταθέσετε μια εργασία, αλλά οι ρόλοι
των συνεργατών πρέπει να προσδιοριστούν.


Title: Re: Π&Δ 2011 - Εργασία 1
Post by: vasso on November 24, 2011, 16:28:15 pm
θα βαλεις μια global μεταβλητη NUMTHREADS
αυτη θα μπορει να ειναι 1, 2, 4,  8, 16, 32, 64.
αντιστοιχα, θα φτιαχνεις τοσα pthreads,
που το καθενα τους θα τρεχει την compute_distance για ενα κομματι του χωρου των Ν στοιχειων,
στην οποια compute_distance, αν εχω καταλαβει καλα,
θα πρεπει να περνας σαν ορισμα μια struct που θα φτιαξεις, γιατι εχεις πολλα arguments.
βοηθαει; :P

να σε ρωτησω...επειδη ειδα οτι εγραφες και περσι στα τοπικ του μαθηματος....
πως και γραφεις και φετος; :???: :P ::) :-[

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


Title: Re: Π&Δ 2011 - Εργασία 1
Post by: arashi on November 24, 2011, 16:37:21 pm
Προς τον Κυριο Γριφο

Προφανως οι μοντζ δεν τρολλαρουν και προφανως δεν εχουνε ethmmy

Βασω η εργασια δινοτανε και περσυ αλλα οχι σα πρωτη

ισως εχει καποιος κρατημενο τον κωδικα

γενικα αμα καταλαβεις τι κανει ο αλγορυθμος μετα ξεκινα να σκεφτεσαι

"πως θα το εκανα πιο γρηγορο παραλληλα"

τα δεδομενα εισοδου κτλ κτλ ειναι απλα θεμα κατανοησης του clustering κτλ κτλ

edit: Το σειριακο δε σας το δινει φετος??


Title: Re: Π&Δ 2011 - Εργασία 1
Post by: vasso on November 24, 2011, 16:38:37 pm
Προς τον Κυριο Γριφο

Προφανως οι μοντζ δεν τρολλαρουν και προφανως δεν εχουνε ethmmy

Βασω η εργασια δινοτανε και περσυ αλλα οχι σα πρωτη

ισως εχει καποιος κρατημενο τον κωδικα

γενικα αμα καταλαβεις τι κανει ο αλγορυθμος μετα ξεκινα να σκεφτεσαι

"πως θα το εκανα πιο γρηγορο παραλληλα"

τα δεδομενα εισοδου κτλ κτλ ειναι απλα θεμα κατανοησης του clustering κτλ κτλ

Ευχαριστώ, αυτό είχα σκοπό να κάνω... μόλις καταλάβω τι κάνει ο αλγόριθμος! :)
Τι κάνει;


Title: Re: Π&Δ 2011 - Εργασία 1
Post by: arashi on November 24, 2011, 16:39:41 pm
περα απο νιαου νιαου μαλλον clustering  ::)

ξεκινα απο το wiki  ;)


Title: Re: Π&Δ 2011 - Εργασία 1
Post by: Αιμιλία η φτερωτή χελώνα on November 24, 2011, 16:52:57 pm
δινεις τον αριθμο των N, Q, D, k


Title: Re: Π&Δ 2011 - Εργασία 1
Post by: Αιμιλία η φτερωτή χελώνα on November 24, 2011, 17:45:06 pm
pthreads & clustering?
wtf ^dontknow^
screw you guyz!!!! i'm going home!


Title: Re: Π&Δ 2011 - Εργασία 1
Post by: arashi on November 24, 2011, 19:34:17 pm
pthreads & clustering?
wtf ^dontknow^
screw you guyz!!!! i'm going home!

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

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

συζητα την διαδικασια της παραλληλοποιησης

ΕΠΙΣΗΣ εαν σκασει ο διδακτορικος για μαθημα θα σας την πει τη λυση στεγνα

προφανως θελουνε κ αυτοι να δουνε να παραδιδετε ολοι και να παιρνετε και βαθμο

απλα οποιος αντιγραφει χωρις quote καιγεται

παρατηρω δε πως στο reply #20 αναφερεις καποια πραματα, στρωσου γραφε λαιμαι!


Title: Re: Π&Δ 2011 - Εργασία 1
Post by: Αιμιλία η φτερωτή χελώνα on November 26, 2011, 23:14:49 pm
παρατηρω δε πως στο reply #20 αναφερεις καποια πραματα, στρωσου γραφε λαιμαι!
@@....


το χει καταφερει καποιος με mutex και counter?


Title: Re: Π&Δ 2011 - Εργασία 1
Post by: Pascuale on November 27, 2011, 17:58:16 pm
Καλησπέρα!! Να κανω μια ερωτηση σχετικα με το Matlab:

ΠΩΣ ΒΛΕΠΩ ΔΙΑΓΡΑΜΜΑΤΑ απο .bin αρχεία??????? :o

ειναι νομιζω ένα script με την εντολή plot αλλά δεν γνωρίζω τιποτα παραπανω(οπως το πως θα γινει! :D)...


Title: Re: Π&Δ 2011 - Εργασία 1
Post by: Αιμιλία η φτερωτή χελώνα on November 27, 2011, 21:25:28 pm
παρακαλειται ο smpontom να μη μας γαμαει τον Διαδη, ας βγει για μια μπυρα!
700+ % CPU τρως συναδελφε....
ασε λιγο και για μας! ;D


Title: Re: Π&Δ 2011 - Εργασία 1
Post by: spirosbond on November 28, 2011, 02:04:10 am
smpontom:
 ^beer^

ΟΛΟΙ ΕΞΩ.. ΞΑΝΑΜΠΑΙΝΩ...
ΠΑΩ ΓΙΑ ΤΑ 800++

beware....


Title: Re: Π&Δ 2011 - Εργασία 1
Post by: Αιμιλία η φτερωτή χελώνα on November 28, 2011, 02:11:49 am
ποσο την εχεις πια??? ( την επιταχυνση )


Title: Re: Π&Δ 2011 - Εργασία 1
Post by: spirosbond on November 28, 2011, 02:32:11 am
2^19...


Title: Re: Π&Δ 2011 - Εργασία 1
Post by: Αιμιλία η φτερωτή χελώνα on November 28, 2011, 02:34:11 am
(http://s3-ec.buzzfed.com/static/imagebuzz/web03/2011/5/12/0/o-rly-21315-1305173764-30.jpg)


Title: Re: Π&Δ 2011 - Εργασία 1
Post by: matrix on November 28, 2011, 19:47:26 pm
Έχω μια απορία με το compile. Δοκίμασα να κάνω compile μόνο το knns.c και βγάζει error για απώλεια main.Πήγα στο makefile και πρόσθεσα στη γραμμή για το knns.c -c -lpthread και δεν μου αναγνωρίζει την pthread_create & pthread-join. Που έ κάνει την πατάτα ???


Title: Re: Π&Δ 2011 - Εργασία 1
Post by: Αιμιλία η φτερωτή χελώνα on November 28, 2011, 19:51:15 pm
include pthread.h εκανες; :P


Title: Re: Π&Δ 2011 - Εργασία 1
Post by: matrix on November 28, 2011, 19:56:48 pm
Στο knns.c ? ναι εννοείται έκανα...στο makefile τι πρέπει να πειράξω για να τρέξει?


Title: Re: Π&Δ 2011 - Εργασία 1
Post by: geor on November 28, 2011, 20:41:49 pm
στο makefile το -lphtread πρέπει να το βάλεις στον λίνκερ. Δηλαδή εδώ:
$(CC) knnTest.o knns.o -o knnTest -lpthread


Title: Re: Π&Δ 2011 - Εργασία 1
Post by: Αγόρι on November 28, 2011, 21:32:07 pm
diades is on fire

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


Title: Re: Π&Δ 2011 - Εργασία 1
Post by: matrix on November 28, 2011, 23:50:40 pm
στο makefile το -lphtread πρέπει να το βάλεις στον λίνκερ. Δηλαδή εδώ:
$(CC) knnTest.o knns.o -o knnTest -lpthread

Είσαι μεγάλος παιχταράς!!! Ευχαριστώ ;)


Title: Re: Π&Δ 2011 - Εργασία 1
Post by: ΚΗΜΜΥ on November 29, 2011, 01:12:53 am

Γιατι το cygwin δεν καταλαβαινει εντολες για κανενα λογο! :D


Title: Re: Π&Δ 2011 - Εργασία 1
Post by: Αγόρι on November 29, 2011, 02:18:21 am
να κανω μια παρατηρηση επειδη βλεπω οτι πολλες φορες η ram γεμιζει, ξεκιναει να χρησιμοποιειται το swap κατα πολυ και αυτη η κατασταση να παραμενει για πολυ ωρα(πριν λιγο καποιος το αφησε μια ολοκληρη ωρα).

σε αυτην την κατασταση οι cpu κανουν συχνα wait οποτε δεν εχει νοημα να παρει κανει αποτελεσματα, οποτε απλα καθυστερει το ολο πραγμα για να κανει μια τρυπα στο νερο

σε κανονικες συνθηκες δεν πρεπει να μπαινει στο swap ουτως η αλλως, αυτο συμβαινει συνηθως αν καποιος παει να βαλλει N = 2^20 και ολα τα αλλα οπως τα λεει η εκφωνιση, Αυτο που καταλαβα και απο το τελευταιο μαθημα ειναι οτι λιγο πολυ η εκφωνιση επρεπε να ειναι 2^19
 
εδιτ: υπαρχει και αυτο: https://mug7.ee.auth.gr/ganglia/?c=diades (https://mug7.ee.auth.gr/ganglia/?c=diades)


Title: Re: Π&Δ 2011 - Εργασία 1
Post by: diutinus on November 29, 2011, 02:56:05 am
Καλά, ας το πάμε και μέχρι 2^18, δν παίζει και τόσο θέμα. Από το να του πετάξουμε τα μάτια έξω και να μην κάνει κανείς δουλειά, καλύτερα.