Tentalabbet

TDDE35 · 11 hp · Grundnivå (G1F) · Datavetenskap

Storskaliga distribuerade system och nätverk

Ges · nästa start VT 2027

82 %

klarade senaste ordinarie tentan

TEN1 · 23 mar 2026 · 45 studenter

65 %

klarade ordinarie tentorna, alla tillfällen de senaste 5 åren

TEN1 · 326 studenter

Ovanligt lätt 2025/26

82 % klarade ordinarie tentan läsåret 2025/26 (45 studenter), mot 63 % i snitt åren innan (281 studenter).

Ingår i 1 program

Tentamen

TEN1 Skriftlig tentamen

  • 5
  • 4
  • 3
  • U

Ordinarie tentor

65 % godkända · 326 studenter

  • 82 %45
  • 68 %34
  • 59 %29
  • 82 %33
  • 51 %57
  • 58 %24
  • 62 %34
  • 86 %36
  • 41 %34

Omtentor

58 % godkända · 69 studenter

  • 80 %10
  • 81 %16
  • 91 %11
  • 45 %11
  • 20 %15
  • 17 %6
  • Klarar omtentan: 58 % (69 studenter), jämfört med 65 % (326 studenter) på ordinarie
  • Får 4 eller 5: 22 % (395 studenter)

Övriga moment

Deltentor, inlämningar och laborationer. De ingår inte i siffrorna överst.

Tentamen

TEN2 Skriftlig tentamen

  • 5
  • 4
  • 3
  • U

Ordinarie tentor

85 % godkända · 262 studenter

  • 94 %49
  • 82 %55
  • 79 %63
  • 76 %45
  • 96 %50

Omtentor

36 % godkända · 72 studenter

  • 67 %9
  • 25 %12
  • 50 %8
  • 31 %13
  • 29 %14
  • 17 %6
  • 40 %10
  • Klarar omtentan: 36 % (72 studenter), jämfört med 85 % (262 studenter) på ordinarie
  • Får 4 eller 5: 47 % (334 studenter)
Visa små tillfällen (3)

Tillfällen med färre än 5 studenter, ofta tillgodoräknanden eller specialtillfällen. De ingår inte i någon siffra på sidan.

  • 0 %3
  • 50 %2
  • 67 %3

Inlämning eller laboration

PRA1 Projektarbete

  • G

Ordinarie tillfällen

100 % godkända · 264 studenter

  • 100 %46
  • 100 %54
  • 100 %56
  • 100 %52
  • 100 %56

Senare tillfällen

