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

Lambros Flokas lamflokas at gmail.com
Wed Jun 26 10:39:31 EEST 2013


Και εγώ κάτι τέτοιο περίμενα για τον έλεγχο των lock.Πρακτικά δεδομένου ότι
δεν έχω deadlock το μόνο που μου μένει είναι να ελέγξω είναι αν το κρίσιμο
τμήμα της κάθε συνάρτησης που φτιάχνω εκτελείται ατομικά έτσι δεν
είναι;Τυπικά νομίζω ότι το κάνω αυτό αλλά επειδή πρώτη φορά αντιμετωπίζω
κάτι τέτοιο δεν είμαι πολύ σίγουρος.Βέβαια δεν δοκίμασα αυτό που λέτε με
την εκτέλεση γιατί δεν είχα διαθέσιμο κάποιο πρόγραμμα.Βλέπω όμως στο locks
scalability ότι υπάρχει το compile time directive debug.Μπορεί να μας
βοηθήσει αυτό για να βρούμε τα πιθανά λάθη ;
Θα ήθελα να ρωτήσω και κάτι ακόμα για τα προγράμματα που θα εκτελέσουμε στο
vm
Πρώτον δεν καταλαβαίνω στην εντολή που προτείνεται ποιο είναι το πρόγραμμα
που μεταγλωττίζουμε γιατί βλέπω μόνο ένα lock.tas και όχι το
lockscalability.c και μου φαίνεται περίεργο.
Δεύτερον από ότι καταλαβαίνω το εκτελέσιμο που θα βγει θα το εκτελέσουμε
από το terminal χωρίς τον sniper έτσι δεν είναι;
Τρίτον το ίδιο το εκτελέσιμο θα μας δώσει το χρόνο στην ROI από μόνου του
στο terminal και εμείς απλά θα το αντιγράφουμε για τα στατιστικά μας ή
πρέπει να κάνουμε και κάτι άλλο;
Ευχαριστώ και πάλι για την βοήθεια.


2013/6/26 Nikos Anastopoulos <anastop at cslab.ece.ntua.gr>

> Καλησπέρα,
>
>
> 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 <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 <anastop at cslab.ece.ntua.gr>>
>>         <mailto:anastop at cslab.ece.__nt**ua.gr <http://ntua.gr>
>>
>>         <mailto:anastop at cslab.ece.**ntua.gr <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 <anastop at cslab.ece.ntua.gr>>
>>                  <mailto:anastop at cslab.ece.__nt**ua.gr <http://ntua.gr>
>>         <mailto:anastop at cslab.ece.**ntua.gr <anastop at cslab.ece.ntua.gr>>>
>>                  <mailto:anastop at cslab.ece.
>>         <mailto:anastop at cslab.ece.>__n**t__ua.gr <http://nt__ua.gr> <
>> http://ntua.gr>
>>
>>
>>                  <mailto:anastop at cslab.ece.__nt**ua.gr <http://ntua.gr>
>>         <mailto:anastop at cslab.ece.**ntua.gr <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.>__c**s__lab.ece.ntua.gr<http://cs__lab.ece.ntua.gr>
>>         <http://cslab.ece.ntua.gr>
>>                  <mailto:Advcomparch at lists.__cs**lab.ece.ntua.gr<http://cslab.ece.ntua.gr>
>>         <mailto:Advcomparch at lists.**cslab.ece.ntua.gr<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<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 <anastop at cslab.ece.ntua.gr>>
>>                  <mailto:anastop at cslab.ece.__nt**ua.gr <http://ntua.gr>
>>         <mailto:anastop at cslab.ece.**ntua.gr <anastop at cslab.ece.ntua.gr>>>
>>                  <mailto:anastop at cslab.ece.
>>         <mailto:anastop at cslab.ece.>__n**t__ua.gr <http://nt__ua.gr> <
>> http://ntua.gr>
>>
>>
>>                  <mailto:anastop at cslab.ece.__nt**ua.gr <http://ntua.gr>
>>         <mailto:anastop at cslab.ece.**ntua.gr <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.__cs**lab.ece.ntua.gr<http://cslab.ece.ntua.gr>
>>         <mailto:Advcomparch at lists.**cslab.ece.ntua.gr<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 <anastop at cslab.ece.ntua.gr>>
>>         <mailto:anastop at cslab.ece.__nt**ua.gr <http://ntua.gr>
>>         <mailto:anastop at cslab.ece.**ntua.gr <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 <http://ntua.gr>
>>         <mailto:Advcomparch at lists.**cslab.ece.ntua.gr<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>
>> >
>>
>>
>>
>>
>>
>>
>> ______________________________**_________________
>> Advcomparch mailing list
>> Advcomparch at lists.cslab.ece.**ntua.gr<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>
>>
>>
> --
> 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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cslab.ece.ntua.gr/pipermail/advcomparch/attachments/20130626/6dfdea65/attachment-0001.htm>


More information about the Advcomparch mailing list