java is a very promising language for use in the simulation of physical models due to its object-oriented nature, portability, robustness and support for multithreading. This paper presents JWarp, a java library for d...
详细信息
java is a very promising language for use in the simulation of physical models due to its object-oriented nature, portability, robustness and support for multithreading. This paper presents JWarp, a java library for discrete-event parallel simulations. It is based on an optimistic model for synchronization of the simulation entities: the Time Warp mechanism. We introduce the main features of the library and discuss some of the implementation details. (C) 1998 John Wiley & Sons, Ltd.
After nearly two years of development, Version 1.4 of Sun's java 2 Platform Enterprise Edition (J2EE) is poised for release. Currently available in public draft form, the final J2EE 1.4 specification is expected t...
详细信息
After nearly two years of development, Version 1.4 of Sun's java 2 Platform Enterprise Edition (J2EE) is poised for release. Currently available in public draft form, the final J2EE 1.4 specification is expected to emerge from the open java Community Process (JCP; http:// ***/) in the summer of 2003, with commercial product implementations to follow. J2EE has evolved considerably since it was first introduced in 1999 as a platform for developing and deploying distributed, multitiered enterprise applications. J2EE 1.4 ushers in a range of features that build upon the 1.3 release, with support for web services leading the way.
Using java as a study language, we have defined the formal semantics of sometypical expressions and almost all statements of an object-oriented programminglanguage. Thesemantics is based on the formal model of a prog...
详细信息
Using java as a study language, we have defined the formal semantics of sometypical expressions and almost all statements of an object-oriented programminglanguage. Thesemantics is based on the formal model of a program whose state is defined as a many-sorted *** the use of update sets for results of statement executions. This made it possible to definetheir semantics in a very simple way. If the alternative classical approach to defining the programstate as a complex abstract data type (see, e.g.,) were used, one would have to define additionallymany auxiliary operators and high-level functions, which, of course, would not facilitate thesemantics definition. Moreover, as noted long time ago, the application of the classical approach toobject-oriented programminglanguages is not justified, since it does not have adequate means formodeling such important notions as object identity and transformation of the object state withoutchanging its identity. This problem has been solved to some extent in [7] by using monads andcoalgebras; however, such an approach resulted in a very complex form of the semantics *** important problem to be solved is how to use this form of semantics for the program verificationand for the automation of program translation and interpretation. This is a subject of our furtherresearch.
The rapid and widespread adoption of java has created a demand for reliable and reusable mathematical software components to support the growing number of computationally intensive applications now under development, ...
详细信息
The rapid and widespread adoption of java has created a demand for reliable and reusable mathematical software components to support the growing number of computationally intensive applications now under development, particularly in science and engineering. In this paper we address practical issues of the javalanguage and environment which have an effect on numerical library design and development. Benchmarks which illustrate the current levels of performance of key numerical kernels on a variety of java platforms me presented. Finally, a strategy for the development of a fundamental numerical toolkit for java is proposed and its current status is described, (C) 1998 John Wiley & Sons, Ltd.
The implementation of the Parjava development environment is considered that enables one to develop parallel applications in the modern programminglanguagejava within the industrial standard MPI. The internal repres...
详细信息
The implementation of the Parjava development environment is considered that enables one to develop parallel applications in the modern programminglanguagejava within the industrial standard MPI. The internal representation of the SPMD program model is described, which is constructed so as to place as much of the interpretation work of a parallel java program on javaVM. Features of the model generation and its preparation to the interpretation are described. The model generator transforms the abstract syntax tree of each method of the program being simulated into a model of the control flow, forms a computation model that will be executed on javaVM, and forms a module for evaluating the execution times of the basic blocks. The interpretation of the model executed on p nodes of a parallel computing system (cluster) is performed in p logical processes of which each is executed in an individual thread. The interpretation of a logical process assumes that all its methods beginning from the main method are interpreted. The interpretation of each method consists in executing the computation model of this method on javaVM. The order of interpretation of the method's basic blocks is determined by the system interpreter of the method's model. The system makes it possible to reduce parts of the model and interpret the model by parts. Problems of the simulation and interpretation of communication functions are discussed. The communication functions are described using nine basic exchange operations. To evaluate the time needed to transfer data between processes, an empirical dependence between the amount of the transferred data and the transfer time is used, which is obtained using tests. A short description of the Parjava graphical interface is presented. Applications developed using the proposed implementation of the system are platform independent;and the development, tuning, and maintenance overheads for those applications are considerably reduced. This is a contribution
Remote method invocation (RMI) is available in the current javalanguage design and implementation, providing the much needed capability of allowing objects running in different java processes to collaborate using a v...
详细信息
Remote method invocation (RMI) is available in the current javalanguage design and implementation, providing the much needed capability of allowing objects running in different java processes to collaborate using a variation on the popular remote procedure call (RPC), Although RMI provides features which are desirable for high-performance distributed computing, its design and implementation are deficient in key areas of importance to the highperformance computing community in general. This paper addresses the key deficiencies of RMI and how these deficiencies affect the design and implementation of distributed abject applications. Reflective RMI (RRMI) is an open RMI implementation which makes better use of the object-oriented features of java, RRMI is so-called reflective because it directly employs the reflection capabilities of the current javalanguage to invoke methods remotely. RRMI makes use of the dynamic class loader (a class called NetClassLoader) to allow client/server applications to be built for high-performance computing systems without having all of the,class files present on all nodes in a parallel computation. Among other features discussed are support for asynchronous remote method invocations with deferred reply and exception semantics. (C) 1998 John Whey & Sons, Ltd.
Mobile devices have evolved to a point where interactive 3D graphics is becoming feasible. The first standardized 3D programming interfaces for mobile devices - OpenGL ES for native C/C++ and Mobile 3D Graphics (M3G) ...
详细信息
Mobile devices have evolved to a point where interactive 3D graphics is becoming feasible. The first standardized 3D programming interfaces for mobile devices - OpenGL ES for native C/C++ and Mobile 3D Graphics (M3G) for java applications - are now available to hardware vendors and application developers. The interfaces complement rather than compete with each other and can share the same underlying rendering engine, whether implemented in hardware or software. Three-dimensional graphics on mobile devices is still about converting descriptions of geometry, material, and illumination into pixels shown on a raster display, using the same fundamental algorithms as elsewhere. However, mobile devices\' limited capabilities must be reflected in the realizations of those algorithms, as well as in the overall graphics system design. In this article, we describe a design that attempts to take on that challenge, consisting of OpenGL ES, a low-level API, and M3G (also known as JSR-184), a high-level API for java. We describe how the two interfaces relate to each other and existing graphics architectures on the desktop, and how they attempt to provide optimal features and performance across the whole gamut of different devices. OpenGL ES and M3G, as well as our presentation of them in this article, derive from a long tradition of graphics systems design.
Enterprise software shows increasing levels of concurrency and complexity and decreasing "think times'' between user interactions. Such trends are evident in both emerging workloads, such as social networ...
详细信息
Enterprise software shows increasing levels of concurrency and complexity and decreasing "think times'' between user interactions. Such trends are evident in both emerging workloads, such as social networking, and traditional applications, such as banking, for which both query counts and complexity are increasing. Similarly, in today's multicore-processor era, processor core counts double every processor generation. However, not all hardware capacity (e.g., cache, disk, and network capacity) is growing at this core rate. As a result, processor dies will have more cores sharing resources. Personnel associated with our project Multicore Applications Restructured for Scaling started with a well-tuned baseline version of a large multitier commercial workload and worked to efficiently identify a small set of software changes that, together, would lead to improved scaling and performance. This paper reports the required tooling and analysis, software changes, and improvements (factor performance gains). Perhaps most surprising, we found that a small set of code changes allowed major performance gains within a single java (R) virtual machine, which has implications for the way in which we develop and deploy software.
The increased use of and reliance on computing devices elicits a desire to ensure the integrity of the software running on these devices. This desire is indeed well founded-malicious software has become a major proble...
详细信息
The increased use of and reliance on computing devices elicits a desire to ensure the integrity of the software running on these devices. This desire is indeed well founded-malicious software has become a major problem for today's computer systems. Consequently, we have developed the java Measurement Framework (JMF) for inspecting a running java program and ensuring the program's integrity. JMF provides a mechanism for writing integrity policies about java programs. Our implementation provides the capability to extract a measurement of the code and data of the running program and then evaluate this measurement against a policy. The result allows concerned parties to achieve a greater confidence in the integrity of the software running on their systems. We show how our system can be used on several real-world java programs and with adequate performance overhead.
Atypical upper-division undergraduate physics course―for example, a coursein classical electrodynamics at the level of griffith's text―involves extensive analytiproblemsolving. students learn to solve Laplace...
详细信息
Atypical upper-division undergraduate physics course―for example, a coursein classical electrodynamics at the level of griffith's text―involves extensive analytiproblemsolving. students learn to solve Laplace's equation in rectangular and cylindrical coordinates, withBessel functions and Legendre polynomials. These methods are important in their own right andprovide examples to illustrate central physical concepts. But students would benefit more if wediscussed numerical problem-solving methods at a similar level. Today, students often have computersin their dorm rooms and backpacks that have the power of a typical 1970s university mainframe. Itwould be helpful if we could use computing power for explicit problem-solving and to developstudents' intuition. In this article, I explain a method that uses the java programming language'sbuilt-in class structure to do this. I also supply a java class library that can assist instructorsin writing programs of this type.
暂无评论