THMMY.gr

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



Title: [Problems]Cygwin pthreads windows 64-bit
Post by: DoomGuard on November 23, 2010, 18:42:03 pm
Από mail Που έστειλα στον καθηγητή και είπε να το αναρτήσω και εδώ σε περίπτωση που έχουν και άλλοι το ίδιο προβλημα.
Quote
θα ήθελα να σας αναφέρω ότι τα Pthread για  windows δεν δουλεύουν σωστά.
Δεν χρησιμοποιούν το 100% της cpu αλλά μόνον ένα πυρήνα με αποτέλεσμα να είναι πιο αργό το πρόγραμμα που τα χρησιμοποιεί.
Το ίδιο παράπονο άκουσα και από ένα ακόμα συνάδελφο.
Ενώ το ίδιο πρόγραμμα σε linux τρέχει κανονικά και χρησιμοποιεί όλους τους διαθέσιμους πυρήνες

Υποψιάζομαι πώς μπορεί να φταίει ότι το cygwin είναι 32 bit ενώ τα windows μου 64bit και να υπάρχει κάποιο πρόβλημα συμβατότητας.

Επίσης χωρίς κανένα λόγο το παραπάνω πρόγραμμα εκπέμπει ένα σήμα SIGABRT σε windows που κάνει το thread της main να κρασάρει.
Το ίδιο πρόγραμμα σε linux δεν εκπέμπει κανένα σήμα.
Αναγκάστηκα να βάλω στην main έναν signal handler για να μπορεί να ολοκληρωθεί η εκτέλεση.


Title: Re: [Problems]Cygwin pthreads windows 64-bit
Post by: vasso on November 23, 2010, 18:58:42 pm
δεν έχει εμφανίσει τέτοιο πρόβλημα σε 32-άbita windows (7) και απ' ότι καταλαβαίνω από κάποιους χρόνους, χρησιμοποιεί και τους δύο πυρήνες του υπολογιστή μου...

Το περίεργο της υπόθεσης είναι ότι σε 2 πυρήνες, τα 2^5 νήματα κάνουν την πιο γρήγορη εκτέλεση... δεν ακούγονται πολλά;


Title: Re: [Problems]Cygwin pthreads windows 64-bit
Post by: SolidSNK on November 23, 2010, 19:29:23 pm
Δεν μπορείς να ξέρεις αν, κατά πόσο, και με ποιο τρόπο η υλοποίηση pthreads στο cygwin κάθεται στα threads του πυρήνα των windows... εκτός και αν το κοιτάξεις μόνος σου στον κώδικα.


Title: Re: [Problems]Cygwin pthreads windows 64-bit
Post by: vasso on November 23, 2010, 19:37:54 pm
ok then


Title: Re: [Problems]Cygwin pthreads windows 64-bit
Post by: ^^DaRk_HunTeR on November 24, 2010, 02:04:45 am
Αυτο που μπορεις να δεις ειναι μεσω του Task Manager ----> Perfomance
δηλ. το (%) CPU usage... και αν και κατα ποσο το load κατανεμεται στις CPU του PCιου σου...

Στα 7αρια επισης υπαρχει και η επιλογη Resource Monitor που σου τα λεει πιο αναλυτικα...

Οποτε πχ στο δικο μου το πισι βλεπω κατα ποσο τα 8 threads που εστω δημιουργουνται μεσω του Cygwin κατανεμονται στις 8 (virtual - HT Technology) CPU που εχω...

PS: ο Διαδης ειναι απο οσο θυμαμαι τετραπυρηνος με HT(δηλ. μπορει να διαχειριστει μεχρι και 8 threads παραλληλα)... και συνδεεσαι σε αυτον απομακρυσμενα για να testareis τις εργασιες σου...