Hoppa till huvudinnehållet
Till KTH:s startsida

ID2226 Grunderna i skalbara datasystem 7,5 hp

Information per kursomgång

Kursomgångar saknas för aktuella eller kommande terminer.

Kursplan som PDF

Notera: all information från kursplanen visas i tillgängligt format på denna sida.

Kursplan ID2226 (HT 2027–)
Rubriker med innehåll från kursplan ID2226 (HT 2027–) är markerade med en asterisk ( )

Innehåll och lärandemål

Kursinnehåll

Beräkningskomplexitet: undre gränser för jämförelsebaserad sortering och sökning, hashtabeller kontra träd, avvägningar mellan utrymme och noggrannhet vid strömmande data (Bloom-filter), P mot NP och konsekvenser för systemdesign, stopproblemet.

Lagringshierarki: minnesväggen (DRAM-latens, SRAM, TCAM), IO-kostnader över olika substrat (elektriska, magnetiska, fotoniska), skrivoptimerade kontra läsoptimerade strukturer (LSM-träd kontra B-träd).

Arkitektur och maskinvarugränser: Amdahls lag, Moores lag och Dennard-skalning (effektväggen, mörkt kisel), sidokanalsattacker via spekulativ exekvering (Spectre, Meltdown).

Operativsystem, schemaläggning och samtidighet: dödlägen (Coffmans villkor), kostnader för kontextväxling, framstegsgarantier (obstruktionsfri, låsfri, väntefri), schemaläggningsoptimalitet (SJF/SRTF), avvägningar mellan batch- och interaktiv schemaläggning, prioritetsinversion.

Distribuerade system och feltolerans: FLP-omöjlighet, CAP och PACELC, Bysantinsk feltolerans (2f+1- och 3f+1-gränser), svanslatens i stor skala, bandbreddsfördröjningsprodukt.

Kvantmekaniska realiteter: icke-kommunikationsteoremet, sammanflätning och samordningseffektivitet, dekoherens som systemproblem.

Lärandemål

Efter godkänd kurs ska studenten kunna

  • förklara fundamentala omöjlighetsresultat och undre gränser för beräkning och kommunikation samt resonera om deras konsekvenser för vad datorsystem kan och inte kan göra
  • jämföra algoritmer, datastrukturer och lagringsstrukturer med avseende på deras inneboende avvägningar mellan tid, utrymme, noggrannhet och ordningsgarantier samt välja en lämplig algoritm, datastruktur eller lagringsstruktur utifrån kraven i en given tillämpning
  • beskriva minnes- och lagringshierarkin och analysera hur maskinvarans fysikaliska egenskaper begränsar prestandan hos algoritmer och datastrukturer
  • förklara de fysikaliska och arkitekturmässiga gränserna för processorprestanda och analysera de avvägningar mellan prestanda, energieffektivitet och isolering som följer av dem i moderna parallella och heterogena arkitekturer
  • analysera schemaläggnings-, synkroniserings- och resursdelningsproblem i operativsystem och samtidiga program samt resonera om avvägningarna mellan genomströmning, svarstid, rättvisa, framstegsgarantier och overhead
  • förklara de fundamentala gränserna för konsistens, tillgänglighet, latens, genomströmning och feltolerans i distribuerade system och nätverk samt tillämpa dem för att resonera om storskaliga systems utformning och beteende
  • beskriva vad fysikens lagar, inklusive kvantmekaniken, tillåter och omöjliggör när det gäller kommunikation, samordning och beräkning samt bedöma vilka möjligheter och begränsningar detta medför för utformning av system
  • tillämpa omöjlighetsresultat, undre gränser och fundamentala avvägningar för att analysera och kritiskt värdera utformningen av ett befintligt datorsystem
  • avgöra när en föreslagen systemdesign står i konflikt med en fundamental gräns och göra välgrundade avvägningar vid utformning av datorsystem.

Kurslitteratur och förberedelser

Särskild behörighet

Kunskaper och färdigheter i programmering, motsvarande slutförd kurs DD1337/DD1310-DD1319/DD1321/DD1331/DD1333/DD100N/DD100V/ID1018/ID1022.

Kunskaper i algoritmer och datastrukturer, 6 hp, motsvarande slutförd kurs DD1338/DD1320-DD1328/DD2325/ID1020/ID1021 eller slutförda provmoment KONT och LABD i DD1326.

Kurslitteratur

Du hittar information om kurslitteratur antingen i kursomgångens kurs-PM eller i kursomgångens kursrum i Canvas.

Examination och slutförande

Betygsskala

A, B, C, D, E, FX, F

Examination

  • TEN1 - Digital salstentamen, 4,0 hp, betygsskala: A, B, C, D, E, FX, F
  • PRO1 - Projekt, 3,5 hp, betygsskala: P, F

Examinator beslutar, baserat på rekommendation från KTH:s handläggare av stöd till studenter med funktionsnedsättning, om eventuell anpassad examination för studenter med dokumenterad, varaktig funktionsnedsättning. Examinator får medge annan examinationsform vid omexamination av enstaka studenter. När kurs inte längre ges har student möjlighet att examineras under ytterligare två läsår.

Examinator

Ingen information tillagd

Etiskt förhållningssätt

  • Vid grupparbete har alla i gruppen ansvar för gruppens arbete.
  • Vid examination ska varje student ärligt redovisa hjälp som erhållits och källor som använts.
  • Vid muntlig examination ska varje student kunna redogöra för hela uppgiften och hela lösningen.

Ytterligare information

Kursrum i Canvas

Registrerade studenter hittar information för genomförande av kursen i kursrummet i Canvas. En länk till kursrummet finns under fliken Studier i Personliga menyn vid kursstart.

Ges av

Huvudområde

Datalogi och datateknik

Utbildningsnivå

Avancerad nivå