Sök Stäng
Kursplan

Parallelldatorprogrammering för bearbetning av stora datamängder, 7,5 hp

Big Data Parallel Programming, 7.5 credits

Kurskod: DT8034

Akademin för informationsteknologi

Nivå: Avancerad nivå

Välj kursplan

Version
2025-01-20 - Tills vidare

Fastställd av: Forsknings- och utbildningsnämnden, 2024-09-18 och gäller studenter antagna vårterminen 2025.

Huvudområde med fördjupning

Datateknik, Avancerad nivå, har kurs/er på avancerad nivå som förkunskapskrav. (A1F)

Behörighetskrav

Kursen Edge Computing och Internet of Things 7,5 hp. Undantag ges för kravet på svenska. Engelska 6.

Kursens inplacering i utbildningssystemet

Kursen ingår i Masterprogrammet i informationsteknologi 120 hp och som valbar kurs i programmet Civilingenjör i datateknik 300 hp. Kursen ges även som fristående kurs.

Mål

Att hantera enorma datamängder är kärnan i datautvinning, djupt lärande och autonomt beslutsfattande i realtid. Alla dessa är i sin tur kärnan i moderna applikationer för artificiell intelligens. Data kan vara mer eller mindre permanent i molnet och nås via distribuerade filsystem och / eller strömma i realtid från flera sensorer i mycket snabb takt.

Tillgång till data såväl som bearbetning sker med användning av mycket välutvecklade ramverk där både lagring och bearbetning distribueras och bearbetning sker parallellt. Syftet med kursen är att presentera denna infrastruktur, inklusive parallell programmering för genomförandet av dessa ramverk. Detta ska göra det möjligt för studenten att bedöma hur man väljer ramverk för applikationer, identifiera fördelar och nackdelar, föreslå förbättringar och till och med genomföra förbättringar.


Efter avslutad kurs ska studenten kunna:


Kunskap och förståelse

  • förklara distribuerade filsystem, begrepp om beräkning i distribuerade system samt begrepp om parallell programmering
  • beskriva verktyg och programmeringsspråk för lagring och behandling av data i tillämpningar inom maskininlärning och datautvinning


Färdighet och förmåga

  • använda specialiserade ramverk och metoder för programmering av tillämpningar inom maskininlärning och datautvinning, t.ex. Hadoop och Spark
  • använda specialiserade programmeringsspråk för GPU, så som CUDA och / eller OpenCL för att uppnå höga prestanda


Värderingsförmåga och förhållningssätt

  • värdera lämpliga metoder och verktyg för lagring och behandling av data för tillämpningar inom maskin inlärning och datautvinning.

Innehåll

Kursen innehåller moderna tekniker, metoder och verktyg för distribuerat lagringsutrymme för statiska och strömmade stora datamängder, till exempel distribuerade och feltoleranta nyckel/värde tabeller, inklusive replikering- och samordningsmekanismer.

Kursen innehåller också moderna tekniker, metoder och verktyg för distribuerad bearbetning av statiska och strömmade stora datamängder inklusive ramverk som MapReduce och Spark.

Slutligen innehåller kursen begrepp, metoder och verktyg för parallell programmering för data kluster, inklusive GPU.

Undervisningsspråk

Undervisningen bedrivs på engelska.

Undervisning

Kursen innehåller föreläsningar om distribuerade filsystem, begrepp om distribuerade beräkningar, parallell programmerings paradigmer, specialiserade metoder, ramverk och verktyg. Föreläsningarna introducerar materialet i litteraturen.

Lab-övningar på dataintensiva beräkningar och parallell programmering används för att studenterna ska kunna utveckla färdigheter och förmågor inom området.

Ett projekt om dataintensiva beräkningar gör det möjligt för studenterna att använda sina kunskaper i en realistisk tillämpning.

Betygsskala

Fyrgradig skala, sifferbetyg (TH): Underkänd (U), Godkänd (3), Väl godkänd (4), Mycket väl godkänd (5)

Examinationsformer

För att klara kursen måste studenten klara laboratorierna och projektet. I projektet ingår ett program, en rapport, en presentation och projektet ligger till grund för en individuell muntlig tentamen.

1901: Laborationer, 2,5 hp
Tvågradig skala (UG): Underkänd (U), Godkänd (G)

1902: Projekt, 5 hp
Fyrgradig skala, sifferbetyg (TH): Underkänd (U), Godkänd (3), Väl godkänd (4), Mycket väl godkänd (5)

Undantag från angiven examinationsform

Om särskilda skäl finns får examinator göra undantag från angiven examinationsform och medge att en student examineras på annat sätt. Särskilda skäl kan till exempel vara beslut om riktat pedagogiskt stöd.

Kursvärdering

I kursen ingår kursvärdering. Denna är vägledande för utveckling och planering av kursen. Kursvärderingen dokumenteras och redovisas för studenterna.

Kurslitteratur och övriga läromedel

Välj litteraturlista
2025-01-20 – Tills vidare

Litteraturlista 2025-01-20Tills vidare

Kursen kommer att använda flera källor, i många fall endast delar av dessa. Materialet kommer att utökas med tutorials för de verktyg och ramverk som ska användas i kursen samt med forskningspublikationer.


Zhang, Y, Cao, T, Li, S, Tian, X, Yuan, L, Jia, H, Vasilakos, A. Parallel Processing Systems for Big Data: A Survey

http://ieeexplore.ieee.org/document/7547948/


Leskovec, J, Rajaraman, A, Ullman, J. Mining of Massive Datasets

http://infolab.stanford.edu/~ullman/mmds/book.pdf


Hennessy, J. L., & Patterson, D. A. Computer architecture: a quantitative approach. Elsevier. Chapter on The Warehouse-Scale Computer


Jules S. Damji, Brooke Wenig, Tathagata Das, Denny Lee. Learning Spark: Lightning-Fast Data Analytics, 2nd Edition, O’Reilly, 2020