Title: Impact of Java Compressed Heap on MobileWireless Communication
1 Impact of Java Compressed Heap on
Mobile/Wireless Communication
- Mayumi KATO and Chia-Tien Dan Lo (itcc05)
- Department of Computer Science,
- University of Texas at San Antonio
- mayumik, danlo_at_cs.utsa.edu
Speaker Mayumi KATO
2Outline
- Introduction
- Related work
- Proposed architecture
- Experiment and results
- Conclusion and future work
3Introduction
Introduction
Mobile/Wireless Communication Client and server
models
Email service
Service Providers (network activated)
Service Archive
Web service
Service Management Component
Services Repository
Mobile commerce
Mobile Network
Audio, video animation
4Main Issue of Java mobile/wireless computing
Introduction
- Many application demands more memory
- Mobile/wireless devices suffer from their small
memory
5Related work
Introduction
- Java classfile compression Pugh99
- (small file, but the same info. as of a Jar
file eliminate redundancy)
2. Java bytecode factorization Clausen et
al.00 (extended instruction set, macro
instruction definitions from CAP file) --
bytecode instructions, replace common instruction
sequences
3. Java compact bytecode instructions Evans and
Fraser01 (grammar based method, G? a
parse tree ? derivation of the program) --
compression demands a minimum length derivation
of the program
4. Java on-the-fly constant pool compaction
Rippert et al. 04 (class loading, eliminate
constant pool entry if not referenced)
5. Java profile-driven code unloading Zhang and
Krintz 04 (JIT, unloading methods
has-not-been-used recently)
- 6. Java heap memory compression
- Lo and KATO
03, Chen et al. 03, KATO and Lo 04
6The proposed architecture consists of
Java Virtual Machine (JVM) core
Memory management module
Cache unit
Delayed buffer
Decompressing unit
Local object accessed
(compressed form)
Delayed buffer is full?
Compressed heap
Address Lookaside buffer
ALB table
Compressing unit
accessed
stored
Store compressed block
7The Proposed Architecture
Goals
- Reduce memory demands
- Allow large client applications to run on
mobile/wireless embedded devices - Minimize the number of active memory banks, and
power off unused banks to eliminate the leakage
current in memory system
8Features
The hardware de/compression engines are
integrated into Java virtual machine (software)
to de/compress a group (a page) of local and
remote objects during Java execution.
a group (a page)
during Java
objects
local and remote
execution
- Different from classfile Pugh,
- bytecode Clausen et al., Evans and Fraser
- Different from constant pool Rippen et al.
- native code zhang and Krintz
- Different from per-object Chen et al. 03
9Assumptions
The Proposed Architecture
- Object is created either locally or remotely
- Objects that come over the Internet have been
compressed at the sending side - Objects that newly created inside the JVM are
not compressed.
10Java VM core
Memory management module
New local object created (uncompressed
form)
Cache unit
Delayed buffer
Decompressing unit
Delayed buffer is full?
Compressed heap
ALB table
Compressing unit
stored
Store compressed block
11Java VM core
Memory management module
Remote object created and accessed
(compressed form)
Cache unit
Delayed buffer
Decompressing unit
Delayed buffer is full?
Address Lookaside buffer
Compressed heap
ALB table
Compressing unit
stored
Store compressed block
12Java VM core
Memory management module
Cache unit
Decompressing unit
Delayed buffer
Compressed form
Delayed buffer is full?
Address Lookaside buffer
Compressed heap
ALB table
Compressing unit
accessed
stored
Store compressed block
13Garbage collection
The Proposed Architecture
- Java memory management system
- Garbage collection mechanism
- Mark, sweep, compaction phases
- We redesigned it to handle compressed objects
- Mark, similar to the original version
- Sweep and compaction phases
- Migrated into de/compression modules
- Delayed until de/compression is invoked
14Garbage collection mechanism
The Proposed Architecture
From the caching unit
15In-memory compression algorithms
The Proposed Architecture
- Popular compression algorithm LZ family
- Designed for human text
- Not suitable for data in memory/cache because of
its regularity modeling - Most in-memory/cache data
- Word aligned integers and pointers
- Contains many repeating zero values
- We use Wilson-Kaplan (WK) compression family
- A dictionary-based algorithm
16WK algorithms
- Coding format lttaggt 4 bits 10 bits 22 bits
upper
Dictionary index
low
high
low
17WK Example
Input
Dictionary
A0129FAE 1111 1010 1110
1
A0129CAE
1100 1010 1110
partial
2
A0129DAE
1101 1010 1110
A01290AE
3
A0129FAE
4
0000 1010 1110
no match
1111 1010 1110
exact
output
01 0100
18Experiment and Results
- Examined compression techniques on
mobile/wireless devices (CS LAN) - Show their impact using space and time
efficiencies
19W gc watermark on the original architecture
(gc) W compgc watermark on the proposed
architecture (compression gc)
W gc spaceEfficiency
----------------- W compgc
T gc total execution time (including gc time)
on the original architecture T compgc total
execution time (including comp. and gc times) on
the proposed architecture
T gc timeEfficiency
---------------- T compgc
20Summaries of Experiment Results
Experiment and results
- Space efficiency 2.0
- Reduce heap memory demand to 50 or more on
average - Independent of the size of Java dynamic heap
- Half of the memory banks for Java heap may never
be turned on - More than 50 of the memory leakage can be saved
21Experiment and results
- Time efficiency 1.0
- HTTP demo, Audio demo, many balls
- No time overhead
- Good data and code locality and less
invocation of garbage collection - Time efficiency 0.99
- Stock and EmailViewer
- Time overhead is within 1
- The use of local database and disk accesses?
22Conclusion and Future Work
Experiment and results
- We have seen the impact of Java compressed heap.
- Results show
- The compressed heap
- Effective
- Ensure small memory footprints for
mobile/wireless application with any memory
demand.
23- On-going work
- Tuning speed
- Future work
- Studying the impact of the compressed heap on
remote object
24Questions
URL paper ieee library 6 pages, but with Dr.
Los permission