Geen Keynote op deze laatste dag, ik heb 3 sessies meegevolgd (en de overgebleven tijd om te werken aan vApus):
- PLINQ
Ging vrij diep over hoe PLINQ intern werkt, de .Net 4.0 Threadpool wordt gebruik( niet echt een verrassing). Enkele tips werden gegeven die eigenlijk ook van toepassing zijn op “normaal parallel programming”, shared memory state vermijden, partioneren, dat gelijk welke plaats in een array thread safe uit te lezen is (IEnumerable types kunnen maar in 1 richting overlopen) enz…
Ook interessant is dat je in een app.config kunt bepalen welke GC je gebruikt, zo kun je bijvoorbeeld de Server GC gebruiken (1 heap per core). Dit heb ik even uitgezocht, als u het resultaat hiervan wilt zien kun u mij gerust mailen.
- Axum
Deze taal is een andere insteek op het Multi-core probleem. Hieraan is goed te zien dat men niet goed weet hoe ze dit probleem uiteindelijk zullen aanpakken. Shared memory is the root of all evil in parallel programming dus heeft Microsoft een voorbeeld genomen aan het world wide web. Threads in een applicatie worden dan gelijk gesteld met gebruikers op het web, iedere aanvraag die gedaan wordt is uniek en de data die terug gegeven wordt is niet gedeeld met andere gebruikers. Een systeem dat werkt dus. Axum gebruikt hier ook een messaging systeem voor via agents die in apparte domains kunnen gestopt worden.
- F# Parallel
Had er zelf nog niet veel van gezien eigenlijk, dingen zoals parallel for kun je hier ook gemakkelijk gebruiken. Interoperabiliteit met C# bijvoorbeeld is mogelijk.