Hybrid Java Compilation and Optimization for Digital TV Dong-Heon Jung, Hyeong-Seok Oh, Soo-Mook...

33
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
  • date post

    19-Dec-2015
  • Category

    Documents

  • view

    217
  • download

    0

Transcript of Hybrid Java Compilation and Optimization for Digital TV Dong-Heon Jung, Hyeong-Seok Oh, Soo-Mook...

Page 1: Hybrid Java Compilation and Optimization for Digital TV Dong-Heon Jung, Hyeong-Seok Oh, Soo-Mook Moon smoon@snu.ac.kr School of EECS Seoul National University,

Hybrid Java Compilation and Optimization for Digital TV

Dong-Heon Jung, Hyeong-Seok Oh,Soo-Mook Moon

[email protected]

School of EECSSeoul National University, Korea

Page 2: Hybrid Java Compilation and Optimization for Digital TV Dong-Heon Jung, Hyeong-Seok Oh, Soo-Mook Moon smoon@snu.ac.kr School of EECS Seoul National University,

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 Dong-Heon Jung, Hyeong-Seok Oh, Soo-Mook Moon smoon@snu.ac.kr School of EECS Seoul National University,

3Microprocessor Architecture & System Software Lab

Executing xlet with JITC only

Page 4: Hybrid Java Compilation and Optimization for Digital TV Dong-Heon Jung, Hyeong-Seok Oh, Soo-Mook Moon smoon@snu.ac.kr School of EECS Seoul National University,

4Microprocessor Architecture & System Software Lab

Executing xlet with Hybrid

Page 5: Hybrid Java Compilation and Optimization for Digital TV Dong-Heon Jung, Hyeong-Seok Oh, Soo-Mook Moon smoon@snu.ac.kr School of EECS Seoul National University,

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 Dong-Heon Jung, Hyeong-Seok Oh, Soo-Mook Moon smoon@snu.ac.kr School of EECS Seoul National University,

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 Dong-Heon Jung, Hyeong-Seok Oh, Soo-Mook Moon smoon@snu.ac.kr School of EECS Seoul National University,

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 Dong-Heon Jung, Hyeong-Seok Oh, Soo-Mook Moon smoon@snu.ac.kr School of EECS Seoul National University,

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 Dong-Heon Jung, Hyeong-Seok Oh, Soo-Mook Moon smoon@snu.ac.kr School of EECS Seoul National University,

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 Dong-Heon Jung, Hyeong-Seok Oh, Soo-Mook Moon smoon@snu.ac.kr School of EECS Seoul National University,

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 Dong-Heon Jung, Hyeong-Seok Oh, Soo-Mook Moon smoon@snu.ac.kr School of EECS Seoul National University,

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 + mi-

dlet• 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-com-ponent Java platforms?

Page 12: Hybrid Java Compilation and Optimization for Digital TV Dong-Heon Jung, Hyeong-Seok Oh, Soo-Mook Moon smoon@snu.ac.kr School of EECS Seoul National University,

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 Dong-Heon Jung, Hyeong-Seok Oh, Soo-Mook Moon smoon@snu.ac.kr School of EECS Seoul National University,

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 Dong-Heon Jung, Hyeong-Seok Oh, Soo-Mook Moon smoon@snu.ac.kr School of EECS Seoul National University,

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 Dong-Heon Jung, Hyeong-Seok Oh, Soo-Mook Moon smoon@snu.ac.kr School of EECS Seoul National University,

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 Dong-Heon Jung, Hyeong-Seok Oh, Soo-Mook Moon smoon@snu.ac.kr School of EECS Seoul National University,

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 Dong-Heon Jung, Hyeong-Seok Oh, Soo-Mook Moon smoon@snu.ac.kr School of EECS Seoul National University,

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 Dong-Heon Jung, Hyeong-Seok Oh, Soo-Mook Moon smoon@snu.ac.kr School of EECS Seoul National University,

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 Dong-Heon Jung, Hyeong-Seok Oh, Soo-Mook Moon smoon@snu.ac.kr School of EECS Seoul National University,

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 Dong-Heon Jung, Hyeong-Seok Oh, Soo-Mook Moon smoon@snu.ac.kr School of EECS Seoul National University,

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 Dong-Heon Jung, Hyeong-Seok Oh, Soo-Mook Moon smoon@snu.ac.kr School of EECS Seoul National University,

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 Dong-Heon Jung, Hyeong-Seok Oh, Soo-Mook Moon smoon@snu.ac.kr School of EECS Seoul National University,

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 Dong-Heon Jung, Hyeong-Seok Oh, Soo-Mook Moon smoon@snu.ac.kr School of EECS Seoul National University,

