Έχω το ακόλουθο 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 Ευχαριστώ εκ των προτέρων
Καλησπέρα,
Υποθέτω ότι το πρόβλημά σου οφείλεται στο ότι μετά το '--' δεν αφήνεις κενό. Δηλαδή: $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@lists.cslab.ece.ntua.gr http://lists.cslab.ece.ntua.gr/mailman/listinfo/advcomparch
Τώρα απλά μου εμφανίζει το 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
2013/6/25 Nikos Anastopoulos anastop@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@lists.cslab.ece.**ntua.grAdvcomparch@lists.cslab.ece.ntua.gr http://lists.cslab.ece.ntua.**gr/mailman/listinfo/**advcomparchhttp://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@cslab.ece.ntua.gr Tel: +30-210-7724159
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@cslab.ece.ntua.gr mailto:anastop@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@lists.cslab.ece.__ntua.gr <mailto:Advcomparch@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@cslab.ece.ntua.gr <mailto:anastop@cslab.ece.ntua.gr> Tel: +30-210-7724159 <tel:%2B30-210-7724159>
Advcomparch mailing list Advcomparch@lists.cslab.ece.ntua.gr http://lists.cslab.ece.ntua.gr/mailman/listinfo/advcomparch
Ναι αυτό φαίνεται να ήταν το πρόβλημα.Αυτό που παρατηρώ είναι ότι τουλάχιστον στο mutex που ξεκίνησα είναι πολύ γρήγορες οι προσομοιώσεις από 20 δευτερόλεπτα μέχρι 120.Φυσιολογικό δεν είναι αυτό;
2013/6/25 Nikos Anastopoulos anastop@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@cslab.ece.ntua.gr <mailto:anastop@cslab.ece.**ntua.gr anastop@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@lists.cslab.ece.__**ntua.gr <http://ntua.gr> <mailto:Advcomparch@lists.**cslab.ece.ntua.gr<Advcomparch@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@cslab.ece.ntua.gr <mailto:anastop@cslab.ece.**ntua.gr<anastop@cslab.ece.ntua.gr>Tel: +30-210-7724159 <tel:%2B30-210-7724159>______________________________**_________________ Advcomparch mailing list Advcomparch@lists.cslab.ece.**ntua.grAdvcomparch@lists.cslab.ece.ntua.gr http://lists.cslab.ece.ntua.**gr/mailman/listinfo/**advcomparchhttp://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@cslab.ece.ntua.gr Tel: +30-210-7724159
On 06/25/2013 04:47 PM, Lambros Flokas wrote:
Ναι αυτό φαίνεται να ήταν το πρόβλημα.Αυτό που παρατηρώ είναι ότι τουλάχιστον στο mutex που ξεκίνησα είναι πολύ γρήγορες οι προσομοιώσεις από 20 δευτερόλεπτα μέχρι 120.Φυσιολογικό δεν είναι αυτό;
Είναι φυσιολογικό να διαρκούν τόσο χρόνο, καθώς το πλήθος των επαναλήψεων (1000) είναι αρκετά μικρό ώστε να ολοκληρώνεται σχετικά γρήγορα η εκτέλεση, και από την άλλη αρκετά μεγάλο ώστε να βγαίνουν ασφαλή συμπεράσματα από την προσομοίωση μιας επαναληπτικής διαδικασίας. Φυσικά, καθώς μεγαλώνει ο αριθμός των threads ή το μέγεθος της κρίσιμης περιοχής (grain size), θα μεγαλώνει και ο χρόνος προσομοίωσης.
Ν.
2013/6/25 Nikos Anastopoulos <anastop@cslab.ece.ntua.gr mailto:anastop@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@cslab.ece.ntua.gr <mailto:anastop@cslab.ece.ntua.gr> <mailto:anastop@cslab.ece.__ntua.gr <mailto:anastop@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@lists.cslab.ece.____ntua.gr <http://ntua.gr> <mailto:Advcomparch@lists.__cslab.ece.ntua.gr <mailto:Advcomparch@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@cslab.ece.ntua.gr <mailto:anastop@cslab.ece.ntua.gr> <mailto:anastop@cslab.ece.__ntua.gr <mailto:anastop@cslab.ece.ntua.gr>> Tel: +30-210-7724159 <tel:%2B30-210-7724159> <tel:%2B30-210-7724159> _________________________________________________ Advcomparch mailing list Advcomparch@lists.cslab.ece.__ntua.gr <mailto:Advcomparch@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@cslab.ece.ntua.gr <mailto:anastop@cslab.ece.ntua.gr> Tel: +30-210-7724159 <tel:%2B30-210-7724159>
Advcomparch mailing list Advcomparch@lists.cslab.ece.ntua.gr http://lists.cslab.ece.ntua.gr/mailman/listinfo/advcomparch
Αυτό που βλέπω όμως στο TAS είναι αρκετά διαφορετικό.Όταν φτάνουμε στους 32 πυρήνες ο χρόνος προσομοίωσης γίνεται πολύ μεγαλύτερος,φτάνει μέχρι και τα 2600 δευτερόλεπτα .Θεωρητικά καταλαβαίνω ότι αναμένουμε μια τέτοια τάση απλά η τάξη μεγέθους με προβληματίζει μήπως δεν έχω γράψει σωστά τις συναρτήσεις. Καταλαβαίνω ότι αν είχα κάνει κάποιο λάθος τότε είτε θα τέλειωνε πολύ γρήγορα γιατί θα έπαιρναν πάνω από ένας το κλειδί είτε δεν θα τέλειωνε ποτέ γιατί κανείς δεν παίρνει το κλειδί ή κανείς δεν το απελευθερώνει απλά δεν περίμενα τόσο μεγάλη κλιμάκωση και για αυτό αναρωτιέμαι αν έχω κάνει λάθος .
2013/6/25 Nikos Anastopoulos anastop@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@cslab.ece.ntua.gr <mailto:anastop@cslab.ece.**ntua.gr anastop@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@cslab.ece.ntua.gr <mailto:anastop@cslab.ece.**ntua.gr <anastop@cslab.ece.ntua.gr>> <mailto:anastop@cslab.ece.__nt**ua.gr <http://ntua.gr> <mailto:anastop@cslab.ece.**ntua.gr <anastop@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@lists.cslab.ece.__**__ntua.gr <http://ntua.gr%3E <mailto:Advcomparch@lists.__cs**lab.ece.ntua.grhttp://cslab.ece.ntua.gr <mailto:Advcomparch@lists.**cslab.ece.ntua.grAdvcomparch@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/**advcomparchhttp://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@cslab.ece.ntua.gr <mailto:anastop@cslab.ece.**ntua.gr <anastop@cslab.ece.ntua.gr>> <mailto:anastop@cslab.ece.__nt**ua.gr <http://ntua.gr> <mailto:anastop@cslab.ece.**ntua.gr <anastop@cslab.ece.ntua.gr>>> Tel: +30-210-7724159 <tel:%2B30-210-7724159> <tel:%2B30-210-7724159> ______________________________**___________________ Advcomparch mailing list Advcomparch@lists.cslab.ece.__**ntua.gr <http://ntua.gr> <mailto:Advcomparch@lists.**cslab.ece.ntua.gr<Advcomparch@lists.cslab.ece.ntua.gr>http://lists.cslab.ece.ntua.__**gr/mailman/listinfo/__**advcomparch <http://lists.cslab.ece.ntua.**gr/mailman/listinfo/**advcomparchhttp://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@cslab.ece.ntua.gr <mailto:anastop@cslab.ece.**ntua.gr<anastop@cslab.ece.ntua.gr>Tel: +30-210-7724159 <tel:%2B30-210-7724159>______________________________**_________________ Advcomparch mailing list Advcomparch@lists.cslab.ece.**ntua.grAdvcomparch@lists.cslab.ece.ntua.gr http://lists.cslab.ece.ntua.**gr/mailman/listinfo/**advcomparchhttp://lists.cslab.ece.ntua.gr/mailman/listinfo/advcomparch
Καλησπέρα,
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@cslab.ece.ntua.gr mailto:anastop@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@cslab.ece.ntua.gr <mailto:anastop@cslab.ece.ntua.gr> <mailto:anastop@cslab.ece.__ntua.gr <mailto:anastop@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@cslab.ece.ntua.gr <mailto:anastop@cslab.ece.ntua.gr> <mailto:anastop@cslab.ece.__ntua.gr <mailto:anastop@cslab.ece.ntua.gr>> <mailto:anastop@cslab.ece. <mailto:anastop@cslab.ece.>__nt__ua.gr <http://ntua.gr> <mailto:anastop@cslab.ece.__ntua.gr <mailto:anastop@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@lists.cslab.ece.______ntua.gr <http://ntua.gr> <http://ntua.gr> <mailto:Advcomparch@lists. <mailto:Advcomparch@lists.>__cs__lab.ece.ntua.gr <http://cslab.ece.ntua.gr> <mailto:Advcomparch@lists.__cslab.ece.ntua.gr <mailto:Advcomparch@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@cslab.ece.ntua.gr <mailto:anastop@cslab.ece.ntua.gr> <mailto:anastop@cslab.ece.__ntua.gr <mailto:anastop@cslab.ece.ntua.gr>> <mailto:anastop@cslab.ece. <mailto:anastop@cslab.ece.>__nt__ua.gr <http://ntua.gr> <mailto:anastop@cslab.ece.__ntua.gr <mailto:anastop@cslab.ece.ntua.gr>>> Tel: +30-210-7724159 <tel:%2B30-210-7724159> <tel:%2B30-210-7724159> <tel:%2B30-210-7724159> ___________________________________________________ Advcomparch mailing list Advcomparch@lists.cslab.ece.____ntua.gr <http://ntua.gr> <mailto:Advcomparch@lists.__cslab.ece.ntua.gr <mailto:Advcomparch@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@cslab.ece.ntua.gr <mailto:anastop@cslab.ece.ntua.gr> <mailto:anastop@cslab.ece.__ntua.gr <mailto:anastop@cslab.ece.ntua.gr>> Tel: +30-210-7724159 <tel:%2B30-210-7724159> <tel:%2B30-210-7724159> _________________________________________________ Advcomparch mailing list Advcomparch@lists.cslab.ece.__ntua.gr <mailto:Advcomparch@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@lists.cslab.ece.ntua.gr http://lists.cslab.ece.ntua.gr/mailman/listinfo/advcomparch
Και εγώ κάτι τέτοιο περίμενα για τον έλεγχο των lock.Πρακτικά δεδομένου ότι δεν έχω deadlock το μόνο που μου μένει είναι να ελέγξω είναι αν το κρίσιμο τμήμα της κάθε συνάρτησης που φτιάχνω εκτελείται ατομικά έτσι δεν είναι;Τυπικά νομίζω ότι το κάνω αυτό αλλά επειδή πρώτη φορά αντιμετωπίζω κάτι τέτοιο δεν είμαι πολύ σίγουρος.Βέβαια δεν δοκίμασα αυτό που λέτε με την εκτέλεση γιατί δεν είχα διαθέσιμο κάποιο πρόγραμμα.Βλέπω όμως στο locks scalability ότι υπάρχει το compile time directive debug.Μπορεί να μας βοηθήσει αυτό για να βρούμε τα πιθανά λάθη ; Θα ήθελα να ρωτήσω και κάτι ακόμα για τα προγράμματα που θα εκτελέσουμε στο vm Πρώτον δεν καταλαβαίνω στην εντολή που προτείνεται ποιο είναι το πρόγραμμα που μεταγλωττίζουμε γιατί βλέπω μόνο ένα lock.tas και όχι το lockscalability.c και μου φαίνεται περίεργο. Δεύτερον από ότι καταλαβαίνω το εκτελέσιμο που θα βγει θα το εκτελέσουμε από το terminal χωρίς τον sniper έτσι δεν είναι; Τρίτον το ίδιο το εκτελέσιμο θα μας δώσει το χρόνο στην ROI από μόνου του στο terminal και εμείς απλά θα το αντιγράφουμε για τα στατιστικά μας ή πρέπει να κάνουμε και κάτι άλλο; Ευχαριστώ και πάλι για την βοήθεια.
2013/6/26 Nikos Anastopoulos anastop@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@cslab.ece.ntua.gr <mailto:anastop@cslab.ece.**ntua.gr anastop@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@cslab.ece.ntua.gr <mailto:anastop@cslab.ece.**ntua.gr <anastop@cslab.ece.ntua.gr>> <mailto:anastop@cslab.ece.__nt**ua.gr <http://ntua.gr> <mailto:anastop@cslab.ece.**ntua.gr <anastop@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@cslab.ece.ntua.gr <mailto:anastop@cslab.ece.**ntua.gr <anastop@cslab.ece.ntua.gr>> <mailto:anastop@cslab.ece.__nt**ua.gr <http://ntua.gr> <mailto:anastop@cslab.ece.**ntua.gr <anastop@cslab.ece.ntua.gr>>> <mailto:anastop@cslab.ece. <mailto:anastop@cslab.ece.>__n**t__ua.gr <http://nt__ua.gr> <<mailto:anastop@cslab.ece.__nt**ua.gr <http://ntua.gr> <mailto:anastop@cslab.ece.**ntua.gr <anastop@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_mutexnot
recognized και μετά μου λέει οδηγίες για την σύνταξη της εντολής Έχω διαβάσει την προηγούμενη απορία επί του θέματος στη λίστα αλλά δε βοήθησε και πιστεύω ότι ακολουθώ την προτροπή της σελίδας 4 Ευχαριστώ εκ των προτέρων ______________________________**_______________________ Advcomparch mailing list Advcomparch@lists.cslab.ece.__**____ntua.gr <http://ntua.gr> <http://ntua.gr> <mailto:Advcomparch@lists. <mailto:Advcomparch@lists.>__c**s__lab.ece.ntua.gr<http://cs__lab.ece.ntua.gr> <http://cslab.ece.ntua.gr> <mailto:Advcomparch@lists.__cs**lab.ece.ntua.gr<http://cslab.ece.ntua.gr> <mailto:Advcomparch@lists.**cslab.ece.ntua.gr<Advcomparch@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/**advcomparchhttp://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@cslab.ece.ntua.gr <mailto:anastop@cslab.ece.**ntua.gr <anastop@cslab.ece.ntua.gr>> <mailto:anastop@cslab.ece.__nt**ua.gr <http://ntua.gr> <mailto:anastop@cslab.ece.**ntua.gr <anastop@cslab.ece.ntua.gr>>> <mailto:anastop@cslab.ece. <mailto:anastop@cslab.ece.>__n**t__ua.gr <http://nt__ua.gr> <<mailto:anastop@cslab.ece.__nt**ua.gr <http://ntua.gr> <mailto:anastop@cslab.ece.**ntua.gr <anastop@cslab.ece.ntua.gr>Tel: +30-210-7724159 <tel:%2B30-210-7724159> <tel:%2B30-210-7724159> <tel:%2B30-210-7724159> ______________________________**_____________________ Advcomparch mailing list Advcomparch@lists.cslab.ece.__**__ntua.gr <http://ntua.gr%3E <mailto:Advcomparch@lists.__cs**lab.ece.ntua.grhttp://cslab.ece.ntua.gr <mailto:Advcomparch@lists.**cslab.ece.ntua.grAdvcomparch@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/**advcomparchhttp://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@cslab.ece.ntua.gr <mailto:anastop@cslab.ece.**ntua.gr <anastop@cslab.ece.ntua.gr>> <mailto:anastop@cslab.ece.__nt**ua.gr <http://ntua.gr> <mailto:anastop@cslab.ece.**ntua.gr <anastop@cslab.ece.ntua.gr>>> Tel: +30-210-7724159 <tel:%2B30-210-7724159> <tel:%2B30-210-7724159> ______________________________**___________________ Advcomparch mailing list Advcomparch@lists.cslab.ece.__**ntua.gr <http://ntua.gr> <mailto:Advcomparch@lists.**cslab.ece.ntua.gr<Advcomparch@lists.cslab.ece.ntua.gr>http://lists.cslab.ece.ntua.__**gr/mailman/listinfo/__**advcomparch <http://lists.cslab.ece.ntua.**gr/mailman/listinfo/**advcomparchhttp://lists.cslab.ece.ntua.gr/mailman/listinfo/advcomparch
______________________________**_________________ Advcomparch mailing list Advcomparch@lists.cslab.ece.**ntua.grAdvcomparch@lists.cslab.ece.ntua.gr http://lists.cslab.ece.ntua.**gr/mailman/listinfo/**advcomparchhttp://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@cslab.ece.ntua.gr Tel: +30-210-7724159
On 06/26/2013 10:39 AM, Lambros Flokas wrote:
Και εγώ κάτι τέτοιο περίμενα για τον έλεγχο των lock.Πρακτικά δεδομένου ότι δεν έχω deadlock το μόνο που μου μένει είναι να ελέγξω είναι αν το κρίσιμο τμήμα της κάθε συνάρτησης που φτιάχνω εκτελείται ατομικά έτσι δεν είναι;Τυπικά νομίζω ότι το κάνω αυτό αλλά επειδή πρώτη φορά αντιμετωπίζω κάτι τέτοιο δεν είμαι πολύ σίγουρος.Βέβαια δεν δοκίμασα αυτό που λέτε με την εκτέλεση γιατί δεν είχα διαθέσιμο κάποιο πρόγραμμα.Βλέπω όμως στο locks scalability ότι υπάρχει το compile time directive debug.Μπορεί να μας βοηθήσει αυτό για να βρούμε τα πιθανά λάθη ;
Και αυτό το directive είναι user-specified, δηλαδή δεν κάνει τίποτε άλλο από το να συμπεριλαμβάνει στην μεταγλώττιση τον κώδικα που εσωκλείει, εφόσον ορίζεται το -DDEBUG στο command line του gcc. Θα μπορούσες επομένως να βάλεις ό,τι κώδικα θες μέσα σε τέτοια if blocks προκειμένου να τον μεταγλωττίσεις για έλεγχο της ορθότητας, και όταν κάνεις τα performance tests απλά να απενεργοποιήσεις τα κομμάτια αυτά (μεταγλωττίζοντας χωρίς το αντίστοιχο flag).
Θυμίζω και πάλι ότι ένα καλό σενάριο που ενδεχομένως να αναδείξει θέματα στην ορθότητα είναι εξής απλό:
spin_lock(lock); x++; spin_unlock(lock);
χωρίς άλλες λειτουργίες (π.χ. dummy work) μέσα στην κρίσιμη περιοχή. Όσο πιο aggressive είναι η εκτέλεση της περιοχής (πολλά νήματα, πολλές επαναλήψεις, εκτέλεση σε πραγματικό σύστημα), τόσο πιθανότερο είναι να πάει κάτι στραβά στο update του x όταν η υλοποίηση των locks είναι σημασιολογικά λάθος.
Θα ήθελα να ρωτήσω και κάτι ακόμα για τα προγράμματα που θα εκτελέσουμε στο vm Πρώτον δεν καταλαβαίνω στην εντολή που προτείνεται ποιο είναι το πρόγραμμα που μεταγλωττίζουμε γιατί βλέπω μόνο ένα lock.tas και όχι το lockscalability.c και μου φαίνεται περίεργο.
Ναι, το source file είναι το lock_scalability.c (έχει απαντηθεί και σε προηγούμενο mail).
Δεύτερον από ότι καταλαβαίνω το εκτελέσιμο που θα βγει θα το εκτελέσουμε από το terminal χωρίς τον sniper έτσι δεν είναι;
Σωστά.
Τρίτον το ίδιο το εκτελέσιμο θα μας δώσει το χρόνο στην ROI από μόνου του στο terminal και εμείς απλά θα το αντιγράφουμε για τα στατιστικά μας ή πρέπει να κάνουμε και κάτι άλλο;
Το πρόγραμμα εκτυπώνει το χρόνο εκτέλεσης όπως τον μέτρησε το thread 0, χρησιμοποιώντας την gettimeofday (δες τον κώδικα που εσωκλείεται με τo directive REAL για να καταλάβεις ακριβώς).
Ν.
Ευχαριστώ και πάλι για την βοήθεια.
2013/6/26 Nikos Anastopoulos <anastop@cslab.ece.ntua.gr mailto:anastop@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@cslab.ece.ntua.gr <mailto:anastop@cslab.ece.ntua.gr> <mailto:anastop@cslab.ece.__ntua.gr <mailto:anastop@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@cslab.ece.ntua.gr <mailto:anastop@cslab.ece.ntua.gr> <mailto:anastop@cslab.ece.__ntua.gr <mailto:anastop@cslab.ece.ntua.gr>> <mailto:anastop@cslab.ece. <mailto:anastop@cslab.ece.>__nt__ua.gr <http://ntua.gr> <mailto:anastop@cslab.ece.__ntua.gr <mailto:anastop@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@cslab.ece.ntua.gr <mailto:anastop@cslab.ece.ntua.gr> <mailto:anastop@cslab.ece.__ntua.gr <mailto:anastop@cslab.ece.ntua.gr>> <mailto:anastop@cslab.ece. <mailto:anastop@cslab.ece.>__nt__ua.gr <http://ntua.gr> <mailto:anastop@cslab.ece.__ntua.gr <mailto:anastop@cslab.ece.ntua.gr>>> <mailto:anastop@cslab.ece <mailto:anastop@cslab.ece>. <mailto:anastop@cslab.ece <mailto:anastop@cslab.ece>.>__n__t__ua.gr <http://nt__ua.gr> <http://ntua.gr> <mailto:anastop@cslab.ece. <mailto:anastop@cslab.ece.>__nt__ua.gr <http://ntua.gr> <mailto:anastop@cslab.ece.__ntua.gr <mailto:anastop@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@lists.cslab.ece.________ntua.gr <http://ntua.gr> <http://ntua.gr> <http://ntua.gr> <mailto:Advcomparch@lists <mailto:Advcomparch@lists>. <mailto:Advcomparch@lists <mailto:Advcomparch@lists>.>__c__s__lab.ece.ntua.gr <http://cs__lab.ece.ntua.gr> <http://cslab.ece.ntua.gr> <mailto:Advcomparch@lists. <mailto:Advcomparch@lists.>__cs__lab.ece.ntua.gr <http://cslab.ece.ntua.gr> <mailto:Advcomparch@lists.__cslab.ece.ntua.gr <mailto:Advcomparch@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@cslab.ece.ntua.gr <mailto:anastop@cslab.ece.ntua.gr> <mailto:anastop@cslab.ece.__ntua.gr <mailto:anastop@cslab.ece.ntua.gr>> <mailto:anastop@cslab.ece. <mailto:anastop@cslab.ece.>__nt__ua.gr <http://ntua.gr> <mailto:anastop@cslab.ece.__ntua.gr <mailto:anastop@cslab.ece.ntua.gr>>> <mailto:anastop@cslab.ece <mailto:anastop@cslab.ece>. <mailto:anastop@cslab.ece <mailto:anastop@cslab.ece>.>__n__t__ua.gr <http://nt__ua.gr> <http://ntua.gr> <mailto:anastop@cslab.ece. <mailto:anastop@cslab.ece.>__nt__ua.gr <http://ntua.gr> <mailto:anastop@cslab.ece.__ntua.gr <mailto:anastop@cslab.ece.ntua.gr>>>> Tel: +30-210-7724159 <tel:%2B30-210-7724159> <tel:%2B30-210-7724159> <tel:%2B30-210-7724159> <tel:%2B30-210-7724159> _____________________________________________________ Advcomparch mailing list Advcomparch@lists.cslab.ece.______ntua.gr <http://ntua.gr> <http://ntua.gr> <mailto:Advcomparch@lists. <mailto:Advcomparch@lists.>__cs__lab.ece.ntua.gr <http://cslab.ece.ntua.gr> <mailto:Advcomparch@lists.__cslab.ece.ntua.gr <mailto:Advcomparch@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@cslab.ece.ntua.gr <mailto:anastop@cslab.ece.ntua.gr> <mailto:anastop@cslab.ece.__ntua.gr <mailto:anastop@cslab.ece.ntua.gr>> <mailto:anastop@cslab.ece. <mailto:anastop@cslab.ece.>__nt__ua.gr <http://ntua.gr> <mailto:anastop@cslab.ece.__ntua.gr <mailto:anastop@cslab.ece.ntua.gr>>> Tel: +30-210-7724159 <tel:%2B30-210-7724159> <tel:%2B30-210-7724159> <tel:%2B30-210-7724159> ___________________________________________________ Advcomparch mailing list Advcomparch@lists.cslab.ece.____ntua.gr <http://ntua.gr> <mailto:Advcomparch@lists.__cslab.ece.ntua.gr <mailto:Advcomparch@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@lists.cslab.ece.__ntua.gr <mailto:Advcomparch@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@cslab.ece.ntua.gr <mailto:anastop@cslab.ece.ntua.gr> Tel: +30-210-7724159 <tel:%2B30-210-7724159>
Advcomparch mailing list Advcomparch@lists.cslab.ece.ntua.gr http://lists.cslab.ece.ntua.gr/mailman/listinfo/advcomparch
advcomparch@lists.cslab.ece.ntua.gr