Bibliography

1
OpenMP: A Proposed Standard API for Shared Memory Programming.
white paper, October 1997.
http://www.openmp.org/specs/mp-documents/paper/paper.ps cache: ../../archive/openmp-whitepaper.ps.gz.

2
IPDPS 2000: 14th International Parallel and Distributed Processing Symposium 1-5 May 2000 Cancun, Mexico: Proceedings. IEEE Computer Society, August 2000.
ISBN: 0769505740, http://ieeexplore.ieee.org/xpl/RecentCon.jsp?puNumber=6818.
http://www.ipdps.org/ipdps2000/ipdps2000.htm

3
Multi-Threading in IDL.
white paper, 2001.
http://www.researchsystems.com/idl/mthread56.pdf cache: ../../archive/mthread56.pdf.

4
Proceedings of the ACM/IEEE SC2003 Conference, Phoenix, Arizona, November 2003.
http://www.sc-conference.org/sc2003/tech_papers.php.

5
Chapel Specification (version 0.4).
draft, February 2005.
http://chapel.cs.washington.edu/specification.pdf cache: ../../chapel_specification_0.4.pdf.
See the chapel website: http://chapel.cs.washington.edu/

6
David Abramson, Jon Giddy, and Lew Kotler.
High Performance Parametric Modeling with Nimrod/G: Killer Application for the Global Grid?
[2], pages 520-528.
http://www.csse.monash.edu.au/~davida/papers/ipdps.pdf cache: ../../archive/ipdps.pdf.
Nimrod is a parametric modeling system, which uses a declarative language to describe parametric experiments. Nimrod takes this description and automates the running of various formulations of the experiment, and collates the results. A scheduler distributes tasks to idle cluster nodes. Shortcomings for the use of Nimrod on global grids include the lack of dynamic discovery of resources, the lack of a user deadline notion, the reliance on the standard UNIX security model, and the lack of support for a wide range of access mechanisms/queue managers. The paper describes a new version of Nimrod, named Nimrod/G which aims at overcoming these problems.

7
David Abramson, Andrew Lewis, and Tom Peachey.
Nimrod/O: A Tool for Automatic Design Optimization.
In Goscinski et al. [81].
http://www.csse.monash.edu.au/~davida/papers/nimrodo.pdf cache: ../../archive/nimrodo.pdf.
Nimrod/O is a front-end which uses the Nimrod API, adding support for non-exhaustive optimization algorithms.

8
W. Allcock, J. Bester, J. Bresnahan, S. Meder, P. Plaszczak, and S. Tuecke.
GridFTP: Protocol Extensions to FTP for the Grid.
Technical Report GFD.20, Argonne National Laboratory, April 2003.
http://www.ggf.org/documents/GWD-R/GFD-R.020.pdf cache: ../../archive/GFD-R.020.pdf.
This document describes and defines the GridFTP protocol, a file transfer protocol that aims to satisfy the specific requirements of grid applications, which aren't met by standard protocols (HTTP/FTP). As the name implies, GridFTP is an extension of FTP. Extensions over standard FTP include secure authentication, parallel transfers (multiple streams between the two endpoints of, communication), striped transfers ("many to many" streams of data transfer).

9
Eric Allen, David Chase, Victor Luchangco, Jan-Willem Maessen, Sukyoung Ryu, Guy L. Steele Jr., and Sam Tobin-Hochstadt.
The Fortress Language Specification.
Technical Report 0.618, Sun Microsystems, April 2005.
http://research.sun.com/projects/plrg/fortress0618.pdf cache: ../../archive/fortress0618.pdf.

10
P.V. Artigas, M. Gupta, S.P. Midkiff, and J.E. Moreira.
High Performance Computing in Java: Language and Compiler Issues.
Technical Report RC21482, IBM T.J. Watson Research Center, May 1999.
http://domino.watson.ibm.com/library/CyberDig.nsf/a3807c5b4823c53f85256561006324be/145d6feb247a35048525678600678a92?OpenDocument cache: ../../archive/RC21482.ps.gz.
IBM's implementation of efficient true multi-dimensional arrays, with discussion of compiler techniques required to retain this efficiency and also how to create exception-free regions of code that can be heavily optimized. In four benchmarks this gives a large improvement in efficiency compared to all other Java implementations.

11
Calvin Austin.
J2SE 1.5 in a Nutshell.
Sun Developer Network, February 2004.
accessed wed 21/4/2004 11am, http://java.sun.com/developer/technicalArticles/releases/j2se15/ cache: ../../archive/j2se_1.5_in_a_nutshell.html.
Examples of some of the new features in Java 1.5.

12
John Baker, Carsten Gundlach, Ginny Hudak-David, Sai Iyer, Paul Lamping, Nancy Tran, and Ed Seidel.
Cactus 4.0 Users' Guide.
Albert Einstein Institute, Max Planck Institute for Gravitational Physics, revision 1.45 edition, January 2004.
http://www.cactuscode.org/Guides/Stable/UsersGuide/UsersGuideStable.ps cache: ../../archive/cactuscode_UsersGuideStable.ps.gz.

13
Mark Baker, Rajkumar Buyya, and Domenico Laforenza.
The Grid: International Efforts in Global Computing.
In Proceedings of SSGRR 2000, August 2000.
http://www.cs.mu.oz.au/~raj/papers/TheGrid.pdf cache: ../../archive/TheGrid.pdf.
Introduction to Grid computing and some of the various groups involved in the area.

14
Mark Baker and Bryan Carpenter.
MPJ: A Proposed Java Message Passing API and Environment for High Performance Computing.
In IPDPS Workshops, pages 552-559, 2000.
http://dsg.port.ac.uk/~mab/Papers/IPDPS00/Java/paper.ps cache: ../../archive/mpj_paper.ps.gz.
The authors of mpiJava describe their attempt at a reference implementation of MPJ. Significant future work is expected to take place in MPJ instead of mpiJava.

15
Mark Baker, Bryan Carpenter, Geoffrey Fox, Sung Hoon Ko, and Sang Lim.
mpiJava: An Object-Oriented Java interface to MPI.
In International Workshop on Java for Parallel and Distributed Computing, IPPS/SPDP, San Juan, Puerto Rico, April 1999.
http://www.hpjava.org/papers/ipps99/paper.ps cache: ../../archive/ipps99-paper.ps.

16
Mark Baker, Bryan Carpenter, and Aamir Shafi.
MPJ: Enabling Parallel Simulations in Java.
Technical report, Distributed Systems Group, University of Portsmouth, June 2005.
http://dsg.port.ac.uk/projects/mpj/docs/res/mpj-parsim.pdf cache: ../../archive/mpj-parsim.pdf.

17
Mark A. Baker, Hong Ong, and Aamir Shafi.
A Status Report: Early Experiences with the implementation of a Message Passing System using Java NIO.
Technical report, Distributed Systems Group, University of Portsmouth, UK, October 2004.
http://dsg.port.ac.uk/~shafia/res/papers/DSG_2.pdf cache: ../../archive/DSG_2.pdf.
The reference MPJ implementation appears to be relatively efficient- in the layers of the implementation that have been completed, at least. MPJ is not ready for production use, at this stage.

18
Henri Bal, Henri Casanova, Jack Dongarra, and Satoshi Matsuoka.
Application-Level Tools, chapter 24, pages 463-489.
In Foster and Kesselman [70], November 2003.
ISBN: 1-55860-933-4 http://books.elsevier.com/uk/mk/uk/subindex.asp?isbn=1558609334.
Grid application developers often do not like working with grid middleware directly, and prefer higher level abstractions. There is an obvious need for tools to suit these people (such as application scientists) in order for them to make effective use of grid technologies. This paper defines the requirements of these tools, and summarises existing solutions that aim to achieve those requirements.

19
David M. Beazley.
Advanced Python Programming.
In O'Reilly OSCON, July 2000.
http://systems.cs.uchicago.edu/~beazley/tutorial/beazley_advanced_python/advpy.pdf cache: ../../archive/advpy.pdf.

20
Brett Beeson, David G. Barnes, and Paul D. Bourke.
A distributed-data implementation of the perspective shear-warp volume rendering algorithm for visualisation of large astronomical cubes.
Publications of the Astronomical Society of Australia, 20(3):300-313, 2003.
http://www.publish.csiro.au/nid/139/issue/701.htm http://www.aus-vo.org/papertrail/papers/pasa.pdf cache: ../../archive/pasa.pdf.
The perspective shear-warp volume rendering algorithm is implemented with distributed data on a beowulf cluster. Previous distributed implementations of VR rely on all compute nodes having access to the entire input dataset.

21
Tom Bellwood, Luc Clément, David Ehnebuske, Andrew Hately, Maryann Hondo, Yin Leng Husband, Karsten Januszewski, Sam Lee, Barbara McKee, Joel Munter, and Claus von Riegen.
UDDI Version 3.0: UDDI Spec Technical Committee Specification.
Technical report, OASIS, July 2002.
http://uddi.org/pubs/uddi-v3.00-published-20020719.htm cache: ../../archive/uddi-v3.00-published-20020719.htm http://uddi.org/pubs/uddi-v3.00-published-20020719.pdf cache: ../../archive/uddi-v3.00-published-20020719.pdf.
UDDI is a method for describing and finding web service providers, web services and the technical interfaces for those services.

