MMT: Exploiting Fine-Grained Parallelism in

2 downloads 0 Views 515KB Size Report
free(). Main Application Thread. Memory Management Thread (MMT). A dedicated ... free(). MMT malloc(). App Thread asynchronous free(). MMT lock unlock ...
MMT: Exploiting Fine-Grained Parallelism in Dynamic Memory Management! !Devesh Tiwari, Sanghoon Lee, James Tuck and Yan Solihin! ARPERS Research Group ! Electrical and Computer Engineering! NC State University !

!"#$%&'()*+&*,',& &-./.0&*,',&!1%2312&456#7$2&&80!&&

Motivation &

&

&

&

&

&

Deallocation Time Allocation Time Computation Time

&

1

>+,?&time in ! malloc/free()!

Execution Time

0.8

0.6

0.4

0.2

0 cfrac

deltaBlue

gawk

mst

perimeter

roboop

treeadd

Average

Trends in Heap Management! •!Ubiquitous but expensive!

/595:;&+,?&time in ! malloc/free()!

Execution Time

0.8

0.6

0.4

0.2

0 cfrac

deltaBlue

gawk

mst

perimeter

roboop

treeadd

Average

Trends in Heap Management! •!Ubiquitous but expensive! •!If security checks enabled: overheads increase (21% on average)!

/595:;&+,?&time in ! malloc/free()!

Execution Time

0.8

0.6

0.4

0.2

0 cfrac

deltaBlue

gawk

mst

perimeter

roboop

treeadd

Average

Trends in Heap Management! •!Ubiquitous but expensive! •!If security checks enabled: overheads increase (21% on average)! •!Increasingly used due to object oriented languages! /595:;&