To accomplish multi-dimensional separation of concerns (MDSOC) with Hyper/JTM, a tool available for free download, in the context of standard javaTM development is described. Hyper/J does not require any special langu...
详细信息
To accomplish multi-dimensional separation of concerns (MDSOC) with Hyper/JTM, a tool available for free download, in the context of standard javaTM development is described. Hyper/J does not require any special languages or language variants, compilers, development environments, or processes-it works with standard java, using any compiler, development environment, methodology and process. It can be used at any stage of the software lifecycle-from design and initial development of code, to the evolution of pre-existing code, to the adaptation and integration of separately developed components.
The performance issues of Garbage Collection (GC) have been studied for over three decades. However, the demands for faster GC keep growing especially in java applications. There are several methods to improve GC perf...
详细信息
The performance issues of Garbage Collection (GC) have been studied for over three decades. However, the demands for faster GC keep growing especially in java applications. There are several methods to improve GC performance such as better heap layout schemes, more adaptive GC algorithms, and more efficient implementations. To compare these mechanisms, GC must be measured quantitatively. This paper uses a new cycle accurate timing tool to measure GC metrics such as allocation latencies, component elapse time (mark, sweep, and compact) and object life span. The data are then used to derive runtime heap residency and overall GC time. In the past, researchers study object life span through a space based approach, where the amount of allocated memory determines GC invocations. We propose a time based methodology as a complement. Time plays an important role in server environments, where allocations can come in bursts. The experimental results indicate that a time based approach yields significantly less GC calls, while maintains almost the same heap residency as the space based approach. This translates to a more efficient way to collect garbage.
We propose a type system for the java bytecode language, prove the type soundness, and develop a type inference algorithm. In contrast to the existing proposals, our type system yields a typed term calculus similar to...
详细信息
ISBN:
(纸本)1581135289
We propose a type system for the java bytecode language, prove the type soundness, and develop a type inference algorithm. In contrast to the existing proposals, our type system yields a typed term calculus similar to type systems of lambda calculi. This enables us to transfer existing techniques and results of type theory to a JVM-style bytecode language. We show that ML-style let polymorphism and recursive types can be used to type JVM subroutines, and that there is an ML-style type inference algorithm. The type inference algorithm has been implemented. The ability to verify type soundness is a simple corollary of the existence of type inference algorithm. Moreover, our type theoretical approach opens up various type safe extensions including higher-order methods, flexible polymorphic typing through polymorphic type inference, and type-preserving compilation.
The Common language Infrastructure (CLI) is a new virtual machine and runtime environment recently introduced by Microsoft® as part of the .NET initiative. It provides a standard bytecode format, and a set of lib...
详细信息
The Common language Infrastructure (CLI) is a new virtual machine and runtime environment recently introduced by Microsoft® as part of the .NET initiative. It provides a standard bytecode format, and a set of libraries for programs to use. It is specifically designed to be used with multiple programminglanguages, and allows cross-language interoperability.
Interactive scientific visualization applications require both high performance graphics and numerical computation capabilities. C/C++ programs are able to take direct advantage of specialized graphics rendering hardw...
详细信息
Interactive scientific visualization applications require both high performance graphics and numerical computation capabilities. C/C++ programs are able to take direct advantage of specialized graphics rendering hardware (referred to as a Graphics Processing Unit or GPU) for display and special SIMD instructions within the CPU for computation. The former using for example the OpenGL library and latter using compiler extensions. Software developed in java offers portability, robustness and security. However, the graphics rendering performance, memory efficiency, and computational speed of java for visualization of large scientific data sets has not been well characterized. Benchmarking experiments were done using the JLoop (java) and Loop (C/C++) visualization software for animation of 2D datasets. Preliminary results for six different hardware platforms showed that compared to the C/C++ version, the java implementation was four to five times slower for graphics image animation, used on average 2.5 to three times more memory, and was up to 3.6 times slower using a pure numerical benchmark that simulated image pixel operations. Such benchmarks should be used to improve the java VM performance across platforms, similar to JIT-compiler design.
The platform neutrality of java programs allows them to run on heterogeneous computers. In the distributed environment, however, java programs often cause performance problem because they are not implemented for speci...
详细信息
Collaborative design review is an important part of architectural design work. The Space Pen system supports annotation and drawing on (and inside) 3D VRML/java models using a regular Web browser to exchange text and ...
详细信息
ISBN:
(纸本)1581134541
Collaborative design review is an important part of architectural design work. The Space Pen system supports annotation and drawing on (and inside) 3D VRML/java models using a regular Web browser to exchange text and sketched annotations for review.
This paper presents a framework for the development of a distributed sensor network which has been designed to fulfill the requirements of the European Union project on Advanced Distributed Architecture for Telemonito...
详细信息
Group communication is a crucial feature for high-performance and Grid computing. While previous works and libraries proposed such a characteristic (e.g. MPI, or object-oriented frameworks), the use of groups imposed ...
详细信息
ISBN:
(纸本)9781581135992
Group communication is a crucial feature for high-performance and Grid computing. While previous works and libraries proposed such a characteristic (e.g. MPI, or object-oriented frameworks), the use of groups imposed specific constraints on programmers - for instance the use of dedicated interfaces to trigger group communications. We aim at a more flexible mechanism. More specifically, this paper proposes a scheme where, given a java class, one can initiate group communications using the standard public methods of the class together with the classical dot notation;in that way, group communications remain typed. Furthermore, groups are automatically constructed to handle the result of collective operations, providing an elegant and effective way to program gather operations. This flexibility also allows to handle results that are groups of remotely accessible objects, and to use a group as a means to dispatch different parameters to different group members (for instance in a cyclic manner). Furthermore, hierarchical groups can be easily and dynamically constructed;an important feature to achieve the use of several clusters in Grid computing. Performance measures demonstrate the viability of the approach. The challenge is to provide easy to use, efficient, and dynamic group management for objects dynamically distributed on the Grid.
暂无评论