Osztott rendszerek specifikációja és implementációja
Leírás
A tárgy célja párhuzamos és elosztott rendszerek alkalmazási
lehetőségeinek megismerése, elemi párhuzamos
programozási készségek megszerzése. Programozási feladatokat fogalmazunk
meg párhuzamos programok relációs programozási modelljében. A
megoldást a specifikáció lépésenkénti finomításával állítjuk elő.
Nevezetes feladatokat oldunk meg (asszociatív művelet eredménye,
atadcsatorna tétele, párhuzamos elemenkénti feldolgozás, stb.). A kapott
absztrakt programokat párhuzamos és elosztott
programozást támogató magas szintű nyelvi eszközök felhasználásával
implementáljuk. Megvizsgáljuk a különböző implementációk hatékonyságát.
Tematika
-
Párhuzamos programok reláció alapú modellje: feladat, specifikációs feltételek.
-
Folyamat, absztrakt program, pártatlan ütemezés, összefésüléses szemantika.
-
Absztrakt program viselkedési relációja. A leggyengébb előfeltétel általánosításai.
-
Elérhető állapotok. A megoldás definíciója.
-
Levezetési szabályok: haladási tulajdonságokra vonatkozó tételek,
variánsfüggvény alkalmazása. Struktúrális indukció,csoda kizárásának
elve.
-
Asszociatív művelet eredményének kiszámítása, maximumkeresés, párhuzamos bináris összeadás.
-
Programkonstrukciók: unió, szuperpozíció, szekvencia. Programkonstrukciós tételek. Lokalitás tétel.
-
Kommunikáció (aszinkron,szinkron). Üzenettovábbítás. Csatornaváltozók.
-
Elágazás (fork), multiplexer, Adatcsatorna.
Tantárgyi adatok
Előfeltétel:
-
IP-08bPROGEG : Programozás
-
IP-08bPNY1EG : Programozási nyelvek C++
Előadás:
-
Tárgy kódja: IP-08bORSIE
-
Kredit: 3
-
Heti óraszám: 2
-
Követelmények:
-
Az előadás látogatása kötelező, 3-nál több hiányzás esetén a vizsgázás lehetősége megtagadható.
-
Vizsgát tenni a félév végén a Neptunban meghirdetett időpontokban
lehet. Mivel a tárgy indul keresztfélévben is, így egy félévben maximum
kétszer lehet vizsgát tenni.
Gyakorlat:
-
Tárgy kódja: IP-08bORSIG
-
Kredit: 2
-
Heti óraszám: 2
-
Követelmények:
-
A gyakorlatok látogatása kötelező, 3-nál több hiányzás esetén a gyakorlati jegy megtagadható.
-
+/- feladatok: Az órán tanult definíciókból, tételekből és egyszerűbb feladatokból +/- dolgozatok lesznek. Helyes válasz +1, helytelen válasz -1 pontot ér. A félév végén az összesített eredménynek legalább 0-nak kell lennie, különben a gyakorlati jegy megtagadható.
-
zárthelyi dolgozatok: A tárgyból a félév során két zárthelyi dolgozat lesz. Az első zárhelyi a gyakorlat első részéből az őszi (keresztfélévben tavaszi) szünet környékén, a második pedig a második részből a szorgalmi időszak utolsó hetében lesz. A zárthelyik az előadás időpontjában és helyszínén lesznek megtartva, a megírásukra 90 perc fog rendelkezésre állni. Mindkét zárthelyiből legalább elégséges eredményt kell elérni. A zárthelyik javítására/pótlására a pótzárthelyi alkalmával nyílik lehetőség, melyen akár mindkét zárthelyi javítható, de ebben az esetben is csak 90 perc fog rendelkezésre állni. A pótzárthelyi a vizsgaidőszak első hetében lesz megtartva.
-
beadandók: A félév során a tárgyból két beadandó kerül kiírásra a BE-AD rendszerben. Az első beadandóra automatizált funkcionális tesztek alapján kétfokozatú (elfogadott/elutasított) értékelés szerezhető. Elutasított első beadandó esetén a gyakorlati jegy megtagadható. Amennyiben az első beadandó elfogadásra került, a második beadandó automatizált funkcionális és teljesítménytesztek, valamint manuális kódminőség-vizsgálat alapján százalékosan lesz értékelve, meghatározva egy gépes részjegyet a következő százalékhatárok mentén: 0-49 → elégtelen, 50-64 → elégséges, 65-74 → közepes, 75-84 → jó, 85-100 → jeles.
-
jegyszámítás: A gyakorlati jegy a (pótolt/javított) zárthelyikkel, illetve a második beadandóval szerzett három részjegy egészre kerekített átlaga, ha minden részjegy legalább elégséges. Különben a gyakorlati jegy elégtelen.
Segédanyagok:
-
[ChaMis 88] : Chandy,K.M.-Misra,J.: Parallel program design: a foundation, Addison-Wesley, 1988, (1989).
-
[And 91] : Andrews,G.R.: Concurrent Programming, Principles and Practice, Benjamin/Cummings, 1991.
-
[Hor 94] : Horváth Z.: Párhuzamos programozás reláció alapú modellje, 1996. jegyzet .... C++ példaprogram .... nem ellenõrzött gyak
-
[Fáb 1994] : Fábián G.: Párhuzamos algoritmusok
specifikációja osztott objektumokat használó rendszerek esetén UNITY
módszerrel (1. rész). Szakdolgozat. 1994.
-
[Gyor 95] : Gyorffy L.: Párhuzamos algoritmusok
specifikációja osztott objektumokat használó rendszerek esetén UNITY
módszerrel (2. rész). Szakdolgozat. 1995.
-
[Fót Hor Kozs 95] : Fóthi Á. - Horváth Z. - Kozsik T.:
Parallel Elementwise Processing - A Novel Version. in: Proceedings of
the Fourth Symposium on Programming Languages and Software Tools,
Visegrád, Hungary, June 8-14, 1995 (1995).
-
[Gei 94] : Geist, ...: PVM 3 User's Guide and Reference Manual. (Postscript file, ftp://augusta.inf.elte.hu/pub/pvm/ug.ps)
-
[Fro 94] : Frohner Ákos: Ada taszkok és randevúk a PVM 3.1-es üzenetküldő rendszerben, 1994.
-
[Fro 96] : Frohner Ákos: Párhuzamos programok írását
támogató nyelvi eszközök összehasonlítása. Szakdolgozat, 1996. (HTML,
augusta.inf.elte.hu)
-
[Parsytec] : Parix 1.3.1-PPC Software Documentation. May 1995.
-
[PVM 93] : IBM: PVM/6000 User's Guide and Subroutine Reference, Relase 2.0, 1993.
-
[Motorola] : Optimizing C Compilation System User's Guide.