IN4330 – Effektiv parallellprogrammering
Beskrivelse av emnet
Kort om emnet
Emnet vil gi kunnskap in ulik bruk av parallellitet på en flerkjernet datamaskin og særlig gi innsikt i hvordan og når man i Java kan utvikle parallelle programmer som kan bli klar raskere eller enklere enn et sekvensielt program som løser det samme problemet. Emnet har fokus på hands-on programmering fremfor teoretiske overveielser.
Hva lærer du?
Etter å ha tatt emnet vil du:
- ha god kunnskap om trådprogrammering i Java og bruk av sentrale komponenter i java.util.concurrent og kunne forklare forskjelle mellom minst tre forskjellige synkroniseringsmetoder
- vite hvilke nye vansker parallell programmering med tråder gir og hvordan disse kan løses
- beherske teknikker for å omforme en sekvensiell algoritme til en effektiv parallell algoritme
- kunne lage flere ulike parallelle løsninger på et problem og vurdere effektiviteten til disse
- kunne ta eksekveringstider på programmer og bestemme eventuelle hastighetsforbedringer
- kunne forklare grunnleggende begreper for multikjernedatamaskiner, spesielt multithreading og caching
- kunne forklare interaksjoner mellom tråder og caching og hvordan disse interaksjonene påvirker algoritmers effektivitet
- kunne optimere parallelle programmer i forhold til caching
- kunne forklare den asymptotiske oppførsel av programmer
Opptak til emnet
Studenter må hvert semester søke og få plass på undervisningen og melde seg til eksamen i Studentweb.
Dersom du ikke allerede har studieplass ved UiO, kan du søke opptak til våre studieprogrammer.
Anbefalte forkunnskaper
IN1000 – Introduksjon til objektorientert programmering/IN1900 og IN1010 – Objektorientert programmering
IN2010 – Algoritmer og datastrukturer/INF2220
Overlappende emner
- 10 studiepoeng overlapp med IN3030 – Effektiv parallellprogrammering.
- 10 studiepoeng overlapp med INF2440 – Effektiv parallellprogrammering (videreført).
Undervisning
2 timer forelesning og 2 timer øvelser hver uke.
Obligatoriske øvelser må være godkjent for å kunne gå opp til eksamen. Obligatoriske oppgaver er gyldige i 1.5 år
Obligatorisk oppmøte på første forelesning.
Eksamen
4 timers digital skoleeksamen Inspera som teller 100% i karaktervurderingen.
Obligatoriske øvelser må være godkjent for å kunne gå opp til eksamen. Obligatoriske oppgaver er gyldige i 1 1/2 år.
Som eksamensforsøk i dette emnet teller også forsøk i følgende tilsvarende emner: IN3030 – Effektiv parallellprogrammering, INF2440 - Effektiv parallellprogrammering (videreført)
Hjelpemidler til eksamen
Alle skriftlige hjelpemidler er tillatt.
Eksamensspråk
Eksamensoppgaven blir gitt på norsk. Hvis emnet undervises på engelsk vil oppgaven kun gis på engelsk. Du kan svare på norsk, svensk, dansk eller engelsk.
Karakterskala
Emnet bruker karakterskala fra A til F, der A er beste karakter og F er stryk. Les mer om karakterskalaen.
Adgang til ny eller utsatt eksamen
Studenter som dokumenterer gyldig fravær fra ordinær eksamen, kan ta utsatt eksamen i starten av neste semester.
Det tilbys ikke ny eksamen til studenter som har trukket seg under ordinær eksamen, eller som ikke har bestått.
Mer om eksamen ved UiO
- Kildebruk og referanser
- Tilrettelegging på eksamen
- Trekk fra eksamen
- Syk på eksamen / utsatt eksamen
- Begrunnelse og klage
- Ta eksamen på nytt
- Fusk/forsøk på fusk
Andre veiledninger og ressurser finner du på fellessiden om eksamen ved UiO.