4 ECTS credits
100 u studietijd
Aanbieding 1 met studiegidsnummer 4004970EER voor alle studenten in het 1e semester met een verdiepend master niveau.
Distributed computing verwijst naar een grote samenwerking tussen verwerkingseenheden in een netwerk, waardoor hun verwerkingscapaciteit ten dienste kan worden gesteld van een groot probleem. Tegenwoordig worden veel systemen en toepassingen gedistribueerd om verschillende redenen: fouttolerantie, verwerkingsprestaties, beveiliging en geografische spreiding van de gegevens of de probleemvereisten.
Deze cursus gaat dieper in op internals van gedecentraliseerde computing- en storage-architecturen, met bijzondere nadruk op algoritmen en technieken die ten grondslag liggen aan de hedendaagse gedistribueerde computersystemen. Onderwerpen in deze cursus zijn onder meer: (1) Inleiding tot de cloud, inclusief een blik op de componenten en functies in de cloud van vandaag; (2) een overzicht van MapReduce, inclusief de omgeving van MapReduce en Hadoop, evenals fundamentele bewerkingen (zoals matrix-vector en matrix-matrixvermenigvuldiging) in MapReduce; (3) Het Gossip-protocol en de analyse ervan; (4) Het consensusprobleem in gedistribueerde systeemmodellen en het Paxos-algoritme; (5) het probleem van foutdetectie en oplossingen zoals lidmaatschap en de optimale faaldetector; (6) overzicht van Peer-to-Peer-systemen (inclusief Napster, Gnutella, FastTrack, BitTorrent en Chord); (7) beschrijving van sleutelwaardevoorraden (inclusief bekende oplossingen zoals Cassandra en HBase); (8) het probleem van tijd en synchronisatie in gedistribueerde systemen (inclusief Lamport / vector tijdstempels en puls-gekoppelde oscillatoren); (9) het probleem van gedistribueerde codering voor informatie-uitwisseling tussen gedistribueerde agenten.
Aan het einde van deze cursus heeft de student een grondige kennis en begrip ontwikkeld in de modernste concepten en technologieën in gedistribueerd computergebruik. De student kan de fundamentele ontwerpen in big data-systemen formuleren, begrijpen en analyseren en kan grote problemen in de cloud oplossen met behulp van het MapReduce-paradigma. De student begrijpt de basistechnologieën in gedistribueerde computersystemen en kan de opgedane kennis in termen van een project in de praktijk gebruiken. De student zal in staat zijn om te onderzoeken hoe fundamentele concepten en protocollen zoals Chord toepassing vinden in de gedistribueerde systemen van vandaag.
De beoordeling bestaat uit volgende opdrachtcategorieën:
Examen Andere bepaalt 100% van het eindcijfer
Binnen de categorie Examen Andere dient men volgende opdrachten af te werken:
Het eindexamen zal een schriftelijke evaluatie zijn, waarbij de studenten theoretische vragen zullen behandelen en ook zal worden gevraagd om pseudo-code te schrijven die specifieke gedistribueerde computerproblemen oplost. Het project onderzoekt de betrokkenheid van de studenten bij de seminarsessies, evalueert hun diepgaande kennis van gedistribueerde rekenalgoritmen en beoordeelt hun praktische codeervaardigheden.
Het eindcijfer is samengesteld op basis van de volgende examens: (1) het resultaat van een eindexamen, dat 70% van het eindcijfer bepaalt; en (2) het resultaat van een projectwerk, dat 30% van het eindcijfer bepaalt.
Deze aanbieding maakt deel uit van de volgende studieplannen:
Master in de ingenieurswetenschappen: fotonica: Standaard traject
Master in de ingenieurswetenschappen: toegepaste computerwetenschappen: Standaard traject
Master in de ingenieurswetenschappen: computerwetenschappen: afstudeerrichting Artificiële Intelligentie
Master in de ingenieurswetenschappen: computerwetenschappen: afstudeerrichting Multimedia
Master in de ingenieurswetenschappen: computerwetenschappen: afstudeerrichting Software Languages and Software Engineering
Master in de ingenieurswetenschappen: computerwetenschappen: afstudeerrichting Data Management en Analytics