[Advcomparch] Ερώτηση σχετικά με 4η άσκηση - B.2
Nikos Anastopoulos
anastop at cslab.ece.ntua.gr
Wed Jun 29 00:54:00 EEST 2011
Γενικά, σε θέματα όπως αυτό της συγκεκριμένης άσκησης όπου καλείστε να
βρείτε το σύνολο των διαφορετικών τελικών αποτελεσμάτων στα πλαίσια ενός
συγκεκριμένου memory model, δεν υφίσταται η έννοια του "ταυτόχρονου"
στον τρόπο που εξετάζετε τα πράγματα. Θα πρέπει να εξετάζετε όλες τις
πιθανές αναδιατάξεις, και όλα τα πιθανά "interleavlngs" εντολών από
διαφορετικούς επεξεργαστές. Το ταυτόχρονο μεταφράζεται ουσιαστικά σε 2
περιπτώσεις αν έχουμε 2 επεξεργαστές (2 πιθανές σειρές), και πολύ
περισσότερες με περισσότερους.
Ν.
On 06/29/2011 12:27 AM, Konstantinos Nikas wrote:
> Καταρχάς στη συγκεκριμένη άσκηση υποθέτουμε RMO, οπότε δεν έχει σημασία
> η θέση στον κώδικα (και το πινακάκι) μιας και επιτρέπεται η αναδιατάξη
> των εντολών. Οπότε για να βρείτε τις πιθανές τιμές, θα πρέπει να
> εξετάσετε και τις 2 περιπτώσεις.
>
> Γενικότερα όμως (σε άλλες περιπτώσεις/ασκήσεις), αν δεν υπάρχει κάτι που
> να δείχνει ότι μόνο μια τιμή είναι δυνατή (πχ. SC, συγχρονισμός κτλ)
> τότε θα πρέπει να εξετάζετε όλες τις περιπτώσεις.
>
> Κ.
>
> On 06/28/2011 10:20 PM, ΒΥΡΩΝΑΣ ΔΟΚΙΜΑΚΗΣ wrote:
>> Ναι αλλά το θέμα είναι ότι όταν οι 2 εντολές είναι απέναντι, στο
>> πινακάκι, δηλαδή εκτελούνται στον ίδιο κύκλο στους 2 επεξεργαστές, τότε
>> δεν ξέρουμε ποια θα εκτελεστεί πρώτη. Εκτός κι αν υπονοείται ότι θα
>> πάρουμε 2 περιπτώσεις για την πιθανότητα αυτή.
>>
>> Στις 28 Ιουνίου 2011 10:14 μ.μ., ο χρήστης Konstantinos Nikas
>> <knikas at cslab.ece.ntua.gr <mailto:knikas at cslab.ece.ntua.gr>> έγραψε:
>>
>> Καλησπέρα,
>>
>>
>> On 06/28/2011 09:39 PM, ΒΥΡΩΝΑΣ ΔΟΚΙΜΑΚΗΣ wrote:
>>
>> Καλησπέρα,
>>
>> Θα ήθελα να ρωτήσω τι γίνεται όταν 2 εντολές που αφορούν την
>> ίδια θέση
>> μνήμης, εκτελούνται παράλληλα στους p1, p2. Δηλαδή αν έχω μια
>> αναδιάταξη
>> εντολών μνήμης, τέτοια ώστε οι εντολές r2=Z και Z=3 να βρίσκονται
>> απέναντι, ξέρουμε ποιο θα είναι το αποτέλεσμα? ο r2 για ποια
>> τιμή του Ζ
>> θα ενημερωθεί?
>>
>> Υποθέτω, με βάση τα του cache coherence, ότι είναι θέμα "τύχης"
>> και έχει
>> να κάνει με το ποιος θα πάρει πρώτος πρόσβαση στο διάδρομο
>> αλλά τότε
>> καταλήγω στο ότι η παραπάνω κατάσταση έχει απροσδιόριστο
>> αποτέλεσμα για
>> την τιμή του r2.
>>
>>
>>
>> Ακριβώς, το αποτέλεσμα εξαρτάται από το ποιος θα πάρει πρώτος
>> πρόσβαση στο διάδρομο. Το οποίο είναι ακόμα πιο πολύπλοκο αν δεν
>> έχουμε διάδρομο, αλλά ένα άλλο interconnection network.
>>
>> Ακριβώς για αυτο το λόγο, αν ο προγραμματιστής θέλει να είναι
>> σίγουρος ότι διαβάζει κάποια συγκεκριμένη τιμή, θα πρέπει να
>> φροντίσει για την κατάλληλη υλοποίηση σχημάτων συγχρονισμού
>> λαμβάνοντας υπόψη βέβαια και το consistency model του συστήματος.
>>
>> Όσον αφορά την άσκηση, δεν νομίζω ότι υπάρχει κάποια απροσδιοριστία.
>> Αν ο r2=Z εκτελεστεί πριν το Ζ=3 (δηλ. πάρει πρώτος τον διάδρομο)
>> τότε θα πάρει την τιμή 0 (αφού όλες οι μεταβλητές είναι
>> αρχικοποιημένες στο 0), διαφορετικά την τιμή 3.
>>
>> Κ.
>>
>> --
>> Dr. Konstantinos Nikas
>> Computing Systems Laboratory
>> School of Electrical and Computer Engineering
>> National Technical University of Athens
>>
>> Tel: +30-210-7724159
>> e-mail: knikas at cslab.ece.ntua.gr <mailto:knikas at cslab.ece.ntua.gr>
>> http://www.cslab.ece.ntua.gr/~__knikas
>> <http://www.cslab.ece.ntua.gr/~knikas>
>> _________________________________________________
>> 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>
>>
>>
>
More information about the Advcomparch
mailing list