Results 1 - 10
of
10
Using Annotations to Reduce Dynamic Optimization Time
, 2001
"... Dynamic compilation and optimization are widely used in heterogenous computing environments, in which an intermediate form of the code is compiled to native code during execution. An important tradeoff exists between the amount of time spent dynamically optimizing the program and the running time of ..."
Abstract
-
Cited by 48 (13 self)
- Add to MetaCart
Dynamic compilation and optimization are widely used in heterogenous computing environments, in which an intermediate form of the code is compiled to native code during execution. An important tradeoff exists between the amount of time spent dynamically optimizing the program and the running time of the program. The time to perform dynamic optimizations can cause significant delays during execution and also prohibit performance gains that result from more complex optimization.
Dynamic Selection of Application-Specific Garbage Collectors
, 2004
"... Much prior work has shown that the performance enabled by garbage collection (GC) systems is highly dependent upon the behavior of the application as well as on the available resources. That is, no single GC enables the best performance for all programs and all heap sizes. To address this limitation ..."
Abstract
-
Cited by 30 (5 self)
- Add to MetaCart
Much prior work has shown that the performance enabled by garbage collection (GC) systems is highly dependent upon the behavior of the application as well as on the available resources. That is, no single GC enables the best performance for all programs and all heap sizes. To address this limitation, we present the design, implementation, and empirical evaluation of a novel Java Virtual Machine (JVM) extension that facilitates dynamic switching between a number of very different and popular garbage collectors. We also show how to exploit this functionality using annotation-guided GC selection and evaluate the system using a large number of benchmarks. In addition, we implement and evaluate a simple heuristic to investigate the efficacy of switching automatically. Our results show that, on average, our annotation-guided system introduces less than 4% overhead and improves performance by 24% over the worstperforming GC (across heap sizes) and by 7% over always using the popular Generational/Mark-Sweep hybrid.
Tamper-Proof Annotations, by Construction
, 2002
"... Dynamic compilation often comes at the price of reduced code quality, because there is not enough time available to perform expensive optimizations. One solution to this problem has been the addition of annotations by the code producer that enable a dynamic code generator on the code consumer 's sid ..."
Abstract
-
Cited by 4 (3 self)
- Add to MetaCart
Dynamic compilation often comes at the price of reduced code quality, because there is not enough time available to perform expensive optimizations. One solution to this problem has been the addition of annotations by the code producer that enable a dynamic code generator on the code consumer 's side to shortcut certain analysis and optimization steps. However, code annotation often creates a new problem, in that most such annotations are unsafe|if they become corrupted during transit, then the safety of the target system is in jeopardy.
TurboJ, a Java Bytecode-to-Native Compiler
- In Proc. of LCTES’98, volume 1474 of LNCS
"... . TurboJ is an off-line Java compiler, translating Java bytecodes to native code. TurboJ operates in conjunction with a Java Virtual Machine (JVM); among the supported JVMs are those on HPUX, Linux, and Wind River's Tornado for Java (running under VxWorks). Interfacing with a standard JVM entail ..."
Abstract
-
Cited by 4 (3 self)
- Add to MetaCart
. TurboJ is an off-line Java compiler, translating Java bytecodes to native code. TurboJ operates in conjunction with a Java Virtual Machine (JVM); among the supported JVMs are those on HPUX, Linux, and Wind River's Tornado for Java (running under VxWorks). Interfacing with a standard JVM entails benefits not enjoyed by the alternate "standalone" approach; particularly important for embedded systems is the opportunity to reduce the memory footprint via mixed-mode execution. In this paper, we discuss the characteristics of TurboJ as currently implemented, focusing on two aspects of TurboJ: its interactions with the JVM, and the optimizations it makes. We then briefly summarize TurboJ 's current status, compare it with some other Java off-line compilers, and outline future plans. 1 Introduction TurboJ is an off-line Java-to-native compiler, translating Java bytecodes to native code. At run-time, the TurboJ-generated code interfaces with a standard Java Virtual Machine (JVM),...
Native-Language-Based Distributed Computing Across Network and Filesystem Boundaries - Blending The Portability Of Java With Computational Engines Written In Native Languages To Achieve Cross-Network, Heterogeneous, Concurrent Computing
- Boundaries, in ACM 1998 Workshop on Java for High-Performance Network Computing
, 1998
"... This paper discusses how the aspects unique to the Java programming language can be combined with complementary and unique aspects of other languages suchasCandFortran. This combining of the strong features of Java, such as portability and platform independence, with packages and legacy codes wr ..."
Abstract
-
Cited by 3 (0 self)
- Add to MetaCart
This paper discusses how the aspects unique to the Java programming language can be combined with complementary and unique aspects of other languages suchasCandFortran. This combining of the strong features of Java, such as portability and platform independence, with packages and legacy codes written in traditional languages suchasCand Fortran results in a program blend which exhibits portability and speed not realizable byany of these languages individually. One area where this con#uence of previously-disparate language features has strong potential is in the area of distributed, concurrent computing over heterogeneous platforms and across local network and #lesystem boundaries --- the setting addressed within this paper. Also addressed in this paper are the pivotal aspects of the Javabytecode representation of a class object which makes the porting of shared libraries across network boundaries, #lesystems, and architectures possible. 1 Blending Existing and Evolving Tec...
Reducing Load Delay to Improve Performance of Internet-Computing Programs
, 2001
"... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii I Problem Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 II Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 A. Implementation of ..."
Abstract
-
Cited by 3 (1 self)
- Add to MetaCart
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii I Problem Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 II Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 A. Implementation of the Java Language Specification . . . . . . . . . . . . . . . . 8 1. Access Rights . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2. Class File Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 B. The Java Virtual Machine (JVM) . . . . . . . . . . . . . . . . . . . . . . . . . . 10 C. Applets v/s Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 D. The Java Execution Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 III Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 A. Transfer Delay Reduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . ....
Online Verification of Offline Escape Analysis
, 2002
"... Dynamic compilation often comes at the price of reduced code quality since there is not enough time available to perform expensive optimizations. One solution to this problem has been the addition of annotations by the code producer that enable an annotation-aware dynamic code generator on the co ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
Dynamic compilation often comes at the price of reduced code quality since there is not enough time available to perform expensive optimizations. One solution to this problem has been the addition of annotations by the code producer that enable an annotation-aware dynamic code generator on the code consumer's side to shortcut certain analysis and optimization steps. However, code annotation often creates a new problem in that most annotations are unsafe---if they become corrupted during transit, the safety of the target system is jeopardized.
First Year Report
, 1998
"... Window Toolkit (AWT). This has been implemented elsewhere on several platforms -- for example Windows, Motif and the Macintosh. It does, however, rely on the availability of a heavyweight underlying window system. This is expected to provide facilities such as popup menus, buttons, scroll-bars etc. ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
Window Toolkit (AWT). This has been implemented elsewhere on several platforms -- for example Windows, Motif and the Macintosh. It does, however, rely on the availability of a heavyweight underlying window system. This is expected to provide facilities such as popup menus, buttons, scroll-bars etc. Providing a complete AWT implementation over the lightweight Nemesis `client renders' system would therefore involve a large amount of work and would be impracticable.
A Memory Accounting Interface for The Java Programming Language
, 2001
"... Widespread use of the Internet infrastructure for deploying services creates new issues and raises serious concerns regarding the security of their execution environment. Ideas of employing dynamic distributed systems for mounting e-services on the web are gaining strength. The main idea behind thei ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
Widespread use of the Internet infrastructure for deploying services creates new issues and raises serious concerns regarding the security of their execution environment. Ideas of employing dynamic distributed systems for mounting e-services on the web are gaining strength. The main idea behind their proposed design is the use of distributed extensions. This permits execution of un-trusted service code at clients, content distribution service machines or proxies, in order to make the dynamic services more effective.
7KH 8QLYHUVLW \ RI 7H[DV DW $XVWLQ 'HSDUWPHQW RI &RPSXWHU 6FLHQFHV 7HFKQLFDO 5HSRUW &6 75 2FWREHU A Memory Accounting Interface for The Java Programming Language*
"... Widespread use of the Internet infrastructure for deploying services creates new issues and raises serious concerns regarding the security of their execution environment. Ideas of employing dynamic distributed systems for mounting e-services on the web are gaining strength. The main idea behind thei ..."
Abstract
- Add to MetaCart
Widespread use of the Internet infrastructure for deploying services creates new issues and raises serious concerns regarding the security of their execution environment. Ideas of employing dynamic distributed systems for mounting e-services on the web are gaining strength. The main idea behind their proposed design is the use of distributed extensions. This permits execution of un-trusted service code at clients, content distribution service machines or proxies, in order to make the dynamic services more effective. Over the past few years Java has surfaced as an attractive option for constructing web services and programming their execution environment. Java provides the capability of automatic memory operations but fails to provide an accounting interface. In order to make the services more secure the language needs a robust resource accounting interface. This paper discusses the design and implementation of a memory accounting interface as a key component of resource management. We discuss the design, implementation and issues regarding the implementation of this system. To consider its practical application, we evaluate the performance and accuracy of this system.

