1、 i272i _ t Z s T =Jr“d 15Za ( ZYv q Z 200240) K 1 .d =Jr“d a t Z y t Z( m )vi sK57 =JrVh 9 =ib 54B a t Z s T =Jr“d =JrZ 1Jrz Vb CPU SPEC 2000 LTV t Z P“dM P.d =Jr V ?l 7gb 1oM =Jr s T“d t Z Crossbit E Distributed Dynamic Binary Translation System for Thin Client LIN Ling, GUAN Hai-bing, LIANG A-lei
2、(School of Software, Shanghai Jiaotong University, Shanghai 200240) AbstractSince the binary translation process may consume many computation and memory resources and the thin client is a limited resource device, directly using ported traditional binary translation tools on the thin client may resul
3、t in high cost and low efficiency. This paper proposes a new distributed dynamic binary translation system designed specifically for the thin client. This system uses a remote server to translate the source binary and executes the translated code in the thin client. Experimental results of CPU SPEC
4、2000 show that this method works much better than directly using ported traditional binary translation tools, and servers as a promising solution to the execution of different architectures binaries on the thin client with low overhead. Key wordsdynamic binary translation; distributed system; thin c
5、lient; Crossbit virtual machine 9 Computer Engineering 35 22 Vol.35 No.22 2009 M 11 November 2009 7? !9/ cI| 1000i3428(2009)22i0272i03 DS M A ms | N9451 ) 7“8“ (ISAs) 59Mb ARM MIPS 8“ tZ m !a m7 IA32 8“5 PCbt 7“8“MWY i O B 7“ !9 7? q ? b=Jr1 54 Bz %Z 1Ir YV Jr= “S 4 s b 7=JrV1n 9 # =ibyN| =Jr M sK t
6、 ZV ? M L=i OrSEb 4 B a t Z =JrOYV Jrs t Z YV_ h pJrz 71=JrV Vs q b7=JrO|=JrV “S VT zsb SPEC kTA Us T=Jr“d1M.d=Jr t Z ?14b 2 M15 .d=Jr“d Crossbit2, IA32-EL3, Daisy4, UQDBT5 TZ Tv m 1 UbY=Jr“dB 7 SF =V= g 7 Ss “S i(TCache) A iXJrV vb “S i iXJrz “S v PJrV v1Jr VQb T=Jr ? “S i sM v e |KM “S vb T “S i s
7、=Jr c1 =JrV 9 (PC) 7 SyB v?7| Jr “S=b HJr “S v$b “S i/Qsb m 1 .d =Jr T “ SE o973p9 - 5 “ (2007CB 316506) SEo 863p9 “ (2006AA01Z169) SE1 S “ (60773093) Te 1 (1984 ) 3 V 3Z_ =Jr 5Za qap Vap V 3 = qa p V l 2009-06-16 E-mail i273i“S i P=Jr“d ?v4 yJrV “S v Vb “S ivlK “S i H19 $9 “S v/BQ$s H 1QJr b YV4.d
8、=Jr“dT V?CBC “S i 7gb “S i1 l f / f =i sK t Z Aby “S i N V7 d qb HJrV1nM9 =ibty P t Z P.d =Jr“d Vb % 54 B=Jr O s = Jrs “S= s (.d=Jr 2 s B )P sY Z i O Z s “S i iJrV “S vb 3 s T =Jr“d !9 “d C/S O =Jr 3 sFJr t Z #. xpbm 2 “dOb m 2 s T =Jr O Jr =JrV ? 3Zb tZ 51? Jr h p |M “S b . xp Z . LC %b H“d “S i Z
9、“S ib 3.1 !9 LC Jr 13= Jr h pb=JrV1 n CPUa =i yNL !Jr ? bJr 1T “S =Jr O Crossbit $ bCrossbit PW 7 - “S b “ - MIPSaIA32 - IA32 b K 7 SJr Z S !JrM d # “S Jr b H ZLJrVJr 9F=b SJr Z Jr h pbJr h pc h p v S# “S vibb ZV ?| “S vb bWyNJr “S v1 Z ib 8T_b lJr h pJr n5= v S “S is iXJrV vb Ts 1e| “S v Z h pTB_ ?
10、 Z V b T “S i sXJrV vJr 1 JrVV h p S 7 S7yB v | Jr “S 4 “S ibJr “S v? Z b JrV “S v|iv “Si bB Zh p BX$JrV v 1Jr “S vb 3.2 Z !9 LC Z 1S=Jr yN LC1ebn5 Z F1=i Sb Z7 S 9 s “S i A iM1 “S vbTs Z KV vb T “Si sM v Z _Jr ? h pb | “S v ?| 4 “S i b “S i H Z Beo bbp b =Jr $W Py de V 7gb 3.3 Yxp !9 LC Z Yxp !9 “
11、H. LC%b Nxp SOCKET I gy TCP/IPxp b Z 1M l? gf V ? l MYxpf o b . H T V 1 Ub “ -B 4 h INIT_CONNECT, REQUEST_TBLOCK, TARGET_ BLOCK END_CONNECTbINIT_CONNECT S Z _h p “S v H PREQUEST_TBLOCK TARGET_BLOCK 5 _ Z ? “S v H P END_CONNECT Z b V 1 . xp T Header MSG type MSG length MSG content Tail 0xA5 / / / 0x5
12、A4 ? E t Z 4 EVOC 3 T9“dB ! ) IBM qy Lb EVOC 3 T9 “d ! 400 MHz Intel ) # 128 MB =i Ubuntu Linux“db IBM i274i ! 2.00 GHz Intel ) E5405# 4 GB=i CentOS 5.1 “db CPU SPEC 2000 S k“o 164.gzip, 181.mcf, 197.parser, 254.gap, 256.bzip2, 300.twolfp 6 “d ?b“d P MIPS - IA32 yN1MIr SPEC MIPS ELF VIrTb 6 I n t Z
13、B =i sK L= f | EVOC “d “S i ! 512 KBb 1 M t Z .d=Jr Crossbit s T=Jr“d LT m 3 m 4 Ub m 3 CPU SPEC 2000 s kT m 4 s T =Jr“dM.d“d ?F 1 m 3 :US YV=Jr M ?/1bm 4 5 s T=Jr“dM.d=Jr ?4 6b YV LT V As T=Jr“d1M t Z.d=Jr“d ?14 48 byNs T“d1 Z =Jr _hpJrz “S v Vb7 O “S i l f/.d=Jr “Si9 1JrBtXJrV v7s T=Jr“d Z 1Jr “S
14、1_ h p “S vb v “S i91Jr|s “S v? Z Vb7 O “dV TMBt ?ZE LT|F Xb 5 M1T Bs T =Jr“dbC.d=Jr“d ZYv !9 Crossbit “da Intel !9 7? IA32-EL “da IBM !9 Daisy =Jr“d# V v !9UQDBT “d Dv Strata “d2-5b t“d P =JrZEY 7“8“bt“d Jr V 9B Z T 7g t Z V sbMQ “d A Us JrV P Z =MF LCb H.d=Jr P dB “S i7 s T“d5 s “S iv7 Z i5 I n sK
15、“dL= f !9Kvlb Java E (JVM) L HIr (JIT)/ .NETOW H (CLR) 2 W)YM H“dbt“d1|Ir+W T ( Java 3 a W ) ?Mb7 “d5 YV =JrZ TIr Vs b 6 B7s T =Jr“d“d V9 # =i sK t Z mbYVNs T t ZV 7g f /8“=b “d ) 7? ZE V ZP ) v / rJr 3r “S b T|1tZEV7 P“dF Lb ID 1 Altman E R, Kaeli D, Sheffer Y. Welcome to the Opportunities of Binar
16、y TranslationJ. IEEE Computer, 2000, 33(3): 40-45. 2 , , 5Za . =Jr$ CrossBit !9 LC J. 9 , 2007, 33(23): 100-101, 134. 3 Baraz L, Devor B L, Etzion T O, et al. IA-32 Execution Layer: A Two Phase Dynamic Translator Designed to Support IA-32 Applications on Itanium(R)-based SystemsC/Proc. of the 36th I
17、ntl Symp. on Microarchitecture. San Diego, USA: IEEE Computer Society, 2003: 191-202. 4 Ebcioglu K, Altman E. DAISY: Dynamic Compilation for 100% Architectural CompatibilityC/Proc. of the 24th Intl Symp. on Computer Architecture. Denver, USA: ACM Press, 1997: 26-37. 5 Ung D, Cifuentes C. Machine-adaptable Dynamic Binary TranslationC/Proc. of the ACM Workshop on Dynamic Optimization Dynamo. Boston, USA: ACM SIGPLAN, 2000: 30-40. I