Virtual machines for remote execution are a useful tool for utilizing light user interfaces and intensive application cores in different physical machines connected through the Internet. In a virtual machine, applicat...
详细信息
Virtual machines for remote execution are a useful tool for utilizing light user interfaces and intensive application cores in different physical machines connected through the Internet. In a virtual machine, application cores are distributed in a network. Specific locations, operating systems and hardware characteristics are hidden by virtual machines. They make it possible to use a PC to execute user interfaces and (a few) high-performance computers for application cores. We present a java/CORBA-based brokerage platform that allows remote execution of optimization solvers from a client running on any platform. The system offers a dynamic library of available problem solvers, and a graphic interface to browse several defined properties and metadata on available solvers. In addition, an embedded file compression module to reduce data transfer time is included as a plug-in feature of the proposed virtual machine. Analogous systems could be constructed for applications in which interaction traffic time is much lower than execution time.
programminglanguages are tools to implement software systems. According to the type of software systems, they have to meet different requirements. This paper investigates the design of java with respect to the origin...
详细信息
The traditional tradeoff when performing dynamic compilation is that of fast compilation time versus fast code performance. Most dynamic compilation systems for java perform selective compilation and/or optimization a...
详细信息
ISBN:
(纸本)1581133359
The traditional tradeoff when performing dynamic compilation is that of fast compilation time versus fast code performance. Most dynamic compilation systems for java perform selective compilation and/or optimization at a method granularity. This is the not the optimal granularity level. However, compiling at a sub-method granularity is thought to be too complicated to be practical. This paper describes a straightforward technique for performing compilation and optimizations at a finer, sub-method granularity. We utilize dynamic profile data to determine intra-method code regions that are rarely or never executed, and compile and optimize the code without those regions. If a branch that was predicted to be rare is actually taken at run time, we fall back to the interpreter or dynamically compile another version of the code. By avoiding compiling and optimizing code that is rarely executed, we are able to decrease compile time significantly, with little to no degradation in performance. Futhermore,ignoring rarely-executed code can open up more optimization opportunities on the common paths. We present two optimizations---partial dead code elimination and rare-path-sensitive pointer and escape analysis---that take advantage of rare path information. Using these optimizations, our technique is able to improve performance beyond the compile time improvements
Optimizing exception handling is critical for programs that frequently throw exceptions. We observed that there are many such exception-intensive programs iin various categories of java programs. There are two commonl...
详细信息
ISBN:
(纸本)1581133359
Optimizing exception handling is critical for programs that frequently throw exceptions. We observed that there are many such exception-intensive programs iin various categories of java programs. There are two commonly used exception handling techniques, stack unwinding optimizes the normal path, while stack cutting optimizes the exception handling path. However, there has been no single exception handling technique to optimize both paths.
Through audio-taped student interviews, this study examined beginning java students' conceptions of object-oriented programming. Students rated programs on stylistic criteria including ease of comprehension, ease ...
详细信息
ISBN:
(纸本)9781581133295
Through audio-taped student interviews, this study examined beginning java students' conceptions of object-oriented programming. Students rated programs on stylistic criteria including ease of comprehension, ease of debugging, ease of modification, ease of reuse, and overall quality of design. They also explained the reasons for their ratings. The results will be discussed and interpreted in light of previous research. Implications for instruction will also be examined.
The java programming language provides both reflection and remote method invocation: reflection allows a program to inspect itself and its runtime environment, remote method invocation allows methods to be invoked tra...
详细信息
ISBN:
(纸本)0769509630
The java programming language provides both reflection and remote method invocation: reflection allows a program to inspect itself and its runtime environment, remote method invocation allows methods to be invoked transparently across a network. Unfortunately, the standard java implementations of reflection and remote method invocation are incompatible: programmers cannot reflect on a remote application. We describe how java systems can be extended to support Remote Reflection transparently by extending the standard java APL Remote reflection can support remote debuggers, performance monitors, programming environments, application component servers such as Enterprise javaBeans, and any other java system that can be distributed across a network
In this paper we present a simple calculus (called CJE) in ourder to fully investigate the exception mechanism of java, and in particular its interaction with inheritance, which turns out to be non trivial. Moreover, ...
详细信息
ISBN:
(纸本)1581133359
In this paper we present a simple calculus (called CJE) in ourder to fully investigate the exception mechanism of java, and in particular its interaction with inheritance, which turns out to be non trivial. Moreover, we show that the type system for the calculus directly dirven by the javalanguage specification (called FULL) uses too many types, in the sense that there are different types which rpovide exactly the same information. Hence, we obtain from FULL a simplified type system called MIN where equivalent types have been identified. We show that is useful both for type-checking optimization and for clarifying the static semantics of the language. The two type systems are proved to satisfy the subject reduction property
In systems that support garbage collection, a tension exists between collecting garbage too frequently and not collecting garbage frequently enough. Garbage collection that occurs too frequently may introduce unnecess...
详细信息
ISBN:
(纸本)1581133359
In systems that support garbage collection, a tension exists between collecting garbage too frequently and not collecting garbage frequently enough. Garbage collection that occurs too frequently may introduce unnecessary overheads at the rist of not collecting much garbage during each cycle. On the other hand, collecting garbage too infrequently can result in applications that execute with a large amount of virtual memory (i.e., with a large footprint) and suffer from increased execution times die to paging. In this paper, we use a large colleciton of java applications and the highly tuned and widely used Boehm-Demers-Weiser (BDW) conservative mark-and-sweep garbage collector to experimentally examine the extent to which the frequency of garbage collectio impacts an application's execution time, footprint, and pause times. We use these results to devise some guidelines for controlling garbage and heap growth in a conservative garbage collection in order to minimize application execution times. Then we describe new strategies for controlling in order to minimize application execution times.
暂无评论