Improving memory performance of embedded Java applications by dynamic layout modifications

F. Li, P. Agrawal, G. Eberhardt, E. Manavoglu, S. Ugurel, Mahmut Kandemir

Research output: Chapter in Book/Report/Conference proceedingConference contribution

2 Citations (Scopus)

Abstract

Unlike desktop systems, embedded systems use different user interface technologies; have significantly smaller form factors; use a wide variety of processors; and have very tight constraints on power/energy consumption, user response time, and physical space. With its platform independence and secure execution environment, Java is fast becoming the language of choice for programming embedded systems. In order to extend its use to array based applications from embedded image and video processing, Java programmers need to employ several optimizations. Unfortunately, due to its precise exception mechanism and bytecode distribution form, it is not generally possible to use classical loop based optimization techniques for array based embedded Java applications. Observing this, this paper proposes a dynamic memory layout optimization strategy for Java applications. The strategy is based on observing the cache behavior dynamically and transforming memory layouts of arrays, when necessary, during the course of execution. This is in contrast to many previously proposed memory layout optimization strategies, which are static in nature (i.e., they are applied at compile time). Our results indicate large performance improvements on a suite of seven array based applications.

Original languageEnglish (US)
Title of host publicationProceedings - 18th International Parallel and Distributed Processing Symposium, IPDPS 2004 (Abstracts and CD-ROM)
Pages2275-2282
Number of pages8
Volume18
StatePublished - Dec 1 2004
EventProceedings - 18th International Parallel and Distributed Processing Symposium, IPDPS 2004 (Abstracts and CD-ROM) - Santa Fe, NM, United States
Duration: Apr 26 2004Apr 30 2004

Other

OtherProceedings - 18th International Parallel and Distributed Processing Symposium, IPDPS 2004 (Abstracts and CD-ROM)
CountryUnited States
CitySanta Fe, NM
Period4/26/044/30/04

Fingerprint

Data storage equipment
Embedded systems
Computer programming
User interfaces
Energy utilization
Processing

All Science Journal Classification (ASJC) codes

  • Engineering(all)

Cite this

Li, F., Agrawal, P., Eberhardt, G., Manavoglu, E., Ugurel, S., & Kandemir, M. (2004). Improving memory performance of embedded Java applications by dynamic layout modifications. In Proceedings - 18th International Parallel and Distributed Processing Symposium, IPDPS 2004 (Abstracts and CD-ROM) (Vol. 18, pp. 2275-2282)
Li, F. ; Agrawal, P. ; Eberhardt, G. ; Manavoglu, E. ; Ugurel, S. ; Kandemir, Mahmut. / Improving memory performance of embedded Java applications by dynamic layout modifications. Proceedings - 18th International Parallel and Distributed Processing Symposium, IPDPS 2004 (Abstracts and CD-ROM). Vol. 18 2004. pp. 2275-2282
@inproceedings{c42601ffaa6a4541ad244caf79f7e5b6,
title = "Improving memory performance of embedded Java applications by dynamic layout modifications",
abstract = "Unlike desktop systems, embedded systems use different user interface technologies; have significantly smaller form factors; use a wide variety of processors; and have very tight constraints on power/energy consumption, user response time, and physical space. With its platform independence and secure execution environment, Java is fast becoming the language of choice for programming embedded systems. In order to extend its use to array based applications from embedded image and video processing, Java programmers need to employ several optimizations. Unfortunately, due to its precise exception mechanism and bytecode distribution form, it is not generally possible to use classical loop based optimization techniques for array based embedded Java applications. Observing this, this paper proposes a dynamic memory layout optimization strategy for Java applications. The strategy is based on observing the cache behavior dynamically and transforming memory layouts of arrays, when necessary, during the course of execution. This is in contrast to many previously proposed memory layout optimization strategies, which are static in nature (i.e., they are applied at compile time). Our results indicate large performance improvements on a suite of seven array based applications.",
author = "F. Li and P. Agrawal and G. Eberhardt and E. Manavoglu and S. Ugurel and Mahmut Kandemir",
year = "2004",
month = "12",
day = "1",
language = "English (US)",
isbn = "0769521320",
volume = "18",
pages = "2275--2282",
booktitle = "Proceedings - 18th International Parallel and Distributed Processing Symposium, IPDPS 2004 (Abstracts and CD-ROM)",

}

