USENIX Association Proceedings of the General Track: 2004 USENIX Annual Technical Conference Boston, MA, USA June 27–July 2, 2004 © 2004 by The USENIX Association All Rights Reserved For more information about the USENIX Association: Phone: 1 510 528 8649 FAX: 1 510 548 5738 Email: [email protected] WWW: http://www.usenix.org Rights to individual papers remain with the author or the author's employer. Permission is granted for noncommercial reproduction of the work for educational or research purposes. This copyright notice must be included in the reproduced paper. USENIX acknowledges all trademarks herein. ! " !#$ % !# "& '()*( # % + # ! + % #% % % # #% $ , #%% % % # # % -$ $- .#%%/ % 0 # % % $ % +$% # #%% % 1 % % 2 -$ +$% # #% 3# Æ # $ % 4 5 %% % % % + % #%$ % % , 3# & - % 2 - $# 3# 6 # #%% % - % # # # % % ! $ #% 6 % 7*8 97:; !" #""!$ % & "!'$ () * $ + , ,- () +. #% % # . / #% $ # % < " 1% 97); #% ! =:>: # - *'8 % $ ? @ % # A #%% % #%% % # $ B $ 9C DE 7' 'E ') '> C7; $# 6 #% 9D* D7 E( E' '7 C'; # # % $ 9(> DC )(; $ % $ #% 97( 7>; - $ - % 9D) :(; 1 A #% F % % #% % #% % %# " #%% % # % % # #% - # G +% $ #% + # 6 %$ 1 # $ #%% % % # - $- #%% % #% #% " #%% % % # #% % #%% " #% $ #% % $- " # #%% %# $ #%% $ % % - " % 6 %# # $ % % #% 1% # # $ % #%% % 1 % % % 1$ % % $ 9E (* (D E7 EC E) E> :7 '( CC C> )D; % % # $ #%% % ! G2 # % #% A 6 % # % # H% ($D %I 5 % $ # J $ 9(( D> 7* 7E '* 'D; 9> 7D ': CD; %% % 9' EE :* '' C*; J # % 6 # #$ 1 $ #%% % % % " % % 2 - # $ #%% % " Æ $ -$ % 3# %4 - 3# # % J % % J #6 $ $- , & - % # 2 - $ $# $ 6 # - - # #%% % - - %# % # 1 - % # $ % % % #%% % , % - % # $ # #% 1 % D # #% E 3# 7 : # % # ' - C +$ # %# %% % # #%% ) # - 2 # % K #%% % # " #%% % # #L # F- % $ % $ % #%% % $ $ # ,% 9C: C'; &L 977; F 9D(; F$ % 9(> DC )(; F- $ $ 4 B 9E*; "4 9E:; & 4 "!F 9D) :(; $ 97( 7> (: :E :) 'E; 6 # #% 9D' ( (7 7C :'; , $ $ $ 6 % #% #% % $ #%% %# 1 %$ #% % % #% #% % % % $ #%% % # 1 + #% % % #% # $ +% 6 $ 2 A #% # - #%% - #%% 1 6 Æ # # # $ % % $ $ L % # - % # % -$ $ $ , % A +- % % $ 9(D E7 EC E) E> C> '(; $ 9E :7 )D; $ 9(* )*; % A 6 1 $ % # #%% % $ $ # - 9(( D> 7E '* 'D; 3 - & $ M # 9(( 7E; 6 # $ % % % N 6 # #%% % %$ % 5% 9:; # % # " # - 1 # $$ # % # % 1 $ # $ % % , $# % % $ 6 $ % $ % % 1 % % $ % 9D: :D; $ # % % % % # 1% % $ # L 97 ED :C; % $ +$% # $ 9); # # % $ # % # 6 % 1 $ % $ $$ H11I #%% % 3 5 % #%% % 9DD; $ # % % # 1 % $ % - %% % 5 % # " # $ % 3 N % #6 $- 9:>; %% % % % # % % $ # +$% $ 2 $ - 1 6 # # 35 $ $ % M 9(C; 2 % 2 1 6 % # H15I % # # % 2 3# % + A M 3 #%% % H I % $ M HI $ M # %% % / %/ 3# % % # # % #%% - A 1 - % $ # % % +$ % # $ % #%% % ! !" #$ 3# # #%% % K ! K ! $ - + # - $ % # 1 % % # K ! # - $ + # - $ 1 # 3# Æ $ - + - 1 + - $ 4 - 2 " # 6 + - 3# $ % 1 $ % + $$ , % $ # + $ % $- F + # #$ + %$ - % - % # # A - % # % + % " # - % % %% $- . / % , $ % % $ - # % % -$ % - % % - A % $ # L #%$ % % %# % - # % # % #%%K 3 % (K % % % - $ G# # % % % 3 % ( % % ( " ' % # - ( 1 #% - ( ' # $ # % #%% % + % - $ " ' % & $" ' % $ ( 3# # $ 2 # % % $ #%% % - % # $ % H #$ %# I " % #%% # - # % % % $ 3 % ( - % % - G# #%% 6 % % 2 % 1 -$ % # - # % - % - " 1 % $ ! # % $ % % 4 1 H I %$ + # % $ % Active State Active State checkpoint Shadow State ard replay disc Active State X Shadow State X Active State Shadow State 3 % DK 4 1 +% D 1 % # #%% % + # % H - I " + " 6 " # # - % 3 % D A " # $ - % % # $ - % #%% % 9C); " % # -$ # # % #% # #$ - 1 # - " # # # % 1 $ % $$ " $ % $ $$ , $ + % # %% 1 #$ + 3 % + # % * # % H I 1 $ A - 3 % + % # % % # G 0 $$ % - $ 3 - $ ' % + % )$ ) # $ 6 $ 1 # $ $ $ #% 3 - % % & - + % 1 $ $ H I % # # % # % -$ 1 +$% $ # $ % 2 # - 1 $ $ + $ # 9D (' () 'C C*; 3# + # $ % " $ % - & $ # 3# $ - # % # 1 # % 1 $ 6 %G % # 2 % $ #%% % % % # $ Æ 3 $ # 6 $ % 1$ % Æ # $ % 1 % 6 # % # % 1 % $ -$ $ % # # $- $#$ 3$ Æ % # $ % % *+ , + " #$%$## # % J # 1 # 1 $ - 1 $ # H & - %I $ % 4 $ 1 $$ & 1 % - - $ # + # # - - # % A 1 A 1 A $ # 3 O % 1 4 # " % " # % % % - % % % 4 % # 1 $ % $ # % % % % # % # # % % # H I # % $ % # , # $ % & - $ % # % & - % # K " % $$ % # $ $ $ -# % # % $ % % + % % % B2 "P $ % H 6 I # $ % &,B % H&,B4I , $$ % # $ % % # $ # $ # - % # # $ % H$ "@& "2 I % # % # % -$ ½ " Æ - - A - - , - % #$ # - % # % $ $- # + # ' # #% - < $ # % $ $ - # # " "B % $ # % 5$ % # % % # , & ))+ , $ ( " - - $ % $- A 3 + # % # # % +4 # % + /0 - +- + 1 1 , - +2 - + ½ 3# - -$ % % % " 3# #%% - $ % % " Æ - - # - $ # % % 3# #%% % ## #% # % 3# $ " % $ 1 % $ % $ % 1 $ % $ " # % $ A % 1 " 3# $ # 2 %% % % 6 # % + $ % # % # " 3# # % - " %% % +% E " %% % % % $A " + # % % $A %% User−level process Log System call handler Hijacker Original Handler , &%% % A A K 1 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 3 % EK ! " #! $ 3 $ J M $ $ <$ J % B J - - " $ J $ % 6 ! J % % , % A 3$ # # $ % % $ - " % . / # % $ % # % 3 - HI + $ #A + # 1 A # # 3$ # 6 3# % $A , # # - # % % %$ % % " J %$ 1 # # % # % # % 1 % % N $ # 4 - # + # 2 # $ 4 % - # 3 # % + # % + # + - % $ # % # # -% % , ( )( # $ ( & - A O J M "B 5 1 % # % 5 + % + % % , % 6 % H!I % % % " % % + 4 + # % + # % + 2 + # + 3 + % + # # # % + B % # % % % 2 % $ + % + % % + % 6 + % # % % $% % # & - % % - # % 1 % + % # $ % % 1 + # $ % % + # # % #%% 0 % +$ % % + # 6 % % # # % $ L + # %% % # % % % % 1 A - % # 6 % # % " 3# $ # " $ +$ $ # Æ % 6 % $ # % ,% ($ , 6 # $ % % $ % &%$ % % % # $ %% % % $ #%% % % # % 6 F % % 3 $ % % $ % $ # 9(E; 1 # # % % % - $ % % # - # $ # % $ # 9(E; , # $ # 9::; ,, % # + - $ % % -$ % # # # % # 1 # % % # %$ A - 1 % % - % $- % - % # % # F 9''; % 3# % $ 1 # $ 1 , % % $ % 3# - % % " % , % # % ,- *+ , 3#4 & -$D7DD 1 $ $ + - " & - $ # % # % % %$ % % - (D) 1 - $ - # " + % , 9C(; $ # %% % # % 1 # . L/ # # % # + # % + % # %% # - % % % % # 1 # % # " % 1 + $ % % %% A % # 5 % #$ # $ % 3 3# # # % # % - .! , 3# % # 1 % # ()@0 B$ "M :(D5 &D :(D5 - ! $ / 1 # # # , % $ # % % # # % 3 % 7HI # $ K D:$('** # 75 7**5 $$ # $ $ + # 1 HI $ # % % H I 1 # # $ $ 2 $ D)$D)** # D)$C:** 1 % # % # % G 1 % #$ # % 3 % 7H#I #L # $ $ , 1 # # $ # % $ # # 1 % - $ - ! $ * " %% % % %% % " % " %% % + #% % 1 + # " , %% % A % 3# #A Variation of system call latency with size of process data memory 8000 900 min max average 800 Time (microseconds) 700 Time (microseconds) checkpoint write n discard write n replay read n release read n replay 7000 600 500 400 300 6000 5000 4000 3000 2000 200 1000 100 0 0 Checkpoint Discard Replay %& ' ( )* +, ! - 3 3.5 4 4.5 5 5.5 6 6.5 7 logbase10 (0.25 * Data Size in Bytes) %& ' ( )., )**+, 3 % 7K + # / ( ! Without logging With logging Without logging With logging 12000 Response Time (microseconds) Response Time (microseconds) 12000 10000 8000 6000 4000 2000 0 10000 8000 6000 4000 2000 0 0 5 10 15 20 Number of system calls %& , -! %, & 25 30 0 5 10 15 20 25 30 Number of system calls %& 0-! %0 & 3 % :K # %& ! ! 1 % %% % % % $ % # # 7 5 D 5 1 A % # 3 %$ % $ ' % , + #A$ 1 5 < $ % H5I % $ % H<I # - % #A 3 < $ - 1 #AN L " # % #A $ " - Æ 1 $ + L % %% % $ # - 1 % % # O % " # # 7 5 3 + A % 3 % : # #- 1 #- % # - # 3# "$ # % # $ 6 % + %% % 1 # # 1 A # % - $$ %% % 1 E* $ 3 % CK ( 1 %.,& ! ! % 1 A % #A %% % 3 % C # %% % 700 Reads Writes Log File Size(KB) 600 500 400 300 200 100 0 4500 5000 5500 6000 6500 7000 7500 Number of system calls 8000 8500 9000 With logging Without logging 4000 4000 Response Time (microseconds) Response Time (microseconds) 4500 With logging Without logging 4500 3500 3000 2500 2000 1500 1000 3500 3000 2500 2000 1500 1000 500 500 0 0 0 100 200 300 Amount of data read (*4KB) 400 %& , -! %, & 500 0 100 200 300 400 500 Amount of data written (*4KB) %& 0-! %0 & 3 % 'K # %& ! ( ! 5 < - % 1 O % + # % 3# % % 5 - # %% % % - 1 - # 6$ % % )* 9CE; #$$# 6 % # F " $ 6 % + $ $+ . % / 1 % $ ( #$ , + % # :5 :5 # # L 6 :5 2 1 6 % % $+ %K + +$% # # # $ # # $ 6 # 1 N A$$ ()@0 B "M $ - (**# &< B $ " - # % %%% #$ # % B! " % (**# , -$ - % A$$ H()0 % (**# :(D5 I % , #$ +$% # A % 4 # % % $ 1 & - 3 % ) % H I % % 6 3# # , L # % % " 011B 6 A # % % + A # % 011B 6 - % $ $ % , # % 011B # 3# (*8 1 3# $ % % % % # # 0 6 # % # # A # #$ # % 3# " 3$ 1 # +% $ # # # , " A - -$ 6 F % # # % % # # 3 % > $ 0 - # $ 3# - % % # # % , +% % +% # +% " 1 - # A # 6 % 6 - 1.3e+07 0.4 Baseline With rollback support Response time in seconds 1.2e+07 Throughput in Bps Baseline With rollback support 0.35 1.25e+07 1.15e+07 1.1e+07 1.05e+07 0.3 0.25 0.2 0.15 0.1 1e+07 0.05 9.5e+06 0 20 40 60 80 100 Number of clients 120 140 0 160 0 20 %& 2 40 60 80 100 Number of clients 120 140 160 %& # 3 % )K 2 + 3 - " ! " 1 2 1 ! $ 2 4 - 1.3e+07 0.4 Baseline With rollback support Response time in seconds 1.25e+07 1.2e+07 Throughput in Bps Baseline With rollback support 0.35 1.15e+07 1.1e+07 1.05e+07 0.3 0.25 0.2 0.15 0.1 1e+07 0.05 9.5e+06 0 20 40 60 80 100 Number of clients 120 140 0 160 0 20 %& 2 40 60 80 100 Number of clients 120 140 160 %& # 3 % >K 2 3 - 2 1 ! $ 2 4 - 6 6 Baseline With rollback support 4 3 2 1 0 Baseline With rollback support 5 CPU 1-minute load average CPU 1-minute load average 5 4 3 2 1 0 20 40 60 80 100 Number of clients 120 140 160 %& + 0 0 20 40 60 80 100 Number of clients 120 140 160 %& + 3 % (*K 5- / 3 - 2 ! % #6 $ % $ 0 # % $ $ A - 2 1 6 $ B! % % #$ 1 % $ # % 6 $ 6 3 % (* 1 % -$ % 6 H 6 # I < % # D$7 # # % , - #$ # # " # +%$ B! % + " %$ - 6 % 1 #$ # ! - # 6 % 6 " $ - # 1 # H I % # +%$ - # % # B! +% 0 & #$ ! % 3# % $ % # $ #%% % , + %# $ J # % # $ #%% % B% # % # % % $ # % 1 # % $ # % " + # # # % # ! % 3# %# # #$ % - % < $ #%% % # # % % - #%% % B% 6 % 1 %$ % # - % " %# % ' 1 % $ % # % - % % 1 # 6 # $ % % - % -$ - % $ %# 1 %# # % % " # % #%% # %# 3 % % %# 1 # # , %# $ 1 # " % % 2 - 3# +$% # $ #%% % 3# Æ $ A - 1 3# % $ #%% % - $ $ # % 6 5 #%% % # # # % % # $- % $ 9C); " # - % % 6 # , # % 3# # $ 9:'; , % 3# 3# % % , - % - # $ # $ # % 6 # F 9(); 3# % # & - %# # G % #%% % 2 " , $ %% , $ # 2 % Q$ % B L @ # L .#..3. 678 9 3 + ' , / + # , 0( ' ' # +! ! : ;<)=;)< 7>>7 6;8 3 +( 2- : ! "#$ " $ 7>>? 6<8 3( 3 @ ' ! ! / : ' ! 0 ;*** 6)8 3 , + $ : %%% 7>>A 6B8 3 , C , D( 3 ! : & ! '( 7E >*=>> 7>A< 6?8 3 , , D $ 5 $ 0:F ! # E%7&G7=;) $ 7>A> 6E8 ,! # " + # 5 ! G / : )$ * * +* $ '+( 0 ;**; 6A8 D 3 $ ! : & , # +! ;**< 6>8 + , " / ! !( - ! : ;*** 67*8 / + ' " D ' ' G 2 - ! 2 ! + ' C ! 7>>A 6778 / + 2 0 3! D # ' " 2 # 1 G ! : - $ + E)=A< + 7=B 5 7>>? 3 + / 67;8 H C / . " G - : &&. !/%%% '0!( 7=77 3 + / 7>>E 67<8 C ' ! : "!%#0 # )A=B> 3 7>>A 67)8 C-' " + # $G # ' # /-/ ' : # ! "+1 2 7)B=7B) 7>>7 67B8 . ' + # 2 . .! . +.! C + +- ! " 2( . 2 / / / %%% A7%;&G;))=;?< 7>>< 67?8 5 / ' 9 . D Æ! ! ! : 7*A= 77B 7>>? 67E8 D ' 2 . + 3 , / + #G ! ! ! " $ 0-3 <B% :&G;77=;;) ;**; 67A8 0 + (! " 3 H ' , C 3 ! -! - ! ! - '40( <)%<&G<EB=)*A ;**; 67>8 ' # ' H 3 , G 3 ! : BE=E; ;**7 6;*8 ' C D C H + 2 "G 3 1 : 5 3 % ' 7>>) 6;78 ' ' " : ! ! %%% 3 7>%7&G);=B7 I;**; 6;;8 $ , :G 3 ! ! "+1 1* ;)%7&G77;= 7;< C 7>A> 6;<8 $ 0 $ 2!- C ! "+1 1 <B%B&G;7>=;<; ;*** 6;)8 $ . " + " 0 C # : + ;**; 6;B8 D # ! ! ! : 1 ;**; 6;?8 . D / , ' 9 J ! : # ! <7?=<;? 7>>7 6;E8 , H F ' 3 ! !-1 ! : $ ! "+1 6776 $ '+( ;**; 6;A8 + " 2 ! : 8 6776 8 8 $ 3 % ;>7=<*7 5 $" +! ;**; 6;>8 # H + D #! J ! # $ '#( ?%7&GA;=7*A 7>AA 6<*8 # , C! / !G $ ! : 4%19 7>>; 6<78 . 2 / + 1 7>>A 6<;8 H . 0 . 0 $ G ! : 5#$ 6 7>>B 6<<8 H H ! ! : $ && 5$# '5#( )B>=)?< 7>>B 6<)8 ' C @ #! ! : - ! 7E7=7A7 3 7>AA 6<B8 .3:-: 3 #"G G IIII I I 6<?8 . . " 1 : 5 '( ;**; 6<E8 . " C 0 C / - : ! "+1 $ E>=AA + 7>>* 6<A8 . " C 0 C / 3 Æ $ : ;*%<&G7B>=7A* C 7>>7 6<>8 . " C 0 C / "-! %%% # $ 7>>) 6)*8 , " ' $ ! <7%<&G<**=<7; + 7>AA 6)78 3 " H ( 2 # ' - ! : 5 3 % ;7E=;<; ;**7 6);8 ' " / + ! ! : ;*** 6)<8 ' " / + $ # 9 : ; $ '$&.( <7B 0-3 >;=7*7 0 H 5B=A 7>>E 3 + / 6))8 + " K C # D 2 " $ C + C ! : : ! :- " $ E?=AB ;**; 6)B8 + , ! C ! ;*** 6)?8 C + +- ! + " !( : # < +$ ;?>=;EA 3 7>>7 6)E8 " + C-' 3 Æ - 3 3! ' : 5 $ + ;<B=;)) 7>>7 6)A8 0 : 2! %0: 2& ' ! LB>B ! 0: 2 0 # ;**;-7* ;**; 6)>8 D 0 +/ G ! 1 ! : + 7;A=7<> ;**; 6B*8 # , 0( 5 ! -! : 7>>< 6B78 C 5 + " ! 5 ;**; 6B;8 ' 3 / #!- %&G + 1 J ,! 2 # ,II '-*;-77EB ;**; 6B<8 ' / / C . 3 /- 3 --$! # ' %%% # 77%7*&G7*BA=7*E; ;*** 6B)8 C / . " + 3 / ' %%% # >%7*&G>E;=MM 7>>A 6BB8 + / C 2 #G - : =7 ;**< 6B?8 + / C 2 #G 2" ' 3 3 ' # + : =7 '( C ;**< 6BE8 # # + , " ,3 G : ! 7B=;A , 5 ;**7 6BA8 + # . ' , #/!G $ ! : / #I#! ! ! # 7E%;&G7<<=7B; 7>>> 6B>8 + # , #! -! : ! "+1 &&; $ ;BA=;?? C : 7>>? 3 + / 6?*8 H , , 3 ! ! : 4%19 #$ 7>>A 6?78 . D-+ ! 2 # -2#-7;?-AE ' / ! 7>AE 6?;8 + !! + / . ' C . " ! : 7>>< 6?<8 + , D 0 / 2 3 G 3 ! ! # $ 7B%)&G<>7=)77 7>>E 6?)8 5--4! : ! "+1 >& + '+( C 7>A> 6?B8 + ( H ' G : 7>>? 6??8 C ! 0 (! - ! : #3$? 5$# ;B*=;?7 C ;B=;E 7>>? : 6?E8 ' , C C ' 2! ! ! ! : 5#$6 6 5 # <?7=<E7 / 7>>B 6?A8 0 G 3 ! : 4%19 # 7>>< 6?>8 C + ' G 3 ! : ! "+1 + '+( C 7>AA 6E*8 # 3 H 5 ! ! ! # <%<&G;*)=;;? 3 7>AB 6E78 ! GII! I 6E;8 3 2 + "! Æ : + 7>>) 6E<8 D 2 + G 2 1 $ 7>>B 6E)8 / 2 D 5 : ; )$ * $ * +* '+( 2 ,! $" 5 ;**7 6EB8 ' ' ' : ! : %%% - 7B?=7?> ;**7 6E?8 ' C $ , 3 3 3 1 : 13 <=7E ' 3 $ ! ;*** 6EE8 H / H H 0 (! : : 5# 7>>E 6EA8 H H . $ . D / ! ! %%% # )?%7*&G77<E=77)7 5 7>>E 6E>8 H H .-/ 9 /-H . : 5#$6 7>>B 6A*8 + @ 09!G 3 - ! ! : ? $ $ + A?=>E C 5 )=E 7>>) 3 + :D3# :D5/ :D/"30 : ! 6A78 H F ' 1 : ! "5# 5 3 B7=?* ;**; 6A;8 H @ / + . " $ !- : = ! C 7>>>
© Copyright 2026 Paperzz