• No results found

Tweede Herdeeltoets Concurrency 3 januari 2014, 11.00 – 13.00, Educ-

N/A
N/A
Protected

Academic year: 2021

Share "Tweede Herdeeltoets Concurrency 3 januari 2014, 11.00 – 13.00, Educ-"

Copied!
1
0
0

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

Hele tekst

(1)

Tweede Herdeeltoets Concurrency

3 januari 2014, 11.00 – 13.00, Educ-α.

Motiveer je antwoorden kort! Zet je mobiel uit. Stel geen vragen over deze toets; als je een vraag niet duidelijk vindt, schrijf dan op hoe je de vraag interpreteert en beantwoord de vraag zoals je hem begrijpt.

Te behalen 13pt, cijfer is som gedeeld door 1,2.

1. Integer vermenigvuldigen: Gegeven integers A en B, als rijen van n cijfers. Je moet het product C berekenen, als rij van 2n cijfers. Sequentieel kan dit in O(n2) tijd door elk cijfer van A te combineren met elk cijfer van B.

(a) Geef een parallel algoritme met kwadratische work en lineaire span.

(b) Is dit algoritme efficient, en is het optimaal?

(c) Is een beter algoritme dan onder (a) mogelijk?

2. Ondergrens: In een netwerk met n stations heeft station i een invoergetal xi in het bereik 1 . . . 6.

We willen dat elk station een uitvoer yi berekent die voldoet aan (1) GELDIG: de uitvoer komt voor als invoer, dus ∃j : yi= xj; (2) LAAG: de uitvoer moet door minstens de helft worden gedomineerd, dus er zijn minstens n/2 stations j met xj ≥ yi. De berekening moet asynchroon zijn en robuust tegen het crashen van t stations, waar t < n/2.

(a) Is dit probleem een Consensusprobleem (in de betekenis van Fischer, Lynch en Paterson)?

(b) Bewijs dat het onoplosbaar is of geef een algoritme.

3. Gerandomiseerde renaming: In een systeem van vijf stations moet elk station een unieke vier- bits identiteit krijgen. De gekozen strategie is: Elk station kiest een random getal, de getallen worden uitgewisseld en geteld of er vijf verschillende zijn. Als vijf verschillende getallen gekozen zijn, is het klaar. Bij minder dan vijf wordt de procedure herhaald (zo vaak als nodig).

(a) Is dit een Monte Carlo of een Las Vegas strategie? Waarom?

(b) Wat is de complexiteit (uitgedrukt in aantal ronden)?

(c) Vanwege een limiet op de tijd wordt besloten, het algoritme in ieder geval na drie ronden te stoppen (en de stations het laatstgetrokken nummer te laten houden). Wat is de kans dat de uitkomst correct is?

4. Synchronisatie: Barrier met Semafoor: Een barrier (voor n threads) kent een methode signalAndWait() (in Java: await) die door alle threads kan worden aangeroepen. In deze op- gave kijken we naar een implementatie waarin elke thread i een eigen semafoor s[i] heeft. Aan het eind van de await() doet thread i een reeks van n Acquires op zijn eigen semafoor:

void signalAndWait() { ...

for (int j=0; j<n; j++) s[i].Acquire;

}

(a) Wat is de eigenschap waaraan de methode signalAndWait() moet voldoen?

(b) Welke Release-operaties kun je op de stippeltjes invullen om aan de barrier-eis te voldoen?

5. Welordeningen: Welordeningen zijn van belang bij het bewijzen dat een algoritme termineert.

Zeg van deze verzamelingen of ze een welordening zijn en waarom:

(a) Natuurlijke getallen, met normale ordening: (N, <).

(b) Strings over {a, b, c}, alfabetisch geordend.

(c) Paren natuurlijk getallen, met lexicografische ordening, dus (a, b) < (c, d) als a < c of (a = c ∧ b < d).

(d) Rationele getallen, met normale ordening: (Q, <).

Referenties

GERELATEERDE DOCUMENTEN

A solution to the above problem is to run the part of the thread that uses a shared variable under mutual exclusion, so no other thread will access that variable at that time.. This

Technieken voor Register-Implementatie: Om sterke registers te implementeren kunnen deze technieken worden gebruikt: Silent Write, Unaire notatie, Serienummers?. (a) Hoe werkt de

(a) Stel dat meer dan n/2 + t processen een ronde beginnen met dezelfde waarde v; is een beslissing voor v zeker in die ronde4. (b) Stel dat precies n/2 + t processen een ronde

Ticket met Maxer: In haar softwareproject heeft Anneke behoefte aan een wachtvrij, ato- mair ticket object (door meerdere threads te gebruiken)6. Het heeft methode rinc

Atomic Copy: Een CopyDog object heeft als toestandsruimte een rij van waarden, en naast operaties write(i,x) (schrijf x in locatie i) en read(i) (geef waarde van locatie i),

(b) Hoeveel kaarten moet de Kaartenkijker verwacht trekken totdat hij alle 52 kaarten een keer gezien heeft?.6. (c) Hoeveel kaarten moet de Kaartenkijker verwacht trekken totdat hij

(b) [1 pt] Worden de drie items uit vraag (2a) gegeven in World Coordinates of in Viewing Coordinates.. (c) [1 pt] Hoe bepalen we de basisvectoren u, v en n van het ( U ; V ; N

Beslisbomen zijn minder nauwkeurig, maar generaliseren beter dan neurale netwerken.. Beslisbomen zijn nauwkeuriger, maar generaliseren slechter dan