9 research outputs found

    Java access to numerical libraries

    Get PDF

    Developing numerical libraries in Java

    Full text link
    The rapid and widespread adoption of Java has created a demand for reliable and reusable mathematical software components to support the growing number of compute-intensive applications now under development, particularly in science and engineering. In this paper we address practical issues of the Java language 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 are presented. Finally, a strategy for the development of a fundamental numerical toolkit for Java is proposed and its current status is described.Comment: 11 pages. Revised version of paper presented to the 1998 ACM Conference on Java for High Performance Network Computing. To appear in Concurrency: Practice and Experienc

    NINJA: Java for High Performance Numerical Computing

    Get PDF

    Run-time Support for Distributed Object Sharing in Safe Programming Languages

    Get PDF
    We present a new run-time system that supports object sharing in a distributed system. The key insight in this system is that a handle-based implementation of such a system enables effcient and transparent sharing of data with both fine-grained and coarse-grained access patterns. In addition, it supports effcient execution of garbage-collected programs. In contrast, conventional distributed shared memory (DSM) systems are limited to providing only one granularity with good performance, and have experienced diffculty in effciently supporting garbage collection. A safe language, in which no pointer arithmetic is allowed, can transparently be compiled into a handle-based system and constitutes its preferred mode of use. A programmer can also directly use a handle-based programming model that avoids pointer arithmetic on the handles, and achieve the same performance but without the programming benefits of a safe programming language. This new run-time system, DOSA (Distributed Object Sharing Architecture), provides a shared object space abstraction rather than a shared address space abstraction. The key to its effciency is the observation that a handle-based distributed implementation permits VM-based access and modification detection without suffering false sharing for fine-grained access patterns. We compare DOSA to TreadMarks, a conventional DSM system that is effcient at handling coarse-grained sharing. The performance of fine-grained applications and garbage-collected applications is considerably better than in TreadMarks. The performance of coarse-grained applications is nearly as good as in TreadMarks. Since the performance of such applications is already good in TreadMarks, we consider this an acceptable performance penalty

    A Policy-Based Resource Brokering Environment for Computational Grids

    Get PDF
    With the advances in networking infrastructure in general, and the Internet in particular, we can build grid environments that allow users to utilize a diverse set of distributed and heterogeneous resources. Since the focus of such environments is the efficient usage of the underlying resources, a critical component is the resource brokering environment that mediates the discovery, access and usage of these resources. With the consumer\u27s constraints, provider\u27s rules, distributed heterogeneous resources and the large number of scheduling choices, the resource brokering environment needs to decide where to place the user\u27s jobs and when to start their execution in a way that yields the best performance for the user and the best utilization for the resource provider. As brokering and scheduling are very complicated tasks, most current resource brokering environments are either specific to a particular grid environment or have limited features. This makes them unsuitable for large applications with heterogeneous requirements. In addition, most of these resource brokering environments lack flexibility. Policies at the resource-, application-, and system-levels cannot be specified and enforced to provide commitment to the guaranteed level of allocation that can help in attracting grid users and contribute to establishing credibility for existing grid environments. In this thesis, we propose and prototype a flexible and extensible Policy-based Resource Brokering Environment (PROBE) that can be utilized by various grid systems. In designing PROBE, we follow a policy-based approach that provides PROBE with the intelligence to not only match the user\u27s request with the right set of resources, but also to assure the guaranteed level of the allocation. PROBE looks at the task allocation as a Service Level Agreement (SLA) that needs to be enforced between the resource provider and the resource consumer. The policy-based framework is useful in a typical grid environment where resources, most of the time, are not dedicated. In implementing PROBE, we have utilized a layered architecture and façade design patterns. These along with the well-defined API, make the framework independent of any architecture and allow for the incorporation of different types of scheduling algorithms, applications and platform adaptors as the underlying environment requires. We have utilized XML as a base for all the specification needs. This provides a flexible mechanism to specify the heterogeneous resources and user\u27s requests along with their allocation constraints. We have developed XML-based specifications by which high-level internal structures of resources, jobs and policies can be specified. This provides interoperability in which a grid system can utilize PROBE to discover and use resources controlled by other grid systems. We have implemented a prototype of PROBE to demonstrate its feasibility. We also describe a test bed environment and the evaluation experiments that we have conducted to demonstrate the usefulness and effectiveness of our approach

    Database-driven hydraulic simulation of canal irrigation networks using object-oriented high-resolution methods

    Get PDF
    Canal hydraulic models can be used to understand the hydraulic behaviour of large and complex irrigation networks at low cost. A number of computational hydraulic models were developed and tested in the early 1970s and late 80s. Most were developed using finite difference schemes and procedural programming languages. In spite of the importance of these models, little progress was made on improving the numerical algorithms behind them. Software development efforts were focused more on developing the user interface rather than the core algorithm. This research develops a database-driven, object-oriented hydraulic simulation model for canal irrigation networks using modern high-resolution shock capturing techniques that are capable of handling variety of flow situations which includes trans-critical flow, shock propagation, flows through gated structures and channel networks. The technology platforms were carefully selected by taking into account a multi-user support and possible migration of the new software to a web-based one which integrates a Java-based object-oriented model with a relational database management system that is used to store network configuration and simulation parameters. The developed software is tested using a benchmark test suite formulated jointly by the Department for Environment, Food and Rural Affairs (DEFRA) and the Environment Agency (EA). A total of eight tests (seven of them adapted from the DEFRAjEA benchmark suite) were run and results compiled. The developed software has outperformed ISIS, REC-RAS and MIKE 11 in three of the benchmark tests and equally well for the other four. The outcome of this research is therefore a new category in hydraulic simulation software that uses modern shock-capturing methods fully integrated with a configurational relational database that has been fully evaluated and tested.EThOS - Electronic Theses Online ServiceGBUnited Kingdo

    Java access to numerical libraries

    No full text

    Java access to numerical libraries

    No full text
    It is a common and somewhat erroneous belief that Java will always be ‘too slow’ for scientific computing. Two projects under way at the University of Tennessee are addressing the question of scientific computing via Java: NetSolve and f2j. The approaches taken by these two projects are radically different. NetSolve allows users to access pre-installed computational resources, such as hardware and software, distributed across the network. Using these resources, the user can easily perform scientific computing tasks without having any computing resource installed on his or her computer. NetSolve features a Graphical User Interface written in Java as well as a Java Application Programming Interface. The f2j (Fortran to Java) project will provide the numerical subroutines translated from their Fortran source into class files suitable for use by Java programmers. This makes it possible for a Java application or applet to use established legacy numerical code that was originally written in Fortran. This article describes the research issues involved in these two projects and their current limitations. We also explain how, although using two different paradigms and addressing somewhat different classes of users and applications, NetSolve and f2j achieve a common goal: to provide efficient, reliabl
    corecore