• No results found

Gedistribueerde Systemen 2012 2013

N/A
N/A
Protected

Academic year: 2021

Share "Gedistribueerde Systemen 2012 2013"

Copied!
2
0
0

Bezig met laden.... (Bekijk nu de volledige tekst)

Hele tekst

(1)

Examen Gedistribueerde Systemen

Academiejaar 2012-2013

Prof: Tom Van Cutsem

Reconstructie van het examen. Vragen zijn exact dezelfde, layout van het document niet. Vragen dienen ingevuld te worden op de opgavebladen (die je dus ook afgeeft)

1 Open vragen (22 pt)

1.1

Client-Server (5 pt)

We hebben verschillende manieren gezien waarop een server binnenkomende requests van clients kan afhandelen:

- Single threaded - Multi-threaded

- Multi-threaded met een thread pool - Event driven

Voor elk van deze aanpakken, leg kort uit wat het principe is en wat de voor- en nadelen van deze aanpak zijn.

1.2

Indirecte communicatie (6 pt)

Omschrijf het doel en de werking van een tuple space. Verduidelijk met een figuur en leg uit hoe processen kunnen communiceren via een tuple space aan de hand van een voorbeeld. Leg uit of en hoe tuple spaces processen ontkoppelen in tijd, ruimte en/of synchronisatie.

1.3

Peer-to-peer systemen (6 pt)

Gedistribueerde hashtabellen zoals Chord vormen een manier om op een gedistribueerde en toch gedecentraliseerde manier sleutels (keys) te verdelen over een netwerk.

- Leg uit op welke manier Chord de sleutels verdeelt over nodes in het netwerk.

- Teken een figuur en gebruik een concreet voorbeeld waarin je aanduidt welke node welke sleutels beheert

- Leg uit hoe een lookup van een sleutel in zijn werk gaat en vermeld hierbij hoe Chord een lookup performantie van O(Log(n)) kan bekomen, waarbij n het maximaal aantal nodes in het netwerk is.

1.4

WWW

Beschrijf kort het HTTP protocol. Wat zijn de belangrijkste verschillen tussen een HTTP GET en POST request? Wat bedoelt men met het feit dat HTTP stateless is, en wat zijn de voor- en nadelen hiervan?

2 Multiple choice vragen (10 pt)

Omcirkel telkens het juiste antwoord. Je krijgt 2 punten per juist antwoord, -1 per fout antwoord, 0 punten per blanco antwoord.

2.1

Networking (2 pt)

TCP is een voorbeeld van:

a) Een virtual circuit protocol b) Een connectionless protocol c) Een network layer protocol d) Alle bovenstaande opties

(2)

2.2

Naming en binding (2 pt)

Het Domain Name System is verantwoordelijk voor het vertalen van: a) Leesbare namen naar IP adressen

b) IP adressen naar ethernet MAC adressen

c) Ethernet MAC adressen naar hun overeenkomstige IP adressen d) Interne (intranet) IP adressen naar externe (internet) IP adressen

2.3

Logische klokken (2 pt)

Twee events a en b worden beschouwd als concurrent indien: a) Ze op hetzelfde tijdstip plaatsvinden

b) Er geen causaal verband is zodat noch a -> b noch b -> a c) Ze zich voordoen op verschillende processoren

d) Events a en b verschillende Lamport timestamps hebben

2.4

Consensus (2 pt)

Wanneer we Paxos willen gebruiken als een algoritme om gedistribueerde transacties te committen, welke bewering is dan waar:

a) Paxos zorgt ervoor dat de transacties in seriële volgorde uitgevoerd worden

b) Paxos vermijdt de nood aan een gedistribueerde commit door transacties in isolatie uit te voeren c) Paxos laat toe om een transactie te committen zolang een meerderheid van alle subtransacties

bereikbaar is

d) Paxos vervangt de coördinatie uit het two-phase commit protocol met een fout-tolerante variant

2.5

Security (2 pt)

Een hybride cryptosysteem is er een waar:

a) Een private key wordt gebruikt voor de key exchange en een public key voor de data encryptie

b) Een public key algoritme wordt gebruikt voor de key exchange en een symmetrisch algoritme voor de data encryptie

c) Twee of meer lagen encryptie worden gebruikt op de data voor verhoogde beveiliging

d) Data van de client naar de server wordt geëncrypteerd met een verschillend algoritme dan data van de server naar de client

3 Oefeningen (8 pt)

3.1

Vraag 1 (5 pt)

Gegeven is de code (Java code niet gegeven, red.) voor een dubbelgelinkte lijst. Deze lijst zal waarden opslaan als Java Strings en biedt de methodes add(String), get(int) en remove(int) aan.

- De LinkedList code is niet thread-safe. Geef een scenario waarbij het fout gaat: teken de tijdslijn waarbij twee threads een gelinkte lijst manipuleren en een concurrency bug zich voordoet. Toon ook duidelijk wat de oorspronkelijke staat, de bedoelde eindstaat en de foute eindstaat van de lijst is.

- Pas deze code nu zo aan dat ze thread-safe is. Geef hierbij duidelijk aan welke methodes/welke lijnen code je aanpast.

3.2

Vraag 2 (3 pt)

Hieronder is de code gegeven (in dit document is de code niet gegeven, red.) van een Java RMI programma. - Leg kort uit wat dit programma doet

- Geef de output die in de console zal geprint worden na het uitvoeren van de volgende commando’s (RMIregistry is reeds opgestart):

1) Java mirrorApp s 2) Java mirrorApp c

Referenties

GERELATEERDE DOCUMENTEN

De totale opbrengsten zullen uitkomen op 3.070 euro per koe (+61 euro ten opzichte van vorig jaar), het saldo van opbrengsten en toegerekende kosten op 2.290

Deze sterke samenhang, gecombineerd met het gegeven dat de omschreven technologieën continu aan ontwikkeling onderhevig zijn, maakt dat het lastig is om te bepalen welke

Figure 4.6 Influence of gas and liquid rates on entrainment where entrainment is measured as mass liquid entrained per mass of liquid entering the

Daar staan scholen in grote steden collectief voor een ingewikkeld verdelingsvraagstuk van onderwijsplaatsen: zorgen we voor een spreiding van leerlingen over alle scholen in de

This is an interface to the mcrypt library, which supports a wide variety of block algorithms such as DES, TripleDES, Blowfish (default), 3-WAY, SAFER-SK64, SAFER-SK128, TWOFISH,

Voor deze versie geldt propositie 1.15 niet: door het reduceren kan het aantal polynomen in de uitvoer kleiner zijn dan het aantal dat gedurende het algoritme aan G is toegevoegd..

Van de bromfietsers die de helm niet of niet in alle omstandigheden zouden dragen als het niet verplicht was, mag worden aangenomen dat ten minste een deel

Het lijkt erop dat Pasteur ze niet alleen kon helpen met zijn theorie over micro-organismen, maar dat deze praktische problemen voor zijn theorie ook een belangrijke