Li, F, Agrawal, P, Eberhardt, G, Manavoglu, E, Ugurel, S & Kandemir, M 2004, Improving memory performance of embedded Java applications by dynamic layout modifications. in Proceedings - 18th International Parallel and Distributed Processing Symposium, IPDPS 2004 (Abstracts and CD-ROM). vol. 18, pp. 2275-2282, Proceedings - 18th International Parallel and Distributed Processing Symposium, IPDPS 2004 (Abstracts and CD-ROM), Santa Fe, NM, United States, 4/26/04.

Improving memory performance of embedded Java applications by dynamic layout modifications. / Li, F.; Agrawal, P.; Eberhardt, G.; Manavoglu, E.; Ugurel, S.; Kandemir, Mahmut.

Proceedings - 18th International Parallel and Distributed Processing Symposium, IPDPS 2004 (Abstracts and CD-ROM). Vol. 18 2004. p. 2275-2282.

Research output: Chapter in Book/Report/Conference proceedingConference contribution

TY - GEN

T1 - Improving memory performance of embedded Java applications by dynamic layout modifications

AU - Li, F.

AU - Agrawal, P.

AU - Eberhardt, G.

AU - Manavoglu, E.

AU - Ugurel, S.

AU - Kandemir, Mahmut

PY - 2004/12/1

Y1 - 2004/12/1

N2 - Unlike desktop systems, embedded systems use different user interface technologies; have significantly smaller form factors; use a wide variety of processors; and have very tight constraints on power/energy consumption, user response time, and physical space. With its platform independence and secure execution environment, Java is fast becoming the language of choice for programming embedded systems. In order to extend its use to array based applications from embedded image and video processing, Java programmers need to employ several optimizations. Unfortunately, due to its precise exception mechanism and bytecode distribution form, it is not generally possible to use classical loop based optimization techniques for array based embedded Java applications. Observing this, this paper proposes a dynamic memory layout optimization strategy for Java applications. The strategy is based on observing the cache behavior dynamically and transforming memory layouts of arrays, when necessary, during the course of execution. This is in contrast to many previously proposed memory layout optimization strategies, which are static in nature (i.e., they are applied at compile time). Our results indicate large performance improvements on a suite of seven array based applications.

AB - Unlike desktop systems, embedded systems use different user interface technologies; have significantly smaller form factors; use a wide variety of processors; and have very tight constraints on power/energy consumption, user response time, and physical space. With its platform independence and secure execution environment, Java is fast becoming the language of choice for programming embedded systems. In order to extend its use to array based applications from embedded image and video processing, Java programmers need to employ several optimizations. Unfortunately, due to its precise exception mechanism and bytecode distribution form, it is not generally possible to use classical loop based optimization techniques for array based embedded Java applications. Observing this, this paper proposes a dynamic memory layout optimization strategy for Java applications. The strategy is based on observing the cache behavior dynamically and transforming memory layouts of arrays, when necessary, during the course of execution. This is in contrast to many previously proposed memory layout optimization strategies, which are static in nature (i.e., they are applied at compile time). Our results indicate large performance improvements on a suite of seven array based applications.

UR - http://www.scopus.com/inward/record.url?scp=12444274872&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=12444274872&partnerID=8YFLogxK

M3 - Conference contribution

SN - 0769521320

SN - 9780769521329

VL - 18

SP - 2275

EP - 2282

BT - Proceedings - 18th International Parallel and Distributed Processing Symposium, IPDPS 2004 (Abstracts and CD-ROM)

ER -

Li F, Agrawal P, Eberhardt G, Manavoglu E, Ugurel S, Kandemir M. Improving memory performance of embedded Java applications by dynamic layout modifications. In Proceedings - 18th International Parallel and Distributed Processing Symposium, IPDPS 2004 (Abstracts and CD-ROM). Vol. 18. 2004. p. 2275-2282