23Microprocessor Architecture & System Software Lab

Distribution of Method CallsN

EW

S

WEA

TH

ER

TR

AFFIC

STO

CK

NEW

S

WEA

TH

ER

TR

AFFIC

STO

CK

NEW

S

WEA

TH

ER

Geom

ean

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 Dong-Heon Jung, Hyeong-Seok Oh, Soo-Mook Moon smoon@snu.ac.kr School of EECS Seoul National University,

24Microprocessor Architecture & System Software Lab

Distribution of JITCed MethodsN

EW

S

WEA

TH

ER

TR

AFFIC

STO

CK

NEW

S

WEA

TH

ER

TR

AFFIC

STO

CK

NEW

S

WEA

TH

ER

Geom

ean

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 Dong-Heon Jung, Hyeong-Seok Oh, Soo-Mook Moon smoon@snu.ac.kr School of EECS Seoul National University,

25Microprocessor Architecture & System Software Lab

Image Loading/Decoding Over-head

NEW

S

WEA

TH

ER

TR

AFFIC

STO

CK

NEW

S

WEA

TH

ER

TR

AFFIC

STO

CK

NEW

S

WEA

TH

ER

Geom

ean

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 Dong-Heon Jung, Hyeong-Seok Oh, Soo-Mook Moon smoon@snu.ac.kr School of EECS Seoul National University,

26Microprocessor Architecture & System Software Lab

Running Time Impact of AOTCN

EW

S

WEA

TH

ER

TR

AFFIC

STO

CK

NEW

S

WEA

TH

ER

TR

AFFIC

STO

CK

NEW

S

WEA

TH

ER

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 Dong-Heon Jung, Hyeong-Seok Oh, Soo-Mook Moon smoon@snu.ac.kr School of EECS Seoul National University,

27Microprocessor Architecture & System Software Lab

Performance Impact of AOTCN

EW

S

WEA

TH

ER

TR

AFFIC

STO

CK

NEW

S

WEA

TH

ER

TR

AFFIC

STO

CK

NEW

S

WEA

TH

ER

Geom

ean

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 Dong-Heon Jung, Hyeong-Seok Oh, Soo-Mook Moon smoon@snu.ac.kr School of EECS Seoul National University,

28Microprocessor Architecture & System Software Lab

Impact of Pre-loading/decodingN

EW

S

WEA

TH

ER

TR

AFFIC

STO

CK

NEW

S

WEA

TH

ER

TR

AFFIC

STO

CK

NEW

S

WEA

TH

ER

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 Dong-Heon Jung, Hyeong-Seok Oh, Soo-Mook Moon smoon@snu.ac.kr School of EECS Seoul National University,

29Microprocessor Architecture & System Software Lab

Impact of Text Font Pre-creationN

EW

S

WEA

TH

ER

TR

AFFIC

STO

CK

NEW

S

WEA

TH

ER

TR

AFFIC

STO

CK

NEW

S

WEA

TH

ER

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 Dong-Heon Jung, Hyeong-Seok Oh, Soo-Mook Moon smoon@snu.ac.kr School of EECS Seoul National University,

30Microprocessor Architecture & System Software Lab

Overall Running Time of HybridN

EW

S

WEA

TH

ER

TR

AFFIC

STO

CK

NEW

S

WEA

TH

ER

TR

AFFIC

STO

CK

NEW

S

WEA

TH

ER

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(enhanced) + image/text pre-processing

An average of 150% re-duction (15% by AOTC)

Page 31: Hybrid Java Compilation and Optimization for Digital TV Dong-Heon Jung, Hyeong-Seok Oh, Soo-Mook Moon smoon@snu.ac.kr School of EECS Seoul National University,

31Microprocessor Architecture & System Software Lab

Impact on Transparency

JITC

only

Our

Opti

miz

ed V

M

JITC

only

Our

Opti

miz

ed V

M

JITC

only

Our

Opti

miz

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 Dong-Heon Jung, Hyeong-Seok Oh, Soo-Mook Moon smoon@snu.ac.kr School of EECS Seoul National University,

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-compo-nent 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 Dong-Heon Jung, Hyeong-Seok Oh, Soo-Mook Moon smoon@snu.ac.kr School of EECS Seoul National University,

Thank you!