22
Rob H. Bisseling.
Parallel Scientific Computation: A structured approach using BSP and MPI.
Oxford University Press, 2004.
http://www.oup.co.uk/isbn/0-19-852939-2 ISBN: 0 19 852939 2.
Programming examples using both BSPlib and BSP style MPI.

23
Guy E. Blelloch.
NESL: A Nested Data-Parallel Language.
Technical Report CMU-CS-95-170, CMU, September 1995.
http://www-2.cs.cmu.edu/afs/cs.cmu.edu/project/scandal/public/papers/CMU-CS-95-170.ps.gz cache: ../../archive/CMU-CS-95-170.ps.gz.

24
Guy E. Blelloch, Jonathan C. Hardwick, Jay Sipelstein, Marco Zagha, and Siddhartha Chatterjee.
Implementation of a portable nested data-parallel language.
Journal of Parallel and Distributed Computing, 21(1):4-14, 1994.
http://citeseer.ist.psu.edu/blelloch94implementation.html cache: ../../archive/CMU-CS-93-112.ps.gz.

25
Brian Blount and Siddhartha Chatterjee.
An Evaluation of Java for Numerical Computing.
In International Symposium on Computing in Object-oriented, pages 35-46, 1998.
ftp://ftp.cs.unc.edu/pub/users/sc/papers/sp-java.pdf cache: ../../archive/sp-java.pdf.
Java is observed to be approaching traditional high performance computing languages in terms of speed. Differences between using primitive and programmer-defined types for complex numbers are quantified, suggesting that a new primitive is needed.

26
Blue Marsh Softworks.
JSwat 2.x Tutorial.
http://www.bluemarsh.com/java/jswat/docs/tutorial.html cache: ../../archive/jswat_tutorial.html.

