[Advcomparch] Το run-sniper δεν αναγνωρίζει το εκτελέσιμο

Nikos Anastopoulos anastop at cslab.ece.ntua.gr
Wed Jun 26 01:20:31 EEST 2013


Καλησπέρα,

On 06/25/2013 06:26 PM, Lambros Flokas wrote:
> Αυτό που βλέπω όμως στο TAS είναι αρκετά διαφορετικό.Όταν φτάνουμε στους
> 32 πυρήνες ο χρόνος προσομοίωσης γίνεται πολύ μεγαλύτερος,φτάνει μέχρι
> και τα 2600 δευτερόλεπτα .Θεωρητικά καταλαβαίνω ότι αναμένουμε μια
> τέτοια τάση απλά η τάξη μεγέθους με προβληματίζει μήπως δεν έχω γράψει
> σωστά τις συναρτήσεις.
Όπως εξήγησα και στο προηγούμενο mail, αφενός ο χρόνος αυτός δεν είναι 
"παράλογος", αφετέρου δεν είναι αναγκαστικό ότι ο χρόνος προσομοίωσης θα 
αυξάνεται γραμμικά με τον αριθμό των threads, αλλά ενίοτε χειρότερα από 
αυτό.

> Καταλαβαίνω ότι αν είχα κάνει κάποιο λάθος τότε είτε θα τέλειωνε πολύ
> γρήγορα γιατί θα έπαιρναν πάνω από ένας το κλειδί είτε δεν θα τέλειωνε
> ποτέ γιατί κανείς δεν παίρνει το κλειδί ή κανείς δεν το απελευθερώνει
> απλά δεν περίμενα τόσο μεγάλη κλιμάκωση και για αυτό αναρωτιέμαι αν έχω
> κάνει λάθος .
Αν η εκτέλεσή σου δεν τελείωνε ποτέ, και δεν έφταιγε τιποτε άλλο πέρα 
από την υλοποίηση των locks, τότε σιγουρα υπάρχει λάθος στην υλοποίηση 
που οδηγεί σε deadlock, δηλαδη γενικό μπλοκάρισμα της εκτέλεσης.

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

Ο έλεγχος ορθότητας μιας υλοποίησης locks δεν ειναι απλή υπόθεση. Η 
τυπικη διαδικασία είναι να ελέγχετε βήμα-προς-βήμα τις επιμερους 
στοιχειωδεις λειτουργίες που απαρτιζουν μια υλοποίηση lock ή unlock, 
ώστε να εντοπίσετε περιπτώσεις και σενάρια παράλληλης εκτέλεσης που 
οδηγούν σε ανεπιθύμητες συμπεριφορές, όπως deadlock ή ταυτόχρονη είσοδο 
στην κρισιμη περιοχη απο 2 ή περισσότερα νήματα.
Ένας άλλος τρόπος, που ναι μεν δεν εγγυάται πλήρως την ορθότητα, απλά 
αποτελεί μια *ένδειξη* αυτής, είναι ο εμπειρικός. Π.χ., θεωρείτε ότι 
στην κρισιμη περιοχή γινεται η αύξηση μιας μεταβλητής κοινής για ολα τα 
threads (x++). Αν το αποτέλεσμα που παιρνετε τελικα για το x δεν ειναι 
αυτο που αναμένετε θεωρητικά, τότε σίγουρα υπαρχει λάθος στην υλοποιηση 
των locks. Διαφορετικά, τότε *ίσως* η υλοποίησή σας είναι σωστή. Γενικά, 
σε τετοιες περιπτωσεις καλο ειναι να χρησιμοποιειτε σενάρια εκτέλεσης 
που "στρεσσάρουν" την είσοδο στην κρισιμη περιοχή, όπως αρκετά μεγάλο 
αριθμό νηματων, μεγάλο αριθμό επαναλήψεων και εκτέλεση σε πραγματικό 
συστημα.

Ν.

