Nyomtatás

Miskolci Egyetem - Gépészmérnöki és Informatikai Kar

TANTÁRGYI TEMATIKA

Párhuzamos algoritmusok; MSc (Nappali)

Tantárgy neve:
Párhuzamos algoritmusok
Tantárgy Neptun kódja:
Nappali: GEMAK132M
Tárgyfelelős intézet:
MAT - Matematikai Intézet
Tantárgyelem: S_V1
2 tárgy választandó
Tárgyfelelős: Dr. Olajos Péter - egyetemi docens
Közreműködő oktató(k):
Javasolt félév: 3 Előfeltétel:
Óraszám/hét:
Előadás (nappali): 2
Gyakorlat (nappali): 2
Számonkérés módja: kollokvium
Kreditpont: 4Munkarend: Nappali
Tantárgy feladata és célja:

A programozási alapok elméleti kiterjesztése a párhuzamosság bevezetésével. Olyan párhuzamos algoritmusok fejlesztése, használata, melyek valóban jobb lépésszámot és hatékonyságot hozhatnak a programozás során. Soros programok párhuzamosítási lehetőségei.


Tudás: Az angol nyelvtudása eléri a képzéshez, az angol nyelvű szakirodalom megismeréséhez, a szakszöveg megértéshez, feldolgozásához, és a szakképzettséggel ellátható szakmai feladatokhoz elvégzéséhez szükséges, valamint a folyamatos szakmai önképzéshez szükséges szintet. Ismeri a műszaki informatikai rendszerek fejlesztéshez szükséges, széles körben alkalmazható problémamegoldó technikákat. Érti az informatikai alkalmazások fejlesztéshez szükséges természettudományos és mérnöki módszerek elvét. Az informatikai szakmán belül, a specializációtól függően mélyebb elméleti és gyakorlati ismeretekkel rendelkezik az alábbiak közül egy vagy néhány területen: szoftvertervezés, rendszerszimuláció és -modellezés, kommunikációs hálózatok, mobil- és erőforrás-korlátos alkalmazások, számítógépes grafika és képfeldolgozás, kritikus és beágyazott rendszerek, médiainformatika, IT-biztonság, párhuzamos rendszerek, intelligens rendszerek, számításelmélet, adatbázisok.
Képesség: Képes törvényszerűségeket, összefüggéseket feltárni és megérteni. A megszerzett tudást képes alkalmazni és a gyakorlatban hasznosítani. Képes problémamegoldó technikákat használni a szoftver- és alkalmazásfejlesztés során. A specializációjának megfelelő területen elemzési, tervezési és megvalósítási készséggel rendelkezik. Képes az informatikához kapcsolódó tudományokban a megszerzett szakmai tapasztalat ismereti határairól származó információk, felmerülő új problémák, új jelenségek feldolgozására. Képes helytálló szakmai bírálatot vagy véleményt megfogalmazni informatikai és mérnöki területeken.
Attitűd: Szakmailag magas szinten, tervezetten és a minőségi szempontokat figyelembe véve hajtja végre fejlesztési feladatait, a létrejövő rendszerek hibamentességéről meggyőződik. Nyitott és elkötelezett az önművelésre, önfejlesztésre, az egyéni tudás, ismeret elmélyítésére, bővítésére a természettudományok, a mérnöki és informatikai tudományok területén. Kezdeményező a problémamegoldásban, képes megalapozott döntéseket hozni, nem tér ki a személyes felelősségvállalás elől. Fontosnak tartja az informatikai szakma közvetítését és saját tudásának átadását. Munkája során vizsgálja a kutatási, fejlesztési és innovációs célok kitűzésének lehetőségét és törekszik azok megvalósítására.
Autonomia és felelősség: Felelősséget érez a határidők betartására és betartatására.
Tárgy tematikus leírása:

Párhuzamos architektúrák, párhuzamos programnyelvek. Adatpárhuzamosítás. Mátrixalgoritmusok, rendezések. Processz kommunikáció. Pipeline párhuzamosítás, lineáris egyenletrendszerek megoldási módszerei. Adatmegosztás. Szinkronizált párhuzamosság. Relaxációs módszerek, multifelbontás algoritmusok. Multicomputer architekturák, üzenet-átadó programok. Párhuzamos numerikus algoritmusok. PVM és MPI típusú programok. Java alapú cluszter.

Félévközi számonkérés módja és az aláírás megszerzésének feltétele (Nappali):
2db zárthelyi. 6-6 pontos zárthelyik. Aláírás megszerzése: mindkét zárthelyi legalább 3 pontos megírása (minden feladat tökéletes megoldása 1 pontot ér).
Félévközi számonkérés módja és az aláírás megszerzésének feltétele (Levelező):
Gyakorlati jegy / kollokvium teljesítésének módja, értékelése (Nappali):
A vizsga írásbeli. A vizsga 90 perces és 8 pontot lehet maximálisan megszerezni (azaz összesen 8 feladat beugró nélkül és minden feladat tökéletes megoldása 1 pontot ér). A vizsga során számonkérésre kerülnek pl. az alapalgoritmusok, melyek beugrónak számítanak a vizsgán, azaz ezek teljesítése kötelező a legalább elégséges jegy megszerzéséhez. A jegyek kiosztása a következő: 0-3p elégtelen(1); 4p elégséges(2); 5p (közepes); 6p (jó); 7-8p jeles(5) az eredmény.
Gyakorlati jegy / kollokvium teljesítésének módja, értékelése (Levelező):
Kötelező irodalom:

1. Kacsuk P., Ferenczi Sz.: Párhuzamos és konkurrens programozás soktranszputeres rendszeren, BME Mérnöktovábbképző Intézet, 1993.
2. Dr. Olajos Péter: Párhuzamos algoritmusok, Tankönyvtár, 2011.
3. B. P. Lester: The Art of Parallel Programming, 1st World Publishing, 2013.
4. Iványi Antal: Párhuzamos algoritmusok, ELTE Informatikai Kar, Budapest, 2010.
5. Kovács György: Párhuzamos programozási eszközök és összetett alkalmazásaik, Typotex, Budapest, 2014.

Ajánlott irodalom:

1. Giancarlo Zaccone: Python Parallel Programming Cookbook, Packt Publishing - ebooks Account, 2015.
2. Peter Pacheco: Parallel Programming with MPI, Morgan Kaufmann, 1996.
3. Peter Pacheco: An Introduction to Parallel Programming, Morgan Kaufmann, 2011.
4. Michael J. Quinn: Parallel Programming in C with MPI and OpenMP, McGraw-Hill Science/Engineering/Math, 2003.
5. Bertil Schmidt, Jorge Gonzalez-Dominguez, Christian Hundt, Moritz Schlarb: Parallel Programming, Morgan Kaufmann, 2017.