27
Gilad Bracha, Martin Odersky, David Stoutamire, and Philip Wadler.
Making the future safe for the past: Adding Genericity to the Java Programming Language.
In 13th Annual ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA`98), October 1998.
http://homepages.inf.ed.ac.uk/wadler/gj/Documents/gj-oopsla-a4.ps.gz cache: ../../archive/gj-oopsla-a4.ps.gz.
GJ is a Java extesion providing generic types and methods. This is now a part of Java itself as of version 1.5.0 aka Java2 5.0.

The implementation described is applied by translating from the extended language to standard Java, making it trivial to mix GJ code with regular Java code.

28
Silvia Breitinger, Rita Loogen, Yolanda Ortega-Mallén, and Ricardo Peña.
Eden - Language Definition and Operational Semantics.
Technical Report 96-10, Reihe Informatik, Fachbereich Mathematik und Informatik, Philipps Universität Marburg, 1998.
http://www.mathematik.uni-marburg.de/~eden/paper/edenReport98.ps cache: ../../archive/edenReport98.ps.gz.

29
J. M. Bull and M. E. Kambites.
JOMP an OpenMP-like interface for Java.
In Proceedings of the ACM 2000 conference on Java Grande, pages 44-53, June 2000.
ISBN: 1-58113-288-3 http://portal.acm.org/citation.cfm?id=337466.

30
Mark Burgess.
Cluster Management with GNU cfengine.
Newsletter of the IEEE Computer Society's Task Force on Cluster Computing, 4(1), Fall 2002.
http://www.clustercomputing.org/index.jsp?page=/content/tfcc-4-1-burgess.shtml cache: ../../archive/cfengine.html.
A cluster management system for configuring and maintaining distributed systems.

31
William Joseph Butera.
Programming a Paintable Computer.
PhD thesis, Media Arts and Sciences, School of Architecture and Planning, February 2002.
http://www.swiss.ai.mit.edu/projects/amorphous/papers/butera-phd.pdf cache: ../../archive/butera-phd.pdf.

32
Rajkumar Buyya, Kim Branson, Jon Giddy, and David Abramson.
The Virtual Laboratory: Enabling On Demand Drug Design with the Worldwide Grid.
Concurrency and Computation: Practice and Experience, 15(1):1-25, January 2003.
http://www3.interscience.wiley.com/cgi-bin/jissue/102522535 http://www.csse.monash.edu.au/~davida/papers/vlab-drug-design.pdf cache: ../../archive/vlab-drug-design.pdf.
Nimrod/G is applied to molecular modeling for drug design, a task which is both data and compute intensive. Fortunately, this task has a high computation : communication ratio, making it suitable for distributed grid-like systems. A program is written that takes a molecule as input (the parameter), and searching for ways it might bind easily to another molecule. A declarative "plan file" describes how the parameter varies, and a computational broker decides to outsource versions of the computation with different parameter values. The grid service providers that execute this computation contact a database broker to find out where to get a copy of the input molecule they require (dynamic data discovery [6]). The compute node then performs the computation and resturns the result to the computation broker, which tallies up the results.

33
Rajkumar Buyya and Srikumar Venugopal.
Gridbus: A toolkit for service-oriented grid computing.
Newsletter of the IEEE Computer Society's Task Force on Cluster Computing, 4(2), Spring 2003.
http://www.clustercomputing.org/index.jsp?page=/content/tfcc-4-2-buyya.shtml cache: ../../archive/gridbus.html.
Gridbus is an open-source framework that aids support of distributed computational economies.

34
L.W. Cannon, R.A. Elliott, L.W. Kirchhoff, J.H. Miller, J.M. Milner, R.W. Mitze, E.P. Schan, N.O. Whittington, Henry Spencer, David Keppel, and Mark Brader.
Indian Hill C Style and Coding Standards, volume Revision: 6.0.
1990.
http://www.psgd.org/paul/docs/cstyle/cstyle.htm cache: ../../archive/indhill-cstyle.pdf.

35
Bryan Carpenter, Geoffrey Fox, Sung Hoon Ko, and Sang Lim.
Object Serialization for Marshalling Data in a Java Interface to MPI.
In Java Grande, pages 66-71, 1999.
http://citeseer.ist.psu.edu/article/carpenter99object.html cache: ../../archive/carpenter99object.ps.gz.

36
Bryan Carpenter, Vladimir Getov, Glenn Judd, Tony Skjellum, and Geoffrey Fox.
MPI for Java - Position Document and Draft API Specification.
Technical Report JGF-TR-03, Java Grande Forum, November 1998.
http://www.hpjava.org/reports/MPIposition/position.ps cache: ../../archive/position.ps.gz.
mpiJava is an (unofficial) MPI binding for Java, which follows the style of the official C++ MPI 2.0 binding. It uses JNI to interface with a native MPI installation (typically MPICH).

37
Bryan Carpenter, Vladimir Getov, Glenn Judd, Tony Skjellum, and Geoffrey Fox.
MPJ: MPI-like Message Passing for Java.
Concurrency: Practice and Experience, 12(11):1019-1038, September 2000.
http://www.hpjava.org/papers/MPJ-CPE/cpempi.ps cache: ../../archive/cpempi.ps.gz.
Begins with a summary of a number of Java MPI bindings (or approximations), and describes the Java Grande Message Passing working group's standardised MPI-like binding- named MPJ. http://dsg.port.ac.uk/projects/mpj/

38
Bryan Carpenter, Guansong Zhang, Geoffrey Fox, Xiaoming Li, Xinying Li, and Yuhong Wen.
Towards a Java Environment for SPMD Programming.
Volume 1470 of Pritchard and Reeve [128], September 1998.
http://www.hpjava.org/papers/europar98/europar.ps cache: ../../archive/europar.ps.gz.
This paper suggests steps towards a high performance Java, with some similar characteristics high performance fortran (HPF). True multidimensional arrays are added as new language primitives to Java, distinct from regular Java arrays. Distributed arrays are defined as multidimensional arrays with one or more dimensions declared to be distributed. with explicit non-local communication. This is justified as encouraging the programmer to write algorithms that exploit locality. This reduces the effort of the compiler writer, while increasing the effort of the programmer.

39
Bryan Carpenter, Guansong Zhang, Geoffrey Fox, Yuhong Wen, and Xinying Li.
Hpjava: data parallel extensions to Java, December 1997.
http://www.npac.syr.edu/projects/pcrc/doc/DOC/Java/Java98.ps cache: ../../archive/Java98.ps.

40
Brad Chamberlain.
An Introduction to Chapel: Cray Cascade's High-Productivity Language.
In AHPCRC/DARPA PGAS Conference, September 2005.
http://chapel.cs.washington.edu/ChapelForAHPCRC.pdf cache: ../../ChapelForAHPCRC.pdf.

41
Bradford L. Chamberlain.
The Design and Implementation of a Region-Based Parallel Programming Language.
PhD thesis, University of Washington, November 2001.
http://www.cs.washington.edu/research/zpl/papers/data/Chamberlain01Design.pdf http://www.cs.washington.edu/research/zpl/papers/data/Chamberlain01Design.ps cache: ../../archive/Chamberlain01Design.pdf.
A detailed look at the difficulties of producing programs for parallel computation, and at the design decisions made in ZPL- an array programming language. The basis of the design is the concept of "regions"- a set of indices over which data is mapped. The data itself may be mapped over a set of processor nodes, producing a parallel interpretation of a program.

The rules for the distribution of regions begin on page 112.

The syntax is similar to Modula-2, with justification being that it may be beneficial for C/Fortran users to learn the language from scratch so that they're less likely to write ZPL programs in a sequential style they're familiar with (page 29).

ZPL homepage: http://www.cs.washington.edu/research/zpl/home/index.html

42
Bradford L. Chamberlain, Sung-Eun Choi, E Christopher Lewis, Calvin Lin, Lawrence Snyder, and W. Derrick Weathersby.
ZPL's WYSIWYG Performance Model.
In Proceedings of the IEEE Workshop on High-Level Parallel Programming Models and Supportive Environments, page 50. IEEE Computer Society, 1998.
http://www.cs.washington.edu/homes/brad/cv/pubs/reports/tr971202.pdf cache: ../../archive/tr971202.pdf, ISBN: 0-8186-8412-7.
Third International Workshop on High-Level Parallel Programming Models and Supportive Environments (HIPS'98) website: http://ipdps.eece.unm.edu/1998/hips/ http://portal.acm.org/citation.cfm?id=822265,

43
Bradford L. Chamberlain, Sung-Eun Choi, E. Christopher Lewis, Calvin Lin, Lawrence Snyder, and W. Derrick Weathersby.
ZPL: A Machine Independent Programming Language for Parallel Computers.
IEEE Transactions on Software Engineering, 26(3):197-211, March 2000.
http://csdl.computer.org/comp/trans/ts/2000/03/e0197abs.htm cache: ../../archive/tse99.pdf.
This paper describes the "CTA" abstract parallel machine model used by ZPL, the concept of Regions, and gives some benchmarks suggesting that it is efficient and portable.

44
Philip Chan and David Abramson.
NetFiles: A Novel Approach to Parallel Programming of Master/Worker Applications.
In Proc. of the 5th International Conference and Exhibition on High-Performance Computing in the Asia-Pacific Region (HPCAsia 2001), September 2001.
http://www.griffith.edu.au/conference/hpcasia2001/ http://www.csse.monash.edu.au/~pchan/cgi-bin/get.py.cgi?name=hpcasia2001&inc=1&fname=n&p=pubs-data cache: ../../archive/hpcasia2001.pdf.

45
Siddhartha Chatterjee.
Compiling Nested Data-Parallel Programs for Shared-Memory Multiprocessors.
ACM Transactions on Programming Languages and Systems, 15(3):400-462, July 1993.
ftp://ftp.cs.unc.edu/pub/users/sc/papers/toplas-vcode.pdf cache: ../../archive/toplas-vcode.pdf.

46
James Cheetham, Frank Dehne, Sylvain Pitre, Andrew Rau-Chaplin, and Peter J. Taillon.
Parallel CLUSTAL W for PC Clusters.
In Vipin Kumar, Marina L. Gavrilova, C.J. Kenneth Tan, and Pierre L'Ecuyer, editors, Proceedings of the International Conference on Computational Science and Its Applications (ICCSA 2003), pages 300-309, Montreal, Canada, May 2003. Springer-Verlag.
http://132.234.86.15/www/research/cgm-lab/software/clustalxp/paper1.pdf cache: ../../archive/pclustal.pdf.
pCLUSTAL is a parallel implementation of CLUSTAL W, an algorithm for highlighting similar arrangements of two or more sequences (used in biological sciences to study evolution of proten/DNA sequences).

47
Ming Chen, Guangwen Yang, and Xuezheng Liu.
Gridmarket: A Practical, Efficient Market Balancing Resource for Grid and P2P Computing.
In Li et al. [110], pages 612-619.
http://www.springerlink.com/link.asp?id=xgjmmcecr6kqctpc cache: https://bubble.csse.monash.edu.au/archive/lncs3033/p612-619.pdf.
An economic model of computational grids is suggested, as this may be a good model for cooperative systems which are based on the "fickle concept of goodwill". A double auction is used, mimicking the process used by many stock markets (NASDAQ, Shanghai Stock Exchange, Shenzhen Stock Exchange).

48
Ron Choy.
Parallel Matlab survey.
WWW, October 2003.
http://supertech.lcs.mit.edu/~cly/survey.html cache: ../../archive/parallel_matlab_survey.html.

49
Ron Choy and Alan Edelman.
Parallel MATLAB: Doing it Right.
http://www-math.mit.edu/~edelman/homepage/papers/pmatlab.pdf cache: ../../archive/pmatlab.pdf, November 2003.

50
Erik Christensen, Francisco Curbera, Greg Meredith, and Sanjiva Weerawarana.
Web Services Description Language (WSDL) 1.1.
Technical report, World Wide Web Consortium (W3C), March 2001.
http://www.w3.org/TR/2001/NOTE-wsdl-20010315 cache: ../../archive/NOTE-wsdl-20010315.htm.
WSDL is an attempt to standardize the documentation of web-based communication protocols and message formats.

51
Michael Philippsen Christian Nester and Bernhard Haumacher.
A More Efficient RMI for Java.
In Proceedings of the ACM 1999 Conference on Java Grande, pages 152-159, San Francisco, June 1999. ACM Press.
ISBN: 1-58113-161-5 http://portal.acm.org/citation.cfm?doid=304065.304117 cache: ../../archive/p103.pdf.
Java's RMI was designed for wide-area high-latency networks. This paper presents a drop-in replacement, KaRMI, which is much faster, and also written in pure Java.

52
editor Claus Reinke.
Haskell Communities and Activities Report.
Technical Report 5, http://www.haskell.org/communities/, November 2003.
http://www.haskell.org/communities/11-2003/html/report.html.

53
Bernard Daines.
Cluster Opinion: The Ethernet Opportunity for Linux Clusters.
Newsletter of the IEEE Computer Society's Task Force on Cluster Computing, 5(2), September/October 2003.
http://www.clustercomputing.org/index.jsp?page=/content/tfcc-5-2-daines.shtml cache: ../../archive/new_ethernet.html.
Comments on the need for high throughput, low latency cluster interconnects based upon open standards, in order for Linux clusters to become more useful in the enterprise and high availability areas.

54
Frank Dehne, Andreas Fabri, and Andrew Rau-Chaplin.
Scalable Parallel Geometric Algorithms for Coarse Grained Multicomputers.
In Proceedings of the ACM Symposium on Computational Geometry, pages 298-307, 1993.
http://132.234.86.15/www/publications/publ/2-36/paper.pdf cache: ../../archive/paper93.pdf.
This paper studies the design of algorithms for the Coarse Grained Multicomputer ("CGM") model for parallel computation. In this model, the multicomputer contains p processors, each with local memory, connected by an arbitrary network and is assumed to be large, ie . This model is said to accurately compare with real-world parallel machines.

55
Dr. Charles R. Denham.
Macintosh Matlab Survival Toolkit.
WWW, June 2004.
http://woodshole.er.usgs.gov/staffpages/cdenham/public_html/snackbar/mac-matlab-survival.html cache: ../../archive/mac-matlab-survival.html.

56
Bill Devlin, Jim Gray, Bill Laing, and George Spix.
Farms, clones, partitions, packs, RACS, and RAPS Improve your scalability vocabulary.
Newsletter of the IEEE Computer Society's Task Force on Cluster Computing, 4(1), Fall 2002.
http://www.clustercomputing.org/index.jsp?page=/content/tfcc-4-1-gray.shtml cache: ../../archive/vocab.html.
Definitions for common terms and phrases in relation to highly scalable computer systems.

57
Ellie D'Hondt.
Exploring the Amorphous Computing Paradigm.
Master's thesis, Vrije Universiteit Brussel, Faculteit van de Wetenschappen, Departement Informatica, August 2000.
http://www.vub.ac.be/CLEA/ellie/homepage/PDFdirectory/thesisAmorphous.pdf cache: ../../archive/thesisAmorphous.pdf.
Amorphous computing is a new programming paradigm which aims to be useful for systems with enormous numbers of small units of computation with limited power. This masters thesis classifies existing amorphous algorithms, hardware implementations (and simulations thereof), gives an overview of the Growing Point Language (GPL), and finally introduces some amorphous solutions to computational geometry problems.

58
Satheesh A. Donthy.
Java Tip 56: How to eliminate debugging problems for RMI-based applications.
WWW, July 1998.
http://www.javaworld.com/javaworld/javatips/jw-javatip56.html cache: ../../archive/rmi_debugging/jw-javatip56.html.

59
Sean Dorward, Rob Pike, David Leo Presotto, Dennis Ritchie, Howard Trickey, and Phil Winterbottom.
Inferno.
In Proceedings of COMPCON 97, pages 241-244. Bell Labs - Lucent Technologies, February 1997.
http://www.vitanuova.com/inferno/papers/hotchips.html cache: ../../archive/00584718.pdf.
Overview of the Inferno operating system, a descendant of Plan 9 and Unix. It is capable of running as a user application in a range of host operating systems, or as a standalone operating system. Inferno applications (written in a language named Limbo) are capable of running on any of these systems without modification, by way of a virtual machine. The Styx communication protocol allows remote resources to be accessed as though they were local, making distributed computing easier.

60
Sean Dorward, Rob Pike, and Phil Winterbottom.
Programming in Limbo.
In Proceedings of COMPCON 97, pages 245-250. Bell Labs - Lucent Technologies, February 1997.
http://ieeexplore.ieee.org/xpl/tocresult.jsp?isNumber=12649&page=2 cache: ../../archive/00584719.pdf.
Limbo is the application programming language for the Inferno operating system. It uses a C-like syntax, but contains many features that make it safer and easier to use in distributed/heterogeneous environments. These include garbage collection, concurrency, and modules.

61
Wei Du, Renato Ferreira, and Gagan Agrawal.
Compiler Support for Exploiting Coarse-Grained Pipelined Parallelism.
[4].
http://www.sc-conference.org/sc2003/paperpdfs/pap133.pdf cache: ../../archive/pap133.pdf.
This paper proposes a pipeline model for grid computation: the first stage involves the site hosting the input data, the last stage involves the user's local machine (where results are to be examined), normally other nodes will house intermediate stages.

62
Scott Farrand.
The Case for Blades in High-Performance Computing.
Newsletter of the IEEE Computer Society's Task Force on Cluster Computing, 5(3), November/December 2003.
http://www.clustercomputing.org/index.jsp?page=/content/tfcc-5-3-farrand.shtml cache: ../../archive/blade.html.
An argument for the use of blade server clusters (multiple compute nodes living in a single enclosure) in high performance cluster computing.

63
Donal K. Fellows.
Getting Java RMI Working.
WWW, September 2004.
http://www.cs.man.ac.uk/~fellowsd/work/usingRMI.html cache: ../../archive/rmi_debugging/usingRMI.html.

64
David Flanagan.
Java in a Nutshell.
O'Reilly, third edition, November 1999.
ISBN: 1-56592-487-8 http://www.oreilly.com/catalog/javanut3/.

65
David Flanagan.
Java in a Nutshell, chapter 4, pages 149-152.
In [64], third edition, November 1999.
ISBN: 1-56592-487-8 http://www.oreilly.com/catalog/javanut3/.

66
Message Passing Interface Forum.
MPI: A Message-Passing Interface Standard, June 1995.
http://www.mpi-forum.org/docs/mpi-11.ps.Z cache: ../../archive/mpi-11.ps.Z.

67
Message Passing Interface Forum.
MPI-2: Extensions to the Message-Passing Interface, July 1997.
http://www.mpi-forum.org/docs/mpi-20.ps.Z cache: ../../archive/mpi-20.ps.Z.

68
Ian Foster.
The Grid: A New Infrastructure for 21st Century Science.
Physics Today, 55, February 2002.
http://www.physicstoday.org/vol-55/iss-2/p42.html cache: ../../archive/ian_foster-aip_today.html.
Brief introduction to Grid computing- a scalable, secure, high-performance infrastructure for utilizing global resources.

69
Ian Foster and Tom Garritano.
The GRIDS software suite: Toward a national middleware infrastructure.
Newsletter of the IEEE Computer Society's Task Force on Cluster Computing, 4(2), Spring 2003.
http://www.clustercomputing.org/index.jsp?page=/content/tfcc-4-2-foster.shtml cache: ../../archive/grids_software_suite.html.
Overview of the GRIDS software suite, which includes Globus (de facto standard for grid computing), Condor-G (software for managing "high throughput computing", for enabling high processing capacity over extended periods of time), the Network Weather Service (NWS for short, used for monitoring and forecasting performance of network and computational resources) and KX.509. New inclusions are GSI-OpenSSH (a version of OpenSSH with support for Grid Services Infrastructure authentication), Grid Packaging Tools (GPT for short, is a collection of packaging tools for software packages, using an XML data format) and GridConfig (tools for managing GRIDS software components).

70
Ian Foster and Carl Kesselman, editors.
The Grid 2: Blueprint for a New Computing Infrastructure.
Morgan Kaufmann Publishers, November 2003.
ISBN: 1-55860-933-4 http://books.elsevier.com/uk/mk/uk/subindex.asp?isbn=1558609334.

71
Ian Foster, Carl Kesselman, Jeffry M. Nick, and Steven Tuecke.
The Physiology of the Grid.
June 2002.
Draft document, last modified: 22/6/2002. http://www.globus.org/research/papers/ogsa.pdf cache: ../../archive/ogsa-physiology.pdf.
Succesor to the "Anatomy of the grid" [72].
(Summary: http://carol.science.uva.nl/~zegerh/globus/OGSAsummary.html cache: ../../archive/OGSAsummary.html)

72
Ian Foster, Carl Kesselman, and Steven Tuecke.
The Anatomy of the Grid: Enabling Scalable Virtual Organizations.
Lecture Notes in Computer Science, 2150, 2001.
http://citeseer.ist.psu.edu/foster01anatomy.html cache: ../../archive/grid-anatomy.pdf.

73
Ian Foster and Steven Tuecke.
Enabling Technologies for Web-Based Ubiquitous Supercomputing.
In Proceedings of the 5th IEEE Symp. on High Performance Distributed Computing, (to appear).
ftp://ftp.mcs.anl.gov/pub/nexus/reports/hpdc_java.ps.gz cache: ../../archive/hpdc_java.ps.gz.
Nexus is a communications library for asynchronous communicatoin, multithreading and dynamic resource management in heterogeneous (grid?) environments. A java binding, NexusJava has been written.

74
Geoffrey C. Fox, editor.
Concurrency and Computation: Practice and Experience. Special Issue: ACM 2001 Java Grande-ISCOPE (JGI2001) Conference, volume 15 of Concurrency and Computation: Practice and Experience.
Wiley InterScience, 2003.
http://www3.interscience.wiley.com/cgi-bin/jissue/102530974.

75
Edgar Gabriel, Graham E. Fagg, George Bosilca, Thara Angskun, Jack J. Dongarra, Jeffrey M. Squyres, Vishal Sahay, Prabhanjan Kambadur, Brian Barrett, Andrew Lumsdaine, Ralph H. Castain, David J. Daniel, Richard L. Graham, and Timothy S. Woodall.
Open MPI: Goals, Concept, and Design of a Next Generation MPI Implementation.
In 11th European PVM/MPI Users' Group Meeting, pages 97-104, Budapest, Hungary, September 2004.
http://www.open-mpi.org/papers/euro-pvmmpi-2004-overview/euro-pvmmpi-2004-overview.pdf cache: ../../archive/euro-pvmmpi-2004-overview/euro-pvmmpi-2004-overview.pdf.

76
G.A. Geist, J.A. Kohl, and P.M. Papadopoulos.
PVM and MPI: A Comparison of Features.
Calculateurs Paralleles, 8(2), May 1996.
http://www.csm.ornl.gov/pvm/PVMvsMPI.ps cache: ../../archive/PVMvsMPI.ps.gz.

77
Vladimir Getov, Susan Flynn-Hummel, and Sava Mintchev.
High-Performance Parallel Programming in Java: Exploiting Native Libraries.
Concurrency: Practice and Experience, 10(11-13):863-872, 1998.
http://www.cs.ucsb.edu/conferences/java98/papers/hpjavampi.pdf cache: ../../archive/hpjavampi.pdf.
This paper describes the issues in binding native libraries to Java, and introduce a tool for generating C interface code, named JCI. JCI reads C header files and produces the code necessary to call this code from Java. It has been successfully used to create binding for MPI, with over 120 functions.

78
Vladimir Getov, Paul Gray, and Vaidy Sunderam.
MPI and Java-MPI: Contrasts and Comparisons of Low-Level Communication Performance.
In Proceedings of the 1999 ACM/IEEE conference on Supercomputing, 1999.
http://citeseer.ist.psu.edu/getov99mpi.html cache: ../../archive/mpi_and_java-mpi.pdf.

79
Sushant Goel, Hema Sharda, and David Taniar.
Preserving Data Consistency in Grid Databases with Multiple Transactions.
In Li et al. [110], pages 847-854.
http://www.springerlink.com.ezproxy.lib.monash.edu.au/link.asp?id=k1ueaehhv9tf1lh1 cache: https://bubble.csse.monash.edu.au/archive/lncs3033/p847-854.pdf.
Papers presented at the 2nd International Workshop on Grid and Cooperative Computing, GCC 2003, held in Shanghai, P.R. China.

80
Tom Goodale, Gabrielle Allen, Gerd Lanfermann, Joan Masso, Thomas Radke, Edward Seidel, and John Shalf.
The Cactus Framework and Toolkit: Design and Applications.
In J.M.L.M. Palma, J. Dongarra, V. Hernández, and A. Augusto Sousa, editors, High Performance Computing for Computational Science - VECPAR 2002: 5th International Conference, Porto, Portugal, June 26-28, 2002. Selected Papers and Invited Talks, pages 197-227. Springer-Verlag Heidelberg, 2003.
http://springerlink.metapress.com/app/home/issue.asp?wasp=012cyjuhwq3ju2rlfray&referrer=parent&backto=journal,755,1867;linkingpublicationresults,1:105633,1.

81
Andezej Goscinski, Horace H.S. Ip, Weijia Jia, and Wanlei Zhou, editors.
International Conference on Algorithms & Architectures for Parallel Processing, Hong Kong, December 2000. World Scientific Publishing Company, Inc.
http://www.cs.cityu.edu.hk/~ica3pp2k/ ISBN: 981-02-4481-9.

82
James Gosling and Henry McGilton.
The Java Language Environment.
White Paper, May 1996.
ftp://ftp.javasoft.com/docs/papers/langenviron-pdf.zip cache: ../../archive/langenviron.pdf.
Introduction to Java, mentions design goals, and asserts that Java performs better than other languages with similar capabilities (smalltalk, perl).

83
Richard L. Graham, Timothy S. Woodall, and Jeffrey M. Squyres.
Open MPI: A Flexible High Performance MPI.
In Proceedings, 6th Annual International Conference on Parallel Processing and Applied Mathematics, Poznan, Poland, September 2005.
http://www.open-mpi.org/papers/ppam-2005/ppam-2005.pdf cache: ../../archive/ppam-2005.pdf.

84
Jim Gray.
Distributed Computing Economics.
Newsletter of the IEEE Computer Society's Task Force on Cluster Computing, 5(1), July/August 2003.
http://www.clustercomputing.org/index.jsp cache: ../../archive/distributed_computing_economics.html.
This article compares the relative cost of various computing resources, and suggests what types of computation are viable and desirable for grid computing, and other situations such as cluster computing.

85
Perry Greenfield, Jay Todd Miller, Jin chung Hsu, and Richard L. White.
numarray: A New Scientific Array Package for Python.
In PyCon DC2003, 2003.
http://www.stsci.edu/resources/software_hardware/numarray/papers/pycon2003.pdf cache: ../../archive/pycon2003.pdf.
One method of allowing interpreted languages such as python to operate efficiently on large sets of data is to allow array programming operations, which typically executed by efficient libraries. (Matlab and IDL are well known examples of this). The numarray package for python is a replacement for the old numeric package.

86
William Gropp, Ewing Lusk, Nathan Doss, and Anthony Skjellum.
A High-Performance, Portable Implementation of the MPI Message Passing Interface Standard.
Parallel Computing, 22(6):789-828, September 1996.
http://www-unix.mcs.anl.gov/mpi/mpich/papers/mpichimpl.ps cache: ../../archive/mpichimpl.ps.gz.

87
William Gropp, Ewing Lusk, and Anthony Skjellum.
Using MPI: Portable Parallel Programming with the Message-Passing Interface.
MIT Press, second edition, 1999.
ISBN: 0-262-57134-3.
An introduction to the message-passing model of parallel computation, and MPI- the most widely used instance of this model. Some features of MPI-2 are included, MPI datatypes and collective operations.

88
William Gropp, Ewing Lusk, and Rajeev Thakur.
Using MPI-2: Advanced Features of the Message-Passing Interface.
Scientific and Engineering Computation. MIT Press, November 1999.
ISBN: 0-262-57133-1.
Following on from [87], this book covers the extensions to MPI-1.

89
William D. Gropp and Ewing Lusk.
User's Guide for mpich, a Portable Implementation of MPI.
Mathematics and Computer Science Division, Argonne National Laboratory, 1996.
ANL-96/6 http://www-unix.mcs.anl.gov/mpi/mpich/docs/userguide/paper.htm cache: ../../archive/gropp96users.ps.gz.

90
W. Gu, N.A. Burns, M.T. Collins, and W.Y.P. Wong.
The evolution of a high-performing Java virtual machine.
IBM Systems Journal, 39(1):135-150, 2000.
http://www.research.ibm.com/journal/sj/391/gu.pdf cache: ../../archive/gu.pdf.
How IBM identified and eliminated or minimized various bottlenecks present in early JVM's.

91
Duane Hanselman and Bruce Littlefield.
Mastering MATLAB 7.
Pearson/Prentice Hall, 2005.
ISBN: 0-13-143018-1 http://www.eece.maine.edu/mm/mm7.html.

92
Yasushi Hayashi.
Shape-based Cost Analysis of Skeletal Parallel Programs.
PhD thesis, Institute for Computing Systems Architecture, Division of Informatics, University of Edinburgh, 2001.
http://www.icsa.informatics.ed.ac.uk/research/groups/structured_parallelism/hayashi_thesis.ps.gz cache: ../../archive/hayashi_thesis.ps.gz.

93
Janice J. Heiss.
New Language Features for Ease of Development in the Java 2 Platform, Standard Edition 1.5: A Conversation with Joshua Bloch.
Sun Developer Network, May 2003.
accessed wed 21/4/2004 11am, http://java.sun.com/features/2003/05/bloch_qa.html cache: ../../archive/bloch_qa.html.
Simple examples of the new features in Java 1.5.

94
H. Hellerman.
Experimental Personalized Array Translator System.
Communications of the ACM, 7(7):433-438, July 1964.
ISSN: 0001-0782 http://portal.acm.org/citation.cfm?doid=364520.364573 cache: ../../archive/p433-hellerman.pdf.
PAT was the first implementation of Iverson's programming notation [99].

95
Johnathan M.D. Hill, Bill McColl, Dan C. Stefanescu, Mark W. Goudreau, Kevin Lang, Satish B. Rao, Torsten Suel, Thanasis Tsantilas, and Rob Bisseling.
BSPlib - The BSP Programming Library.
Technical Report TR-29-97, Oxford University Computing Laboratory, Programming Research Group, May 1997.
ftp://ftp.comlab.ox.ac.uk/pub/Documents/techreports/TR-29-97.ps.Z cache: ../../archive/TR-29-97.ps.Z.
Examples of how to use BSPlib.

96
W. Daniel Hillis and Guy L. Steele Jr.
Data Parallel Algorithms.
Communications of the ACM, 29(12):1170-1183, December 1986.
http://cva.stanford.edu/classes/cs99s/papers/hillis-steele-data-parallel-algorithms.pdf cache: ../../archive/hillis-steele-data-parallel-algorithms.pdf.
Examples of fine-grained algorithms written in a data parallel style suitable for parallel machines with large numbers of processors (thousands or even millions- the Connection Machine architecture in particular).

97
John Hunt.
Smalltalk and Object Orientation: an Introduction.
Springer-Verlag, 1997.
ISBN: 3-540-76115-2 http://www.iam.unibe.ch/~ducasse/FreeBooks/STandOO/Smalltalk-and-OO.pdf cache: ../../archive/Smalltalk-and-OO.pdf.
Link: Stéphane Ducasse's free online smalltalk books, http://www.iam.unibe.ch/~ducasse/FreeBooks.html

98
Atshushi Igarashi, Benjamin Pierce, and Philip Wadler.
Featherweight Java: A Minimal Core Calculus for Java and GJ.
In Loren Meissner, editor, Proceedings of the 1999 ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages & Applications (OOPSLA`99), pages 132-146.
http://www.cis.upenn.edu/~bcpierce/papers/fj-tr.ps cache: ../../archive/fj-tr.ps.gz.
Featherweight Java is a cut-down version of the Java language, with features removed to make reasoning about key properties easier. (The relationship to Java is like that between lambda calculus and practical functional programming languages.) By starting with such a small model, it may be possible (hopefully simple) to form a model of an extension to java.