>
>
> 2013/6/25 Nikos Anastopoulos <anastop at cslab.ece.ntua.gr
> <mailto:anastop at cslab.ece.ntua.gr>>
>
>     On 06/25/2013 04:47 PM, Lambros Flokas wrote:
>
>         Ναι αυτό φαίνεται να ήταν το πρόβλημα.Αυτό που παρατηρώ είναι ότι
>         τουλάχιστον στο mutex που ξεκίνησα είναι πολύ γρήγορες οι
>         προσομοιώσεις
>            από  20 δευτερόλεπτα μέχρι 120.Φυσιολογικό δεν είναι αυτό;
>
>
>     Είναι φυσιολογικό να διαρκούν τόσο χρόνο, καθώς το πλήθος των
>     επαναλήψεων (1000) είναι αρκετά μικρό ώστε να ολοκληρώνεται σχετικά
>     γρήγορα η εκτέλεση, και από την άλλη αρκετά μεγάλο ώστε να βγαίνουν
>     ασφαλή συμπεράσματα από την προσομοίωση μιας επαναληπτικής
>     διαδικασίας. Φυσικά, καθώς μεγαλώνει ο αριθμός των threads ή το
>     μέγεθος της κρίσιμης περιοχής (grain size), θα μεγαλώνει και ο
>     χρόνος προσομοίωσης.
>
>     Ν.
>
>
>
>         2013/6/25 Nikos Anastopoulos <anastop at cslab.ece.ntua.gr
>         <mailto:anastop at cslab.ece.ntua.gr>
>         <mailto:anastop at cslab.ece.__ntua.gr
>         <mailto:anastop at cslab.ece.ntua.gr>>>
>
>
>              On 06/25/2013 03:27 PM, Lambros Flokas wrote:
>
>                  Τώρα απλά μου εμφανίζει το usage χωρίς το not
>         recognised που
>                  είχε πριν.
>                  Εμπλούτισα την εντολή με directory για τα αποτελέσματα
>         αλλά τίποτα
>                  #!/bin/bash
>                  BENCHMARKS_ROOT="$HOME/____advcomparch/benchmarks"
>                  GRAPHITE_ROOT="$HOME/____advcomparch/sniper"
>                  conf=$GRAPHITE_ROOT/config/____ask3.cfg
>                  $BENCHMARKS_ROOT/run-sniper -c $conf -n 1 -d
>                  $BENCHMARKS_ROOT/mutex.sim
>                  -- $BENCHMARKS_ROOT/locks_mutex 1 1000 1
>
>
>              Θα πρέπει να χρησιμοποιήσεις το εκτελέσιμο run-sniper που
>         υπάρχει
>              στον κατάλογο $GRAPHITE_ROOT.
>              Δηλαδή αλλάζεις την τελευταία εντολή παραπάνω σε:
>              $GRAPHITE_ROOT/run-sniper -c $conf -n 1 -d
>         $BENCHMARKS_ROOT/mutex.sim
>
>                -- $BENCHMARKS_ROOT/locks_mutex 1 1000 1
>
>              Γενικά, εφόσον δεν χρησιμοποιείτε κάποιο από τα έτοιμα
>         benchmarks
>              που έχει ο sniper, δεν υπάρχει λόγος χρήσης του directory
>              $BENCHMARKS_ROOT, τόσο για την αποθήκευση των εκτελέσιμων
>         όσο και
>              του simulation output. Θα πρότεινα επομένως να χρησιμοποιήσετε
>              κάποιο δικό σας, ξεχωριστό directory.
>
>              Ν.
>
>
>
>
>
>                  2013/6/25 Nikos Anastopoulos <anastop at cslab.ece.ntua.gr
>         <mailto:anastop at cslab.ece.ntua.gr>
>                  <mailto:anastop at cslab.ece.__ntua.gr
>         <mailto:anastop at cslab.ece.ntua.gr>>
>                  <mailto:anastop at cslab.ece.
>         <mailto:anastop at cslab.ece.>__nt__ua.gr <http://ntua.gr>
>
>                  <mailto:anastop at cslab.ece.__ntua.gr
>         <mailto:anastop at cslab.ece.ntua.gr>>>>
>
>
>                       Καλησπέρα,
>
>                       Υποθέτω ότι το πρόβλημά σου οφείλεται στο ότι μετά
>         το '--' δεν
>                       αφήνεις κενό.
>                       Δηλαδή: $BENCHMARKS_ROOT/run-sniper -c $conf -n 1 --
>                       $BENCHMARKS_ROOT/locks_mutex  1 1000 1
>
>                       Ν.
>
>
>                       On 06/25/2013 02:52 PM, Lambros Flokas wrote:
>
>                           Έχω το ακόλουθο script
>                           #!/bin/bash
>
>           BENCHMARKS_ROOT="$HOME/______advcomparch/benchmarks"
>                           GRAPHITE_ROOT="$HOME/______advcomparch/sniper"
>                           conf=$GRAPHITE_ROOT/config/______ask3.cfg
>
>
>                           $BENCHMARKS_ROOT/run-sniper -c $conf -n 1
>                           --$BENCHMARKS_ROOT/locks_mutex
>                           1 1000 1
>                           και το locks_mutex όντως βρίσκεται στο
>         benchmarks root
>                    αλλά όλο μου
>                           πετά το από κάτω μήνυμα
>                           option
>                  --/home/user/advcomparch/______benchmarks/locks_mutex not
>
>
>                           recognized
>                           και μετά μου λέει οδηγίες για την σύνταξη της
>         εντολής
>                           Έχω διαβάσει την προηγούμενη απορία επί του
>         θέματος στη
>                  λίστα
>                           αλλά δε
>                           βοήθησε και πιστεύω ότι ακολουθώ την προτροπή
>         της σελίδας 4
>                           Ευχαριστώ εκ των προτέρων
>
>
>
>           _____________________________________________________
>                           Advcomparch mailing list
>                           Advcomparch at lists.cslab.ece.______ntua.gr
>         <http://ntua.gr> <http://ntua.gr>
>                           <mailto:Advcomparch at lists.
>         <mailto:Advcomparch at lists.>__cs__lab.ece.ntua.gr
>         <http://cslab.ece.ntua.gr>
>                  <mailto:Advcomparch at lists.__cslab.ece.ntua.gr
>         <mailto:Advcomparch at lists.cslab.ece.ntua.gr>>>
>         http://lists.cslab.ece.ntua.______gr/mailman/listinfo/______advcomparch
>
>
>
>
>         <http://lists.cslab.ece.ntua.____gr/mailman/listinfo/____advcomparch
>
>         <http://lists.cslab.ece.ntua.__gr/mailman/listinfo/__advcomparch
>         <http://lists.cslab.ece.ntua.gr/mailman/listinfo/advcomparch>>>
>
>
>
>                       --
>                       Dr. Nikos Anastopoulos
>
>                       Research Associate
>                       National Technical University of Athens (NTUA)
>                       School of Electrical and Computer Engineering
>                       Computing Systems Laboratory
>
>                       e-mail: anastop at cslab.ece.ntua.gr
>         <mailto:anastop at cslab.ece.ntua.gr>
>                  <mailto:anastop at cslab.ece.__ntua.gr
>         <mailto:anastop at cslab.ece.ntua.gr>>
>                  <mailto:anastop at cslab.ece.
>         <mailto:anastop at cslab.ece.>__nt__ua.gr <http://ntua.gr>
>
>                  <mailto:anastop at cslab.ece.__ntua.gr
>         <mailto:anastop at cslab.ece.ntua.gr>>>
>                       Tel: +30-210-7724159 <tel:%2B30-210-7724159>
>         <tel:%2B30-210-7724159>
>                  <tel:%2B30-210-7724159>
>
>
>
>
>
>
>                  ___________________________________________________
>                  Advcomparch mailing list
>                  Advcomparch at lists.cslab.ece.____ntua.gr <http://ntua.gr>
>                  <mailto:Advcomparch at lists.__cslab.ece.ntua.gr
>         <mailto:Advcomparch at lists.cslab.ece.ntua.gr>>
>         http://lists.cslab.ece.ntua.____gr/mailman/listinfo/____advcomparch
>
>         <http://lists.cslab.ece.ntua.__gr/mailman/listinfo/__advcomparch
>         <http://lists.cslab.ece.ntua.gr/mailman/listinfo/advcomparch>>
>
>
>
>              --
>              Dr. Nikos Anastopoulos
>
>              Research Associate
>              National Technical University of Athens (NTUA)
>              School of Electrical and Computer Engineering
>              Computing Systems Laboratory
>
>              e-mail: anastop at cslab.ece.ntua.gr
>         <mailto:anastop at cslab.ece.ntua.gr>
>         <mailto:anastop at cslab.ece.__ntua.gr
>         <mailto:anastop at cslab.ece.ntua.gr>>
>              Tel: +30-210-7724159 <tel:%2B30-210-7724159>
>         <tel:%2B30-210-7724159>
>
>
>
>
>         _________________________________________________
>         Advcomparch mailing list
>         Advcomparch at lists.cslab.ece.__ntua.gr
>         <mailto:Advcomparch at lists.cslab.ece.ntua.gr>
>         http://lists.cslab.ece.ntua.__gr/mailman/listinfo/__advcomparch
>         <http://lists.cslab.ece.ntua.gr/mailman/listinfo/advcomparch>
>
>
>
>
>
>
> _______________________________________________
> Advcomparch mailing list
> Advcomparch at lists.cslab.ece.ntua.gr
> http://lists.cslab.ece.ntua.gr/mailman/listinfo/advcomparch
>

-- 
Dr. Nikos Anastopoulos

Research Associate
National Technical University of Athens (NTUA)
School of Electrical and Computer Engineering
Computing Systems Laboratory

e-mail: anastop at cslab.ece.ntua.gr
Tel: +30-210-7724159


More information about the Advcomparch mailing list