IN9570 – Distribuerte objekter
Beskrivelse av emnet
Kort om emnet
Emnet gir en presentasjon av grunnleggende begreper for distribuerte objekter, inkludert lokale og distribuerte objekter, ekstern objektpåkalling, kommunikasjon, parametervurderingsprinsipper, søppelsamling, ytelsesproblemer og typiske applikasjoner. Emnet dekker også advanced type systems, inkludert begreper som immutability og dets anvendelse til distribuert programmering og tilgangskontroll. Emnet diskuterer også utformingen av språkkonstruksjoner for parallellisme, og vil bruke programmeringsspråket Emerald som basis. Emnet tar også en titt på implementeringen av distribuerte objekter, inkludert virtuelle maskiner, kompileringsteknikker, run-time typing, dynamisk programlasting og hvordan du distribuerer søppelinnsamlingen.
Hva lærer du?
Etter å ha fullført emnet skal du:
- kunne forklare Emeralds typesystem og dets betydning for distribusjon
- kjenne til begrepene distribution, immutability, contra-variance, replikering, fjernkall, mobilitet, tråde, trådsynkronisering, trådmobilitet, og spilloppsamling
- kjenne til hovedprinsippene i distribuert spilloppsamling, fjernkall, tråde, objektklasser, objekttyper, synkronisering, pålitelighet og rask distribuerte applikasjoner
- kjenne til prinsippene og metoder for å implementere distribuert spilloppsamling, fjernkall, tråder, objektklasser, objekttyper, synkronisering, pålitelighet og rask distribuerte applikasjoner
- kunne programmere større distribuerte programmer i Emerald med mange tråder og komplekse synkroniseringskrav, hvor objekterne er fordelt over hele verden
- kjenne til lysets hastighet og dets effekt på distribuerte systemer
- kunne anvende Planetlab til måling av performance til distribuerte systemer og applikationer
- kunne sette Emeralds typesystem i relation til andre språks typesystemer og inngående forklare forskjeller i design av typesystemerne
- kunne forklare og diskutere den teoretisk bakgrunnen til begrepene object contructors vs classes, interface, immutability, contra-variance, replikering, mobilitet, tråder, trådsynkronisering, trådmobilitet og distribuert spilloppsamling
- kunne prinsippene for og implementation av distribuert spilloppsamling, fjernkall, tråder, objektklasser, objekttyper, synkronisering, pålitelighet og rask distribuerte systemer
Opptak til emnet
Ph.d.-kandidater ved UiO søker plass på undervisningen og melder seg til eksamen i Studentweb. Hvis emnet har begrenset kapasitet vil Ph.d.-kandidater som har emnet i sin utdanningsplan ved UiO bli prioritert.
Ph.d.-kandidater som har opptak ved andre utdanningsinstitusjoner må innen angitt frist søke om hospitantplass.
Anbefalte forkunnskaper
En eller flere av:
UNIK4290, IN5020, IN5060, IN9020, IN9070, IN9060 (Ok å ta emnet i samme semester som IN9570)
Overlappende emner
- 10 studiepoeng overlapp med INF5510 – Distribuerte Objekter (videreført).
- 10 studiepoeng overlapp med IN5570 – Distribuerte objekter.
Undervisning
Forelesninger på 2 timer hver uke, med 6 timers forelesninger ca hver tredje uke. 2 timer med gruppetimer hver uke. Emnet baserer seg i stor grad på praktisk erfaring gjennom flere større programmeringsoppgaver.
Obligatoriske øvelser som må være godkjent for å kunne gå opp til eksamen.
Utvidet krav i hjemmeeksamener for PhD-varianten:
- teoretiske avsnitt
- sammenligninger med alternative løsninger
- utvidet performance målinger
Det er obligatorisk oppmøte på første forelesning.
Eksamen
2 hjemmeeksamener i løpet av semesteret som hver teller 25% og en muntlig eksamen (skriftlig 4 timer digital eksamen hvis mer enn 20 kandidater) som teller 50% av karakteren.
Obligatoriske øvelser som må være godkjent for å kunne gå opp til eksamen.
Som eksamensforsøk i dette emnet teller også forsøk i følgende tilsvarende emner: IN5570 - Distribuerte objekter, INF5510 - Distribuerte Objekter (videreført)
Hjelpemidler til eksamen
Muntlig/skriftlig eksamen: Alt skriftlig materiale 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 bestått/ikke bestått. 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.