IN9570 – Distribuerte objekter
Beskrivelse av emnet
Endringer på grunn av koronaviruset
Høsten 2020 og våren 2021 vil eksamen i de fleste emner ved MN gjennomføres digitalt, enten som hjemmeeksamen eller som muntlig eksamen, med normal karakterskala. Følg med på semestersiden for oppdatert informasjon om eksamensformen i ditt emne.
Merk at det kan komme endringer i eksamensform for enkelte emner våren 2021. Vi har som mål at både emnebeskrivelse og semestersider for alle emner skal være oppdatert med korrekt informasjon innen 1. februar 2021.
Se felles retningslinjer for eksamen ved MN-fakultetet høsten 2020.
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. Noen nasjonale forskerskoler kan ha egne regler for rangering av søkere til emner med begrenset kapasitet.
Ph.d.-kandidater som har opptak ved andre utdanningsinstitusjoner må innen angitt frist søke om hospitantplass.
Anbefalte forkunnskaper
IN4151
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 bestått 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.
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.