Although there has been some experimentation with java as a language for numerically intensive computing, there is a perception by many that the language is not suited for such work. In this paper we show how optimizi...
详细信息
ISBN:
(纸本)3540664262
Although there has been some experimentation with java as a language for numerically intensive computing, there is a perception by many that the language is not suited for such work. In this paper we show how optimizing array bounds checks and null pointer checks creates loop nests on which aggressive optimizations can be used. Applying these optimizations by hand to a simple matrix-multiply test case leads to java compliant programs whose performance is in excess of 500 Mflops on an RS/6000 SP 332MHz SMP node. We also report in this paper the effect that each optimization has on performance. Since all of these optimizations can be automated, we conclude that java will soon be a serious contender for numerically intensive computing.
java's object oriented nature along with its distributed nature make it a good choice for network computing. The use of virtual methods associated with java's object oriented behavior requires accurate target ...
详细信息
ISBN:
(纸本)1880446359
java's object oriented nature along with its distributed nature make it a good choice for network computing. The use of virtual methods associated with java's object oriented behavior requires accurate target prediction for indirect branches. This is critical to the performance of java applications executed an deeply pipelined, wide issue processors. In this paper, we investigate the use of a path history based predictor to accurately determine the target of these virtual methods. The effect of varying the various parameters of the predictor on the misprediction rates is studied using various java benchmarks. Results from this study show that the execution of java code will benefit from more sophisticated branch-predictors.
Orthogonal persistence is based on three principles that have been understood for nearly 20 years. PJama is a publically available prototype of a java platform that supports orthogonal persistence. It is already capab...
详细信息
ISBN:
(纸本)3540654526
Orthogonal persistence is based on three principles that have been understood for nearly 20 years. PJama is a publically available prototype of a java platform that supports orthogonal persistence. It is already capable of supporting substantial applications. The experience of applying the principles of orthogonal persistence to the java programming language is described in the context of PJama. For example, issues arise over achieving orthogonality when there are classes that have a special relationship with the java Virtual Machine. The treatment of static variables and the definition of reachability for classes and the handling of the keyword transient also pose design problems. The model for checkpointing the state of a computation, including live threads, is analyzed and related to a transactional approach. The problem of dealing with state that is external to the PJama environment is explained and the solutions outlined. The difficult problem of system evolution is identified as a major barrier to deploying orthogonal persistence for the javalanguage. The predominant focus is on semantic issues, but with concern for reasonably efficient implementation. We take the opportunity throughout the paper and in the conclusions to identify directions for further work.
An ancient tradition says that one may teach with questions and that teachingby questioning has advantages compared to teaching by telling. This is the coreof the Socratic Method.1 At the same time, computer presentat...
详细信息
An ancient tradition says that one may teach with questions and that teachingby questioning has advantages compared to teaching by telling. This is the coreof the Socratic Method.1 At the same time, computer presentation opens new possibilitiesfor a textbook that responds to the student’s use of computers and thatcan initiate the interaction by posing a question for the student.2 With the additionof javaScript and other technologies, such interactive material can be presentedon the World Wide Web.
An extension language is an interpreted programminglanguage designed to be embedded in a domain-specific framework. The addition of domain-specific primitive operations to an embedded extension language transforms th...
详细信息
ISBN:
(纸本)1880446278
An extension language is an interpreted programminglanguage designed to be embedded in a domain-specific framework. The addition of domain-specific primitive operations to an embedded extension language transforms that vanilla extension language into a domain-specific language. The LUxWORKS processor simulator and debugger from Lucent uses Tcl as its extension language. After an overview of extension language embedding and LUxWORKS experience, this paper looks at using java reflection and related mechanisms to solve three limitations in extension language - domain framework interaction. The three limitations are gradual accumulation of ad hoc interface code connecting an extension language to a domain framework, over-coupling of a domain framework to a specific extension language, and inefficient command interpretation. java reflection consists of a set of programming interfaces through which a software module in a java system can discover the structure of classes, methods and their associations in the system. java reflection and a naming convention for primitive domain operations eliminate ad hoc interface code by supporting recursive inspection of a domain command interface and translation of extension language objects into domain objects. java reflection, name-based dynamic class loading, and a language-neutral extension language abstraction eliminate language over-coupling by transforming the specific extension language into a runtime parameter. java reflection and command objects eliminate inefficiency by bypassing the extension language interpreter for stereotyped commands. Overall, java reflection helps to eliminate these limitations by supporting reorganization and elimination of handwritten code, and by streamlining interpretation.
A Hoare-style programming logic for the sequential kernel of java is presented. It handles recursive methods, class and interface types, subtyping, inheritance, dynamic and static binding, aliasing via object referenc...
详细信息
ISBN:
(纸本)3540656995
A Hoare-style programming logic for the sequential kernel of java is presented. It handles recursive methods, class and interface types, subtyping, inheritance, dynamic and static binding, aliasing via object references, and encapsulation. The logic is proved sound w.r.t. an SOS semantics by embedding both into higher-order logic.
An analysis is provided for java programs that reverse engineers parameterized types into existing java code. This analysis propagates precise type information about the contents of container objects. As an applicatio...
详细信息
An analysis is provided for java programs that reverse engineers parameterized types into existing java code. This analysis propagates precise type information about the contents of container objects. As an application, the analysis can be used to justify the safe removal of downcasts that are guaranteed to succeed. Another application is in automatically reverse engineering parameterized types into existing java libraries, so that they can be used in java dialects with parameterized types.
Having developed the experimental speech analysis tools "SPANEX' [5], we have developed "SPANNET", a program for the visualization and manipulation of speech analysis parameter via Internet in our p...
详细信息
We present methods for safe and correct programming for concurrent threads in java. The methods are based on the principles of Concurrent Sequential Processes (CSP). We demonstrate the use of tools which provide the s...
详细信息
New software technologies and languages have made easier (and maybe less error-prone) the development of distributed applications. Especially java allows straightforward use of connection-oriented communications, typi...
详细信息
暂无评论