hybrid java compilation and optimization for digital tv
DESCRIPTION
Hybrid Java Compilation and Optimization for Digital TV. Dong- Heon Jung, Hyeong-Seok Oh, Soo - Mook Moon [email protected] School of EECS Seoul National University, Korea. Accelerating DTV S/W Platform. DTV allows data-broadcasting Sending data as well as picture/sound - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Hybrid Java Compilation and Optimization for Digital TV](https://reader035.vdocuments.pub/reader035/viewer/2022062501/5681685d550346895dde9bc3/html5/thumbnails/1.jpg)
Hybrid Java Compilation and Optimization for Digital TV
Dong-Heon Jung, Hyeong-Seok Oh,Soo-Mook Moon
School of EECSSeoul National University, Korea
![Page 2: Hybrid Java Compilation and Optimization for Digital TV](https://reader035.vdocuments.pub/reader035/viewer/2022062501/5681685d550346895dde9bc3/html5/thumbnails/2.jpg)
2Microprocessor Architecture & System Software Lab
Accelerating DTV S/W Platform DTV allows data-broadcasting
• Sending data as well as picture/sound
Data-broadcasting platform is based on Java • Java xlets + Java middleware at the set-top box
Java is slow, so use just-in-time compilation (JITC)
Propose using ahead-of-time and idle-time com-pilation/optimization as well• Hybrid compilation and optimization
![Page 3: Hybrid Java Compilation and Optimization for Digital TV](https://reader035.vdocuments.pub/reader035/viewer/2022062501/5681685d550346895dde9bc3/html5/thumbnails/3.jpg)
3Microprocessor Architecture & System Software Lab
Executing xlet with JITC only
![Page 4: Hybrid Java Compilation and Optimization for Digital TV](https://reader035.vdocuments.pub/reader035/viewer/2022062501/5681685d550346895dde9bc3/html5/thumbnails/4.jpg)
4Microprocessor Architecture & System Software Lab
Executing xlet with Hybrid
![Page 5: Hybrid Java Compilation and Optimization for Digital TV](https://reader035.vdocuments.pub/reader035/viewer/2022062501/5681685d550346895dde9bc3/html5/thumbnails/5.jpg)
5Microprocessor Architecture & System Software Lab
Outline Background on digital TV S/W platform
• Xlet lifecycle• DTV acceleration
Hybrid Java Compilation and Optimization• JITC for xlet methods• AOTC for system/middleware methods• ITC and ITO for xlets
Experimental Results Summary
![Page 6: Hybrid Java Compilation and Optimization for Digital TV](https://reader035.vdocuments.pub/reader035/viewer/2022062501/5681685d550346895dde9bc3/html5/thumbnails/6.jpg)
6Microprocessor Architecture & System Software Lab
Digital Television (DTV) DTV sends digital signals instead of analog signals
• Higher definition pictures and clearer sounds
Remaining bandwidth can be used for sending data• General information: traffic, weather, news, stock, …• Program-specific information (plot, cast, director,…)• Interaction using a return channel
– T-commerce, T-banking, T-government, …
Provides the data-broadcasting, interactive TV (iTV)
![Page 7: Hybrid Java Compilation and Optimization for Digital TV](https://reader035.vdocuments.pub/reader035/viewer/2022062501/5681685d550346895dde9bc3/html5/thumbnails/7.jpg)
7Microprocessor Architecture & System Software Lab
Java for Interactive TV One key technology for iTV is Java
• Many open standards are based on Java– DVB-MHP (satellite), OCAP (cable), ACAP (terrestrial)
Programmed using xlet applications• xlet classes + image/text files• Downloaded to the DTV set-top box• Interact with middleware/system classes at the
set-top xlet execution starts only when the user ini-
tiates it
![Page 8: Hybrid Java Compilation and Optimization for Digital TV](https://reader035.vdocuments.pub/reader035/viewer/2022062501/5681685d550346895dde9bc3/html5/thumbnails/8.jpg)
8Microprocessor Architecture & System Software Lab
Sending and Receiving xlet App. Xlet application is sent via carousel mecha-
nism• Send a stream of xlet files repeteatedly in a round-robin• Carousel file manager in theset-top handles the receiving
When the DTV is turned on,• JVM starts and the application manager starts• Then xlet application for current channel start its
lifecycle
![Page 9: Hybrid Java Compilation and Optimization for Digital TV](https://reader035.vdocuments.pub/reader035/viewer/2022062501/5681685d550346895dde9bc3/html5/thumbnails/9.jpg)
9Microprocessor Architecture & System Software Lab
The xlet Lifecycle
Not Loaded
Loaded
Paused
Started
Destroyed
initXlet()
pauseXlet()startXlet()
destroyXlet()
When starting download of xlet ap-plication
When loading xlet’s main class file
At Started state, a red-dot appears on the TV screen
When switching to a different channel
![Page 10: Hybrid Java Compilation and Optimization for Digital TV](https://reader035.vdocuments.pub/reader035/viewer/2022062501/5681685d550346895dde9bc3/html5/thumbnails/10.jpg)
10Microprocessor Architecture & System Software Lab
An Example of xlet Execution
(a) Display Red-dot (b) Display xlet Menu
(c) Select xlet menu (d) Display Slected Menu
![Page 11: Hybrid Java Compilation and Optimization for Digital TV](https://reader035.vdocuments.pub/reader035/viewer/2022062501/5681685d550346895dde9bc3/html5/thumbnails/11.jpg)
11Microprocessor Architecture & System Software Lab
DTV Java Architecture Two types of classes in DTV Java Platform
• System/middleware classes statically installed at DTV• xlet classes dynamically downloaded from TV station
Similarities in other platforms• Mobile phone Java platform: MIDP middleware + midlet• Bluray disk Java platform: BD-J middleware + xlet
Both class types are getting more substantial• E.g., MIDP -> JTWI -> MSA
How to accelerate these substantial, dual-compo-nent Java platforms?
![Page 12: Hybrid Java Compilation and Optimization for Digital TV](https://reader035.vdocuments.pub/reader035/viewer/2022062501/5681685d550346895dde9bc3/html5/thumbnails/12.jpg)
12Microprocessor Architecture & System Software Lab
Hybrid Compilation and Opti-mization
Current wisdom of Java acceleration: JITC• Compile bytecode to machine code at runtime• In DTV, do JITC both xlets and system/middleware
Our proposal: hybrid compilation and opti-mization• Ahead-of-time compilation (AOTC) for system/mid-
dleware• Idle-time compilation (ITC) for xlets• Idle-time optimization (ITO) for images and text
fonts
![Page 13: Hybrid Java Compilation and Optimization for Digital TV](https://reader035.vdocuments.pub/reader035/viewer/2022062501/5681685d550346895dde9bc3/html5/thumbnails/13.jpg)
13Microprocessor Architecture & System Software Lab
Hybrid Environment for DTV
We actually built a hybrid environment for a DTV based on a PhoneME Advanced (CDC) VM
Set-top Box
Phone Me Advanced
OS & Hardware
AOTC JITC/ITC
XLET Applications
Object Carousel File Man-ager
Persistent Storage
Middle-ware& system
methods
Xlet methods
ITO
Xlet im-ages and
texts
![Page 14: Hybrid Java Compilation and Optimization for Digital TV](https://reader035.vdocuments.pub/reader035/viewer/2022062501/5681685d550346895dde9bc3/html5/thumbnails/14.jpg)
14Microprocessor Architecture & System Software Lab
AOTC for System/Middleware Employ AOT module in PhoneME Advanced VM
• Compile pre-chosen methods using JITC and save in a file
• When JVM starts officially, use the machine code di-rectly– With no interpretation or compilation overhead
Two issues• Which methods to AOTC in system/middleware?
– AOTC only those methods compiled at least once by JITC• Optimization
– AOT-generated code is worse than JITC-generated code
![Page 15: Hybrid Java Compilation and Optimization for Digital TV](https://reader035.vdocuments.pub/reader035/viewer/2022062501/5681685d550346895dde9bc3/html5/thumbnails/15.jpg)
15Microprocessor Architecture & System Software Lab
AOT Enhancements AOT inlining without runtime behavior
• Implement inlining based on profile-feedback
No code patch optimization• Translated code for class initialization check, GC-
check can be patched
Relocation prohibits some optimizations• Constant pointer optimization
![Page 16: Hybrid Java Compilation and Optimization for Digital TV](https://reader035.vdocuments.pub/reader035/viewer/2022062501/5681685d550346895dde9bc3/html5/thumbnails/16.jpg)
16Microprocessor Architecture & System Software Lab
Idle-Time Compilation (ITC) for xlet
Compile xlet methods in advance (idle-time)• Saves the JITC and interpretation overhead• Use our enhanced AOT• Assign a separate, lowest-priority thread for ITC
to reduce the delay of the main thread (display-ing red-dot)
• OK even if user executes xlet in the middle of ITC
![Page 17: Hybrid Java Compilation and Optimization for Digital TV](https://reader035.vdocuments.pub/reader035/viewer/2022062501/5681685d550346895dde9bc3/html5/thumbnails/17.jpg)
17Microprocessor Architecture & System Software Lab
Idle-Time Optimization for Im-ages
Loading/decoding of xlet images occur at run-time• Just-in-time when they are needed• Their overhead is substantial, taking much of run-
ning time
Propose pre-loading/decoding during idle-time Two issues
• When we start pre-loading/decoding in the xlet life-cycle– Started state or Not-loaded state: Do not work– Loaded state: good
• How we perform pre-loading/decoding transpar-ently– Use the ITC thread
Useful even when user executes xlets early and becomes idle
![Page 18: Hybrid Java Compilation and Optimization for Digital TV](https://reader035.vdocuments.pub/reader035/viewer/2022062501/5681685d550346895dde9bc3/html5/thumbnails/18.jpg)
18Microprocessor Architecture & System Software Lab
Just-in-Time Loading/Decoding
Get image object
Image is cached??
Perform Image loading/decodingLoad image
from cache
noyes
Run java code of selected menu
Save the image to image cache
Start XletDisplay red-dot
Start
Display selected menu
End
Finish xlet
Initialize Xlet
User select the menu
Finish java code of selected menu
Request Image Object
![Page 19: Hybrid Java Compilation and Optimization for Digital TV](https://reader035.vdocuments.pub/reader035/viewer/2022062501/5681685d550346895dde9bc3/html5/thumbnails/19.jpg)
19Microprocessor Architecture & System Software Lab
Pre-loading/decoding
Start Image-pre-processing thread
Terminate the thread
New file is received?
Get each image file
name
Is pre-pro-cessed?
Perform Pre-load-ing/decoding
Save the image to cache
no
yes
yes
no
Start
Start XletDisplay red-dot
User select the menuDisplay selected menu
End
Finish xlet
Initialize Xlet
![Page 20: Hybrid Java Compilation and Optimization for Digital TV](https://reader035.vdocuments.pub/reader035/viewer/2022062501/5681685d550346895dde9bc3/html5/thumbnails/20.jpg)
20Microprocessor Architecture & System Software Lab
Idle-Time Optimization for Texts Creating some font objects occur at runtime Pre-creating of them at idle-time
![Page 21: Hybrid Java Compilation and Optimization for Digital TV](https://reader035.vdocuments.pub/reader035/viewer/2022062501/5681685d550346895dde9bc3/html5/thumbnails/21.jpg)
21Microprocessor Architecture & System Software Lab
Experimental Results Experimented on a commercial DTV platform
with real, on-air xlets broadcasted in Korea Experimental Environment
• DTV set-top box 333MHZ MIPS CPU with 128MB memory
• Linux with kernel 2.6• Sun’s phoneMe Advanced MR2 version • Advanced common application platform (ACAP)
![Page 22: Hybrid Java Compilation and Optimization for Digital TV](https://reader035.vdocuments.pub/reader035/viewer/2022062501/5681685d550346895dde9bc3/html5/thumbnails/22.jpg)
22Microprocessor Architecture & System Software Lab
Benchmarks xlets of three terrestrial TV stations in Korea
• Designated by A, B, C• News, weather, traffic, and stock menu items• Interested in running time of each menu item• Size of xlet applications (KB)
class image text & etc. Total
Station A 276 1,348 344 1,968
Station B 360 1,596 372 2,328
Station C 448 1,280 288 2,016
![Page 23: Hybrid Java Compilation and Optimization for Digital TV](https://reader035.vdocuments.pub/reader035/viewer/2022062501/5681685d550346895dde9bc3/html5/thumbnails/23.jpg)
23Microprocessor Architecture & System Software Lab
Distribution of Method CallsN
EWS
WEA
THER
TRA
FFIC
STO
CK
NEW
S
WEA
THER
TRA
FFIC
STO
CK
NEW
S
WEA
THER
Geo
mea
n
Station A Station B Station C
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
xlet method system method middleware method
![Page 24: Hybrid Java Compilation and Optimization for Digital TV](https://reader035.vdocuments.pub/reader035/viewer/2022062501/5681685d550346895dde9bc3/html5/thumbnails/24.jpg)
24Microprocessor Architecture & System Software Lab
Distribution of JITCed MethodsN
EWS
WEA
THER
TRA
FFIC
STO
CK
NEW
S
WEA
THER
TRA
FFIC
STO
CK
NEW
S
WEA
THER
Geo
mea
n
Station A Station B Station C
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
xlet method system method middleware method
![Page 25: Hybrid Java Compilation and Optimization for Digital TV](https://reader035.vdocuments.pub/reader035/viewer/2022062501/5681685d550346895dde9bc3/html5/thumbnails/25.jpg)
25Microprocessor Architecture & System Software Lab
Image Loading/Decoding Over-head
NEW
S
WEA
THER
TRA
FFIC
STO
CK
NEW
S
WEA
THER
TRA
FFIC
STO
CK
NEW
S
WEA
THER
Geo
mea
n
Station A Station B Station C
0%
20%
40%
60%
80%
100%
Image processing runtime portion others (java & native code)
![Page 26: Hybrid Java Compilation and Optimization for Digital TV](https://reader035.vdocuments.pub/reader035/viewer/2022062501/5681685d550346895dde9bc3/html5/thumbnails/26.jpg)
26Microprocessor Architecture & System Software Lab
Running Time Impact of AOTCN
EWS
WEA
THER
TRAF
FIC
STO
CK
NEW
S
WEA
THER
TRAF
FIC
STO
CK
NEW
S
WEA
THER
Station A Station B Station C
0
2,000
4,000
6,000
8,000
10,000
12,000
14,000
16,000
18,000
JITC only JITC + AOT(original) JITC + AOT(enhanced)
Running time (ms)
![Page 27: Hybrid Java Compilation and Optimization for Digital TV](https://reader035.vdocuments.pub/reader035/viewer/2022062501/5681685d550346895dde9bc3/html5/thumbnails/27.jpg)
27Microprocessor Architecture & System Software Lab
Performance Impact of AOTCN
EWS
WEA
THER
TRAF
FIC
STO
CK
NEW
S
WEA
THER
TRAF
FIC
STO
CK
NEW
S
WEA
THER
Geo
mea
n
Station A Station B Station C
0%
20%
40%
60%
80%
100%
120%
140%
160%
180%
JITC only JITC + AOT(original) JITC + AOT(enhanced)
Speedup
![Page 28: Hybrid Java Compilation and Optimization for Digital TV](https://reader035.vdocuments.pub/reader035/viewer/2022062501/5681685d550346895dde9bc3/html5/thumbnails/28.jpg)
28Microprocessor Architecture & System Software Lab
Impact of Pre-loading/decodingN
EWS
WEA
THER
TRAF
FIC
STO
CK
NEW
S
WEA
THER
TRAF
FIC
STO
CK
NEW
S
WEA
THER
Station A Station B Station C
0
2,000
4,000
6,000
8,000
10,000
12,000
14,000
16,000
18,000
JITC only JITC + image pre-loading/decoding
Running time (ms)
![Page 29: Hybrid Java Compilation and Optimization for Digital TV](https://reader035.vdocuments.pub/reader035/viewer/2022062501/5681685d550346895dde9bc3/html5/thumbnails/29.jpg)
29Microprocessor Architecture & System Software Lab
Impact of Text Font Pre-creationN
EWS
WEA
THER
TRAF
FIC
STO
CK
NEW
S
WEA
THER
TRAF
FIC
STO
CK
NEW
S
WEA
THER
Station A Station B Station C
0
2,000
4,000
6,000
8,000
10,000
12,000
14,000
16,000
18,000
JITC only JITC + Font Pre-creation
Running time (ms)
![Page 30: Hybrid Java Compilation and Optimization for Digital TV](https://reader035.vdocuments.pub/reader035/viewer/2022062501/5681685d550346895dde9bc3/html5/thumbnails/30.jpg)
30Microprocessor Architecture & System Software Lab
Overall Running Time of HybridN
EWS
WEA
THER
TRA
FFIC
STO
CK
NEW
S
WEA
THER
TRA
FFIC
STO
CK
NEW
S
WEA
THER
Station A Station B Station C
0
2,000
4,000
6,000
8,000
10,000
12,000
14,000
16,000
18,000
JITC onlyJITC + AOT(enhanced) + image/text pre-processing
An average of 150% re-duction (15% by AOTC)
![Page 31: Hybrid Java Compilation and Optimization for Digital TV](https://reader035.vdocuments.pub/reader035/viewer/2022062501/5681685d550346895dde9bc3/html5/thumbnails/31.jpg)
31Microprocessor Architecture & System Software Lab
Impact on TransparencyJIT
C on
ly
Our
Opt
imiz
ed V
M
JITC
only
Our
Opt
imiz
ed V
M
JITC
only
Our
Opt
imiz
ed V
M
Station A Station B Station C
0 10,000 20,000 30,000 40,000 50,000 60,000 70,000 80,000 90,000
Red-dot Pre-processing completion
Running time (ms)
![Page 32: Hybrid Java Compilation and Optimization for Digital TV](https://reader035.vdocuments.pub/reader035/viewer/2022062501/5681685d550346895dde9bc3/html5/thumbnails/32.jpg)
32Microprocessor Architecture & System Software Lab
Summary and Future Work Proposed hybrid compilation/optimization for
DTV• Just-in-time, ahead-of-time, and idle-time • Improves performance dramatically than JITC-only
– With little change to other DTV behavior• Some ideas would work for other dual-component
Java
Some future work• AOTC for system/middleware beyond AOT
– By performing off-line AOTC with full optimizations en-abled
The idea of pre-loading/decoding has been filed for patent application.
![Page 33: Hybrid Java Compilation and Optimization for Digital TV](https://reader035.vdocuments.pub/reader035/viewer/2022062501/5681685d550346895dde9bc3/html5/thumbnails/33.jpg)
Thank you!