ACM Home Page
Please provide us with feedback. Feedback
Scratch-pad memory allocation without compiler support for java applications
Full text PdfPdf (324 KB)
Source
International Conference on Compilers, Architecture and Synthesis for Embedded Systems archive
Proceedings of the 2007 international conference on Compilers, architecture, and synthesis for embedded systems table of contents
Salzburg, Austria
SESSION: Scratchpad memories table of contents
Pages: 85 - 94  
Year of Publication: 2007
ISBN:978-1-59593-826-8
Authors
Nghi Nguyen  University of Maryland
Angel Dominguez  University of Maryland
Rajeev Barua  University of Maryland
Sponsors
ACM: Association for Computing Machinery
SIGBED: ACM Special Interest Group on Embedded Systems
SIGMICRO: ACM Special Interest Group on Microarchitectural Research and Processing
SIGDA: ACM Special Interest Group on Design Automation
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): n/a,   Downloads (12 Months): n/a,   Citation Count: 3
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1289881.1289899
What is a DOI?

ABSTRACT

This paper presents the first scratch-pad memory allocation scheme that requires no compiler support for interpreted-language based applications. A scratch-pad memory(SPM) is a fast compiler-managed SRAM that replaces the hardware-managed cache. Its uses are motivated by its better realtime guarantees as compared to cache and by its significantly lower overheads in energy consumption, area and access time. Interpreted languages are languages such as Java that are interpreted by a runtime environment instead of being executed directly on hardware.

All existing memory allocation schemes for SPM require compiler analysis to develop the allocation strategy. Specifically, existing allocation schemes for Java-based applications determine the allocations at compile-time. They then annotate the Java bytecodes with these allocation decisions for the Java Virtual Machine (JVM) to implement the actual allocation at runtime. These existing allocation schemes tie the resulting bytecode to specific SPM sizes, therefore preventing the applications from being portable to different SPM sizes. Further, existing methods do not work for unmodified third-party byte codes produced by compilers other than their specialized compilers.

In this paper, we propose the first ever SPM allocation schemethat is completely implemented inside the JVM. Our method requires no compiler support and works for unmodified byte codes from any source. Moreover, unlike existing methods, it preserves the portability of bytecode to any SPM size. We investigate our method on the Sun Hotspot JVM on which we achieve a 27.8% improvement on runtime and 21.8% on energy saving versus not using the SPM - the only existing alternative for unmodified bytecodes.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
aiT: Worst Case Execution Time Analyzers. AbsInt Angewandte Informatik GmbH. 2004. http://www.absint.com/ait.
2
 
3
ARM968E-S 32-bit Embedded Core. Arm, Revised March 2004. http://www.arm.com/products/CPUs/ARM968E-S.html.
4
5
6
 
7
M. BOHR, B. Doyle, J. Kavalieros, D. Barlage, A. Murthy, M. Doczy, R. Rios, T. Linton, R. Arghavani, B. Jin, S. Datta, and S. Hareland. Intelt's 90 nm technology: Mooret's law and more, September 2002. Document Number: {IR-TR-2002-10}.
 
8
 
9
J. Edler and M. Hill. Dineroiv cache simulator. Revised 2004. http://www.cs.wisc.edu/ markhill/DineroIV/.
 
10
Intel wireless flash memory (W30). Intel Corporation. http://www.intel.com/design/flcomp/datashts/290702.htm.
 
11
GetJar. Java nokia series 60 software. http://www.getjar.com/software/Java/Nokia_Series_60.
 
12
Google. Google mobile gmail. http://www.google.com/mobile/mail/index.html.
13
 
14
Handango. Java application for cell phone. http://www.handango.com/.
 
15
16
 
17
 
18
S. M. Inc. Java SE HotSpot at a Glance. http://java. sun.com/javase/technologies/hotspot/.
 
19
Informit. Java on pocket pc devices. http://www.informit.com/articles/article.asp?=344816&rl=1.
 
20
J. Janzen. Calculating Memory System Power for DDR SDRAM. In DesignLine Journal, volume 10(2). Micron Technology Inc., 2001. http://www.micron.com/publications/designline.html.
 
21
J. P. Lewis and U. Neumann. Performance of Java versus C++. Computer Graphics and Immersive Technology Lab, University of Southern California, Jan 2003. Updated 2004. http://www.idiom.com/~zilla/Computer/javaCbenchmark.html.
 
22
S. Kim, S. Tomar, N. Vijaykrishnan, M. Kandemir, and M. Irwin. Energy-efficient java execution using local memory and object co-location. In Proceedings of Computers and Digital Techniques, pages 33--42. IEEE, 2004.
 
23
 
24
 
25
S. Microsystems. Java se embedded overview. http://java.sun.com/javase/embedded/overview.jsp.
26
 
27
 
28
N. Nguyen, A. Dominguez, and R. Barua. Memory allocation for embedded systems with a compile-time-unknown scratch-pad size. To appear in the ACM Transactions on Embedded Computing Systems (TECS), 2007. http://www.ece.umd.edu/~barua/nguyen-TECS-2007.pdf.
29
 
30
Compilation Challenges for Network Processors. Industrial Panel, ACM Conference on Languages, Compilers and Tools for Embedded Systems (LCTES), June 2003. Slides at http://www.cs.purdue.edu/s3/LCTES03/.
 
31
P. Shivakumar and N. Jouppi. Cacti 3.2. Revised 2004. http://research.compaq.com/wrl/people/jouppi/CACTI.html.
 
32
J. Sjodin, B. Froderberg, and T. Lindgren. Allocation of Global Data Objects in On-Chip RAM. Compiler and Architecture Support for Embedded Computing Systems, December 1998.
33
34
 
35
 
36
 
37
TuxMobil. Free java applications for (linux) pdas and mobile cell phones. http://tuxmobil.org/pda_linux_apps_java.html.
38
39
 
40
41
42
 
43
L. Wehmeyer and P. Marwedel. Influence of onchip scratchpad memories on wcet prediction. In Proceedings of the 4th International Workshop on Worst-Case Execution Time (WCET) Analysis, 2004.
 
44
 
45
S. Wilton and N. Jouppi. Cacti: An enhanced cache access and cycle time model. In IEEE Journal of Solid-State Circuits, 1996.


Collaborative Colleagues:
Nghi Nguyen: colleagues
Angel Dominguez: colleagues
Rajeev Barua: colleagues