99
Kenneth E. Iverson.
A Programming Language.
John Wiley & Sons, New York, January 1962.
ISBN: 0471430145.
This programming notation allowed arrays to be specified as operands to functions and other operations, and is the ancestor of programming languages such as Matlab and IDL.

The APL language, which was based upon this notation was implemented by IBM in the 60's.

This book is available at the melbourne uni maths library, call number 001.6424 Iv3.

100
C. Barry Jay.
Shape Analysis for Parallel Computing.
In International Parallel Computing Workshop, pages 287-295, September 1995.
http://hpc.doc.ic.ac.uk/ifpc/documents/pcw/proceedings/31.Jay/paper_jay.ps cache: ../../archive/paper_jay.ps.gz.

101
Sheng Jiang, Piers O'Hanlon, and Peter Kirstein.
Moving Grid Systems into the IPv6 Era.
In Li et al. [110], pages 490-499.
http://www.springerlink.com.ezproxy.lib.monash.edu.au/link.asp?id=pcr1td5kuutq4qnr cache: https://bubble.csse.monash.edu.au/archive/lncs3033/p490-499.pdf.
Notes on porting GT3 (Globus Toolkit 3) to use IPv6, which is set to replace the (now quite old) IPv4. Potential advantages of the use of IPv6 are mentioned, three of these are examined in detail: the increase of available address space, support for mobile computer systems, and network-layer security. A walkthrough for setting up an IPv6 environment on Linux systems (chosen since GT3 is currently only fully supported in Linux) is given, followed by a guide for porting GT3 to make use of IPv6 instead of IPv4.

