Results 1 -
9 of
9
Automated Data-Member Layout of Heap Objects to Improve Memory-Hierarchy Performance
- ACM Transactions on Programming Languages and Systems
, 2000
"... this article, we present an optimization technique that increases memory performance specifically for pointer-centric applications. Our optimization is based on determining the best internal storage layout for dynamically allocated data structures. It applies to programming languages that are fully ..."
Abstract
-
Cited by 30 (7 self)
- Add to MetaCart
this article, we present an optimization technique that increases memory performance specifically for pointer-centric applications. Our optimization is based on determining the best internal storage layout for dynamically allocated data structures. It applies to programming languages that are fully type-safe, such as Java Parts of this work are funded by a CAREER award from the National Science Foundation (CCR-- 97014000) and by the California MICRO Program with industrial sponsor Microsoft Research (Project No. 99-039). Authors' addresses: T. Kistler, Transmeta Corporation, 3940 Freedom Circle, Santa Clara, CA 95054; M. Franz, Department of Information and Computer Science, University of California at Irvine, Irvine, CA 92697--3425.
Extensible virtual machines
, 2001
"... Virtual machines (vms) have enjoyed a resurgence as a way of allowing the same application program to be used across a range of computer systems. This flexibility comes from the abstraction that the vm provides over the native interface of a particular computer. However, this also means that the app ..."
Abstract
-
Cited by 9 (0 self)
- Add to MetaCart
Virtual machines (vms) have enjoyed a resurgence as a way of allowing the same application program to be used across a range of computer systems. This flexibility comes from the abstraction that the vm provides over the native interface of a particular computer. However, this also means that the application is prevented from taking the features of particular physical machines into account in its implementation. This dissertation addresses the question of why, where and how it is useful, possible and practicable to provide an application with access to lower-level interfaces. It argues that many aspects of vm implementation can be devolved safely to untrusted applications and demonstrates this through a prototype which allows control over run-time compilation, object placement within the heap and thread scheduling. The proposed architecture separates these application-specific policy implementations from the application itself. This allows one application to be used with different policies on different systems and also allows nave or premature optimizations to be removed.
Beyond Java: An Infrastructure for High-Performance Mobile Code on the World Wide Web
, 1997
"... : We are building an infrastructure for the platform-independent distribution and execution of high-performance mobile code as a future Internet technology to complement and perhaps eventually succeed Java. Key to our architecture is a representation for mobile code that is based on adaptive compres ..."
Abstract
-
Cited by 8 (0 self)
- Add to MetaCart
: We are building an infrastructure for the platform-independent distribution and execution of high-performance mobile code as a future Internet technology to complement and perhaps eventually succeed Java. Key to our architecture is a representation for mobile code that is based on adaptive compression of syntax trees. Not only is this representation more than twice as dense as Java byte-codes, but it also encodes semantic information on a much higher level. Unlike linear abstract-machine representations such as p-code and Java byte-codes, our format preserves structural information that is directly beneficial for advanced code optimizations. Our architecture provides fast on-the-fly native-code generation at load time. To increase performance further, a low-priority compilation thread continually re-optimizes the already executing software base in the background. Since this is strictly a re-compilation of already existing code, and since it occurs completely in the backgro...
Perpetual Adaptation of Software to Hardware: An Extensible Architecture for Providing Code Optimization as a Central System Service
, 1999
"... ..."
The Case for Dynamic Optimization - Improving Memory-Hierarchy Performance by Continuously Adapting the Internal Storage Layout of Heap Objects at Run-Time
, 1999
"... this paper, we present an optimization technique that increases memory performance specifically for pointer-centric applications. Our optimization is based on determining the best internal storage layout for dynamically allocated data structures. It applies to programming languages that are fully ty ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
this paper, we present an optimization technique that increases memory performance specifically for pointer-centric applications. Our optimization is based on determining the best internal storage layout for dynamically allocated data structures. It applies to programming languages that are fully type-safe, such as Java [Gosling et al. 1996] and Oberon [Wirth 1988]. These languages do not attach a semantic meaning to the declaration order of data members and do not expose the actual physical layout to the programmer; as a consequence, choosing an internal layout lies completely in the domain of the compiler.
A Multilevel Introspective Dynamic Optimization System For Holistic Power Aware Computing
, 2004
"... Power consumption is rapidly becoming the dominant limiting factor for further improvements in computer design. Curiously, this applies both at the “high-end ” of workstations and servers and the “low end ” of handheld devices and embedded computers. At the high-end, the challenge lies in dealing wi ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
Power consumption is rapidly becoming the dominant limiting factor for further improvements in computer design. Curiously, this applies both at the “high-end ” of workstations and servers and the “low end ” of handheld devices and embedded computers. At the high-end, the challenge lies in dealing with exponentially growing power densities. At the low-end, there is a demand to make mobile devices more powerful and longer lasting, but battery technology is not improving at the same rate that power consumption is rising. Traditional power-management research is fragmented; techniques are being developed at specific levels, without fully exploring their synergy with other levels. Most software techniques target either operating systems or compilers but do not explore the interaction between the two layers. These techniques also have not fully explored the potential of virtual machines for power management. In contrast, we are developing a system that integrates information from multiple levels of software and hardware, connecting these levels through a communication channel. At the heart of this system are a virtual machine that compiles and dynamically profiles code, and an optimizer that reoptimizes all code, including that of applications and the virtual machine itself. We believe this introspective, holistic approach enables more informed power-management decisions. Information and Computer Science
Computing the Similarity of Profiling Data
- In Workshop on Profile and Feedback-Directed Compilation
, 1998
"... . We present a technique to measure and detect changes in the behavioral patterns of applications. In a continually dynamically optimizing system, such information is useful not only to decide which program parts to optimize, but also which previously optimized program parts to re-optimize. This lea ..."
Abstract
- Add to MetaCart
. We present a technique to measure and detect changes in the behavioral patterns of applications. In a continually dynamically optimizing system, such information is useful not only to decide which program parts to optimize, but also which previously optimized program parts to re-optimize. This leads to a system that is better tailored towards users' needs than statically optimized systems. 1 Introduction Lately, several systems have been proposed for dynamic program optimization. These systems no longer optimize applications at compile time but rather perform optimizations incrementally while the code is being executed. Besides being able to optimize portable applications (e.g., Java binaries), these systems have additional uncontested advantages: they enable intermodular optimizations and allow optimizations to take into account "up-to-the-minute" profiling data, which often enhances the code quality beyond what is commonly achievable with static compilation. One of the key issues...
Computing the Similarity of Profiling Data
- In Workshop on Profile and Feedback-Directed Compilation
, 1998
"... . We present a technique to measure and detect changes in the behavioral patterns of applications. In a continually dynamically optimizing system, such information is useful not only to decide which program parts to optimize, but also which previously optimized program parts to re-optimize. This ..."
Abstract
- Add to MetaCart
. We present a technique to measure and detect changes in the behavioral patterns of applications. In a continually dynamically optimizing system, such information is useful not only to decide which program parts to optimize, but also which previously optimized program parts to re-optimize. This leads to a system that is better tailored towards users' needs than statically optimized systems. 1 Introduction Lately, several systems have been proposed for dynamic program optimization. These systems no longer optimize applications at compile time but rather perform optimizations incrementally while the code is being executed. Besides being able to optimize portable applications (e.g., Java binaries), these systems have additional uncontested advantages: they enable intermodular optimizations and allow optimizations to take into account "up-to-the-minute" profiling data, which often enhances the code quality beyond what is commonly achievable with static compilation. One of the key ...
Hey, You Got Your Compiler in My Operating System!
- IN SEVENTH WORKSHOP ON HOT TOPICS IN OPERATING SYSTEMS
, 1999
"... Several operating systems projects revolve around moving functionality above or below the kernel "red line" to increase flexibility or performance. We describe how a general model of partial evaluation encompasses this trend. The operating systems community should not be content with a single interf ..."
Abstract
- Add to MetaCart
Several operating systems projects revolve around moving functionality above or below the kernel "red line" to increase flexibility or performance. We describe how a general model of partial evaluation encompasses this trend. The operating systems community should not be content with a single interface between applications and the operating system, even if that interface allows extension below the red line; we contend that partial evaluation will be most effective when it is free of that arbitrary, static interface. Extending partial evaluation from the language level down to the hardware provides a consistent, global framework for application support.

