Παράλληλη Επεξεργασία — Εξέταση Φεβρουαρίου (Ενότητα 3, 5 ερωτήσεις)¶
Μεταγραφή από τις φωτογραφίες ερωτήσεων 1–5 της Ενότητας 3. Οι φωτογραφίες unknown (30) και unknown (31) είναι ίδιες με τις ερωτήσεις 2 και 3 (unknown (25) και unknown (26)) και δεν μεταγράφονται ξανά. Οι unknown (29), (32) και (33) προστέθηκαν ως σελίδες άλλης εκδοχής του δοκιμίου.
unknown (24).png¶
Ερώτηση 1 / 5 (Πολλαπλής Επιλογής (Μοναδική Απάντηση) — 0.40 βαθμοί)
Ενότητα 3 (MPI)
Το παράλληλο προγραμματιστικό μοντέλο MPI έχει σχεδιαστεί κυρίως για συστήματα:
- [ ] Κοινής μνήμης
- [ ] Κατανεμημένης μνήμης
- [ ] Κατανεμημένης κοινής μνήμης
- [ ] Κοινής κατανεμημένης μνήμης
unknown (25).png¶
Ερώτηση 2 / 5 (Πολλαπλής Επιλογής (Μοναδική Απάντηση) — 0.40 βαθμοί)
Ενότητα 3 (MPI)
Η συλλογική (collective) επικοινωνία στο MPI, σε σχέση με την υλοποίηση των αντίστοιχων λειτουργιών χρησιμοποιώντας μόνο συναρτήσεις επικοινωνίας «σημείο-προς-σημείο» (point-to-point):
- [ ] Κάνει το πρόγραμμα MPI πιο ευανάγνωστο και συνήθως πιο αποτελεσματικό στη μεταφορά δεδομένων
- [ ] Συνήθως υποχρεώνει το πρόγραμμα MPI να μεταφέρει περισσότερα δεδομένα μεταξύ διεργασιών
- [ ] Συνήθως κάνει το πρόγραμμα MPI πιο γρήγορο στο τμήμα εκείνο που πραγματοποιεί τους υπολογισμούς
- [ ] Όλα τα υπόλοιπα
unknown (26).png¶
Ερώτηση 3 / 5 (Πολλαπλής Επιλογής (Μοναδική Απάντηση) — 0.40 βαθμοί)
Ενότητα 3 (MPI)
Στη «συλλογική» (collective) επικοινωνία στο MPI:
- [ ] Ανταλλάσσει δεδομένα η διεργασία με βαθμό 0 με μια ακόμα διεργασία του προγράμματος MPI
- [ ] Ανταλλάσσουν μεταξύ τους δεδομένα δύο ακριβώς διεργασίες MPI
- [ ] Ανταλλάσσουν μεταξύ τους δεδομένα όλες οι διεργασίες του προγράμματος MPI
- [ ] Ανταλλάσσουν μεταξύ τους δεδομένα όλες οι διεργασίες του προγράμματος MPI που ανήκουν σε έναν επικοινωνητή (communicator)
unknown (27).png¶
Ερώτηση 4 / 5 (Πολλαπλής Επιλογής (Μοναδική Απάντηση) — 0.40 βαθμοί)
Ενότητα 3 (MPI)
Η συνάρτηση MPI_Send():
- [ ] Αποστέλλει δεδομένα από μια διεργασία MPI σε όλες τις διεργασίες του προγράμματος MPI
- [ ] Αποστέλλει δεδομένα από μια διεργασία MPI σε όλες τις διεργασίες ενός επικοινωνητή (communicator) του προγράμματος MPI
- [ ] Αποστέλλει δεδομένα από μια διεργασία MPI σε μια άλλη διεργασία MPI
- [ ] Αποστέλλει δεδομένα από μια διεργασία MPI στην ίδια διεργασία, αλλά προς άλλη εικονική μνήμη της διεργασίας
unknown (28).png¶
Ερώτηση 5 / 5 (Πολλαπλής Επιλογής (Μοναδική Απάντηση) — 0.40 βαθμοί)
Ενότητα 3 (MPI)
Θεωρείστε ένα διδιάστατο πίνακα Α που έχει οριστεί σε ένα πρόγραμμα MPI ως A[N][N], όπου N μια σταθερά. Στο πρόγραμμα χρησιμοποιούμε μόνο το άνω τριγωνικό μέρος του πίνακα. Ποια συνάρτηση θα χρησιμοποιούσατε για να διαμοιράσετε μεταξύ των διεργασιών MPI τα στοιχεία του πίνακα που πραγματικά χρησιμοποιούνται στο πρόγραμμα με τον πλέον αποδοτικό τρόπο;
- [ ] MPI_Send()
- [ ] MPI_Scatter()
- [ ] MPI_Scatterv()
- [ ] MPI_Bcast()
unknown (29).png¶
Ερώτηση 1 / 5 (Πολλαπλής Επιλογής (Μοναδική Απάντηση) — 0.40 βαθμοί)
Ενότητα 3 (MPI)
Η συνάρτηση MPI_Bcast():
- [ ] Αποστέλλει δεδομένα από μια διεργασία MPI σε όλες τις διεργασίες του προγράμματος MPI
- [ ] Αποστέλλει δεδομένα από μια διεργασία MPI σε όλες τις διεργασίες ενός επικοινωνητή (communicator) του προγράμματος MPI
- [ ] Αποστέλλει δεδομένα από μια διεργασία MPI σε μια άλλη διεργασία MPI
- [ ] Αποστέλλει δεδομένα από μια διεργασία MPI στην ίδια διεργασία, αλλά προς άλλη εικονική μνήμη της διεργασίας
unknown (32).png¶
Ερώτηση 4 / 5 (Πολλαπλής Επιλογής (Μοναδική Απάντηση) — 0.40 βαθμοί)
Ενότητα 3 (MPI)
Ο επικοινωνητής (communicator) είναι:
- [ ] Ένα σύνολο διεργασιών του προγράμματος MPI, οι οποίες μπορούν να επικοινωνήσουν μεταξύ τους μέσω συναρτήσεων συλλογικής επικοινωνίας
- [ ] Μια ειδική διεργασία του MPI που αναλαμβάνει να διεκπεραιώσει όλες τις λειτουργίες ανταλλαγής δεδομένων μεταξύ διεργασιών του προγράμματος MPI
- [ ] Ένα νήμα σε κάθε διεργασία MPI που παραλαμβάνει τα δεδομένα που αποστέλλονται από άλλες διεργασίες προς αυτήν
- [ ] Ανάλογα με το πλαίσιο στο οποίο αναφερόμαστε, μπορεί να είναι οποιοδήποτε από τα υπόλοιπα
unknown (33).png¶
Ερώτηση 5 / 5 (Πολλαπλής Επιλογής (Μοναδική Απάντηση) — 0.40 βαθμοί)
Ενότητα 3 (MPI)
Το παράλληλο προγραμματιστικό μοντέλο MPI ακολουθεί το μοντέλο εκτέλεσης:
- [ ] Single Instruction Multiple Data (SIMD)
- [ ] Multiple Instructions Multiple Data (MIMD)
- [ ] Single Program Multiple Data (SPMD)
- [ ] Multiple Programs Multiple Data (MPMD)
Λύσεις (⚪ AI, μη επαληθευμένο)
Κατάσταση: ⚪ AI, μη επαληθευμένο Πηγή: λύσεις AI (deepseek-flash), ανεξάρτητη επανάληψη και αντιπαραβολή· καμία δεν έχει ελεγχθεί από άνθρωπο
Προσοχή
Λύση από AI — ελέγξτε την· δεν έχει επαληθευτεί από άνθρωπο. Η ένδειξη «δύο λύσεις συμφωνούν» δεν σημαίνει ότι η απάντηση είναι σωστή.
AI λύσεις — 2021-g¶
Οι λύσεις γράφτηκαν από μοντέλα AI και δεν έχουν ελεγχθεί από άνθρωπο. Η αρίθμηση ακολουθεί το αρχείο θεμάτων.
Θέμα 1 (unknown 24, Ερώτηση 1/5)¶
Αξιοπιστία: δύο ανεξάρτητες λύσεις συμφωνούν · εμπιστοσύνη λύτη: υψηλή
Σωστή επιλογή: 2η — Κατανεμημένης μνήμης. Το MPI είναι κατεξοχήν μοντέλο ανταλλαγής μηνυμάτων για συστήματα κατανεμημένης μνήμης· μπορεί να τρέξει και σε κοινή μνήμη, αλλά δεν είναι ο κύριος σχεδιαστικός του στόχος.
Θέμα 2 (unknown 25, Ερώτηση 2/5)¶
Αξιοπιστία: δύο ανεξάρτητες λύσεις συμφωνούν · εμπιστοσύνη λύτη: υψηλή
Σωστή επιλογή: 1η — Κάνει το πρόγραμμα MPI πιο ευανάγνωστο και συνήθως πιο αποτελεσματικό στη μεταφορά δεδομένων. Οι συλλογικές συναρτήσεις κρύβουν πολύπλοκη λογική σημείο-προς-σημείο και συνήθως υλοποιούνται βελτιστοποιημένα ανάλογα με την τοπολογία. (Η unknown (30) είναι όμοια ερώτηση· ίδια απάντηση.)
Θέμα 3 (unknown 26, Ερώτηση 3/5)¶
Αξιοπιστία: δύο ανεξάρτητες λύσεις συμφωνούν · εμπιστοσύνη λύτη: υψηλή
Σωστή επιλογή: 4η — Ανταλλάσσουν μεταξύ τους δεδομένα όλες οι διεργασίες του προγράμματος MPI που ανήκουν σε έναν επικοινωνητή (communicator). Η συλλογική επικοινωνία ορίζεται πάνω σε έναν communicator, όχι κατ’ ανάγκη σε όλες τις διεργασίες του συνολικού MPI προγράμματος. (Η unknown (31) είναι όμοια ερώτηση· ίδια απάντηση.)
Θέμα 4 (unknown 27, Ερώτηση 4/5)¶
Αξιοπιστία: δύο ανεξάρτητες λύσεις συμφωνούν · εμπιστοσύνη λύτη: υψηλή
Σωστή επιλογή: 3η — Αποστέλλει δεδομένα από μια διεργασία MPI σε μια άλλη διεργασία MPI. Η MPI_Send() είναι σημείο-προς-σημείο αποστολή· για αποστολή σε πολλές διεργασίες χρησιμοποιούνται συλλογικές συναρτήσεις όπως MPI_Bcast().
Θέμα 5 (unknown 28, Ερώτηση 5/5)¶
Αξιοπιστία: δύο ανεξάρτητες λύσεις συμφωνούν · εμπιστοσύνη λύτη: υψηλή
Σωστή επιλογή: 3η — MPI_Scatterv(). Επειδή χρησιμοποιείται μόνο το άνω τριγωνικό μέρος, οι διεργασίες μπορεί να λαμβάνουν διαφορετικό πλήθος στοιχείων· η MPI_Scatterv() επιτρέπει διαφορετικά counts/displacements και μπορεί να διαμοιράσει μόνο τα πραγματικά χρησιμοποιούμενα στοιχεία, αποφεύγοντας άσκοπη μεταφορά μηδενικών/μη χρησιμοποιούμενων θέσεων.
Θέμα 6 (unknown 29, άλλη εκδοχή: Ερώτηση 1/5)¶
Αξιοπιστία: δύο ανεξάρτητες λύσεις συμφωνούν · εμπιστοσύνη λύτη: υψηλή
Σωστή επιλογή: 2η — Αποστέλλει δεδομένα από μια διεργασία MPI σε όλες τις διεργασίες ενός επικοινωνητή (communicator) του προγράμματος MPI. Η MPI_Bcast() είναι συλλογική broadcast: η root στέλνει σε όλες τις διεργασίες του συγκεκριμένου communicator.
Θέμα 7 (unknown 32, Ερώτηση 4/5)¶
Αξιοπιστία: δύο ανεξάρτητες λύσεις συμφωνούν · εμπιστοσύνη λύτη: υψηλή
Σωστή επιλογή: 1η — Ένα σύνολο διεργασιών του προγράμματος MPI, οι οποίες μπορούν να επικοινωνήσουν μεταξύ τους μέσω συναρτήσεων συλλογικής επικοινωνίας. Ο communicator ορίζει ομάδα διεργασιών και πλαίσιο/πεδίο επικοινωνίας· δεν είναι ειδική διεργασία ούτε νήμα παραλαβής.
Θέμα 8 (unknown 33, Ερώτηση 5/5)¶
Αξιοπιστία: δύο ανεξάρτητες λύσεις συμφωνούν · εμπιστοσύνη λύτη: μέτρια
Σωστή επιλογή: 3η — Single Program Multiple Data (SPMD). Στο μοντέλο προγραμματισμού MPI, συνήθως όλες οι διεργασίες εκτελούν το ίδιο πρόγραμμα πάνω σε διαφορετικά δεδομένα/ρόλους. (Αν η ερώτηση εννοούσε αρχιτεκτονικό μοντέλο υλικού, το MPI εκτελείται τυπικά σε MIMD συστήματα, αλλά εδώ ζητείται το προγραμματιστικό μοντέλο.)