102
Simon Peyton Jones, editor.
Haskell 98 language and libraries: the Revised Report.
Cambridge University Press, April 2003.
ISBN: 0521826144, http://titles.cambridge.org/catalogue.asp?isbn=0521826144.

103
Zoltan Juhasz.
JGrid: Jini as a Grid Technology.
Newsletter of the IEEE Computer Society's Task Force on Cluster Computing, 5(3), November/December 2003.
http://www.clustercomputing.org/index.jsp?page=/content/tfcc-5-3-juhasz.shtml cache: ../../archive/jgrid.html.
An investigation of the use of Jini and the JGrid project as a potential infrastructure for future grids.

104
Nicholas T. Karonis, Brian Toonen, and Ian Foster.
MPICH-G2: A Grid-Enabled Implementation of the Message Passing Interface.
Journal of Parallel and Distributed Computing, 63(5):551-563, November 2002.
ftp://info.mcs.anl.gov/pub/tech_reports/reports/P942.ps.Z cache: ../../archive/mpich-g-a-grid.ps.gz.

105
Ken Kennedy.
Languages, Compilers, and Run-Time Systems, chapter 25, pages 491-512.
In Foster and Kesselman [70], November 2003.
ISBN: 1-55860-933-4 http://books.elsevier.com/uk/mk/uk/subindex.asp?isbn=1558609334.
This paper explores the use of application development tools and libraries for use on the grid, beginning with software originally designed for clusters and parallel computers.