Inga tillfällen med minst 5 studenter.

    Visa små tillfällen (3)

    Tillfällen med färre än 5 studenter, ofta tillgodoräknanden eller specialtillfällen. De ingår inte i någon siffra på sidan.

    • 100 %1
    • 100 %4
    • 100 %1

    Inlämning eller laboration

    LAB1 Laborationer

    • G

    Ordinarie tillfällen

    100 % godkända · 263 studenter

    • 100 %46
    • 100 %53
    • 100 %57
    • 100 %51
    • 100 %56

    Senare tillfällen

    Inga tillfällen med minst 5 studenter.

      Visa små tillfällen (6)

      Tillfällen med färre än 5 studenter, ofta tillgodoräknanden eller specialtillfällen. De ingår inte i någon siffra på sidan.

      • 100 %2
      • 100 %1
      • 100 %1
      • 100 %4
      • 100 %3
      • 100 %2

      Om kursen

      Mål

      Datornät har blivit en oumbärlig del av infrastrukturen i vårt moderna samhälle. Miljarder människor och enheter är anslutna och använder kritiska distribuerade tjänster implementerade över via Internet. Det blir därför allt viktigare att förstå hur dessa nätverk, distribuerade system, och tjänster som trafikerar dessa nät, är utformade för att skala till stora antal maskiner och användare. Även på nivån för enskilda maskiner, är det viktigt att veta hur man bygger applikationer och tjänster som effektivt skalas med resurser (t.ex. antalet kärnor, processorer, etc.). I den här kursen kommer vi att använda en kombination av teori och praktik (inklusive utforskning av verkliga data) för att få en djupare förståelse av moderna storskaliga system och tjänster.

      Inom området datornät, förväntas deltagare efter genomgången kurs kunna:

      • Förklara, beskriva och analysera ett typiskt nätverksarkitektur, inklusive argumentera om vikten av nätverkslager och inkapsling
      • Förklara de olika grundläggande typer av protokoll, kommunikationskanaler och nätverkstyper
      • Designa, genomföra, kontrollera och testa dina egna protokoll
      • Förklara grundläggande prestanda kompromisser, inklusive visa en förståelse för var förseningar kan förekomma i ett nätverk, vilka olika typer av förseningar som finns, inverkan av paketförluster och jitter på olika protokoll
      • Använda konkreta exempel, och i detalj, beskriva samspelet mellan de olika protokoll i nätverksarkitektur, och de protokoll som är förknippade med de olika lagren
      • Beskriva och analysera de vanligaste applikationsarkitekturer på Internet, hur de viktigaste applikationslagerprotokoll fungerar, den tjänst som de tillhandahåller, samt ha förmåga att utforma och genomföra sina egna applikationslagerprotokoll
      • Analysera och förklara viktiga designöverväganden vid transportlagret, inklusive praktisk kunskap om hur flödeskontroll och stockningskontroll fungerar, och hur tillförlitlig dataöverföring implementeras
      • Motivera och förklara hur routing och vidarebefordran genomförs på Internet, inklusive grundläggande design och implementeringsprinciper nätverkslagerprotokoll som används för att säkerställa skalbarhet
      • Beskriva och förklara olika länklagertekniker och hur de fungerar
      • exemplifiera hur olika typer av säkerhetstjänster kan implementeras i olika lager med hjälp av olika standarder
      • Analysera och exemplifiera några av de unika utmaningar som upkommer då vi går mot allt mer mobila användare
      • Förklara och diskutera grunderna i hur multimedia tjänster tillhandahålls via Internet

      Studenterna förväntas också förstå hur distribuerade system kan byggas på toppen av nätverksarkitektur för att ge skalbara tjänster, samt hur flerkärniga system och inbäddade system kan användas för att ytterligare förbättra tjänsterna. Mer specifikt, efter avslutad kurs skall studenten kunna:

      • Definiera vad ett distribuerat system är och dess viktigaste mål
      • Förklara relationen mellan arkitekturer, processer och kommunikation
      • Exemplifiera olika typer av transparens, skaltekniker
      • Analysera och förklara några av de grundläggande skillnaderna i olika systemarkitekturer
      • Beskriva och förklara hur man kan uppnå synkronisering, konsistens och replikering
      • Motivera och förklara konstruktionen av olika typer om distribuerade systemarkitekturer, inklusive objektbaserade distribuerade system och webbaserade distribuerade system (inklusive hur en proxy cache fungerar)
      • Förstå grundläggande homogena och heterogena flerkärniga arkitektur begrepp och deras prestanda konsekvenser; grundläggande tekniker för flerkärniga programmering med trådar och uppgifter; och en del tekniker för att konstruera parallella algoritmer och analysera deras komplexitet, inklusive parallell skalbarhet
      • Förstå metoder och verktyg på systemnivå för konstruktion av realtids inbyggda system; förstå grundläggande kompromisser och design konsekvenser som måste beaktas när beslut fattas på systemnivå design; och placera design i ett större sammanhang (bland annat i samband med hårdvaruarkitektur och mjukvaruimplementering).

      Genom att införa generella designkoncept, några grundläggande vetenskapliga metoder (såsom grundläggande system för prestandamodellering), utforskning av verkliga data, och en allmän systemtänkande, med omfattning och resultat som viktiga aspekter, som används i hela kursen, förväntar vi oss också att studenten ska kunna:

      • Förklara med hjälp av konkreta exempel grundläggande nätverksdesignprinciper och skalbarhetsavvägningar
      • Designa och utföra målinriktade försök att kritiskt utvärdera nätverk och distribuerade system teknik
      • Använd grundläggande systemmodeller och analysmetoder för att analysera system och nätverk
      • Som ett team, planera och genomföra en projektstudie för ett identifierat problem inom ett valt teknikområde, även experiment med verkliga datakällor (som i vissa fall samlas in av studenterna själva)
      • Baserat på en projektstudie, presentera och förklara (både skriftligt och muntligt) slutsatser inom ett valt teknikområde, till en publik med liknande allmän kunskap om datornät
      • Ge/ta emot konstruktiv feedback till/från andra studenter

      Innehåll

      Datornätverk: De grundläggande designprinciper för datornätverk, deras protokoll, och Internet stacken. Applikationsprotokoll (t.ex. HTTP), transportlagerprotokoll (t.ex. TCP), nätverkslagerprotokoll (t.ex. IP och BGP), länklagerprotokoll (t.ex. Ethernet, WiFi och Bluetooth). Introduktion till multimedia-applikationer, trådlöst nätverk och nätverkssäkerhet för varje lager.

      Distribuerade system, flerkärniga system och inbyggda system: Grundläggande distribuerade arkitekturer och deras processer och kommunikation. Synkronisering, replikering, konsistensfrågor och kompromisser. Objektbaserade och webbaserade system. Flerkärniga arkitekturer, deras möjligheter och grundläggande utmaningarna de orsakar. Inbyggda system och deras integration i ett brett utbud av moderna system.

      Projekt: De exakta ämnena för projektet kommer att variera något från år till år, för att hålla projekten spännande och "up-to-date" med utvecklingen inom områdena. Återkommande teman är: av storskaliga system och deras grundläggande egenskaper (t.ex., power-lagar, rik-blir-rikare); Skalbara system och mönster (t.ex., hierarkisk kontra platt design, skiktade konstruktioner); Mätning, modellering och analysmetoder som använder riktiga nätverksdata; Viktiga moderna distribuerade system såsom molnbaserade tjänster (t.ex., EC2), CDN, Internet routing arkitektur i sig, och sociala nätverk.

      Examinator
      Niklas Carlsson
      Schemalagd tid
      80 h
      Huvudområde
      Datavetenskap
      Kursplanen på Studieinfo ↗