2025/2026 - řádný termín - cvičná predikce A
Metadata
| Pole | Hodnota |
|---|---|
| Typ | cvičné zadání |
| Cíl | predikce pro řádný termín 2025/2026 |
| Doporučený limit | 120-150 minut |
| Body | 70 |
| Jistota | vysoká strukturou, střední konkrétními variantami |
Témata
Proč tahle varianta
Tohle je nejpravděpodobnější řádný-termínový tvar: PRAM první, MPI poslední, uprostřed architektura, synchronizace, Euler, distribuovaný algoritmus, řazení a formální jazyk. Je blízká řádným termínům term-1-radny-b a term-1-radny-c, ale bere v úvahu i témata z term-0-pretermin-a.
Zadání
-
PRAM tipovačka, 6 b. Pro modely EREW PRAM, CREW PRAM a common CRCW PRAM určete časovou složitost
t(n)a cenuc(n)optimálního algoritmu pro:- zjištění, zda posloupnost
nbitů obsahuje alespoň jednu jedničku; - zjištění, zda jsou všechny prvky posloupnosti stejné;
- výpočet XOR všech prvků posloupnosti.
- zjištění, zda posloupnost
-
VLIW, 9 b. Popište architekturu VLIW procesoru. Vysvětlete, jak se plánuje paralelismus instrukcí, jaké vznikají konflikty a jak se jim předchází. Připojte jednoduchý nákres dlouhého instrukčního slova a funkčních jednotek.
-
Čtenáři/písaři, 9 b. Navrhněte řešení problému čtenářů a písařů pomocí obecných semaforů tak, aby čtenáři měli přednost. Uveďte inicializaci semaforů, sdílené proměnné a pseudokód pro čtenáře i písaře. Neřešte hladovění písařů.
-
Euler tour + suffix sums, 9 b. Máte výsledek Eulerova průchodu stromem
Etoura pro každou orientovanou hranu umíte zjistit, zda je dopředná. Popište algoritmus pro výpočet preorder číslapreorder(v)pro každý vrchol. Uveďte ohodnocení hran, použití prefix/suffix sum a časovou složitost. -
Ricart-Agrawala, 10 b. Čtyři procesy
P1..P4žádají o vstup do kritické sekce. ProcesP4žádá v čase 6, procesP2v čase 7. Zpráva má latenci 3 takty, kritická sekce trvá 1 takt. Priority při shodném Lamportově čase jsouP1 > P2 > P3 > P4. Nakreslete komunikaci request/reply, doplňte Lamportovy časy událostí a určete pořadí vstupu do kritické sekce. -
Enumeration Sort, 9 b. Uvažujte zapojení čtyř procesorů
P1..P4s registryX, Y, C, Z. Vstupní posloupnost7, 2, 7, 5, 1, 4je zpracovávaná zprava. Procesory řadí vzestupně a duplicity řeší stabilně podle pořadí vstupu. Zapište obsah registrů po 6. kroku a stručně popište význam registruC. -
Pi-kalkul, 9 b. Pro zadaný proces najděte alespoň 4 různé možné redukce do stavu, kde už nelze dále redukovat. U každé redukce uveďte komunikační pár, provedenou substituci a výsledný výraz. Pokud v některém stavu platí pozorování, zapište jej.
(a(x).x<d>.0 + b(y).c<y>.0)
|
(a<c>.0 + c(z).z<e>.0)
|
(new k)(c(k).k<f>.0 | k(u).0)- MPI, 10 b. Každý proces má hodnotu
value, svůjranka počet procesůnumprocs. K dispozici jsou zjednodušené funkceMPI_Reduce(send, recv, operace, root)aMPI_Bcast(adresa, root). Napište algoritmus v C++/MPI s logaritmickou komunikační složitostí, který na procesu 0 vypíše součet všech prvků větších než průměr všech hodnot.
Kontrola po dopsání
- PRAM: pram-tipovacka
- VLIW: VLIW
- Čtenáři/písaři: synchronizace-monitory-semafory
- Euler preorder: euler-tour-suffix-sums
- Ricart-Agrawala: distribuovane-algoritmy
- Enumeration Sort: enumeration-sort-ranks
- Pi-kalkul: pi-kalkul
- MPI: mpi-reduce-bcast