Samhliða og dreifð forritun

NámsgreinT-419-CADP
Önn20241
Einingar6
SkyldaNei

Ár1. ár
ÖnnVorönn/Spring 2024
Stig námskeiðsÓskilgreint
Tegund námskeiðsSkylda
UndanfararT-111-PROG, Forritun
T-201-GSKI, Gagnaskipan
T-301-REIR, Reiknirit
T-409-TSAM, Tölvusamskipti
SkipulagTD-Staðarnám-12 vikna
Kennari
Marcel Kyas
Lýsing
Fjölkjarna tölvur, net samtengdra véla og misleit vinnsluumhverfi eru alltumlykjandi. Að nýta aðföng slíkra kerfa til fullnustu felur í sér að forrita samhliða vinnslur og dreifð kerfi. Í þessu námskeiði læra þátttakendur að skrifa slík forrit, bæði í C með pthread fallasafninu og í Erlang. Erlang er fallaforritunarmál hannað sérstaklega með samhliða, dreifð og villuþolin kerfi í huga, og er m.a. notað hjá Facebook og Amazon fyrir rauntímaviðskipti og netleiki. Nemendur læra að forðast ófyrirsjáanleg áhrif og lása og að byggja upp samhliða og dreifð kerfi. Grunnatriði þráða, ferla, semafóra og mutexa eru rifjuð upp. Síðan er mynstrum til að aðlaga algeng reiknirit að samhliða keyrslu lýst ásamt grunnhögunum samhliða vinnslu. Skoðuð verður forritun með vökturum og færsluminni ásamt dreifðum skilaboðakerfum. Þátttakendur læra að byggja upp dreifð kerfi og skilja högun þeirra. Skoðaðar verða samhæfingaraðferðir sem lýsa því hvernig mismunandi ferli í dreifðu kerfi stefna að sameiginlegu markmiði. Að lokum munu þátttakendur geta kynnt og útskýrt samhliða kerfi, skilið uppbyggingu þess og réttlætt eiginleika þess.
Námsmarkmið
  • Geti lýst þörfinni fyrir samhliða vinnslur í forritum.
  • Geti útskýrt áskoranirnar við samhliða keyrslur (ófyrirsjáanleiki, vandamál við prófanir).Geti útskýrt muninn á ferlum og þráðum.
  • Geti útskýrt forsendur þess að lenda í sjálfheldu (e. deadlock).
  • Geti útskýrt aðferðir til að forðast sjálfheldu.
  • Geti talið upp minnislíkön, lýst tilgangi þeirra og hvernig þau starfa, og skrifað forrit sem eru laus við aðstæður þar sem þræðir eða forritshlutar keppa um aðföng.
  • Geti útskýrt vandamál við samhliðavinnslur sem deila breytum og hvernig unnið er með þau í dreifðum kerfum
  • Geti lýst þörfinni fyrir samstillingu og einhverjum samstillingaraðferðum.Geti lýst villuviðnámi og aðferðum við að skrifa villuþolin forrit.
  • Geti útskýrt virkjalíkan (e. actor model) og beitt því í forriti.
  • Geti skrifað fjölþráða forrit sem notar semafórur, mutexa og les- og skriflása
  • Geti skrifað samhliðaforrit sem nota vaktara (e. monitor).
  • Geti skrifað samhliðaforrit sem nota færsluminni.
  • Geti hannað dreifð kerfi með biðlara og miðlara, þriggja laga, n laga, jafningjahögun og “space based architecture”.
  • Geti skrifað dreifð kerfi með skilaboðasendingu.
  • Geti hannað samhliða og villuþolið dreift kerfi.
  • Geti gagnrýnt grunnhugmyndir lausnar á samhliðavinnslu og framsetningu hennar. 
Námsmat

Lesefni
Ekkert skráð lesefni.
Kennsluaðferðir

TungumálEnska