www.archive-org-2013.com » ORG » J » JAVAGRANDE

Choose link from "Titles, links and description words view":

Or switch to "Titles and links view".

    Archived pages: 272 . Archive date: 2013-11.

  • Title: Java Grande Forum Home Page Started November 2000
    Descriptive info: .. Welcome to the Java Grande Forum.. 2003 Events.. Workshop on Java in Computational Science.. , held in conjunctions with the International Conference on Computational Science 2003 (ICCS 2003), Melbourne, Australia (June 2-4, 2003).. 5th International Workshop on Java for Parallel and Distributed Computing.. held in conjunction with the International Parallel and Distributed Processing Symposium (.. IPDPS 2003.. ) (April 2-26 Nice France 2003).. Go to these links to vote for Java Grande Numerics.. Register.. to be a Java Developer Connection Member or.. login.. in if you already are on.. Vote.. for.. Augment Java math libraries with methods from C libm and IEEE 754.. Bug.. for RFE:.. Add IEEE 754 Recommended Functions to Math, StrictMath.. RFE (Request for enhancement).. 2002 Events.. Call for papers.. for Special Issue of.. Concurrency and Computation:Practice and Experience.. for 2002 Joint ACM Java Grande - ISCOPE 2002 Conference.. Short.. Review.. on 2002 Joint ACM Java Grande - ISCOPE 2002 Conference and.. update.. on Java Grande December 2002.. Joint ACM Java Grande - ISCOPE 2002 Conference.. held at Seattle, Washington, November 3-5, 2002 in conjunction with.. OOPSLA.. which ran November 4-8 2002.. 4th International Workshop on Java for Parallel and Distributed Computing.. held in conjunction with the International Parallel and Distributed Processing Symposium (IPDPS 2002) (April 15-19, 2002, Fort Lauderdale, Florida, USA).. Events 2001.. USENIX Java Virtual Machine Research and Technology Symposium (JVM '01) Work-in-Progress Session.. to be held in Monterey, CA, April 23-24, 2001.. Researchers are invited to submit abstracts by March 1 2001.. 3rd International Workshop on.. Java for Parallel and Distributed Computing.. -- Held in conjunction with the.. International Parallel and Distributed Processing Symposium.. (IPDPS 2001) from April 23-27, 2001, San Francisco, California, USA.. Joint ACM.. Java Grande - ISCOPE 2001 Conference.. returning to Stanford University, California, June 2-4, 2001 just before.. JavaOne Meeting.. June 4-8, 2001 in San Francisco.. Workshop on Java in High Performance Computing.. held as part of.. HPCN 2001 in Amsterdam.. June 25-27 2001.. And there are lots more great events and key links.. here..  ...   a core group of active participants.. These produce reports, which are reviewed in public forums and transmitted appropriately within the cognizant bodies within the Java and computational fields.. The forum is open to any qualified member of academia, industry or government who is willing to play an active role.. Please read the Java Grande Charter document for more information about becoming a member.. The Forum was kicked off March 1,1998 at the third Java Grande conference held at Stanford University, Palo Alto.. Our first major public meeting was held on November 13, 1998 as a 3-hour panel session at Supercomputing 98 in Orlando and a further meeting was held at SC 99 November 1999 in Portland, Oregon.. The Forum has held numerous internal meetings and is updated at each Java Grande Conference.. They were held on the weekend before JavaOne in early June 1999, 2000 and 2001.. The 2001 conference is a joint meeting with ISCOPE conference.. The 2002 meeting was held before OOPSLA in November 2002.. There are currently no plans for a full meeting in 2003.. The JGF is divided into two major areas: Numerics (Java on a single CPU and floating point issues) and Concurrency (Distributed and Parallel Java and Benchmarking).. Recent Journal Special Isssues on JavaGrande.. 1999 Conference Papers.. 2000 Conference Papers.. 2001 Conference Papers.. Essential Contacts.. Java Grande Forum mailing list:.. javagrandeforum@csit.. fsu.. edu.. is somewhat restricted.. Java for Computer Science and Engineering applications mailing list:.. java-for-cse@csit.. is unrestricted and currently dormant.. Academic Coordinator:.. Geoffrey Fox.. , Community Grids Laboratory at Indiana University.. Roldan Pozo.. and.. Ron Boisvert.. , both of NIST are the.. Numerics Working Group.. Chairs.. The Concurrency and Applications (Benchmarks) Group.. is led by.. Dennis Gannon.. of Indianda University and.. Denis Caromel.. , I.. N.. R.. I.. A.. Nice/Sophia Antipolis.. Java Grande Message Passing Group.. Vladimir Getov.. The.. Java Grande Benchmarking.. Activity led by EPCC at Edinburgh University Scotland.. Java Grande Conference.. Steering Committee.. Some of our work on.. Computing Portals.. is with the.. Grid Forum.. Previous Home Page..

    Original link path: /
    Open archive

  • Title: Java Grande Forum Events and Resources
    Descriptive info: Java Grande Events.. 2001 Events.. June 25-27 2001.. June 4-8, 2001 in San Francisco.. 3rd International Workshop on.. IPDPS 2001 from April 23-27, 2001, San Francisco, California, USA.. 2000 Events.. Euro-Par 2000 Workshop on Object-Oriented Architectures, Tools and Applications.. in Munich, Germany from August 29 - September 1, 2000.. Papers.. (.. Sponsor.. , login as anonymous for.. Organization.. , and.. Participants.. ), from.. Dagsthul Seminar on High Performance Computing in Java.. in Dagsthul, Germany from August 20 - August 25, 2000.. Minisymposium on The Role of Java in Scientific Computing.. at the.. SIAM Annual Meeting.. in Puerto Rico from July 10-14, 2000.. ACM 2000 Java Grande Conference.. sponsored by ACM SIGPLAN, San Francisco, California, June 3-4, 2000.. Second Workshop on Java for High Performance Computing.. at.. ICS 2000.. in Santa Fe, NM from May 8-11, 2000.. 2nd International Workshop on.. Held in conjunction with the.. IPDPS 2000 from May 1-5, 2000, Cancun, Mexico.. HPCN-Europe 2000.. in Amsterdam from May 8-10, 2000.. Second International Conference on the Practical Application of Java.. , organized by Omer Rana, Manchester England April 12-14 2000.. 1999 Events.. Java Grande Panel at ISCOPE99.. in San Francisco December 8-10 1999.. Java Grande Panel at SC99.. Portland Oregon on November 19 1999.. Java for Computational Science and Engineering Minisymposium.. International Congress on Industrial and Applied Mathematics.. organized by Ron Boisvert and Anne Trefethen at Edinburgh from July 5-9 1999.. Tutorial Workshop on Java for High-Performance Computing.. organized by Manish Gupta, Sam Midkiff and Jose Moreira at the.. 1999 ACM International Conference on Supercomputing.. on June 20, 1999, Rhodes, Greece.. ACM 1999  ...   at.. ucsb.. edu/conferences/java98/.. ISCOPE'97,.. Marina Del Rey, CA, December 8-11.. ACM 1997 Workshop on Java for Science and Engineering Computation.. , Las Vegas, June 21, 1997 (with PPoPP).. Original Meeting:.. 1996 Java for Science and Engineering Computation; Simulation and Modelling Workshop.. , Syracuse, Dec 16-17, 1996.. Java Grande Links and Resources.. Highlight of Java Grande and JavaOne 2000.. John Gage , Sun Microsystems' Chief Researcher,.. interviews.. the greatest minds of the Java world, including James Gosling and Bill Joy.. Also all the experts from the Java Grande Forum.. Java Numerics.. pages.. maintained by Ron Boisvert and Roldan Pozo from NIST.. Activity led by EPCC at Edinburgh University Scotland.. Java Grande works on the.. performance of RMI.. -- see the.. work of Michael Philippsen.. and the.. 1999 full report.. Main Page and Discussion List.. mpiJava.. prototype binding of Java to MPI.. Java Grande "Java Framework for Computing" or.. Activity.. The work through December 1999 can be found.. The work is continuing as the Grid Computing Environments activity of the.. Jini in High Performance Computing.. is being looked at by Grid Forum led by Vladimir Getov, Omer Rana and Eric Sharakan.. Java Grande Europe.. Page.. from Michael Philippsen.. Special Issue for papers at 2000 JG Conferenc.. e.. Instructions.. Final Papers.. : This issue is closed and will be puiblished early in 2001.. Special Issue for papers at 1999 JG Conference.. This was published in May through July 2000 issues of Journal (Volume 12; Issues 6 to 8).. Papers can be viewed in.. pre-publication form.. Finally Internal Java Grande Reports and Working Material can be found..

    Original link path: /jgresources.html
    Open archive

  • Title: Java Grande Forum Papers and Reports
    Descriptive info: Java Grande Forum Papers and Reports.. Short Report.. on.. Java Grande Forum Discussions.. at SC00 Dallas November 6 2000.. Fall 2000.. Descriptions of.. Java Grande submitted to CACM.. Enabling Java for High-Performance Computing: Exploiting Distributed Shared Memory and Remote Method Invocation.. Thilo Kielmann Philip Hatcher Luc Bouge and Henri E.. Bal.. Java and Numerical Computing.. (draft) Ronald F.. Boisvert, Jose Moreira, Michael Philippsen, and Roldan Pozo.. Published in.. March/April 2001 issue.. of Computing in Science and Engineering.. Multi-Paradigm Communication in Java for Grid-Computing.. Vladimir Getov, Gregor von Laszewski, Michael Philippsen, and Ian Foster.. Summer 2000 Report.. on Java Grande.. for Dagsthul Meeting.. June.. 1999 Interim Java Grande Report.. in.. PDF.. Java Grande Home Page.. for SC98.. Demonstrations.. Java Grande Charter.. from 1998.. JGF-TR-1:.. Making Java Work for High-End Computing.. PostScript.. -.. JGF-TR-3: MPI for Java: Position Document and Draft API Specification.. The set of links from the.. past.. as maintained at Syracuse until 1998.. Java Grande Forum.. described.. until Fall 1998 at Syracuse.. Publicity.. Interview with JavaWorld June 99 (.. Original.. Downloaded  ...   Distributed and Interactive Virtual world in Java.. JavaOne June 16 1999 Java Grande Forum Birds of a Feather:.. Geoffrey Fox Overview.. Java Grande June 99 Conference:.. Mark Bull on Benchmarking.. Java Grande June 99 Conference:.. Dennis Gannon on Concurrency Working Group.. Tom Haupt on Gateway Portal.. Bryan Carpenter on Object Serialization in Java MPI Interface.. Geoffrey Fox Introduction to Issues for Java Grande Panel.. DoD HPC Modernization Meeting Monterey June 7 1999:.. Geoffrey Fox on Overview of Java Grande.. IPPS/SPDP April 12 1999 International Workshop on Java for Parallel and Distributed Computing:.. Dennis Gannon on Java Grande Overview.. SC98 Java Grande Panel November 13 1998:.. SC98 Java Grande Panel:.. Dennis Gannon on Concurrency and Applications Working Group Report.. Vladimir Getov on MPI for Java.. Cleve Moler on JAMA A Java Matrix Package.. John Reynders on Lessons from C++.. Ron Boisvert on Report of the Java Grande Forum Numerics Working Group.. Jack Dongarra on Java Access to Numerical Libraries: Compiling Fortran to Java.. David Henty on Java Grande Benchmarking.. Gregor von Laszewski on Portals..

    Original link path: /jgpapers.html
    Open archive

  • Title:
    Descriptive info: Java Grande Steering Committee.. Geoffrey C.. Fox.. Florida State University University (chair).. Indiana University.. Sia Zadeh.. Sun Microsystems.. Piyush Mehrotra.. NASA Ames Research Center.. Michael Philippsen.. University of Karlsruhe.. Klaus E.. Schauser.. University of California-Santa Barbara.. Marc Snir.. IBM T.. J.. Watson Research Center.. Rules of the ACM Java Grande Conference steering committee:.. The steering committee is made up of the current and previous two conference organizers (general chair and program  ...   year, the new general chair and program chair are added to the steering committee and the general chair and program chair of the conference three years ago are dropped (i.. e.. members of three conferences are represented).. The two members at large are elected every year.. The chair of the steering committee is determined by a simple majority of the committee members.. The conference happens annually and is currently associated with JavaOne..

    Original link path: /jgsteering.html
    Open archive

  • Title: Welcome to the Java Grande Forum's home pages!
    Original link path: /pastglory/index.html
    (No additional info available in detailed archive for this subpage)

  • Title:
    Descriptive info: 1.. Java Grande/ISCOPE Meeting How many if any tutorials? Affects financials Location of Conference ? ISCOPE Sensitive to this as traditionallly moved internationally Student Funding IBM Sun DoE NSF Keynotes Guy Steele Start process to agree Reach out to component community Rooms for breakouts and exhibits Java University for tutorials -- Eric Sharakan -- overlaps meeting Target NSF (Koelbel) and Doe (Mary Ann Scott) Have best paper and best student paper Target applications Parabon interested in submitting paper(s) Possible Themes/panels High performance Java Environments Hybrid Java/C++ Environments -- Strengths and Weaknesses  ...   february/march meeting Numerics Area Generics Agreed outside forum Overloading ? Joe Darcy Immutable/value classes ? Fast FP IBM (Snir/Moreira) Arrays IBM F90 Syntax NIST/IBM Complex Visual Numerics/Michael Phillipsen Library Framework NEW effort Concurrency etc.. OpenMP Deliver "natural" standard (Bull) MPI Declare finished (Getov/Carpenter) RMI Cannot change specification but can develop fast implementations on specific platforms Need to test (Gannon/Phillipsen) Benchmarking EPCC working away and making progress with comparative (C) implemedntations Portals Keep in Grid Forum go for JSR in MPI and later openMP JSR needs a champion and a reference implementation..

    Original link path: /jgatsc00.txt
    Open archive

  • Title: Java Grande SC98 Home Page
    Descriptive info: Welcome.. to the.. Java Grande Forum.. Station.. at Sun Microsystems Booth.. SC 98 - Orlando, Florida.. Looking for.. Technical Reports.. ?.. Meet members of the JGF at Sun Microsystems' Booth.. Ronald F Boisvert - Denis Caromel - Bryan Carpenter.. Geoffrey Fox - Dennis Gannon - Vladimir Getov.. David Henty - Tomasz Haupt - Piyush Mehrotra.. Cleve Moler - Jose Moreira - Srilekha Mudumbai.. Frank Pietryka - Mark Snir - George K.. Thiruvathukal.. Anne E Trefethen - Julien Vayssiere.. Gregor von Laszewski - Martin Westhead.. Guansong Zhang.. and other participants!.. Demonstrations and Descriptions:.. contact person:.. Bryan Carpenter.. NPAC, Syracuse University.. npac.. syr.. edu/projects/pcrc/HPJava/.. is an object-oriented Java interface to the standard Message Passing Interface (MPI).. The interface was developed as part of the HPJava project, but mpiJava itself does not assume any special extensions to the Java language - it should be portable to any platform that provides compatible Java-development and native MPI environments.. The current release of mpiJava provides the full functionality of MPI 1.. It is implemented as a set of JNI wrappers to native MPI packages.. Platforms currently supported include Solaris using MPICH or SunHPC-MPI, and Windows NT using WMPI 1.. We are actively developing the release and intend to add new features such as object serialization and support for additional platforms.. The Java API is defined in the document "A Draft Java Binding for MPI".. JavaMPI.. School of Computer Science,.. University of Westminster.. London, UK.. http://perun.. hscs.. wmin.. uk/CSPE/software.. html.. Towards Portable Message Passing in Java: Binding MPI.. We present a way of successfully tackling the difficulties of binding MPI to Java with a view to ensuring portability.. We have created a tool for automatically binding existing native C libraries to Java, and have applied the Java--to--C Interface generating tool (JCI) to bind MPI to Java.. The approach of automatic binding by JCI ensures both portability across different platforms and full compatibility with the MPI specification.. To evaluate the resulting combination we have run a Java version of the NAS parallel IS benchmark on a distributed--memory IBM SP2 machine.. Srilekha Mudumbai.. Lawrence Berkeley National Laboratory.. http://www-itg.. lbl.. gov/Akenti/.. Akenti.. is a security model and architecture that is intended to provide scalable security services in highly distributed network environments.. The project goals are:.. t.. o achieve the same level of expressiveness of access control that would be accomplished through a local human controller in the decision loop.. to accurately reflect the existing policy: authority, delegation, and responsibility present in these environments.. The approach makes use of:.. digitally signed certificates capable of carrying:.. user identity authentication.. resource usage requirements ("use-conditions").. user attribute authorizations ("attribute certificates").. delegated authorization.. authorization decisions split among on-line and off-line entities.. Tomasz Haupt..  ...   Institute of Standards and Technology.. http://math.. nist.. gov/javanumerics/jama/.. is a basic linear algebra package for Java.. It provides user-level classes for constructing and manipulating real, dense matrices.. It is meant to provide sufficient functionality for routine problems, packaged in a way that is natural and understandable to non-experts.. It is intended to serve as the standard matrix class for Java, and will be proposed as such to the Java Grande Forum and then to Sun.. A straightforward public-domain reference implementation has been developed by the MathWorks and NIST as a strawman for such a class.. We are releasing this version in order to obtain public comment.. There is no guarantee that future versions of JAMA will be compatible with this one.. JAMA is comprised of six Java classes: Matrix, CholeskyDecomposition, LUDecomposition, QRDecomposition, SingularValueDecomposition and EigenvalueDecomposition.. extreme.. indiana.. edu/pseware/.. DPSE-CAT.. is a distributed problem solving environment component architecture toolkit.. The component model for the CAT is based on a java bean-like architecture that allows programmers to dynamically compose scientific computations written in either Java or HPC++ into a single distributed application.. the individual software components are objects that interoperate by means of the Java RMI semantics.. However, the actual implementation of RMI is over the Globus/Nexus communication system.. The CAT also contains a Java based information browser that lets the user have access a distributed directory of Java and HPC++ components.. Future version of DPSE-CAT will integrate Java Jini technology with Globus serevices and will support the DOE2000 Common Component Architecture model currently under design.. gov/scimark/.. SciMark.. is a composite Java benchmark measuring the performance of numerical kernels occurring in scientific and engineering applications.. It consists of five kernels which typify computational routines commonly found in numeric codes: FFT, Jacobi relaxation, sparse matrix-multiply, Monte Carlo integration, and dense LU factorization.. These kernels are chosen to provide an indication of how well the underlying JVM/JITs perform on applications utilizing these types of algorithms.. The problems sizes are purposely chosen to be small in order to isolate the effects of memory hierarchy and focus on internal JVM/JIT and CPU issues.. SciMark scores are normalized to a Sun SPARC 10 running Netscape Navigator 4.. 04 (SciMark = 1.. 0) A SciMark of 3.. 0 indicates execution time that is 3 times faster than the reference system.. SciMark is packaged as a Java applet which can be downloaded from the.. SciMark Web page.. Results can be returned to NIST for display in a list of contributed results.. Java Grande Forum Technical Reports.. JGF-TR-1: Making Java Work for High-End Computing.. JGF-TR-2: Desktop Access to Remote Resources.. HTML.. JGF-TR-3: MPI for Java: Position Document and Draft API Specification.. Return to.. top.. of document.. javagrande.. org/..

    Original link path: /jgsc98/index.html
    Open archive

  • Title: Java Grande Charter from Summer 1998
    Descriptive info: The Java Grande Forum Charter 1998.. Executive Summary.. This document describes the.. and includes its initial deliverables.. These are reports that convey a succinct set of recommendations from this forum to Sun Microsystems and other purveyors of Java technology that will enable Grande Applications to be developed.. The notion of a.. Grande Application.. (GA) is familiar to many researchers in academia and industry but the term is new.. In short, a GA is any application, scientific or industrial, that requires a large number of computing resources, such as those found on the Internet, to solve one or more problems.. Examples of Grande Applications are presented in this report as well as a discussion of why we believe Java technology has the greatest potential to support the development of Grande Applications.. The forum is motivated by the notion that Java could be the best possible Grande application development environment and the extensive use of Java could greatly help the large scale computing and communication fields.. However this opportunity can only be realized if important changes are made to Java in its libraries, language and perhaps Virtual Machine.. The major goal of the forum is to clearly articulate the current problems with Java for Grande Applications and detail the requirements, analysis and suggestions for specific changes.. It will also promote and energize widespread community activities investigating the use of Java for Grande Applications.. The forum is open and operates with a mix of small working groups and public dissemination and request for comments on its recommendations The recommendations of the forum are intended primarily for those developing Java Grande base resources such as libraries and those directly influencing the direction of the Java language proper.. (Presently, this implies Sun Microsystems or any standards body that may be formed.. ).. Mission and Goals.. Java has potential to be a better environment for Grande application development than languages such as Fortran and C++.. The goal of the Java Grande Forum (hereafter, JGF) is to develop community consensus and recommendations for either changes to Java or establishment of standards (frameworks) for Grande libraries and services.. 1.. Introduction.. The remainder of this document is dedicated to addressing the following questions.. What is a Grande Application?.. What is an example of a Grande Application?.. What makes a Grande Application different from other applications?.. Why do we insist on Java?.. Are we saying there is no room for other languages?.. What is the Java Grande Forum?.. How can my organization or I participate?.. When is the next meeting?.. How can I participate?.. What is expected?.. What are the planned deliverables?.. Following the discussion of these general questions, we present the preliminary reports of the two JGF working groups: the Numerics group and the Applications/Frameworks group.. 1 Grande Applications.. This section addresses the questions of immediate interest: What is a Grande Application? What is an example of a Grande Application? Why are Grande Applications important? After this, we will discuss the relevance of Java.. Grande Applications are suddenly everybody s interest.. The explosive growth of the number of computers connected to the Internet has led many researchers and practitioners alike to consider the possibility of harnessing the combined power of these computers and the network connecting them to solve more interesting problems.. In the past, only a handful of computational scientists were interested in such an idea, working on the so-called grand challenge problems, which required much more computational and I/O power than found on the typical personal computer.. Specialized computing resources, called parallel computers, seemingly were the only computers capable of solving such problems in a cost-effective manner.. The advent of the more powerful personal computers, faster networks, widespread connectivity, etc.. has made it possible to solve such problems even more economically, simply by using one s own computer, the Internet, and other computers.. With this background, a Grande Application is therefore defined as an application of large-scale nature, potentially requiring any combination of computers, networks, I/O, and memory.. Examples are:.. Commercial:.. Datamining, Financial Modeling, Oil Reservoir Simulation, Seismic Data Processing, Vehicle and Aircraft Simulation.. Government.. : Nuclear Stockpile Stewardship, Climate and Weather, Satellite Image Processing, Forces Modeling,.. Academic.. : Fundamental Physics (particles, relativity, cosmology), Biochemistry, Environmental Engineering, Earthquake Prediction.. Grande Applications may be categorized in several ways:.. High Performance Network Computing.. Scientific and Engineering Computations.. Distributed Modeling and Simulation (as in DoD DMSO activities.. Parallel and Distributed Computing.. Data Intensive Computing.. Communication and Computing Intensive Commercial and Academic Applications.. HPCC Computational Grids (e.. g.. , Globus and Legion).. 2 Java for Grande Applications.. A question that naturally arises is why use Java in Grande applications? The Java Grande Forum believes that, more than any other language technology introduced thus far, Java has the greatest potential to deliver an attractive productive programming environment spanning the very broad range of tasks needed by the Grande programmer.. Java offers from a combination of its design features and the ready availability of excellent Java instructional material and development tools.. The Java language is not perfect; however, it promises a number of breakthroughs that have eluded most technologies thus far.. Specifically, Java has the potential to be written once and run anywhere.. This means, from a consumer standpoint, that a Java program can be run on virtually any conceivable computer available on the market.. While this could be argued for C, C++, and FORTRAN, true portability has not been achieved in these languages, save by expert-level programmers.. While JGF is specifically focused on the use of Java to develop Grande Applications, the forum is not concerned with the elimination of other useful frameworks and languages.. On the contrary, JGF intends to promote the establishment of standards and frameworks to allow Java to use other industry and research services, such as Globus and Legion.. These services already provide many facilities for taking advantage of heterogeneous resources for high-performance computing applications, despite having been implemented in languages other than Java.. 3 Java Grande Forum Process and Membership.. The forum intends a set of working meetings with a core group of active participants.. These will produce reports, which are reviewed in public forums and transmitted appropriately within the cognizant bodies within the Java and computational fields.. The summary of our last meeting in section.. 4 illustrates our approach.. Our first major public meeting will be held on November 13,98 as a 3 hour panel session at SC98 in Orlando.. For more information on the forum itself and to provide comments, please direct e-mail to the academic coordinator (.. ); liaisons with Sun Microsystems (.. John Reynders.. ); Numerics working group leads (.. ); and Applications/Concurrency working group leads (.. ).. You may also wish to visit our web site, located at.. http:///www.. org.. , which provides information about the Java Grande Forum activities, products, and upcoming events.. See also.. gov/javanumerics/.. Two relevant mailing lists are.. for current forum members and.. for a more general open group of individuals interested in this area.. 4 Summary of the May 9-10 1998 Java Grande Forum Meeting.. The Second Java Grande Forum meeting was held May 9-10 98 in Palo Alto.. It was sponsored by Sun Microsystems (Siamak Hassanzadeh), and coordinated by Geoffrey Fox with George Thiruvathukal as secretary.. The first meeting of the Forum was March 1998.. Both of the initial meetings had over 30 participants from academia, industry and government.. The meeting started with technology updates from Sun (their Hotspot optimizing compiler and the Java Native code Interface JNI) and IBM (Marc Snir on the performance of Java in scientific computing).. Then we pursued the classic mix of parallel and plenary sessions using two working groups:.. Numerics and Libraries.. led by Roldan Pozo and Ron Boisvert of NIST and.. Applications and Concurrency.. led by Dennis Gannon from Indiana.. Both groups made good progress and their reports were made available by early June.. These are used here to build the Charter document defining the Forum.. After appropriate review of our suggestions by key scientific computing communities, we expect to submit a set of near term action items to JavaSoft.. These will contain our proposals in the areas described in section 1.. 5 and will relate our numerics proposals to the presentations by James Gosling at SC97 and "Java Grande 98" (Feb28-Mar 1).. Our proposal to JavaSoft will also discuss the Java VM and RMI enhancements summarized in section 1.. 6, needed for scaling Java to large-scale concurrent applications.. We divided our action items into three categories.. Proposals to JavaSoft as discussed above.. These were further divided into either essential or desirable.. Community activities to produce infrastructure and standards.. Community research which will clarify the value of new activities of type 1) and 2).. Action items of type 2) include standard interfaces and reference implementations for Java libraries of Math functions, matrix algebra, signal processing etc.. We also proposed a Java Grande application benchmark suite with kernels and more substantial applications.. There was significant discussion of the importance of a "Java Framework for computing" -- a set of interfaces to support seamless computing or the ability to run a given job on any one of many different computers with a single client interface.. A typical community research activity is the study of the scaling of the Java Virtual Machine to large applications or understanding the tradeoffs between Java thread and distributed VM forms of parallelism.. 5: Numerics Working Group Summary.. Section 2 contains full details.. This working group is currently studying:.. Core Java Language and Virtual Machine Issues.. Complex Arithmetic.. Lightweight classes.. Operator Overloading.. Optimal Use of Hardware.. 6: Applications and Concurrency Working Group Summary.. Section 3 contains full details.. The working group is currently studying:.. Java VM Scaling for Large Number of Threads.. Support for Native Threads and Lightweight Processes.. Memory and Synchronization Performance.. Java RMI and Serialization.. A new Java Grande Application Benchmark Set.. Parallel Computing API s.. Seamless Grande Computing Home.. 2:.. Draft Report of the Numerics Working Group (May 26, 1998).. Goals and Mission of Numerics Working Group.. If Java is to become the environment of choice for high-performance scientific applications, then it must provide, for large scale floating-point computations, performance comparable to what is achieved in currently used programming languages (C or Fortran).. In addition, it must have language features and core libraries that enable the convenient expression of mathematical algorithms.. The goal of this working group is to assess the suitability of Java for numerical computation, and to work towards community consensus on actions which can be taken to overcome deficiencies of the language and its run-time environment.. In this report, we present preliminary findings of the working group.. 2.. 1: CRITICAL JAVA LANGUAGE AND JAVA VIRTUAL MACHINE ISSUES.. We begin by outlining critical issues that impede Java's effectiveness in applications that are dominated by the use of floating-point arithmetic.. Unless these issues are satisfactorily resolved, it is unlikely that the numerical computation community will accept Java.. This can impact the entire Java enterprise by slowing the dissemination of high quality components for solving commonly occurring mathematical and statistical problems.. For each issue, we present solutions recommended by the working group.. In selecting such solutions, the working group has been careful to balance the needs of the numerical community with those of Java's wider audience.. The proposed solutions require additions to the current Java and JVM design.. We have tried to minimize the changes required in Java, relying on compiler technology, whenever feasible.. This minimizes the changes that affect all Java platforms, and enable implementers to optimize for high numerical performance only in those environments where such an effort is warranted.. ISSUE 1: Complex Arithmetic.. Requirement.. : The Complex field is an essential tool in the analysis and solution of mathematical problems in all areas of science and engineering.. Thus, it is essential that the use of complex numbers be as convenient and efficient as the use of floats and doubles.. Possible Solutions:.. The obvious solution is to develop a straightforward complex class with methods for each arithmetic operation and use such objects as needed.. There are several reasons why this approach fails.. (a) The object overhead of complex methods makes them unacceptably inefficient.. (b) The semantics of complex objects are different from those of floats and doubles.. For example, the = and == operators manipulate references rather than values.. Such differences lead to many errors.. (c) Use of method calls for elementary arithmetic operations leads to inscrutable code, which is very tedious to write and debug.. Users would simply stay away.. The ideal solution is to add new base complex types to the language on par with float and double.. This, of course, requires a significant change in the language and in JVM to satisfy the needs of a relatively small community.. In particular, it requires the addition of a significant number of new opcodes.. An alternative solution acceptable to the working group requires that the following actions occur:.. (1) A complex arithmetic package be developed and included as a core Java package, perhaps as a subpackage in Java.. math.. Such a package will support assignment by value, and standard arithmetic operations and relations on complex values.. (2) Use of these classes is made as efficient as float or double.. This may require an extension to Java and JVM in support of lightweight classes; see following sections.. This also requires the cooperation of compiler writers to use the opportunity provided to generate efficient code.. (3) Operator overloading can be used to bind natural notation for arithmetic, logical and assignment operators to the methods of the complex classes; see following sections.. This alternate suite of changes requires fewer changes to Java and JVM, but will require more compilation efforts for an efficient implementation.. Lightweight classes and operator overloading are general mechanisms, which can satisfy the needs of many groups for alternate arithmetic systems, such as interval and multiple precision.. In addition to complex arithmetic, the Java.. math library should be extended to support complex transcendental functions.. The current proposal assumes that complex numbers are pairs of doubles.. It is deemed acceptable (at least initially) not to support complex numbers with float components.. ISSUE 2: Lightweight classes.. Requirement:.. Implementation of alternative arithmetic systems, such as complex, interval, and multiple precision requires the support of new objects with value semantics.. Compilers should be able to inline methods that operate on such objects and avoid the overheads of additional dereferencing.. In particular, lightweight classes are critical for the implementation of complex arithmetic as described in Issue 1.. A lightweight class is final.. It holds a value and supports deep assignments and deep comparisons (who work on the object value, not its reference).. a.. assign(b), assigns to object a the value of object b.. equals(b), tests that objects a and b have the same value.. Lightweight objects will usually support additional unary and binary operators.. Note that there is no requirement for lightweight classes to be immutable (i.. instance variables need not be final).. Immutability would lead to unnecessary copying, preventing the updating of array of objects in place, which is a key need of the numerical community.. Possible Solutions:.. There are two alternatives to the design of lightweight objects.. (1).. Lightweight objects are new types of objects in the Java language.. They are explicitly declared as such.. A lightweight object is always accessed by value, as if it had a primitive Java type.. : e.. , the value of a complex variable is a complex number, not an object reference.. Instances of lightweight objects can be assigned (using the assign operator) and can be compared (using the equals operator).. On the other hand, if v is an instance of a lightweight object, then v = null or v == null are illegal expressions.. Lightweight objects are passed by value in method invocations.. Methods on such objects cannot be synchronized.. It is expected that compilers will inline invocations of standard methods (assign, equals,.. ) on such objects.. (2).. Lightweight objects are regular Java objects, and are accessed by reference.. Since they are final, and since the Java (back end) compiler has full knowledge of the semantics of the methods applied on these objects, it is expected that compilers will inline invocations of assign, equals and other predefined methods.. The first scheme is likely to lead to the best performance: one always saves the storage required for a Java object: a complex will always require two words of storage, no more.. No additional referencing is needed to access an object value.. Garbage collection for such objects is simplified.. On the other hand, this scheme seems to require significant changes in the Java language and the JVM.. For example, the JVM instruction set does not support method invocations that return non-scalar values.. It does not support arrays with entries that are not of a primitive  ...   within page boundaries: contiguous pages are not necessarily contiguous in real memory.. (ii) a strict requirement that arrays be stored contiguously would require changes in JVM.. Therefore, the weaker requirement that access be as efficient as if the arrays are stored in canonical order.. As for the storage order, one can follow two approaches.. There is a unique storage order, e.. , row major.. Arrays can be stored in distinct orders.. For example, storage order could be specified when the array is instantiated.. Possible choices would be (i) row major (C order), for better performance when native C methods are invoked; (ii) column major (Fortran order), for better performance when native Fortran methods are invoked; (iii) block major, for block oriented, recursive algorithms.. A default, row-major layout would be used when users do not specify layout.. 2: DEVELOPMENT OF CORE CLASSES AND INTERFACES FOR NUMERICAL COMPUTING.. The numerics working group has agreed to begin the development of a variety of core numerical classes and interfaces to support the development of substantial Java applications in the sciences and engineering.. The main purpose of this work is to standardize the interfaces to common mathematical operations.. A reference implementation will be developed in each case.. The purpose of the implementation will be to document clearly the class and its methods.. Although we expect these to be reasonably efficient, we expect that highly tuned implementations or those relying on native methods will be developed by others.. Also, the simple methods, such as get or set, will not provide reasonable performance unless they are inlined, because the method invocation overhead will be amortized over very few machine instructions.. Unless otherwise specified, we will initially only define classes based on doubles, since computations with Java floats are less useful in numerical computing.. The classes identified for first consideration, are the following.. We expect to have the first three fully developed this year, with the others to follow soon after.. (a) Complex.. This implements a complex data type for Java as described above.. It includes methods for complex arithmetic, assignment, as well as the elementary functions.. Contacts.. : John Brophy, Visual Numerics, and Marc Snir, IBM.. (b) Multidimensional arrays.. This implements one, two and three-dimensional arrays for Java as described above.. : Marc Snir, IBM and Roldan Pozo, NIST.. (c) Linear algebra.. This implements matrices (in the linear algebraic sense) and operations on matrices such as the computation of norms, standard decompositions, the solution of linear systems, and eigenvalue problems.. A strawman proposal has already been developed here and will be released for comment soon.. : Cleve Moler, The MathWorks, Roldan Pozo, NIST, and Ron Boisvert, NIST.. (d) Basic Linear Algebra Subroutines (BLAS).. These implement elementary operations on vectors and matrices of use to developers of linear algebra software (rather than to average users).. This work will be done in conjunction with the BLAS Technical Forum.. : Roldan Pozo, NIST, Keith Seymour, University of Tennessee and Steve Hague, NAG.. (e) Higher Mathematical Functions.. This includes functions such as the hyperbolics, erf, gamma, Bessel functions, etc.. : Ron Boisvert, NIST and John Brophy, Visual Numerics.. (f) Fourier Transforms.. This includes not only a general complex transform, but specialized real, sine and cosine transforms.. Contact.. : Lennart Johnsson, University of Houston.. (g) Interval Arithmetic.. This implements an interval real data type for Java.. It includes methods for interval arithmetic, assignment, as well as elementary functions.. : Dmitri Chiriaev, Sun.. (h) Multiprecision Arithmetic.. This implements a multiprecision real data type for Java.. It includes methods for arithmetic, assignment, as well as elementary functions.. : Sid Chatterjee, University of North Carolina.. The working group will review these proposals and open them up for public comment.. It will also set standards for testing and documentation for numeric classes.. It will work with Sun and others to have such classes widely distributed.. 3: OTHER ISSUES.. The following problems were discussed by the forum, but no formal position was taken.. Alternative definition of the Java.. math library of transcendental functions.. The current operational definition is imprecise and suboptimal (the functions are defined in terms of bitwise compatibility with a particular implementation).. Alternative definitions are (i) precise rounding -- result is as if computed in infinite precision arithmetic, next rounded; (ii) within fixed bound of precise result; or (iii) improved operation definition.. The first definition is very desirable if it can be achieved with acceptable performance overhead.. The second weakens bitwise reproducibility.. Note that current Java implementations are not in strict adherence to this aspect of the Java standard: most JVMs use their native C math library.. Improved native interfaces between Java and Fortran.. (3).. Extensions to support multiple NaN values.. This seems to be already in the making.. 4: MEMBERS OF THE NUMERICS WORKING GROUP.. The following individuals contributed to the development of this document at the Java Grande Forum meeting on May 9-10 in Palo Alto, California.. Ronald Boisvert.. , NIST, Co-chair.. John Brophy, Visual Numerics.. Sid Chatterjee, University of North Carolina.. Dmitri Chiriaev, Sun.. , Syracuse University.. Steve Hague, NAG.. , Sun.. Lennart Johnsson, University of Houston.. Keith Seymour, University of Tennessee.. Nik Shaylor, Sun.. Marc Snir, IBM.. George K.. , DePaul University.. The following additional individuals also contributed comments, which helped in the development of this document.. Susan Flynn-Hummel, IBM.. Roger Golliver, Intel.. William Kahan, University of California, Berkeley.. Cleve Moler, The MathWorks.. Jose Moreira, IBM.. Sam Midkiff, IBM.. 3:Draft Report of Applications and Concurrency Working Group (June 7, 1998).. Motivation and Goals of Applications and Concurrency Working Group.. The primary concern of Java Grande is to ensure that the Java language, libraries and virtual machine can become the implementation vehicle of choice for future scientific and engineering applications.. The first step in meeting this goal is to implement the complex and numerics proposals described in the previous sections.. Accomplishing this task provides the essential language semantics needed to write high-quality scientific software.. However, more will be required of the Java class libraries and runtime environment if we wish to capitalize on these language changes.. It is possible that many of the needed improvements will be driven by commercial sector efforts to build server-side enterprise applications.. Indeed, the requirements of technical computing overlap with those of large enterprise applications in many ways.. For example, both technical and enterprise computing applications can be very large and they will stress the memory management of the VM.. The demand for very high throughput on network and I/O services is similar for both.. Many of the features of the Enterprise Bean model will be of great importance to technical computing.. However, there are also areas where technical computing is significantly different from Enterprise applications.. For example, fine grain concurrency performance is substantially more critical in technical computing where a single computation may require 10,000 threads that synchronize in frequent, regular patterns.. These computations would need to run on desktops as well as very large, shared memory multiprocessors.. In technical applications, the same data may be accessed repeatedly, while in enterprise computing there is a great emphasis on transactions involving different data each time.. Consequently, memory locality optimization is may be more important for Grande applications than it is elsewhere in the Java world.. Some technical applications will require the ability to link together multiple VMs concurrently executing on a dedicated cluster of processors which communicate through special high performance switches.. On such a system, specialized, ultra-low latency versions of the RMI protocol would be necessary.. It is also important to observe that there are problems, which can be described as technical computing today which will become part of the enterprise applications of the future.. For example, images analysis and computer vision are closely tied to application of data mining.. The processing and control of data from arrays of sensors has important applications in manufacturing and medicine.. The large-scale simulation of non-linear mathematical systems is already finding its way into financial and marketing models.. While it is too soon for us to say exactly where a Grande Bean will differ from its Enterprise cousin, it is not too soon to begin working on it.. In the pages that follow we describe two areas where critical improvements are needed and, where possible, make suggestions as to the solutions.. We also propose three new community activities which, if successful, can open Java to new areas of technical computing and a new approach to technical problem solving that can profoundly impact both education and industry.. The first activity involves the construction of a suite of benchmark applications that can be used as guideposts for the Java VM and compiler development community.. The benchmarks will fall into two categories.. Kernel benchmarks will help provide insight into potential performance and scalability problems with the core Java technology.. Application benchmarks will be designed to provide accurate information about how Java implementations compare to native C/C++/Fortran versions of the same program.. The second activity of the Grande Applications and Concurrency group will be to define an API for parallel application in Java.. This may take the form of a set of design patterns or it may be a specification for Grande Beans.. The third activity is called the requirements and specification for "seamless computing environments".. 3.. 1: Initial Concerns and Core Technology.. There are two areas of initial concern about the core Java technology.. The first involves scalability of the virtual machine and the second involves the performance of the Java RMI.. We treat each of these in turn below.. 1: The Java VM.. Technical computing often involves application components that require multi-gigabyte images.. Unfortunately, many current VM implementations have restrictions on the size of application heap and many others demonstrate poor memory management and garbage collection performance.. The Grande team will implement a series of Kernel benchmarks that test the scalability of VM implementations.. Other features of the VM that are potential show stoppers when not implemented with efficiency and scalability in mind include:.. Large numbers of threads.. The scalability of thread synchronization as the number and size of thread objects grow.. Support for native threads and light weight process structures.. that are tuned for high-end SMPs with 32 or more processors.. Memory and synchronization primitive performance.. on distributed, cache-coherent multiprocessors with non-uniform access time, multi-level memory architectures.. Each of these VM properties can have a dramatic impact on our ability to construct Grande applications.. However, they are not likely to effect the specification or semantics of the VM design.. Consequently, the goal of the benchmark is to make it easier to spot where implementation decisions impact scalable performance.. 2: Java RMI and Serialization.. The Java Remote Method Invocation (RMI) is the most sophisticated and elegant RPC mechanism yet designed.. It takes full advantage of the Java language and object model.. It is ideally suited to many Grande applications.. However, the design is not without some flaws and implementations suffer from serious performance limitations.. While it works well for communicating small object over the commodity Internet, Grande applications that require moving multi-megabyte objects between distributed components over the next generation, high-speed networks such as the vBNS there are serious problems.. The Grande Kernel Benchmark for RMI will provide a series of tests that will allow implementers to see both the types of communications that are common in these technical applications and provide feedback on the performance of their implementation.. Object Serialization is an important and critical feature of Java.. It is central to persistence in the Java component architectures and it is also fundamental to the RMI object marshaling and un-marshaling.. However, in technical application where RMI arguments are often large arrays of relatively simple objects, many optimizations can be made in the serialization process.. In addition for many scientific application, it is not always necessary have a full encoding of the object type as part of the stream.. A second problem with RMI has been with the transport protocol.. In many technical application we will want to use the elegant RMI model to communicate over very specialized, high performance network protocols.. For example, SCI, ATM AAL5, Shared memory, Myrinet, Fast Messages and Active Messages are all used in technical applications.. The current 1.. 2 beta 3 version of JDK provides a customizable socket layer.. Hence, it should be possible to support some of these protocols with that technique.. However, some of the fast message protocols like FM and Nexus are not socket level interfaces but support special forms of remote service requests.. In these cases, a high level API is needed to easily layer RMI over them.. It has been shown that it is possible to design fast, highly-specialized forms of serialization and to re-host RMI over other special purpose wire protocols.. It may also be possible to build a smart, adaptive serialization/RMI protocol that uses knowledge about the context of the transaction to select the appropriate and available mechanism to use.. However, at this point this remains a Grande Community research project and the Grande group looks forward to working with Sun and it other partners on it.. 2: The Grande Application Benchmarks.. In addition to the Kernel VM and RMI benchmarks described above, the Grande Applications and Concurrency group has identified a series of real technical applications that can be provided to the community to support compiler and VM optimization efforts.. This project has goals similar to the original NAS, Splash and Perfect Benchmarks, which were used by the high performance computer and compiler designers to gauge their progress.. In the case of the Perfect Benchmarks, many of them are now being integrated into the SPEC suite, which is the standard for the industry.. The Grande benchmarks should play the same role in the Java computing industry.. The proposed benchmarks will include:.. Monte Carlo Simulations.. Image Analysis.. Gravitational N-Body Simulations.. Computational Fluid Dynamics.. Geophysics.. Discrete Event Simulation.. Each benchmark will be instrumented and have a standard input data sets and configuration.. The benchmark will report success or failure at achieving the correct final state and report on different aspects of the performance relative to a C++ or Fortran program that implements the same computation.. As with the NAS suite, each benchmark will contain a small-test, medium and large scale input data set/configuration.. 3: The Parallel Computing API.. The role parallel computation plays in high performance technical computing cannot be under estimated.. There are at several ways to building a Java parallel computing environments.. One approach is to take the experience of the last ten years of parallel programming and build a set of Grande-parallelism design patterns that can be cast as a set of interfaces and base classes that simplify the task of writing parallel Java Grande applications.. This API can then be hosted on a set either of concurrently executing VMs or in an environment where large numbers of native threads are well supported.. Such an API may be as simple as defining a truly object oriented version of MPI, or it may define a new category of distributed object aggregates and collective operations.. A second approach that may be more consistent with current Java directions would be to design a Grande Bean specification that extends the basic Bean model to one appropriate for technical applications.. This would follow what has been done with Enterprise Beans for transaction oriented business applications.. The Enterprise Beans model has allowed CORBA based resources to be woven into unified component model.. Grande beans can build upon this to incorporate high end, parallel computational modules and visualization and VR tools into a grid of resources controlled by the VM on the users desktop system.. 4: Seamless Grande Computing.. For the average scientist and engineer one of the greatest difficulties in doing large-scale computation is constant struggle required to port applications to a new environment.. This involves the following tasks:.. Dealing with authentication and authorization at a remote site.. Finding the required libraries to be able to link the application.. Understand the batch scheduler.. Moving files from one site to the new one and then moving results back.. Comprehending the local parallel file system.. Cataloging and recording application changes and experimental results.. A seamless technical computing environment would allow a Java based programming environment that could provide a uniform interface to all these remote resources.. Java based agents can be installed at each site which cooperate with the user and guide him through the resource discovery and authorization process and provide an Integrated Development Environment for using these remote resources.. It is possible that such a system can be built on top of some of the existing and emerging meta-computing infrastructures.. Many of these provide the tool kit and components to build on, and a few have partial solutions to the problems listed above.. With a collective effort of the Grande team, it should be possible to do much more..

    Original link path: /jgcharter.html
    Open archive

  • Title: Java Grande
    Original link path: /leapforward/JavaWorldInterview99.html
    (No additional info available in detailed archive for this subpage)

  • Title: Faster Serialization and Faster RMI for Java
    Descriptive info: Faster Serialization and Faster RMI for Java.. 12/5/00.. Click here to start.. Table of Contents.. PPT Slide.. UKA Serialization: 5 key ideas.. Benchmark Results.. Conclusion & Future.. Author:.. Christian Ried.. Email:.. fox@csit.. Home Page:.. http://aspen.. csit.. Download presentation source..

    Original link path: /leapforward/mprmiiscope99/index.htm
    Open archive

  • Title: Common Component Architecture for High-Performance Computing
    Original link path: /leapforward/armstrongiscope99/index.htm
    (No additional info available in detailed archive for this subpage)

  • Archived pages: 272