106
Han-Ku Lee.
Towards Efficient Compilation of the HPJava Language for High Performance Computing.
PhD thesis, Florida State University, June 2003.
http://www.hpjava.org/theses/hkl/dissertation/dissertation.pdf cache: ../../archive/hkl-dissertation.pdf.
This thesis introduces the HPspmd programming model, which is a mix of HPF style data-parallel features with the SPMD style.

107
Paul Leszek.
Debugging with the Eclipse Platform.
WWW, May 2003.
http://www-106.ibm.com/developerworks/java/library/os-ecbug/ cache: http://../../archive/Debugging_with_the_Eclipse_Platform.htm.

108
Kuo-Bin Li.
ClustalW-MPI: ClustalW Analysis Using Distributed and Parallel Computing.
Bioinformatics, 19(12):1585-1586, 2003.
http://bioinformatics.oupjournals.org/cgi/content/abstract/19/12/1585?ijkey=12ACOyqyrKpFz&keytype=ref cache: ../../archive/1585.pdf.
ClustalW is a tool for aligning multiple protein or nucleotide sequences. ClustalW-MPI is a distributed and parallel implementation of ClustalW.

109
Minglu Li, Xian-He Sun, Qianni Deng, and Jun Ni, editors.
Grid and Cooperative Computing: Second International Workshop, GCC 2003, Shanghai, China, December 7-10, 2003, Revised Papers, Part 1, volume 3032 of Lecture Notes in Computer Science. Springer-Verlag, 2004.
ISBN: 3-540-21988-9. http://www.springerlink.com.ezproxy.lib.monash.edu.au/openurl.asp?genre=issue&issn=0302-9743&volume=3032 cache: https://bubble.csse.monash.edu.au/archive/lncs3032/.
Papers presented at the 2nd International Workshop on Grid and Cooperative Computing, GCC 2003, held in Shanghai, P.R. China.

110
Minglu Li, Xian-He Sun, Qianni Deng, and Jun Ni, editors.
Grid and Cooperative Computing: Second International Workshop, GCC 2003, Shanghai, China, December 7-10, 2003, Revised Papers, Part 2, volume 3033 of Lecture Notes in Computer Science. Springer-Verlag, 2004.
ISBN: 3-540-21993-5. http://www.springerlink.com.ezproxy.lib.monash.edu.au/openurl.asp?genre=issue&issn=0302-9743&volume=3033 cache: https://bubble.csse.monash.edu.au/archive/lncs3033/.
Papers presented at the 2nd International Workshop on Grid and Cooperative Computing, GCC 2003, held in Shanghai, P.R. China.

111
Hans-Wolfgang Loidl and Philip W. Trinder.
A Gentle Introduction to GPH.
Department of Computing and Electrical Engineering, Heriot-Watt University, July 2001.
http://www.macs.hw.ac.uk/~dsg/gph/docs/Gentle-GPH/gph-gentle-intro.html.

112
Daniel Lyons.
Linux Rules Supercomputers.
Forbes.com, March 2005.
http://www.forbes.com/home/enterprisetech/2005/03/15/cz_dl_0315linux.html cache: ../../archive/cz_dl_0315linux.html.
Linux is used by approximately 60top500 list.

113
J. Maassen and R. van Nieuwpoort.
Fast Parallel Java.
Master's thesis, Vrije Universiteit, Amsterdam, August 1998.
http://www.cs.vu.nl/~rob/papers/scriptie_jason_rob.pdf cache: ../../archive/scriptie_jason_rob.pdf.

114
Jason Maassen, Rob van Nieuwpoort, Ronald Veldema, Henri E. Bal, and Aske Plaat.
An Efficient Implementation of Java's Remote Method Invocation.
In Proc. Seventh ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP'99), pages 173-182, Atlanta, GA, May 1999.
http://www.cs.vu.nl/~rob/papers/ppopp99-final.pdf cache: ../../archive/ppopp99-final.pdf.

115
Igor Mandrichenko.
GridFTP Protocol Improvements.
Technical Report GFD-E.021, Integrated Systems Development Department, Computing Division, Fermi National Accelerator Laboratory, July 2003.
http://www.ggf.org/documents/GWD-R/GFD-R.021.pdf cache: ../../archive/GFD-R.021.pdf.
List of suggested improvements to GridFTP, based upon the experience of various groups who have implemented GridFTP.

116
Dana Mastrovito.
MPIDL Overview.
Princeton Plasma Physics Laboratory, January 2003.
http://nstx.pppl.gov/nstx/Software/Programming/mpidl_use_doc.html.

117
Vijay Menon and Anne E. Trefethen.
MultiMATLAB: Integrating MATLAB with High-Performance Parallel Computing.
In Proceedings of the 1997 ACM/IEEE conference on Supercomputing, pages 1-18, San Jose, California, 1997.
ISBN: 0-89791-985-8 http://portal.acm.org/citation.cfm?id=509623 cache: ../../archive/a30-menon.pdf.
MultiMATLAB is a system for binding together multiple Matlab processes via MEX compiled code and a native MPI library.

118
P. Miller.
Parallel, Distributed Scripting with Python.
Technical Report UCRL-JC-148522, Lawrence Livermore National Laboratory, 2002.
http://www.llnl.gov/tid/lof/documents/pdf/240425.pdf http://www.linuxclustersinstitute.org/Linux-HPC-Revolution/Archive/PDF02/10-Miller_P.pdf cache: ../../archive/10-Miller_P.pdf.

119
Robin Milner, Mads Tofte, and Robert Harper.
The Definition of Standard ML.
MIT Press, Cambridge, Mass., 1990.

120
Cleve Moler.
Why there isn't a parallel Matlab.
Mathworks Newsletter, 1995.

121
J. E. Moreira, S. P. Midkiff, M. Gupta, P. V. Artigas, M. Snir, and R. D. Lawrence.
Java programming for high-performance numerical computing.
IBM Systems Journal, 39(1):21-56, 2000.
http://www.research.ibm.com/journal/sj/391/moreira.pdf cache: ../../archive/moreira.pdf.

122
Pat Morin.
Coarse grained parallel computing on heterogeneous systems.
In Proceedings of the 1998 ACM symposium on Applied Computing, pages 628-634, Atlanta, Georgia, USA, 1998. ACM Press.
ISBN: 0-89791-969-6 http://portal.acm.org/citation.cfm?doid=330560.331004 cache: ../../archive/p628-morin.pdf.
The CGM model extended to heterogeneous systems- HCGM.

