Presentatie van mijn openbare doctoraatsverdediging op 19 mei 2010. Na de verdediging behaalde ik de academische graad van Doctor in de Ingenieurswetenschappen: Computerwetenschappen.
1 of 28
More Related Content
Communicatiebewuste plaatsing van data in een gedistribueerd rekensysteem
1. Communica)ebewuste
plaatsing
van
data
in
een
gedistribueerd
rekensysteem
Peter
Bertels
Universiteit
Gent
Vakgroep
Elektronica
en
Informa)esystemen
Openbare
doctoraatsverdediging
woensdag
19
mei
2010
8. Communica)epro鍖el
legt
de
inherente
communica)e
in
een
programma
bloot
m1
m2
m3
m5
m4
m3
oproepgraaf communica)e
9. Communica)epro鍖el
opbouwen
gaat
zeer
langzaam
en
vergt
veel
geheugen
≒ Gemiddeld
voor
6
Java-足programmas:
#
geheugentoegangen:
877
miljoen
#
methode-足oproepen:
155
miljoen
≒ Tergend
traag:
Elke
lees/schrijf-足opera)e
moet
geteld
worden
≒ Geheugenverslindend:
Per
Java-足object
moet
extra
data
bijgehouden
worden
10. Snelle,
nauwkeurige
me)ng
van
het
communica)epro鍖el
door
reservoir
sampling
≒ Scha]ng
van
het
communica)epro鍖el
≒ Reservoir
sampling
gee_
een
willekeurige
selec)e
van
producent/consument-足paren
)jd
reservoir:
N
monsters
)jd
11. Communica)epro鍖el
wordt
veel
sneller
en
toch
nauwkeurig
opgebouwd
≒ Pro鍖lering
gaat
15x
sneller
≒ Rela)eve
fout
blij_
binnen
vastgestelde
grens
≒ Reservoirgrooae
N
is
sta)s)sch
bepaald
50%
rela)eve
fout
1000
10.000
100.000
1000.000
reservoirgrooae
13. Hardwareversnellers
kunnen
de
uitvoering
van
programmas
dras)sch
versnellen
DNA-足 communica)e
aligna)e
kern
programma
1
processor
met
co-足processor
uitvoerings)jd
14. Generieke
processor
vormt
samen
met
een
hardwareversneller
een
hybried
plahorm
java
vhdl
generieke
hardware-足
PCI
processor
versneller
15. Java
virtuele
machine
is
een
abstrac)elaag
tussen
het
programma
en
complexe
hardware
programma
java
virtuele
machine
generieke
PCI
hardware-足
processor
versneller
16. Virtuele
machine
stuurt
de
hardware-足versneller
aan
generieke
PCI
hardware-足
processor
versneller
hardware-足oproep
return
17. Communica)ebewuste
plaatsing
van
data
in
het
gedistribueerde
geheugen
hardware-足
hoofdprocessor
versneller
PCI
hoofdgeheugen
lokaal
geheugen
≒ Gedistribueerde
Java
heap
≒ Elke
rekenknoop
kan
elk
object
lezen/schrijven
≒ NUMA:
niet-足uniforme
toegangs)jden
≒ Data
plaatsen
waar
ze
het
vaakst
gebruikt
wordt
19. Zelf-足lerend
algoritme
probeert
de
op)male
loca)e
te
vinden
)jdens
de
uitvoering
≒ Groepeer
objecten
per
crea)eplaats
≒ Tel
geheugentoegangen
per
crea)eplaats
≒ Nieuwe
objecten
plaatsen
volgens
de
tellers
co-足processor
397
12
Circle
c
=
new
Circle();
processor
20. Presta)es
over
alle
programmas
heen
≒ Evalua)e
op
SPECjvm-足
en
DaCapo-足benchmarks
≒ Vergelijking
van
frac)e
niet-足lokale
toegangen
47%
referen)e
(alles
in
hoofdgeheugen)
33%
lokale
dataplaatsing
26%
zelf-足lerende
aanpak
11%
op)mum
21. De
beste
techniek
voor
elk
programma
xml.valida
crypto.rsa
io
)on
d b
mpegaud
hsql
chart
comp antlr
pmd
ress
zelf-足lerend
zelf-足lerend
lokaal
lusearch luindex
xalan
228ja
ck
227mtrt
xml.transf
jython
202jess
crypto.aes orm
fop
derby
bloat
209db
lokale
dataplaasing
referen)e
213javac
serial
22. Convergen)e
van
de
zelf-足lerende
aanpak
Circle
c
=
new
Circle();
processor
1
2
4
6
)jd
co-足processor
3
5
7
8
9
convergen)e
23. Sommige
objecten
staan
in
het
verkeerde
geheugen,
maar
het
algoritme
leert
snel
100%
50%
0%
0 16 512 16384 never
24. Zelf-足lerend
algoritme
werkt
ook
nog
als
communica)e
bemonsterd
wordt
≒ Evalua)e
voor
benchmark
antlr
≒ Vermindering
van
de
e鍖ci谷n)e
blij_
beperkt
#
niet-足lokale
toegangen
100%
50%
0%
volledig 1/10 1/100 1/1.000 1/10.000
bemonsteringsfrequen)e
25. Zelf-足lerend
algoritme
werkt
ook
nog
als
communica)e
bemonsterd
wordt
#
niet-足lokale
toegangen
100%
50%
0%
antlr luindex hsqldb 227mtrt serial 209db
26. Meer
programmas
pro鍖teren
van
hardware-足
versnelling
dankzij
zelf-足lerende
aanpak
rela)eve
uitvoerings)jd
referen)e
16
lokaal
4
zelf-足lerend
1
1
10
100
rela)eve
kost
van
niet-足lokale
toegangen
27. Communica)ebewuste
plaatsing
van
data
in
een
gedistribueerd
rekensysteem
meten
is
weten
verdeling
van
het
werk
plaatsing
van
data
28. Communica)ebewuste
plaatsing
van
data
in
een
gedistribueerd
rekensysteem
Peter
Bertels
Universiteit
Gent
Vakgroep
Elektronica
en
Informa)esystemen
Openbare
doctoraatsverdediging
woensdag
19
mei
2010