This presentation is a summary of my Master's thesis, that I finished in June 2012. It is joined work with the Computational System group of the University of Salzburg, led by Prof. Dr. Christoph Kirsch.
7. void scm malloc ( s i z e t size ) ;
void scm ref resh ( void pt r , i n t e x p i r a t i o n ) ;
void scm t ick ( ) ;
8.
9. const i n t scm create region ( ) ;
void s cm mal loc in region ( s i z e t size ,
const i n t r e g i d ) ;
void scm ref resh region ( const i n t reg id ,
i n t e x p i r a t i o n ) ;
void scm ref resh ( void pt r , i n t e x p i r a t i o n ) ;
void scm t ick ( ) ;
10.
11.
12.
13.
14.
15. Performance gain of STR compared to MALLOC.
SINGLE-THREADED
AVG 55.47 %
MIN 51.97 %
MAX 58.44 %
MULTI-THREADED
AVG 65.47 %
MIN 52.94 %
MAX 70.11 %
16. Performance gain of STR compared to STM.
SINGLE-THREADED
AVG 79.60 %
MIN 78.80 %
MAX 80.39 %
MULTI-THREADED
AVG 87.26 %
MIN 75.51 %
MAX 95.20 %
17. 1e+06
100000
10000
1000
Memory Consumption - sh6bench multi-threaded, nonleaky
0 10000 20000 30000 40000 50000 60000 70000 80000 90000 100000
Memory (bytes, logscale)
Allocation Phase
MALLOC area
MALLOC gross memory
STM area
STM gross memory
STR area
STR gross memory
STRMC area
STRMC gross memory
net memory
18. 1e+07
1e+06
100000
10000
1000
Memory Consumption - sh6bench multi-threaded, leaky
0 10000 20000 30000 40000 50000 60000 70000 80000 90000 100000
Memory (bytes, logscale)
Allocation Phase
MALLOC_LEAK area
MALLOC_LEAK gross memory
STM_LEAK area
STM_LEAK gross memory
STR_LEAK area
STR_LEAK gross memory
STRMC_LEAK area
STRMC_LEAK gross memory
net memory
19. 1e+07
The percentage of unused (allocated, but not needed) memory
1e+06
100000
10000
1000
Memory Consumption - sh6bench multi-threaded, leaky
0 10000 20000 30000 40000 50000 60000 70000 80000 90000 100000
Memory (bytes, logscale)
Allocation Phase
MALLOC_LEAK area
MALLOC_LEAK gross memory
STM_LEAK area
STM_LEAK gross memory
STR_LEAK area
STR_LEAK gross memory
STRMC_LEAK area
STRMC_LEAK gross memory
net memory
in sh6bench.
Fragmentation in %
single-threaded multi-threaded
MALLOC 1.0700 17.1700
MALLOC LEAK 99.3000 99.3700
STM 26.0100 72.2400
STM LEAK 27.7000 71.0900
STR 37.0000 81.6300
STR LEAK 39.1100 82.6400