123
Steven Morin, Israel Koren, and C. Mani Krishna.
JMPI: Implementing the Message Passing Standard in Java.
In 16th International Parallel and Distributed Processing Symposium (IPDPS 2002) 15-19 April 2002, Fort Lauderdale, FL, USA, CD-ROM/Abstracts Proceedings. IEEE Computer Society, 2002.
ISBN: 0-7695-1573-8 http://www.ecs.umass.edu/ece/realtime/publications/morin02.pdf cache: ../../archive/morin02.pdf.
JMPI is a native Java MPI implementation, that uses RMI for low-level communication (ether Sun's RMI or KaRMI, a third-party RMI implementation). As such, it is significantly slower than a native MPI binding.

124
Philippe Mougin and Stéphane Ducasse.
OOPAL: Integrating Array Programming in Object-Oriented Programming.
In Proceedings of the 18th ACM SIGPLAN, 2003.
ISBN:1-58113-712-5 http://www.iam.unibe.ch/~scg/Archive/Papers/Moug03aOOPALOOPSLA.pdf cache: ../../archive/Moug03aOOPALOOPSLA.pdf.
OOPAL is a model for adding array-programming features to object-oriented languages.

125
Cherri M. Pancake and Donna Bergmark.
Do Parallel Languages Respond to the Needs of Scientific Programmers?
Computer, 23(12):13-23, December 1990.
http://ieeexplore.ieee.org.ezproxy.lib.monash.edu.au/xpl/tocresult.jsp?isNumber=2260&puNumber=2 http://portal.acm.org/citation.cfm?id=98874.

126
Michael Philippsen.
Is Java ready for computational science?
In 2nd European Parallel and Distributed Systems Conference, pages 1-6, July 1998.
http://www.ubka.uni-karlsruhe.de/vvv/1998/informatik/27/27.ps.gz cache: ../../archive/javaCS.ps.gz.
Discussion of the pros and cons of using Java for computational science. Cons include the restriction of infix arithmetic to primitives, the absence of complex numbers from the standard mathematical library (java.lang.math), the lack of type-safe generic classes (available in Java 1.5).

127
David Leo Presotto.
Inferno Security.
In Proceedings of COMPCON 97, pages 251-253. Bell Labs - Lucent Technologies, February 1997.
http://ieeexplore.ieee.org/xpl/tocresult.jsp?isNumber=12649&page=2 cache: ../../archive/00584721.pdf.
Description of the (optional) security mechanisms available for Inferno that provide secure communication between machines. This allows for mutual authentication of parties and encryption and/or authentication of messages amongst them.

128
David J. Pritchard and Jeff Reeve, editors.
Euro-Par '98 Parallel Processing, 4th International Euro-Par Conference, Southampton, UK, September 1-4, 1998, Proceedings, volume 1470 of Lecture Notes in Computer Science.
Springer Verlag, September 1998.
ISBN: 3-540-64952-2.

129
José Rolim, editor.
Parallel and Distributed Processing, 15 IPDPS 2000 Workshops, Cancun, Mexico, May 1-5, 2000, Proceedings, volume 1800 of Lecture Notes in Computer Science, New York, May 2000. Springer-Verlag.
ISBN: 3-540-67442-X http://www.informatik.uni-trier.de/~ley/db/conf/ipps/ipdpsW2000.html.

130
Thomas Sandholm and Jarek Gawor.
Globus Toolkit 3 Core - A Grid Service Container Framework.
White Paper, July 2003.
http://www-unix.globus.org/toolkit/3.0/ogsa/docs/gt3_core.pdf cache: ../../archive/gt3_core.pdf.
The Globus Toolkit 3 (GT3) Core consists of runtime and development support for Grid services.

131
Heinz W. Schmidt.
Data-Parallel Object-Oriented Programming.
In Proceedings of the 5th Australian Supercomputer Conference, pages 263-272, Melbourne, December 1992.
Exploration of some of the issues around combining data-parallel and object-oriented programming, focussing on dpSather, a data-parallel extension of the object-oriented language sather (http://www.gnu.org/software/sather/).
Also appeared as CSIRO Division of Information Technology technical report TR-HJ-92-17.

132
J. T. Schwartz, R. B. K. Dewar, E. Dubinsky, and E. Schonberg.
Programming with Sets: An Introduction to SETL.
Springer-Verlag, New York, 1986.

133
Aamir Shafi, Bryan Carpenter, and Mark Baker.
MPJ Express.
poster, September 2005.
http://dsg.port.ac.uk/projects/mpj/docs/res/mpj-ahm-poster.pdf cache: ../../archive/mpj-ahm-poster.pdf.
MPJ Express is an implementation of the mpiJava 1.2 API on top of the MPJ device model.

134
Ravi Sharma.
Distributed application development with Inferno.
In Design Automation Conference, proceedings, pages 146-150. Bell Laboratories - Lucent Technologies, June 1999.
http://www.sigda.org/Archives/ProceedingArchives/Dac/Dac99/papers/1999/dac99/pdffiles/09_1.pdf cache: ../../archive/00781300.pdf.
This paper discusses the Namespace technology, a simple but still flexible programming model that allows for network transparency. The Namespace is a hierarchy of resources available to a program. These resources are represented/named/accessed as files.

135
Jack Shirazi.
Java Performance Tuning.
O'Reilly, 2 edition, January 2003.
ISBN: 0-596-00377-3 http://proquest.safaribooksonline.com.ezproxy.lib.monash.edu.au/0596003773 http://www.oreilly.com/catalog/javapt2/, associated website: http://www.javaperformancetuning.com/.
Chapter 3 discusses improvements made in the various JDK's over time.

136
Jürgen K. Singer.
Is Fortran portability a myth?
In Michael Metcalf, editor, ACM SIGPLAN Fortran Forum, volume 18, pages 2-4. ACM Press, New York, NY, USA, April 1999.
http://portal.acm.org.ezproxy.lib.monash.edu.au/citation.cfm?id=310410&coll=portal&dl=ACM&CFID=27396630&CFTOKEN=99779241.

137
David B. Skillicorn.
Architecture-Independent Parallel Computation.
IEEE Computer, 23(12):38-50, December 1990.
cache: ../../archive/00062092.pdf.

138
David B. Skillicorn, Jonathan M. D. Hill, and W. F. McColl.
Questions and answers about BSP.
Technical Report PRG-TR-15-96, Programming Research Group, Oxford University Computing Laboratory, 1996.
http://www.qucis.queensu.ca/~skill/QandA.ps cache: ../../archive/skillicorn96question.ps.gz.

139
Sven Skyum.
Introduction to Parallel Algorithms.
Number LS-95-2 in BRICS Lecture Series. Denmark, June 1995.
ISSB 1395-2048 http://www.brics.dk/LS/95/2/BRICS-LS-95-2/BRICS-LS-95-2.html.

140
David Slogsnat, Patrick R. Haspel, Holger Froening, and Ulrich Bruening.
The ATOLL System Area Network (SAN).
Newsletter of the IEEE Computer Society's Task Force on Cluster Computing, 5(2), September/October 2003.
http://www.clustercomputing.org/index.jsp?page=/content/tfcc-5-2-slogsnat.shtml cache: ../../archive/atoll.html.
The ATOLL System Area Network is a the integration of a switch, network ports and interfaces on a single chip, optimized for MPI. Benchmarks using NetPIPE show this architecture performs comparably to the Myrinet PCIX architecture, and the article hints at a better price/performance ratio.

141
L.A. Smith, J.M. Bull, and J. Obdrzálek.
A parallel java grande benchmark suite.
In Conference on High Performance Networking and Computing Proceedings of the 2001 ACM/IEEE conference on Supercomputing. ACM Press, 2001.
ISBN:1-58113-293-X.

142
Lawrence Snyder.
A Programmer's Guide to ZPL.
Scientific and Engineering Computation series. MIT Press, March 1999.
ISBN: 0-262-69217-1 http://mitpress.mit.edu/catalog/item/default.asp?tid=4104&ttype=2.
Early(?) version: http://www.ing.uc.edu.ve/~drey/zpl_guide.pdf cache: ../../archive/zpl_guide.pdf

143
Rok Sosic and David Abramson.
Guard: A Relative Debugger.
Software - Practice and Experience, 27(2):185-206, February 1997.
http://www.csse.monash.edu.au/~davida/papers/guard.pdf.

144
Daniel H. Steinberg.
Write Twice, Run Anywhere.
WWW, September 2002.
http://www.macdevcenter.com/pub/a/mac/2002/09/06/osx_java.html cache: http://../../archive/write_twice/osx_java1.html.

145
T. Suganuma, T. Ogasawara, M. Takeuchi, T. Yasue, M. Kawahito, K. Ishizaki, H. Komatsu, and T. Nakatani.
Overview of the IBM Java Just-in-Time Compiler.
IBM Systems Journal, 39(1):175-193, 2000.
http://www.research.ibm.com/journal/sj/391/suganuma.pdf cache: ../../archive/suganuma.pdf.

146
Sun Microsystems, Inc.
jdb - The Java Debugger, 2001.
http://java.sun.com/j2se/1.3/docs/tooldocs/solaris/jdb.html cache: http://../../archive/jdb.html.

147
Alexander S. Szalay and Jim Gray.
Scientific Data Federation: The World-Wide Telescope, chapter 7, pages 95-108.
In Foster and Kesselman [70], November 2003.
ISBN: 1-55860-933-4 http://books.elsevier.com/uk/mk/uk/subindex.asp?isbn=1558609334.
The scale of the datasets astronomers are interested in (currently terabytes, though soon the figure will best be measured in petabytes) make it difficult for researchers to download a full copy of the archive for local processing. The "Virtual Observatory" aka the "World-Wide Telescope" is an effort to provide software services that unify astronomical archives (literature, images, raw data, derived data, simulation data) throughout the world.

Astronomy software is largely written in Fortran, C, C++ with some Java code appearing more recently. Code is rarely reused, causing larger and larger software costs. An example given is the Sloan Digital Sky Survey, of which approximately 30% of the project's budget was applied to software. It is estimated that at least half of this software could likely have been implemented in generic, reusable code. The Virtual Observatory project aims to build subsystems that makes this possible.

148
Guillermo L. Taboada, Juan Touri no, and Ramón Doallo.
Performance analysis of java message-passing libraries on fast ethernet, myrinet and sci clusters.
In Proceedings of the IEEE International Conference on Cluster Computing (CLUSTER '03), pages 118-126, December 2003.
http://ieeexplore.ieee.org/search/wrapper.jsp?arnumber=1253307 cache: ../../archive/01253307.pdf.

149
Tech-X Corporation.
FastDL User Reference, January 2004.
http://www.techxhome.com/pdf/FastDL_UserReference.pdf cache: ../../archive/FastDL_UserReference.pdf.

150
unknown author.
Open Grid Service Infrastructure Primer, March 2004.
Last modified 11/3/2004, https://forge.gridforum.org/projects/ogsi-wg/document/draft-ggf-ogsi-gridserviceprimer/en/1 cache: ../../archive/draft-ggf-ogsi-gridserviceprimer.doc.
Gentle introduction to OGSI. Design goals include extensibility/refinement, introspection (an ability for systems to describe their own capabilities and interfaces), statefullness(?), "soft-state"(?), behaviour which gives artefacts (identities/information/resource allocations) explicit lifetimes.

151
Leslie G. Valiant.
A Bridging Model for Parallel Computation.
Communications of the ACM, 33(8):103-111, August 1990.
http://portal.acm.org/citation.cfm?id=79181 cache: ../../archive/p103-valiant.pdf.
The BSP model is proposed as a bridge between high-level parallel languages and low-level hardware, which can be exploited for high performance programming.

152
Rob V. van Nieuwpoort.
Efficient Java-Centric Grid-Computing.
PhD thesis, ije Universiteit Amsterdam, the Netherlands, September 2003.
http://www.cs.vu.nl/~rob/papers/thesis.ps.gz cache: ../../archive/java-centric-grid-computing-thesis.ps.gz.

153
Rob V. van Nieuwpoort, Jason Maassen, Rutget Hofman, Thilo Kielmann, and Henri E. Bal.
Ibis: an Efficient Java-based Grid Programming Environment.
Joint ACM Java Grande - ISCOPE 2002 Conference, November 2002.
http://www.gridlab.org/Resources/Papers/jgi02.pdf cache: ../../archive/jgi02.pdf.
Ibis aims to increase the efficiency of Java message passing, to approach the efficiency of MPI, without compromising the portability of code.

154
C. van Reeuwijk, F. Kuijlman, and H.J. Sips.
Spar: a Set of Extensions to Java for Scientific Computation, pages 277-299.
Volume 15 of Fox [74], 2003.
http://www.pds.ewi.tudelft.nl/~reeuwijk/publications/downloads/cpe-jgrande2001.pdf cache: ../../archive/cpe-jgrande2001.pdf.
Extensions to Java (known as "Spar"- collectively "Spar/Java") are demonstrated by example, with comparisons to Java, C, C++ and HPF.
The features added are:
For the sake of simplicity, the Spar/Java compiler does not support all features of Java (threads and dynamic class loading are unsupported, inner classes and interfaces are only partially supported). These restrictions are not inherant to the design of the language. The compiler does not generate JVM bytecode, but instead to an intermediate language "vnus", which can then be compiled into C++ code. The resulting code is SPMD, with explicit message passing (MPI, PVM, Panda were supported at the time of this paper).

Link: Timber (Spar/Java compiler)- http://pds.twi.tudelft.nl/timber/index.html

155
Guido van Rossum and editor Fred L. Drake, Jr.
Python Library Reference.
PythonLabs, release 2.3.4 edition, May 2004.
http://www.python.org/doc/current/lib/lib.html.

156
Guido van Rossum and editor Fred L. Drake, Jr.
Python/C API Reference Manual.
PythonLabs, release 2.3.4 edition, May 2004.
http://docs.python.org/api/api.html.

157
Gary V. Vaughan, Ben Elliston, Tom Tromey, and Ian Lance Taylor.
GNU Autoconf, Automake, and Libtool.
New Riders publishing, October 2000.
ISBN: 1578701902 http://sources.redhat.com/autobook/.

158
Gary V. Vaughan, Ben Elliston, Tom Tromey, and Ian Lance Taylor.
Writing Portable C with GNU Autotools, chapter 15, pages 177-194.
In [157], October 2000.
http://sources.redhat.com/autobook/autobook/autobook_110.html.

159
R. Veldema and Henri E. Bal.
Optimizing Java specific overheads, Java at the speed of C?
In Proc. HPCN 2001, 2001.
http://www.cs.vu.nl/~rob/papers/hpcn01.pdf cache: ../../archive/hpcn01.pdf.

160
Markus Voelter.
Aspect-Oriented Programming in Java.
Java Report, January 2000.
http://www.voelter.de/data/articles/aop/aop.html cache: ../../archive/aop.html.
Introduction to the concepts of Aspect-Oriented Programming (AOP) and the AspectJ language (AOP concepts added to Java).

161
Werner Vogels.
HPC.NET - are CLI-based Virtual Machines Suitable for High Performance Computing.
[4].
http://www.sc-conference.org/sc2003/paperpdfs/pap251.pdf cache: ../../archive/pap251.pdf.
The Java Grande Forum has been proposing that Java is a viable platform for use in high performance computing. This paper investigates the relative performance of the Common Language Infrastructure (CLI), which is the basis for Microsoft's .NET framework. If the performance of CLI-based VM's approaches or exceeds that of the Java VM, then CLI should be as viable as Java in HPC, while offering significant software engineering advantages over Java.

Porting code from Java to C# is relatively simple, using automated translation tools or even manual translation. The areas of code that require the most work are those which are platform-specific services, or Java libraries which currently have no standard equivalent in CLI libraries.

Microsoft's (commercial) CLR appears approximately as good as the fastest Java VM, with the opensource Mono lagging behind a little. It is noted that Mono's performance has been increasing with each release.

162
Gregor von Laszewski, Ian Foster, Jarek Gawor, and Peter Lane.
A Java Commodity Grid Kit.
Concurrency and Computation: Practice and Experience, 13(8-9):643-662, July-August 2001.
http://www3.interscience.wiley.com/cgi-bin/jissue/84503215 cache: ../../archive/vonlaszewski01java.pdf.
Part of the Cog Kit Project: http://www.cogkit.org/, which aims to give computational scientists easier access to grid services by lowering the amount of prerequisite knowledge required. These "kits" are available for Java (http://www-unix.globus.org/cog/java/), Python (http://www-unix.globus.org/cog/python/), Matlab (http://www-unix.globus.org/cog/matlab/) and (web?) "Portals" (http://www.ogce.org/).

163
Niklaus Wirth.
Programming in Modula-2.
Springer-Verlag, 4 edition, 1988.
ISBN: 0387501509.

164
Joachim Worringen, Andreas Gäer, and Frank Reker.
Exploiting transparent remote memory access for non-contiguous and one-sided-communication.
In IPDPS 2002, Workshop for Communication Architecture in Clusters (CAC '02), Fort Lauderdale, Florida, April 2002. IEEE Computer Society.
http://www.ipdps.org/ipdps2002/ ISBN: 0769515738, cache: ../../archive/paper_cac02_revised_ohne_tb.pdf.
This paper presents benchmarks of two new features in SCI-MPICH (a variant of MPICH optimized for the SCI interconnect)- use of non-contiguous MPI datatypes, and one-sided communication. Results appear promising, though with much room for improvement.

165
Gu Yan.
JBSP: A BSP Programming Library In Java.
Master's thesis, Nanyang Technological University, August 1999.
http://www.cs.jhu.edu/~yangu/publications/thesis.ps cache: ../../archive/jbsp-thesis.ps.gz.
An implementation of a BSP library for Java, on top of a combination of message passing and RMI.

166
Kathy Yelick, Luigi Semenzato, Geoff Pike, Carleton Miyamoto, Ben Libit, Arvind Krishnamurthy, Paul Hilfinger, Susan Graham, David Gay, Phil Colella, and Alex Aiken.
Titanium: A High-Performance Java Dialect.
In Concurrency- Practice and Experience, Java Special Issue, volume 10, 1998.

167
Tong Zhang, Chuanfu Zhang, Yunsheng Liu, and Yabing Zha.
A Design of Distributed Simulation Based on GT3 Core.
In Li et al. [110], pages 590-596.
http://www.springerlink.com/link.asp?id=gfv94n620m5m5et2 cache: https://bubble.csse.monash.edu.au/archive/lncs3033/p590-596.pdf.
A simple distributed two dimensional combat simulation is designed and described as an example of the use of GT3.



2006-09-21