Architecture and Policy for Adaptive Optimization in Virtual Machines

RC23429 (W0411-125) November 12, 2004
Computer Science
IBM Research Report
Architecture and Policy for Adaptive Optimization
in Virtual Machines
Matthew Arnold, Stephen Fink, David Grove, Michael Hind, Peter F. Sweeney
IBM Research Division
Thomas J. Watson Research Center
P.O. Box 704
Yorktown Heights, NY 10598
Research Division
Almaden - Austin - Beijing - Haifa - India - T. J. Watson - Tokyo - Zurich
LIMITED DISTRIBUTION NOTICE: This report has been submitted for publication outside of IBM and will probably be copyrighted if accepted for publication. Ithas been issued as a Research
Report for early dissemination of its contents. In view of the transfer of copyright to the outside publisher, its distribution outside of IBM prior to publication should be limited to peer communications and specific
requests. After outside publication, requests should be filled only by reprints or legally obtained copies of the article (e.g., payment of royalties). Copies may be requested from IBM T. J. Watson Research Center , P.
O. Box 218, Yorktown Heights, NY 10598 USA (email: [email protected]). Some reports are available on the internet at http://domino.watson.ibm.com/library/CyberDig.nsf/home.
!!"# ! !"
! ! "
! ! " #! $
% & '( ')* + ,( -
. '*) +
,( - /. '*0 +
,( 1/ 2 ( ' 3 1
4 5 " 1
( # $ %
!" #
$%%$ &
& '
() "
& '
& *
' ' # '
& (
'+ ' & ' ' ,
"
& & -&
. + ' ' * ,
" /01 *
'
'
& + )
)
2 0 & 3 ,
*
+
), ' 4
,
+ ' 5 ,
3 '
&
)
'
'
" ' 6 &
' )
& 7
,
+ &
+ * ,
& 8
,
' ' & +
, + , +
,
& 4&9 &
& & :+ )
& Æ
& *
' ,
&
4 & '
+; ' ,
4 '
+; < )
'
+ ' ,
&
) + +
< & '+; ' ,
&
' &
< )
' &
' ';
,
5 +; 3 ' &
+ & * &
' ,
4 &
+ &
+ & ' ) 6 + )
6 !)
+ &
3
& & ' 6 +
+ + ' = 3
& )
& ' 4 ' , '+ 8
$ 6
' ,
&
8
> '
+ 6
8
?
&
& &
+ 6 8
@ ' ; A0 ,
&
' ' 8
> 8
' ' ; 8
B ' ' + + ; A0 &
8
C +; 8
& '%
" 9 ,
&
& )
' 4 ,
&
&
' ' )
6 , , ' ( 7 )
,
&
& & , ' "
&
+ )
' D
9 & )
" 3
,
&
3
&
=
' + '+ E
4 &
)
' +
& )
+
3 & ' & 4 &
6;& 9 )
&
= &
; *
' + " + ; = ,
&
)
)
' &
+ )
&
= &
& & '
& '
4 + &
'
+ F
* ' = ) &
& & F + '
& & = ; G ) )
+ 4 ) & ' F + &
" * 6
+ = &
+ ,
4 ()
& & + &
'
& 4 )
' ,
&
'* 6
8
@ ; A0
' ( %
4 ' 9 ,
&
'* 6
' 4 ,
&
' E
< E 4 9 * < E 4 +
* &, * + ' ' )
<
E 4 )
' < E 4 ' '
measurement
plan
controller
compilation
plan
priority queue
dynamic
feedback
runtime
measurements
priority queue
knowledge
repository
recompilation
AOS
profile
information
executing
code
recompiled
code
7 ' ,
&
4 *
' 4 ;+ & G 7 + ' &
4 & 6 + && +
4 *
& 6 + 4 * '
' #
& 6 '& + +; 4 ' + +
+&E " +
'
9 * 7 )
+ + * +
* ' + * # * '
' * )
= * & ' '
*
& 6 4 * & ' * & * + * 8
@ + priority queue
Runtime Measurements
organizer
raw data
listener
6 ) & ; A0
" , ' 7 ) ,
+
*
4 * ' * ,
"'
' +& ' )
& 4 7 & & ' '
' ,
&
4
* ;+ &
7 ) ' )
' & 4 & ' )
+ ' + +
4
& & ' ;+ &
7 $ + ' ' 4 + & ' E , + * 9 = * ' +; , + ; + * )
' *
'
6
& & +
& *
&
6
" ' '
& + ,
&
4 ' 9 + )
& 4 + &
+ * *
+
' &
4 & 6 & ' + 4 & * G + & ' +
3
& =
+ 4 & &
2& * ' +; 8 && &
; +
' & ' &
=
& )
&G , +; & & + 8 & +
)
& + " '
(+ ,
&
;
" & ' + G , *
, & '
4 & =
& & & )
'6
&
& 4 +
H
$%%> ' '
,
" * ' E & # ,
&
'
&
&, '
& ' )
'
& 4 ;+ & ;+ &
) * +
" &, , *
; +
* ' = + '+; ' & &
' *
8 I,
&
BG H
7, $%%>
& ' -;. 4 ' /
1 + *
'
)
' ' 9 ' 2
I,
&
B
H
7, $%%> & ' ; + ' *
J
& &
;+ 4 & ' ' + # &
; ' = & &
*
' " ;& ' + )
-;. *
' +
,
;
&
4 ' +
* ; ), )
&
' "'
+ + ) 2& + ' & ' * ,
6 + () )
4 )
& ) & 8 ' ;
A0 &
/ 8
@1
)$ !, -
" 8
> &
+ +;
+
; 3
)
' &
# + & ' 7 ) + & IK & )
& # + ' *
* ' /IK &1 :+ ' *
& '
& 4 + ; + *
) & + +; ' L 7 & /1 / 1 *
/ 1 ' ' 4 + ), / 1 / 1 5& L / 1 L / 1 L %G ; ' * *
# *
' ;+G & ; 4 '+ * ' ,
! *
' 4 '+ ) )
& G '+
)
+ +; + !
)& -# !#.-, - !,
4 + + ,
+
8 + +; &
, ,
% M
' M
- ,
' L .
4 ' 4 ' L % ! *
E
< / 1 ' ; ' % < /1 )
+ )
'
' ; 7 *
/ 1 L N¾ /1 ' * , / 1 4 * / 1 L N¾ /1
K ,
/ 1O / 1 #
& ' , )
'
' #
* '
' 4
' '
' , ' 4 '
& F )
*
4 ' & ,
4 '
' ,
F ' ,
= ' ' + '
= '
'
+ 4'
' +
' ,
' /1 6 )
'
)( .,-/*0! !#.-, -
M
L / 1 = +;
/1 M
Æ 4 )
Æ/1 ' + )
' Æ/1 '
= ' + 4 ,
G ' ' +
9 ' 9 '
)
+ 4 ' + +
"
; )
& 4
,
' ) & ' +; ' & 8 ' ,
,
'
/ 1 M
' ,
& "'
, + &
' )
,
8 + + ' ' / 1 4 + ;+ &
-3
. ' )) "1,!*-"!# ! ,--/
= )
* Æ& ' ,
# '
' & , *
*
' +& 6 * = ' " ) *
&
= & /J1 ' ! J +
' + M
+
' J 4 ' ' 4 *
' *
+ '+ = J + & ,
& '
8 + '
+
+
+ ,
Æ& & '
' L I& P ' J
7 7 ,
& '
' G ' / 1 & '
' # +& + & * *
J
)2 /*"3-/ # -
# & *
' &
' & & )
*
' & 7
) &
+ ; ) +
& +
" ' *
# ; ' & +
)
& + ;& & 3
#
' & ; M
/ 1 ' *
/ 1 7 ) & / 1 '+ / 1 8 + 6 '
& + ' &
7
'
+ #$
*
' 6 J* / 1 )
*
' )
6 &
& )
' &
"
&
)
4 )
/ 1 *
/ 1 L / 1 )4 "3! -*0! !!0#5 -"!# ! . --6 -
" *
' & , * " $%%$ & ; A0 & * , * = *
Q 4 ' +
*
M
' 6 ' '+ E
/1 E A '
* /$1 E "+ ' ' * />1 E A
, & ' *
4 / 1 ' +
4 / 1
' * + 4 / 1 ' , 4 *
/ 1 * )7 8.,- -/ !9!""! .-, -
4&& + ,
&
+
' )
+ & )
)
5
; /58A1 +' 6 +& & ' + 58A + &
& , & ; 58A + 8' ' ; K =
' &
' /-' .1 8
' + + &
+ ; 58A +
' ' J' 3 7; R $%%> )
,
' ' 3
; A0
##
J' ; 4 &
' =
' &
' * + && "
, ' , 4 &
' *
' ' # ' 7; R $%%> +& &
& , " 8
?$ ,
&
, 4 +
& + &
,
' /
1 4 &
'
&
'
' 2 4 ' "
5
,
8&
/"581 ; A0 $> J C $%%> 4 +
; '
; A0 #
+ ' "58 ' + & '
E
,
';
#
+ ' )
& ' )
( ' +
' ' '
"58
2$ -5! ; A0 /A 0
1 ' )
&
; A0 +
+
' +
' ' "
# &
& + ,
6 & & 0 ' ,
&
; A0 & & &G ' )
' *
&
G #! $ 78 # " $
%
#9 7 - )::; #! $ ! 4 +4 ):::, 1 #! $ #
@ 7 & &
&
! +
)
!
'+ ! + + ; ' & 4 & ; # ; A0 $> &
+
)
& & %
4 ,
&
&; &
* 4 )
& +
)
&
; 8 & )
'& '6
&)
2 +;+ / ;1 4 ; A0 +; +
& ' &
8 +
; A0 &
&
' & +
4 & & *& (
& ' *
&
)
'
' @$ " #$% ; A0 ; ' ' 7
+ )
' + ; , /' )
1 8 &
*
; # *
+ # + ' ' ,
&
; + * +
,
& * 4 &
; ' =
; /
'
1 && ' =
' *
&
'
,
)
/
; 1
4 &
+ <4 &
& & 9 ; 4 ' 4 ' & & &
" $%%% 6
6;&
<4 2; G 7; $%%$ &
+ ' & '
,
" ,
I
#
8; 2KA8 4 9
,
E
< & ' ' (+
,
' (&
' &
,
& 3
4 ' '+ ,
#A E & & ' *
,
* &
' ' ; ;
& ; " ,
, ' #A ' =& M % ' ,
& / )
)
;1 & ' M % (+ ,
; ,
7& M % ' ' & ' (+
& < ' M % *
& '
4 ' ' *
/
1 ' * ' 8
& & & J @ * & &
# )
-)
. '& ' ' ' * 6 ;
' +
J
' " #
' ' M % ,
I
: %
< ( +
,
,
G 88" (+
,
&
(+ ) G & 88"
,
D
7; $%%% 4 # ' ' I+I 8
7
) + 5
M $ , $%
+ )
'
4 ! ) < !
#
7 4 &13%=>
! %
8 8? &
8
*@@@A
;:
- B :
=)=
0)A
- B ;
CA=
A:@
- B )
;>;
AA;
Uncompiled
Initial compilation/AOS recompilation
Compiling
if still valid
Installed
invalidated by classloader or
replaced by AOS recompilation
invalidated by classloader
Obsolete
no activations remain on thread stacks
Dead
collected during next GC phase
Freed
7 > M' & ' ; A0
@> ) )
$ # & ' ; A09
&
" $%%% 6 ;
, ' & +
4 ; + $% & +
* ; ,
8 ' ; )
' + (& , ' & ' 7 > + ' & ' = ; A0 ' " 6 "'
' ,
' + J , & ' ,
& '
! & ' ;+
& K * &
; & & #'
&
6
+ +& #
Controller Thread
priority queue
priority queue
Decay Organizer
Dynamic
Call Graph
Method Sample
Data
knowledge
repository
Compilation Thread
Adaptive Inlining Organizer
Call Edge
Samples
Hot Methods Organizer
Compilers
[Base,Opt,...]
Method
Samples
Runtime Measurements
executing
code
7 ? "
5
,
8&
#
; A0 $>
! &
; '&
' ; ,
& " & ' " ' +
&
' , + 5 ; + ; :+
' ' )
' " ' + ' )
& ;
; A0 ' ; ' G
; ' ; "&
; + ; ; ' ' #
+ ' )
2& :!":-!; 9 7 ? ' 7 '
' ; A0 ,
&
4 ' * E , 4 & +
6 D
;+ & " 6 &
; & 6G
' ' 6 + 6 & ' 6 #
4 ,
&
' + & ;E ,
';
4 )
+ ' 2( !,!# -:! . --6 -
4 ' ,
'& ' + *
)
/'
-
.1 ' ' ;& & '
,
' ; , , # ; A0 ' ,
4 ' ,
*
'& /-
.1 ' 4 & &
)
& ;
&
= ; 9 ; 3 #' &
' & ' 9 #' ; &
; ' = 3 ' ' ++ 4 ' /
; 1 +; :
5, 4 :
5, 3 ' & 8 J
4 ' &
' '
' / 1 + + * # ; & Æ
& /&1 "'
8
J
:
5, ' ++ 9 & 6 & 4 ' ' )
"'
6 :
5, )
3 ' & = & 6 6 & 8
?> +
/' &1 ; ' #' ,
6 4 6 , *
. ;: 7 D ): #
= 6 ' & * & #
;
, * ,
0
"
' ,
; A0 " $%%% + '
) +
&
4 *
&
, *
' 4 , & -
. 4 , -
. ' ' ) &
& + & & +
4 && , ' ++ '
M
*
;& ' ' , "58 & + ' 4 *
4 3
&
+
'+ # + ) +
&
+ ' = *
;& + ' + ; 2) ,-! "1,!*-"!# ! ,--/
I*
'& '6
& +
# ; A0 *
' 4 ' *
'& *
;& /1 ' & '
; A0 ' :,+ $%%>
4 &
; ' )
' &
K )
& &
* -
. '
,
4 &
& &
, 4 ; 8
??
" & &
+ &
; ' 4 ' 3
' 9 3
= 3 ' ' ++ 4 7 D ):: #!
' /
; 1 +; "
#
5, 4 "
# 5, 3 & & 4 & ' ' *+ , -+ . +
& '
+ "'
& "
# 5, &, & + ;
7
"
# 5, * & ' 4 * "& 6
' 9 + *
& / 1 ' 4 &
'& & *) 4 ' + & * 8 "
# 5, ' & + , ' 8 / ,
1 ' '
4 ' '& *
, ) & & ) ,
'
4 , ) '
' ' #' & ' , & 6 ' *
8
??
"'
+ ; "
# 5, )
3 ' " )
' 8'> :S,
@ &
; + & +
';
4 ;& 8'> &
& * )
' 4' ' &
+ + ' & 3
' " +; + &
' + 5' -. '
9 K; ' ,
*
'& 4 '& )C 6 ;*C 7 AE ;E 4 7 :)CE
#"
' &
& ' " $%%% 4 +; ' ' '& ), ' & 4 &
' & & ' +
& +
'
" ' *
' '
+;
22 ",,!" .,!! -
" & ' ,
&
';
,
4' + 6 () )
" + ) +
&
+
4 *
"'
, "58 6
#' 6 ; / 1 " ' +
E 4 '
'& 6 & ; +;
' ' 6 4 ; & + ; '
&
/ )
9 1 ' * & 9 '
" '
' & & +
4 ' ; ' & +
' +
,
4
*
' * & ' )
4 ' )
& ' 8
' 8
?> ? ?B / 6
1 + & )
D "
' ' )
& & "58 * )
)
' ' 2& & & '
*
/& * ,
*
1 5 ) ' &
' ) & ' & ' " $%%% = ' & ' &
& ' *
" ' ()
& ' )
& )
+ &
$
! !
"
# ! !!
" $! ! # % % &% ! ! $! ! # '() % ' ! * # ! "" $! ! # '() % ' ! "* # ! $! ! # '() % '
! * # ! ""
# ! !!
"
$! ! # % % &% ! ! "" $! ! # '() % ' ! * # ! "
""
$! ! # '() % ' ! "* # ! "
$! ! # '() % '
! * # ! "
" % & # ! + "
" ,% & " , & # "
! !!
"" $! ! # % % &% ' ! "" $! ! # '() % ' ! ""
"* # ! $! ! # '() % '
! * # ! -+ ! !.
"
# "
! !!
"" $! ! # % % &% ' ! "" $! ! # '() % ' ! * # ! " $! ! # '() % '
! * # ! "" % & # ! + "
"" ,% & "" , & "
" # ! !!
"
$! ! # % % &% ' ! "
" $! ! # '() % '
! * # ! "
7 @ 8
"58 * ' ' $> ; A0 & &
24 //-/ !03//-/
) &
; A0 &
' &
0
& ' * & ' ; &
4 )
' * 3 +
)
7
& , ,
& * ' 8 ' ,
' )
& 3
& * ' 4 & + )
& & ' * ' ; &
6
" && &
"
' &
& * *
' 4 ' * '
* / 1
+ & ' & )
K& '& & ' D * Æ + ' '
; & , "
'
& & ' + ' Æ
& , #
# + & ,
&
* '
' , #
' ' / 1 7 @ + ' +
' ! "#$ % ' ' 8I!C ; $> 4 &
' * ; *) ' 4 *
' ; / ' )
1 ' + & &' ' & 4 + *
& ' ,
' '
+ , /*
% 1
7 ) ; $ + ' '
/
' '
)
1 ' ' ' ,
2 '
' /?%1 /?C B$@C $>?%1 '
:+ ; % '
4 '
+
/ % 1 ; 2 % '
& & 6 4
& ' 3 + '
' + '
' )
/% @? L $C ?1
4 4 & ,
&
' = '
' ,
*& ; *
' ,
' ';
,
# + & &
, ' ; '
4$ !#"5
4 *
' 4 ## ; & 4 *
; 8I!C ; 8
I'
!
()!!"*** ' & 8
I' !
(
!! * ' 8I!$%%% )
*) ' )
' *) %+, ; ' TM 4 + ; TM I ) " T $ ) & ' #4 ; -. ) 8 &
;+ &
& '
!
<
!
!
&13%):::
4 ## J
' ;
; ? ; ? ; ? ; ? ; ? ; ? ; ? ; ? !
&4F% &! )5 H" & ;:5 FB ;)::: ; ? ; ? ; ? ; ? ; ? ; ? ; ? ; ? !
'-% G 3 ;)5 &4 HB )::::: *@ ? ;::
A) ? ;::
)* ? ;::
*@ ? ;::
*C ? ;::
@A ? ;::
0> ? ;::
*@ !
C ?
C '+; ' K
& ! $!! +
#2 A $%%? + T8M4 ) U ' ' Æ 8I! & & 8I! # )
'+ + ' ; ' + -.E 7 )
+ ' ; ' *) & ' +; ' 7 ; +
* -.
*
-. *
' )
4 ' 4 ## * *
' ;
7 )
+ * ; ' *) ' * + ' 4 ' & = @ + '+ & @
' )
8I!$%%% *
& +
* +
@ + @ 4 ; + )
* ' %
7 *
@ + G ' @ 4 ' 4 ## *
&
' ; 8 ; )
& & & G + *
&
4 ### , ' ; ' ' 4 *
' ' )
+ ' &
/ H1 F 4 3 )0*
AA)
)C>
=*=
0;A
*A>
!
0@@
<
0C=
@;=
!
;A@;
!
;@=0
;);C
;=@:
;C>)
C>@
&13%):::
777 %
!
5 8% 5 8% 3
IJ
3
3
IJ
)) *:>
)0*
)) )*=@
0) ;C>
A@C
0* ;CAC
)0 :@0
)A)
)0 )***
>A )*A
=A@
>@ );>*
A@ C;0
0;C
A@ )@))
*; *A:
*A=
*; ;*)0
C) )A>
0@>
C) ;@)=
*; *@A
0=:
** )*)A
A0 A)A
>))
@; ;;@=
;0: ;;A0 ;A@*
;0; A**>
=A *A0 *0=A
;A; ;A;=
;;; ;):: ;@*0
;)A C*CC
);> @0: 0*@)
*@@ ):;C
;0) );0
C; C::
C=@
C; C*>>
5 8%
3
3
)0*
))
A@C
0*
)A)
)0
=A@
>@
0;C
A@
*A=
*;
0@>
C)
0=:
**
=A)
>C
IJ
;0=C
@*>
));)
;0>)
;=:A
AC@
;:==
;*@)
);:
+ + )
+
'
*
' ; A0 /
+
7J51 7 &
*
' 4& ,,!# - ! ,/<
5 + ' ' ; A0 )
' 08 & ' & $% $%%? +
*) " )
/
&D;+ & 2; $%%? 4 ' ' ' ; A0
4 &
+ #2 A8D%%% 7C% +
) @%%:,
?2 ' & "#T ?>> 7 )
+
&
& 4 ,
&
' ; &
F ; 4 *
)
8
? V + ' +
';
,
8
B ';
,
8
C ' &
+
';
,
" ' + & ; ' + % ' > '
&
4 #0V0## ") 2 '
)*; & C 6 6 ! ;: & C + +
)
4( "--/ ! ,/<
4 && ,
' &
' 4 + ; = *
-, %%. ' 8I!C ; " 8
@ ; A0 ,
&
& )
& ,
4 + ; ' ' /2 5
% 5
5
$1G *) ,
*
; * ' = /
3 0 1 +
?%%2 0
/
+
;+ 1 & + ; A09 ' & &
' 4 + ; ' * ' G & '
/+
*
1 6
& ' & 4 + ' ' + & ; ; 4 + ; ' ' &
= /&
1 ' ; ; ' ,
4 *
+ ' ,
& ' 3 + ,
4 + 4 # ' 8
@G + &
)
4) !,!# -:! . --6 -
2' 3 + ,
+
*
'& '
,
& & 4 6
E /
4 + 6
+ * )
& #4
K & &
+
*) ,
K !
3
Speedup
2
JIT
model
1
0
All Opt 2
All Opt 1
All Opt 0
Production Opt 2
Production Opt 1
Production Opt 0
Training Opt 2
Training Opt 1
Training Opt 0
3
Speedup
2
JIT
model
1
0
All Opt 2
All Opt 1
All Opt 0
Production Opt 2
Production Opt 1
Production Opt 0
Training Opt 2
Training Opt 1
Training Opt 0
7 8& ' + #4 , A
' ; ") "
7 B
/ 5
% 5
5
$1 *
;
4 ; ' + ' ' #4 &
&
' ,
& ,
4 &
*
+
*
& ,
G + ' &
7 , ' ' #4 ; -
. -
&
. 4 *
' , ' &
& 4 *
' -4. &
' ' ; & / 8
>1 4
' -I
. & ' ; * -". & ; " # ' ' #4 & & ,
2 & /%B<>> 1 &
3 & & $ ,
& # '
#4
& ' + '
' , # &
#4 *
' + & ,
# &
)
#4 *
+ ' 6
& ' '
# ,
' #4 & # & ' #4 & BP /
,
%1 ??P
/
,
$1 7
' & ?CP >%P & ,
& ' # &
& ' #4 & & ' #4 & CP ?P = , *
' & 4 & & ' & G & + 3
& ,
# & ,
*
& ' & *) )
4 ,
' + , & ) ' &
)
7 B ") " ' ; + 7 , # ' #4 & $ ' $ ; +
) ' C@P $P CCP ' % $ & #
+ #4 & & >%%P @%$P >>@P ' % $ & # &
' #4 & @ ' ; % ' ; $ 4 ) BP
$CP $>>P ' % $ & # + #4
& & ?%P $P $?P ' % $
&
42 !,*"-:! .,-#< !:,3 -
0 ,
4 ,
+ +
,
# 6
E /
7 )
+ &
8 $%% " )
+ &
+ ' )
E , ,
4 &
+
9 + 1 ; 1 ;
+ ; +
= &
+
, 4 + ' )
' ; = ' 7 > V @
") " + ' 7 B ' ' & 5 ' '
+ & G ' &
%?P / %1 %P / 1 ?P / $1 5 ' & P / %1 >?P / 1 ?P / $1
7 B ' ' &
# *
' ' + +
P 4 )
&
& , + 8, + + ,
) ' ' & 4 *
6 )
) ' 4 + & + )
& G 9 & /1 ' &
= & 4 ; & >% ;G 7 > V @ ' ") "
6 & ' IK 8 #! $ !
3
Speedup
2
ctr
mod
1
0
All Opt 2
All Opt 1
All Opt 0
Production Opt 2
Production Opt 1
Production Opt 0
Training Opt 2
Training Opt 1
Training Opt 0
3
Speedup
2
ctr
mod
1
0
All Opt 2
All Opt 1
All Opt 0
Production Opt 2
Production Opt 1
Production Opt 0
Training Opt 2
Training Opt 1
Training Opt 0
7 B 8& ' + , A
' ; "
) " 7 C "
! + + +
+ ;& ' ' 4 &
& *
& ' ' 7 C ") " ' ; + 7 B , # ' & ' $ ; % @ ' $ ; $> ' $ ; $ 4
) B$%P $%P ?%?P ' % $ & #
+ & & $P %P
%?P ' % $ & # &
' & ' ;
% ? ' ; ' ; $
4 ) CP P $>P ' % $ &
# + #4 & & ?P %@P ?P ' % $ &
44 3, -.,! . --6 - ,!:!,
" ' ' ,
& ' ,
' "
8
? '+ * & ,
+ &
4 6
E /
=
,
,
& , & ,
7 C ,
&
&
,
4
, &
+ % &
' &
7 & ' ,
%G
' %>P &
7 ,
&G ' +
P ' ' ' &
# &
& ,
$
5
,
$ ' % & $?P ?%P
& :+ # & ,
' + &
+
,
' + ,
$ ' &
4 & &9 '
7 $% ") " ' ; + 7 C , # ' ' $
Speedup
1.0
mod0
mod1
mod2
0.5
0.0
All
Production
Training
Speedup
1.0
mod0
mod1
mod2
0.5
0.0
All
Production
Training
7 C 8& ' + , A
' ;
") " 7 $%
+
' P >P
$P $P P ??P ' ,
% $ & # &
' ' +
' ?P @>P $P $BP P @P ' % $ &
#
Speedup
1.0
AI
edge
both
0.5
0.0
All
Production
Training
Speedup
1.0
AI
edge
both
0.5
0.0
All
Production
Training
7 8& ' + ';
,
, A
' ; ") " 7 $
47 !!0#5*-"!# ! . --6 -
4 ';
,
# 6
E /
" 8
?? ? ; A0 + & ' ';
,
E ,
& (+ * 7 ' ' ,
4 , ,
+
7J5 / 1
4 + ';
,
' & %@P
4 ' &
* :+
';
,
)
* ';
,
'
"
';
,
' ' + 7 ' &
4 ;
*
' ';
,
"
' /CP1 ,
/%P1 :+ && + + ,
' & BP
7 $ ") " ' ; + 7 , # ' '
';
,
+
'
?P >P # &
' ' ';
,
+
' % $%%P
4= .,!! - :!"!
" 8
> &
&
+ ' ' * 4
& ) + 7 % , ' &
' &
4 0### ") " 7 % ' 7 ; + ' *
+
';
,
/
1 = )
' E
"58 4 & , * ; ' ;
' + 4 & 2 ; && +
' (
' + + 4 & '& 0 '& ' ' ' &
4 &
)
' /; ' + *
@ '
)
1
4 + ,
&
G "58 %?$P %>P ' & db-medium
xalan
javac-medium
jess-medium
jack-medium
kawa-medium
mtrt-medium
ipsixql-medium
pseudojbb-medium
compress-medium
xerces-medium
mpegaudio-medium
daikon-medium
soot-medium
kawa-large
jack-large
xerces-large
javac-large
jess-large
saber-medium
mtrt-large
db-large
ipsixql-large
saber-large
soot-large
pseudojbb-large
compress-large
daikon-large
mpegaudio-large
Arith. Mean
0
20
40
60
Percent Execution Time
80
100
ipsixql
SPECjbb2000
jack
javac
jess
mtrt
db
compress
mpegaudio
Arith. Mean
0
20
Application
40
60
Percent Execution Time
80
100
GC Recompilation AOS
7 % 2;+ ' ; A0 &
& # &
C@P ' & & ?P &
" >$CP ?P ' & &
# & ' "58 %@P '* 6
' + 8
$
4> !#.-, - # -:- <
7& + + 6
& ' &
7 + ' & &
&
)
4 '
' , , & ' &
7 &
+ %V>>%$P ' +
' B@P 7 &
&
+ @?>V?BP ' +
' $>@CP 4 +;+ ' ' H
B%G &
; 4 + * ' 7 '
) ,
7 , + ;+ ' * ,
' # &
& /@%>P1 ' ,
% # &
$B?P ' ,
$
7 $ & + 8I!C ;
0 4 + 3
' ; 4 ; / "*# ""1 1 4 )
; 4 *
*
+
"#$ *
4 ) ; ;
' 6 , 4 '
' 4
' + ,
+ + 4 ; ; + ) + + ; *
)
4 7 $ , * ,
' 4
*
' + ' 4 * * ' & ' ; 7 ; ; + ' & ' & )
& ' ' ;
:+ ' ; + )
' & )
4 * ; +
4
4
db-medium
xalan
javac-medium
jess-medium
jack-medium
kawa-medium
mtrt-medium
ipsixql-medium
pseudojbb-medium
compress-medium
xerces-medium
mpegaudio-medium
daikon-medium
soot-medium
kawa-large
jack-large
xerces-large
javac-large
jess-large
saber-medium
mtrt-large
db-large
ipsixql-large
saber-large
soot-large
pseudojbb-large
compress-large
daikon-large
mpegaudio-large
Arith. Mean
0
20
40
60
80
100 0
Percent of All Executed Methods
Baseline
20
40
60
80
100
Percent of Optimized Methods
Optimizing
Opt Level 0
Opt Level 1
Opt Level 2
8
&8
ipsixql
SPECjbb2000
jack
javac
jess
mtrt
db
compress
mpegaudio
Arith. Mean
0
20
40
60
80
Percent of All Executed Methods
Baseline
Optimizing
100
0
20
40
60
80
100
Percent of Optimized Methods
Opt Level 0
Opt Level 1
Opt Level 2
7 4 '
+ ' + +
& + & +
, 4 ;+ + ;+ '
* ,
' + +
,
30
Level 2
Number of Methods Recompiled
Level 1
Level 0
20
10
0
compress
jess
db
javac
mpegaudio
mtrt
30
jack
Level 2
Number of Methods Recompiled
Level 1
Level 0
20
10
0
jack
mtrt
mpegaudio
javac
db
jess
compress
30
Level 2
Number of Methods Recompiled
Level 1
Level 0
20
10
0
javac
!
"#$
% &
compress
jess
db
mpegaudio
mtrt
jack
7 $ A
' 8I!C ; 0 4 *
& + + 0 3
& ' ;
4 ; & ' ' G ; + 0 )
4 ' &
"
$%%%
7 %
2 ; A0 &
& # + ' +
7$ .,!! - ! -, !"
"
,
&
& '
-
. & ' 4 +& + & &
' *
+&
B 0 , = + & &
+ 5& & '
' ' ' & ' ' # ' &
' -
. ' #
& Æ
' 7 ) ' ;& ,
'&
+ *
/* -
.1
4 &
G + &
9 I& , + '
+ ) 4 + + Æ
'
#
& ' ) & G + & :+ *
-
. 6 , &
/+ ' ' 1 # '&
'6
& )
' )
& P "
$%%% & ' " + *
3
+ , & D = & +
+ 3 = 3 ' , + , ;
" ! ! !
+ ++ / + 31 =
+ +
/
1 3 , ' $% , &
%%?P
:,+ )
'; ; A0 :,+ $%%> # & '
& + & ' & 2& *) & ' "
# 5, &
'
' @% 4 6
& *
6 6
& 4 ; A0 &
& +& " $%%% 2& &
+ + ) ';
+ * ; 4
&
3
*
& # "
$%%% + &
/
1
' >P >%P &
# ; A0 $>> + ' %?$P %>P & 8 + ' + ' & ' * '
' 9 &
B$ 1 " ,
&
&
' + * (
' &
+ ,
#
& + ' ' ' '
' % 7 '6
&
)
& + ,
' ,
/5% 51 6
,
,
= & /
& &1 + ' ' ' + +
& )
= & ; + '& + '
&
'
B> 1
)
231 " 8
@ 9 &
& ' )
*
' ,
/
- JU".1 = & ' ' )
' ,
4 ' ; A09 ' & ' ' &
:+ ' ' ; A0 ' ' + ' & ; 'L4 #! $ "
' U
& '
3 &
' 4' &
& &
' 4 + JU" + + ; A0 B? 4 #
& ; A0 &
; 4 + Æ
' ' 6
/
' &
1 5 &
&
'
+ + Æ
' & + + # ' ' # /
+ & )
)1 *
)
& + ' ,
4 *) + &
; A0
" + -. &
, Æ
&
* 4
3 & -
. + ' &
, ' D
6 7 ) & *
& & , + ; &
' #">$ #' + ' &
'
D 6 + @ )
#">$ / 3 ' &
1 ?
&
' " &
& &
'
; ' 4 +& + & *
' ' ,
:+
* & #' '6
& ; & &
+
& ' *
' "
+ ;+ ,
+ & )
D 6 + &
+
& ; 4 + ' &
7& ."!!-:! !"9"#! :,3 - - "- -#,
" ; A0 &
& & ' = ) ; +
; ' ' + '6
"
+ +& ;+ ' + & = + 6
' ' !&
+ ' & + + $
&
G & ' ' * &
7 ) ' &
" $%%% +
& "'
+ ' ;
' + ' & &G '
+ *) ' & +
4 & )
& ' + ; & 4 ' &
' * &
7( .-/ ;- *! !"--
4 ,
&
/"581 ' + +& " 8
@$ "58 *
' &
# ' ' &
& ' &
9 4' ' 3
' '6& & 3 & ; +
8 & 3 ' :+ , & 3
'6& E ' )
+ , '
)
' ' )
4 ; ; '
*
#' )
' Æ
4 +
+ *
3
& +
F* J 6 & "589 & )
J+ ' + 3
' Æ
,
' + , 3 ' # & ' -
. "'
)
' *) ' * ,
' 9 ,
' & ' 4 ,
& ,
*
; *) + , *) ' ,
4 ' * '
+ ' + 3
' U
& ' 7 ) &
#
' ' ) K 7) -33 !#.-, -
5 & 8
& *) & & ,
+ ' , & + *
# '
& 6 , )
' +
8
'
)
' ' / 1 9
)
4 , * !
&
8' :S, K * ' , ' ' 5' +
+ & ; 8
@>
5 ,
&
+
,
+ &
Q 8
&
& ' &
+ ' )
Q 4 /8
?$1 /8
@@1 & #
+ &
' & = &
' )
+ ;&
,
#' & + & ; '
)
'
+ 72 !,-/ .-, - 8.!# ! !!1
= &
+ *
3 *
" + & ' )
'+ & & + +
,
= )
& ' & 4 & ' *
' 4 ' *
' ,
F ' &
4 '
' , )
' ,
' ' )
'
F
# & ' +
' )
:+ Æ
= ' ' 9 )
8 ' G
+ '& ' *
+
)
= + & *
' 5 ' *
J ? +& 3
' '
3
#
6
+
,
6
& "J"I4 &
0 ! $%% + ' = ,
'
'
'
= 4 '
' ,
)
' 4 ' +; ,
= ' " $%%@ ' & ' * "&; $%%> ' + ' '
,
& ' & 6 =$ ?3! -, . -:! . --6 - < !
8 ;& &
& ' ,
& 4 (
"
7
&
: B?
II 8
; J
83 C? 8'
K G :S, K ? & I,& $%%G 8 $%%%G 8 $%%G
" $%%%G " $%%$G ; $%%%G ; $%%>G
"4
$%%>G 2!" $%%>
:9 "
7
/"71 &
: B? *
)
' ,
: B? &
' ' , +
,
+
,
* &
4 "7 ' &
'
, 4 &
+ & & ,
; ; -
. ' 4 +
; + ' 6
& "'
: &
+
' ,
4 ,
' 4 ' & ,
4 )
+ "79 ! 8 $ # 6
,
' #4& +
&
,
4 II 8
; J
83 C? +
*
4 &
& ' & '( & , & 4 &
& ) )
E , , 4 )
& +
)
4 8
; &
+
' , = + &
+ 86
& & )
' ' + / 2 $%%%1
4 8' K G :S, K ? 6 & ; & ,
+
*
+
& 4 ' *
I,& $%%G 8 $%%%G 8
$%%G ; $%%%G "4
$%%>G 2!" $%%> 4 ' M A
'
' ' A ) ,
H
7, $%%>
=& . --6 - " !/-!
4 II 8
; J
83 C? + *
& ' 4 &
'+ &E *
4 &
4 8'
&
K &
"4
CG H CG W & 6
)
,
' & &
+ & )
+
6; )
/ , 1
)
* ' & ,
8 0 8'> :S,
K ? :
8
0 I,& $%% #2 JH '
4& > 8 $%%%G 8 $%% 5AIDKJ5 &
; $%%% ; A0D &
"
$%%%G " $%%$G ; A0 A;
0 2!" $%%> 0 ; $%%? 4 #2 JH ' 4& :
8
0 ' )
8'> ; A0 5AI A;
, ' )
4+ ' &
* &
& ' ' ,
0 '
& ' ; # & & 2 )
&
, ), ' 4+ ' + ,
E :S, K ?G I,& $%%G ; $%%%G ; $%%> 2!" $%%>G " $%%% 4
* +
4
& 3
* 2 & , 4 &
&
/ 1 ' ; 5'
)
; + + *
& +
:+ )
; + &
8 &
8 $%% & &
' ' '
'&
" 8
@ ; 4 * '+ ' 6
' *
2 * ; 6 ' ,
&
:S, K G ;
$%%%G 8 $%%%G I,& $%%G 8 $%% & *) & + /
1
) *) ' ' ; 6
4
& & / *
1
' + , +
' ,
4
+ + ,
; ' & 5
6 6
&
,
' & I,
&
B ' ,
4 -. & +
+ + F / 1
4& & +
*
& 4& -#4&. ,
+ ; & 4 & ' ; + ; *
H
7, $%%> ' & &
' 5 4& ' + + ' * H
7, ' )
& ' ; 5
& ' ,
"
$%%% 6
'& ,
9 ' ' *)
#4 & & * '
A; $%%% H3 0
) ' & J
' " 3 + +
K & '
' '
#4 ' + #4 " $%%% & & ' ' ; A0
*
JU" JU" '
H
, $%% '+; ' & & F & '
& # +; H
, $%%> +
+ F * ' +
*
' 8& $%%? F * ,
8 $%%% 5, &
+ ' & K )
+
* ' 0 =
6
)
' & ; ' ' )
'
; + 0 #' )
& =( !!0#5*-"!# ! ,--/
4 8' & ,
& & 8'
> :S, K 6 +
+
0 + +
* ' & ' 4 8' '
'
+
& 4 + *
/B) 1 ' &
'; + *
*
& , /8'1 &
4 8'> ,
&
& +; ; * +
4 :
8
0 I,& $%% 8'> 6 ' #
' + & & * &
J ? # 4 &
& # +; 8' +
& '
6
'& 3
,
4 & ' 3
+ '
& 4 3
' ,
Æ
= J& B ' & 8 8 " $%%%G 8 $%%$G " $%%$G
"4
$%%>G ; $%%% '& *
' ' & '
' )
& %BP * " $%%$ ; A0 " $%%% + +
+ & * ; +
# ' ; 8 $%%$ ) *
&
)
' & & ' 4& ' & & * ' & 4 8
#4 "4
$%%> '6& ,
:,
+ $%%> ) & ' ;
=) !" "!, ! ;"5
J& & , / J& 2 $%%%1 / '1 /* ,
1 +
0 ,
&
+ ' &
&& & &
)
' * 4 '& * &
:;+& : BG X BG " B + * ' ' '
)
"
' ,
)
" G G G M
M CG US G G I
B 2
& &
,
+
4 '
6 & & '& ' ,
* ,
' "
$%%@
> %
= & '+; ' ,
4 '
)
& ,
7 ) +
; A0
+ & + )
&
+
& ' + + '
4 '
3 + +;
,
& " &
& & :+ )
& Æ
& # & 0
& & ' ' : B?E
J
,
& ' +
' ,
& ' ' 3
4' ' & ' : B? $
= & '+; &
'
*
' ,
& 4 ' + ; +
& U
+ '+; '
' )
' !
)::* &#7 (
4 ; I6J
;=M*;
"
#
$"
%
;==> 6 D # ! ! "" C IJ )>:M)=: 1
1B'7=>
!
"
&
$ %%
'"
(
)
)
' #
#((
&
' *&
!!
"
+ (!
) ,
)::: #9 # "$ ;
I6J );;M)*>
!
%%
#
*&
)
' &
;=== 7
#9 # ! ! "% ;: I-J *;0M*)0 1
--1&B4==
!
%
# )-&
" #&
!
# (
,!&
,
, + ;==@ % ( "
N &' 0 ILJ *C@M*=:
'"
(
)
$ )::: 4
#9 #( 7 " ()
*+),- - .*--,"/
'"
(
)
$ ' )::: 4
#9 # ! ! "' ;: I-J 0@MAC 1
)::: 4% &721B4L % - - 1 & B
4 I--1&B4::J
!
'"
(
)
$ ' )::C
4
0 111 $" ) &
1 2 - 4
)
)::: 4 7 &" () 0 ,
0=MA@
)
)::) - ! # ! ! " ;; ILJ ;;;M;)= 1 )::) 4%
&721B4L % - - 1 & B 4
I--1&B4:)J
!
$!
!
+&&!
!
* ;==A 6 D ! ! "& C IJ
;0=M;C= 1
1B'7=A
%%"
)::* 4 "' ) =@M;;*
!
+ )::: '( ! ! "' C IJ ;M;) 1
1B'7::
+ )::* 834 #$!( # (??
%"
&
$ %.
. )::0 ( 7 12 3 0 455% 0 0 )CM*A
"
'"
(
)
"
(!
) ,
;=== #9 # 7 &$$$ 0 ;)=M
;0;
!
/&
;==; ! 7 0 +6, ;M;C
"
+&
* #!
%
)::* ( 4 K ; CM;>
"
#
%
)::: 1 #O'-( #
! ! "' C IJ ;*M)A 1
1B'7::
% 8
(???
!?? !
*0
' ;==A 4 % 7 0 2 0 4" !, 0 ;0CM;CA
'
!
. ,&
* 1%"
' . ;==; 3Æ &" 0 I-J 0C;M0=:
! '! (???!
!
;==0 7 * )@*M)>)
(
!
;==C - 7 $ 1 0 +6,
@@M;:;
2!
&!
3 ;=== 7 7$$ 8
()9 0 + 8 - ;>:M;=0
2!
&!
3 ;=== 7 7 &" 1
0 +6, )C>M)@>
"
!%
# $ %22
;=>0 3Æ &!
>: 7 0 2 0 1 0
)=@M*:)
+ 4 )::) & 3%4**0 %P B &
(?????3**0
'"
(
)
)::) #! $ L --1&B4:) 4 ?!??!??
'"
.
. "
)::: O 7 .4555/
'"
5
' )::* ' ! 7 7333 % & )0;M)C)
!&
;==A : 4
"
$!
%"
+&&!
!
;===
4 ! ! "% C IJ )=*M*:0
1
1B'7==
%(!"
* .!
. !
)::0 # 7 ;< " 8 2 .875%/
)!
;=@0 4 1
' % O
)-
. (
)::* 4 7
7333 % &
)C*M)A0
)0-
/ ;==C 4 &( $ 1
' & O
)0-
/ /&
;==0 4 &3B6 ( $
! ! 4$ ;: I-J ))=M)0*
)0-
/ /&
;==A $ &= 0
I#J *CCM0::
)"
)&
;==@ '7274B 6FQ*)( % - $ ; *M;)
#! $ #! $
I$J (???!??!
! 5 # &
(????!
.
3 !!
)::* 111
"> ; I#J 0;MC:
.!
'-
)::* % ( 4 4' 0 I#J C::MC0>
.
+ ;=@: 4 6-$$4L $% *)@A
.
;==> 3Æ # # 7 0 ? #B 2 3 ):CM);)
.-
)::* % D 7 @ 1 *+),- 2 A=M@>
.-
)::; O ! ! "> C IJ ;CAM;A@ 1
1B'7:;
#
#
$ ;==> ' 6 "5 * I&J ;MC 4 )*
$
!
$ ;===
1B'7==
! ! "%
3Æ C IJ )>;M)=) 1
+ &
% B $
$%-
%"
%"
)::; # H 7
;< 8 2 .875&/ ;M;)
$!
. )!
;==: 1 !
! 4' A I#J ;AM)@ 1
1B'7=:
$-
$ . ;==@ ' R S R N 7 0 0 7$ 4% !, 0 9 *
&'A& &$$ 4% 3 4% 1 L T! LT O&4 ;):M;*;
$-
$ . ;==@ ' U V S U VN 7 0 2 0 4% !, 0 ;):M;*;
$
+&
.!"
' ;==@ ( 4 K ! ! "4 C IJ ;:=M
;); 1
1B'7=@
$
"
;=== B 4& C I&J >=CM=;*
"!
"!
* # . (!
)::: 4
# 7 < B 0 .B,>/ 6 *>@M*=>
%&
+ (!
. (!
) !
.!
.(
# )::0 &( & 7 0@ )C)M)A)
)::0 # # D ( N !
! "$ > I4J A;M@;
"
"22
)::: G!(
< # ! ! "' ;: I-J AAM>) 1 )::: 4% &721B4L % - - 1 & B
4 I--1&B4::J
& # 8 4 6!
(????P
$2% +( &13%)::: # 8
8
! (???):::
$2% +( &13%=> 8
!
(???=>
&
3&!
"%
!
.
4!-"
. .!
) *"
)::: - 78 #
# % # "$ ; I6J ;@CM;=*
&
!
.
.!
) *"
)::; 4 ! # !
! "> ;; ILJ ;>:M;=C 1 )::; 4% &721B4L % -
- 1 & B 4 I--1&B4:;J
&
!
*"
)::) 4 # 7 ;< 8 2 ,
.8754/ =;M;:0
!!
+&
)::; H
4'41 ! ! "> @ I#J =*M;:)
,
3 (&
. ;==@ 6 D 7 %
I1 6J
,
;=== ' & 7 #
F# F&B (?? ? F) # 1 $ (?? ? )? &
$"
#
#
$"
&
.
+%&
. + ;=== B( 4 # #
Æ 7 0 ? ;)>M;*>
1&
6 ,&
1 * ;==@ &
7 &> - & $ *;ICJ ;CM)A
4 ) * + 8
Normalized Running Time
0.56
0.54
0.52
0.50
10000
100000
1000000
Counter Threshold
7 > 4 ' & ,
%
4 ) * ) 4 ' @%%% + +
4 8
@
Normalized Running Time
0.55
0.50
0.45
10000
100000
1000000
Counter Threshold
7 ? 4 ' & ,
4 ) * ) 4 ' %%%% + +
4 8
@
Normalized Running Time
0.60
0.55
100000
1000000
Counter Threshold
7 @ 4 ' & ,
$
4 ) * ) 4 ' >@%%%% + +
4 8
@
3
JIT1
mod1
2
Speedup
daikon-large
pseudojbb-large
soot-large
ipsixql-large
saber-large
xerces.large
kawa-large
soot-medium
daikon-medium
xerces.medium
compress-medium
saber-medium
pseudojbb-medium
ipsixql-medium
mtrt-medium
kawa-medium
jack-medium
jess-medium
javac-medium
xalan
daikon-large
pseudojbb-large
soot-large
ipsixql-large
saber-large
xerces.large
kawa-large
soot-medium
daikon-medium
jack-large
javac-large
jess-large
mtrt-large
db-large
compress-large
mpegaudio-large
db-medium
xalan
javac-medium
jess-medium
jack-medium
kawa-medium
mtrt-medium
ipsixql-medium
pseudojbb-medium
saber-medium
compress-medium
xerces.medium
mpegaudio-medium
5
mpegaudio-medium
5
db-medium
mpegaudio-large
compress-large
db-large
mtrt-large
jess-large
javac-large
jack-large
3
JIT2
mod2
2
Speedup
3
JIT0
mod0
2
Speedup
5
4
1
0
4
1
0
4
1
0
daikon-large
pseudojbb-large
soot-large
ipsixql-large
saber-large
xerces.large
kawa-large
soot-medium
daikon-medium
jack-large
javac-large
jess-large
mtrt-large
db-large
compress-large
mpegaudio-large
db-medium
xalan
javac-medium
jess-medium
jack-medium
kawa-medium
mtrt-medium
ipsixql-medium
pseudojbb-medium
saber-medium
compress-medium
xerces.medium
mpegaudio-medium
7 J
' + #4 , 4 ; '
" & ' + 7 JIT1
mod1
4
Speedup
ipsixql-steady
SPECjbb2000
mpegaudio-steady
compress-steady
db-steady
mtrt-steady
jess-steady
javac-steady
jack-steady
ipsixql-steady
SPECjbb2000
mpegaudio-steady
compress-steady
db-steady
mtrt-steady
jess-steady
javac-steady
jack-steady
JIT2
mod2
4
Speedup
JIT0
mod0
4
Speedup
6
2
0
6
2
0
6
2
0
ipsixql-steady
SPECjbb2000
mpegaudio-steady
compress-steady
db-steady
mtrt-steady
jess-steady
javac-steady
jack-steady
7 B J
&
' + #4 , " & ' + 7 3
ctr1
model1
2
Speedup
daikon-large
pseudojbb-large
soot-large
ipsixql-large
saber-large
xerces.large
kawa-large
soot-medium
daikon-medium
xerces.medium
compress-medium
saber-medium
pseudojbb-medium
ipsixql-medium
mtrt-medium
kawa-medium
jack-medium
jess-medium
javac-medium
xalan
daikon-large
pseudojbb-large
soot-large
ipsixql-large
saber-large
xerces.large
kawa-large
soot-medium
daikon-medium
jack-large
javac-large
jess-large
mtrt-large
db-large
compress-large
mpegaudio-large
db-medium
xalan
javac-medium
jess-medium
jack-medium
kawa-medium
mtrt-medium
ipsixql-medium
pseudojbb-medium
saber-medium
compress-medium
xerces.medium
mpegaudio-medium
5
mpegaudio-medium
5
db-medium
mpegaudio-large
compress-large
db-large
mtrt-large
jess-large
javac-large
jack-large
3
ctr2
model2
2
Speedup
3
ctr0
model0
2
Speedup
5
4
1
0
4
1
0
4
1
0
daikon-large
pseudojbb-large
soot-large
ipsixql-large
saber-large
xerces.large
kawa-large
soot-medium
daikon-medium
jack-large
javac-large
jess-large
mtrt-large
db-large
compress-large
mpegaudio-large
db-medium
xalan
javac-medium
jess-medium
jack-medium
kawa-medium
mtrt-medium
ipsixql-medium
pseudojbb-medium
saber-medium
compress-medium
xerces.medium
mpegaudio-medium
7 C J
' + , " & ' + 7 B
ctr1
model1
4
Speedup
ipsixql-steady
SPECjbb2000
mpegaudio-steady
compress-steady
db-steady
mtrt-steady
jess-steady
javac-steady
jack-steady
ipsixql-steady
SPECjbb2000
mpegaudio-steady
compress-steady
db-steady
mtrt-steady
jess-steady
javac-steady
jack-steady
ctr2
model2
4
Speedup
ctr0
model0
4
Speedup
6
2
0
6
2
0
6
2
0
ipsixql-steady
SPECjbb2000
mpegaudio-steady
compress-steady
db-steady
mtrt-steady
jess-steady
javac-steady
jack-steady
7 J
&
' + , " & ' + 7 B
1
daikon-large
pseudojbb-large
soot-large
ipsixql-large
saber-large
xerces.large
kawa-large
soot-medium
daikon-medium
mpegaudio-medium
xerces.medium
compress-medium
saber-medium
pseudojbb-medium
ipsixql-medium
mtrt-medium
kawa-medium
jack-medium
jess-medium
javac-medium
xalan
db-medium
mpegaudio-large
compress-large
db-large
mtrt-large
jess-large
javac-large
jack-large
mod0
mod1
mod2
Speedup
mod0
mod1
mod2
Speedup
1
2
0
2
0
ipsixql-steady
SPECjbb2000
jack-steady
javac-steady
jess-steady
mtrt-steady
db-steady
compress-steady
mpegaudio-steady
7 $% J
' + , " & ' + 7 C
0.5
daikon-large
pseudojbb-large
soot-large
ipsixql-large
saber-large
xerces.large
kawa-large
soot-medium
daikon-medium
mpegaudio-medium
xerces.medium
compress-medium
saber-medium
pseudojbb-medium
ipsixql-medium
mtrt-medium
kawa-medium
jack-medium
jess-medium
javac-medium
xalan
db-medium
mpegaudio-large
compress-large
db-large
mtrt-large
jess-large
javac-large
jack-large
AI
edge
both
Speedup
AI
edge
both
0.5
Speedup
!
1.0
0.0
1.0
0.0
ipsixql-steady
SPECjbb2000
jack-steady
javac-steady
jess-steady
mtrt-steady
db-steady
compress-steady
mpegaudio-steady
7 $ J
' + ';
,
, " & ' + 7 @
4 ) + )
"
$
4 #0 A+ ' 4
4 4 *
& ; ' %
4 ' 7 ) *
' !2 ' +
$BP ' 8
!
:
;
)
:
;
)
:@*I:)@J :@AI:0;J :>>I:C;J ;*)I;@)J **AI:;=J 0)AI:)>J
AC=I::=J
);:I:);J *@AI:*)J )A*I:0)J );*I:*=J ;C=>I:;CJ *:=@I:;:J ;0>=;I::0J
))@I:*AJ )=;I:A;J )C=I:;AJ )A>I:*;J ;:*)I:):J ;@=>I:0>J 0A*CI::>J
)**I::>J ;@:I:)CJ ;0>I:*;J );>I:*;J A:>I:;=J =)@I:0*J ))=)I::@J
!
)C*I:);J *;)I:*>J **AI:*:J )=0I:;*J @)=I:;*J ;CC)I:0=J *:>:I:;@J
!
*C=I;@CAJ 0)*I;)*=J 0)>I;;=0J *>0I0*>J ;)>=I)ACJ );)=I)*AJ @::*I;;0J
*@*I:)AJ 0;>I)A;J *;AI:;AJ *0)I:)AJ A:>I:*)J A0=I:)=J ;AA0I:;)J
<
0=0I:0=J *0:I:@*J *0AI:C)J C:CI:C:J 0@@I:A:J C@*I:CAJ ;*0;I:;;J
A:0I:A;J 0@AI:CCJ C0*I:0>J A0)I:C;J **=I:0@J )A=I:**J
0*:ICA@J
>0:I:)*J @0:I:*0J @C)I:*>J @>>I:0)J )C@=I::@J 0=0;I:;*J ;*@@AI:)0J
=>)I::CJ )>AI:;)J )>CI:*:J 0;=I:)@J 0>)I:);J C;CI:);J
A@0I::>J
;;@)I::*J ))*;I)@;J A*@I:*;J ;*::I:)CJ >>CI:;*J ;*==I:;*J *@*AI::@J
;;>)I::)J 0CCI::@J C*AI::=J >@:I:;:J A==I:;:J @C*I:)AJ ;@*AI::@J
!
;))*I:;@J ;)C=I:):J ;C@CI:);J );C=I:;;J );C@I:;;J *A;0I:;:J =0)AI::*J
;*;0I:;>J ;;>@I:;=J ;*)@I:)@J ;)=*I:)CJ )*>=I:;:J *>:;I::AJ ;C:>*I::=J
!
;@C)IA;;J ;@0:I0>)J ;=)*I*=)J ;>A=I*=AJ **=>I;*AJ A;;)I)CAJ ;0::>0I:>*J
!
;=0>I:):J ;@C@I:;0J ;@*>I:))J ;@==I:)AJ ):)>I:;)J )C;>I:*;J 0:A@I:;)J
));0I::>J )@:=I;A@J ;;)>I:*AJ )C>AI:):J ;0@)I::=J ;>CCI::>J 00*)I::CJ
)0=;I:*@J )*@=I;))J )00)I:)>J ):@AI:*:J 0>=*I:;=J =*0:I:;CJ )@)=@I::=J
)>0)I:;0J );;*I:;>J ))C>I:;@J *:@CI:)0J )C@AI::=J *);)I:C*J A*@;I::=J
*;)*I::CJ ;AA=I:)0J ;0@@I:;0J ;@C*I:)*J ;=CCI:;;J ;>=@I:)AJ *;**I::AJ
*>)@I:0)J ;=0>I:*0J ;;0CI:)AJ ;@0CI:;AJ ):>@I:*AJ ;*>@I:)>J ))*@I::>J
0;C=I:)@J *:C=I:0=J )>0CI*C0J )>=AI)*;J *0);I:)*J *)A>I:**J *;>)I*00J
<
0A;=I::>J )*C@I:CAJ ));0I:))J )C)>I:;0J )@C0I:;@J )A@AI:)AJ **@)I:;)J
AA>0I::@J C)=;I:;)J CC*>I:;>J @:=>I:;>J A;0;I:;AJ @>C)I::0J ):A:0I:;AJ
=@)>I:;CJ C0@>I:;AJ C)AAI:)>J A;*;I:);J 0=C*I:;0J 00>)I:);J 0*>CI:)>J
;:@>=I::*J )@@>I:@>J )@:=I:*@J ))@@I::=J )A>*I:;)J )A*>I:;>J ))@)I:;*J
!
;:>;)I::CJ AA):I:;0J A*=CI:;;J @=C;I:)0J @*)CI::>J >0;:I::=J ;0:)>I::*J
;:=:*I::;J )A);I:A0J )C);I::AJ *0CCI::=J )@>@I::)J )AA)I::0J *0@CI::0J
8
!
!
!
<
!
!
!
<
!
:
:@*I*00J
);0I:>=J
)*CI:AAJ
;A;I;@;J
)A@I))0J
*A>I):;>J
*C=I;=>J
*@0I)*=J
0>@I;CAJ
@**I:@CJ
)==I:>CJ
A;=I;)*J
C;)I;;>J
;;;CI:@@J
;)::I:CCJ
;A*0I0C)J
;@*;I:*@J
;;@:I:A:J
):0)I:A;J
);A0I:0AJ
;@:AI:@CJ
;=*)I;>*J
)>>*I:*>J
)000I:C@J
C*)*I:*CJ
C@:AI:0;J
)@@;I:**J
AAA;I:)=J
)AA;I:)CJ
;
:=)I=0;J
);0I:A>J
)*=I;;>J
;C;I;@*J
)@=I0A@J
*A*I;)@=J
*0*IAA:J
*@@I);0J
C**I*)0J
@0@I;)*J
*:)I;:AJ
AAAI;=;J
C0CI;>;J
;;ACI);)J
;))@I;:CJ
;AC;I*)@J
;A@@I:A:J
;):)I;*0J
);@;I:0>J
))*@I:0*J
;C;)I:A;J
;;@@I);=J
)AAAI;;)J
))@)I:A0J
C0C=I:A)J
C*C:I:0*J
)@:>I:0>J
A*A0I:AAJ
)C*AI:)@J
)
:@=I**@J
);;I;)CJ
)0:I):AJ
);*I;=@J
)A=I;**J
*=*I;=ACJ
*0:I;=*J
0A0I)0;J
A*0I*@;J
@>)I;0CJ
0A@I;=0J
;;0=I;>;J
>>*I*C@J
;*:AI*:>J
;*C=I)CAJ
;@)CIA)@J
;>*=I:>CJ
;>A:I)0;J
);:*I*A=J
)C@)I:=>J
;@0AI;*;J
;@)AI;:;J
)A@*I:A*J
)C;@I:>>J
A:ACI;>=J
A:A:I:>@J
)*:AI:0=J
@A@:I:@@J
*);>I:>AJ
:;)
:@*I*A>J
);CI:0)J
)*>I)>AJ
;C@I*;>J
)A>I;>@J
*CCIA0=J
*C@I;A)J
*>;I))CJ
C:AI;@)J
@0;I;)>J
*:>I):*J
A*CI))*J
C;CI:@*J
;;>)I;)0J
;);CI;;:J
;A*:I);;J
;@;AI:*CJ
;;=>I;*)J
):))I:A0J
);>;I:C0J
;C>;I:@CJ
;*)@I;:)J
)AC)I;;CJ
))>=I:A=J
C)>:I:*CJ
CC>>I:C0J
)C:*I:C;J
A0;=I:0CJ
)A==I:A*J
:;) :;) :;) :@0I)0=J
:@0I:=;J
:@0I)=0J
);CI:@>J
);0I:C0J
);0I:>)J
)*CI:=)J
)*AI;)>J
)*AI;*CJ
;C@I;=)J
;C@I)A>J
;C>I;CCJ
)@)I;=>J
)A=I)))J
)A>I);;J
*A>I;>;:J *A:I;*;)J *A0I;*=AJ
*C=I;*AJ
*C>I;*>J
*A:I;0AJ
*>;I;@=J
*>:I;0;J
*@AI);;J
C:CI;A)J
C:*I;=CJ
C::I;@)J
@*=I:0=J
@0:I:A>J
@0:I:0=J
*;:I;*;J
*:AI;)>J
*:>I;)CJ
A)>I;@;J
A):I)*;J
A)AI)C0J
C;AI:>>J
C;@I:=@J
C;0I;);J
;;A>I;;:J ;;ACI;00J ;;A0I;:0J
;));I:A>J ;):)I:)*J ;);:I:C@J
;ACCI*=:J ;A;0I*>>J ;A;=I0)>J
;@*:I:>AJ ;@;)I:CCJ ;@)=I:A)J
;;=>I;)@J ;;@0I;))J ;;@=I;>@J
):*@I:A=J ):;=I:@:J ):;CI:*)J
);>>I:=@J );A=I:A*J );>*I:@@J
;C@:I;*@J ;C@AI:A>J ;CACI;:>J
;**0I;C0J ;*);I:C=J ;*)0I:@0J
)*;@I))AJ )AC@I:0:J )***I;;@J
)*00I:A0J ))@CI:0@J )*)AI:@AJ
C*A=I:C0J C)>0I:**J C*CCI:@;J
C0*0I:@*J CCC:I:*=J C*>>I:==J
)0)=I:0*J )0@>I:)AJ )*=@I:;CJ
A0**I:@)J A*=)I:C*J A**>I:CCJ
)@>AI))AJ )A>@I:0:J )@))I;A:J
4 0 A+ ' 4
4 4 *
& ; ' %
4 ' 7 ) *
' !2 ' +
>??P ' #
4 0# A+ ' &
4 *
& ; ' >
4 ' 7 ) *
' ()!!2$** ' +
>P ' 8
!
:
;
)
:
;
)
&13%*::
0@AI:*=J )0@I:*CJ ))AI:AAJ )))I::=J )0;I:)=J ));I::=J );@I:);J
!
;C0)I:)*J ;)*0I:0@J ;;*;I:;0J ;;C;I:0;J ;)0AI:;)J ;;*)I::>J ;;C0I::@J
)AA;I:;=J ;C*=I:;AJ ;0C>I::>J ;CC@I:0*J ;C>>I::=J ;0>=I::AJ ;A:0I::AJ
)AA@I::)J ;;C)I::AJ =)*I:;:J =:=I:;)J ;;0@I::AJ =;;I::CJ >==I::*J
*A;>I:;;J ;0@*I:;;J @:CI::)J @)AI:;@J ;0>0I:))J @;@I::@J @*0I:*CJ
0:A)I:*@J )>=0I:>@J )A;*I:00J )C=@I:>0J )=;@I:CCJ )@::I:)@J )@@AI::;J
<
0;>AI:))J ;>A;I::@J ;AC)I::=J ;A)AI::>J )))@I:)*J ):=:I::AJ );:0I::0J
;:@0AI:)*J )*)>I:;)J ))*>I::@J ;A):I::AJ )*))I::0J ))*)I::0J ;A;@I::;J
;:>C>I::;J )*C:I:)AJ );A;I::@J ):)>I::AJ )*C>I::;J );CAI:::J ):::I::)J
8
!
&13%*::
!
<
:
)0>I:ACJ
;)*;I:)=J
;CAAI:;=J
;;C*I::AJ
;C))I)A)J
)>>:I;:*J
;>)>I::=J
)*)AI::=J
)*0=I:)>J
;
))@I:@*J
;;)*I:;)J
;0A>I:*CJ
=;CI::@J
@:@I:;>J
)A:>I;:CJ
;A**I:;=J
))*@I::=J
);A@I:0;J
)
))*I:*;J
;;*AI:A>J
;C>;I:)CJ
>>>I::AJ
@)CI::AJ
)C=)I:>0J
;A;0I:;=J
;A;=I::;J
)::AI:;:J
:;)
))AI:@AJ
;;;=I:*0J
;0=@I:;CJ
>>>I:0AJ
@)CI:);J
)C>>I;:)J
;A:=I:)@J
;A)@I::@J
)::AI:;0J
:;) :;) :;) );CI:*CJ
)))I:C=J
);:I:0@J
;;*)IA;*J ;;;AI:00J ;:==I:**J
;C@)I;@)J ;0>;I:0;J ;0>)I:;)J
@00I:0;J
>>;I::=J
@*>I:*:J
A@:I::>J
@;*I:;0J
AC@I:);J
));0I:>>J )A:>I;;0J ));)I;A:J
;*=;I:C:J ;A:>I:>)J ;*@)I:;@J
;C:)I:;*J ;A;@I::>J ;0=CI:):J
;=:)I:;=J ):;:I:*AJ ;=:AI:;AJ
4 0## A+ ' &
4 *
& ; ' >
4 ' 7 ) *
' ()!!2$** ' +
@P ' 777 1 #! $ 8
! 4 2% $ 4-&
=::* :::
>C* ;00
=>A= :::
:@) :C=
A>;C )C=>
C*: :CA
=0C* :::
0C= :>>
!
=)*) :::
@:; :AA
!
=C;> :::
0)@ :CC
>)*: :::
;@)C :0C
<
>=>) :::
=AC :C0
>@C@ :::
;);A :)@
=C@: :::
*>= :0:
>*;C :::
;A0: :0C
@A;) :::
)*0; :0@
!
>@@; :::
;):: :)=
=C=; :::
*=: :;=
!
=0*@ :::
C): :0)
!
>@C; **>
>@C :*A
>0A0 :::
;0=* :0*
>:*@ ;:=>
>)= :*A
>)0> 0)A
;)=* :*)
=A*= :::
*0) :;=
>=A0 :::
==C :0)
=>;; :::
;@@ :;)
<
>C>= A;;
@@) :)>
=C)A :::
00> :)A
@=@0 ;C::
C:@ :;=
>A;C 0)*
=*) :)=
=0:@ :::
C>: :;*
!
>0CC A::
=;A :)=
>C@= :::
;*=A :)C
4
>>*C )A)
>A; :0)
8
! 4 2% $ 4-&
<
>=0@ =*)
;;) :;:
&13%):::
=)00 00=
)>0 :)0
!
>=>* A;=
*>0 :;C
@*@A ;=0@
AC) :)C
=::A >)A
;C@ :;;
=;C: C*:
*:0 :;A
=>@A :=C
:)A ::*
=>0A ;)C
:)C ::*
=@A= :::
))* ::>
4
=;** A;0
)0; :;*
7F 1 8
!
!
!
<
!
!
!
<
!
4
8
=@A) I)0AJ
==>; I;C@=J
==:0 I=)CJ
=>A) IA0CJ
=0)@ I000J
=>>= I;@@0J
=;== I***J
=C0) I0*>J
>CAC ICCCJ
=C>: I))>J
=;=* IAA;J
=:=C I*@)J
=0=@ I;C>AJ
=>;; I;;=*J
=@;0 I**=AJ
>=)) I0))J
>@)* I@;@J
>;)= I@>)J
=0:; IA)>J
==*0 I;=CAJ
>;>) I)=@J
=>:C I)C;J
=;A* I00=J
==:0 I0**;J
>=>0 I;CC@J
AA=> I0*0J
=C*> I))@J
=:*> I;C;)J
>*>) I*0)J
=)*C I=@CJ
-
)*> IAJ
:;= I*J
:=A I=J
;*> I=J
C@* I)@J
;;; I):J
>:; I)=J
0C> I);J
;0*C I=*J
0): I;:J
>:@ IC>J
=:C I*@J
C:* I>0J
;>= I)*J
)>A I;::J
;:@> IC;J
;)@@ I;:CJ
;>@; I;>:J
C== I0:J
:AA I;*J
;>;> IAAJ
;=C ICJ
>*@ I0;J
:=A I0)J
;:;A I;@AJ
**:) I);0J
0A) I;;J
=A) I;A;J
;A;> IAAJ
@AC IC>J
- :
- ;
- )
)*> IAJ
::: I:J ::: I:J
:;= I*J
::: I:J ::: I:J
:@C I@J
:); I)J ::: I:J
:A; I0J
:@A ICJ ::: I:J
0)C I):J
;0= I@J ::: I:J
:>= I;AJ
:)) I0J ::: I:J
0@: I;@J **; I;)J ::: I:J
*@: I;@J
:>@ I0J ::: I:J
>=C IC>J 0@> I*;J :A) I0J
);: ICJ
);: ICJ ::: I:J
AC0 I0@J ;C* I;;J ::: I:J
A;; I)CJ )=* I;)J ::: I:J
*C* IC=J ;C: I)CJ ::: I:J
;)* I;CJ
:AA I>J ::: I:J
)*@ I>*J :0A I;AJ ::* I;J
0>A I)*J C@; I)@J :); I;J
@=; IACJ 0@0 I*=J :;) I;J
;**; I;)>J C*: IC;J :;: I;J
);: I;0J )>0 I;=J ;:C I@J
:0; I>J
:): I0J ::C I;J
C@= I);J ;;C@ I0)J :>* I*J
:@> I)J
::: I:J ;;@ I*J
0)= I);J *>> I;=J :): I;J
:@* I*)J
:); I=J ::) I;J
A)* I;:>J *C> IA)J :*C IAJ
;C;) I=>J ;0=@ I=@J )=* I;=J
:0) I;J
)C) IAJ ;A> I0J
C;0 I>AJ *C* IC=J :=A I;AJ
A;* I)CJ =*; I*>J :@0 I*J
0;= I*0J *:> I);J :*> I)J
8
!
<
&13%):::
!
4
8
>A=0 I0)AJ
@;A= IC>:J
AA;@ I*;*J
C:); I0>*J
>;=0 IC0=J
@)C* I)A0J
=0C@ I)00J
=;A: I);>J
@);* I)=CJ
@A0) I*@0J
-
;*:A IA0J
)>*; I))=J
**>* I;A:J
0=@= I0@=J
;>:A I;);J
)@0@ I;::J
C0* I;0J
>0: I):J
)@>@ I;;0J
)*C> I;00J
- :
- ;
- )
*)@ I;AJ
0=: I)0J 0=: I)0J
00C I*AJ ;)@* I;:*J ;;;) I=:J
;;); IC*J ;*=C IAAJ >A@ I0;J
;>@; I;>:J ))CA I);@J >C) I>)J
>*A ICAJ
C>) I*=J *>> I)AJ
0A@ I;@J ;C*> ICAJ @0) I)@J
;=0 ICJ
;CC I0J
;=0 ICJ
**A I>J
)=0 I@J
);: ICJ
A;; I)CJ ;)@; IC)J =:C I*@J
A=: I00J ;:)> IA*J A0: I*@J