Parallel, Distributed, and Grid Computing

The core goal of parallel computing is to speedup computations by executing independent computational tasks concurrently (“in parallel”) on multiple units in a processor, on multiple processors in a computer, or on multiple networked computers which may be even spread across large geographical scales (distributed and grid computing); it is the dominant principle behind “supercomputing” respectively “high performance computing”. For several decades, the density of transistors on a computer chip has doubled every 18–24 months (“Moore’s Law”); until recently, this rate could be directly transformed into a corresponding increase of a processor’s clock frequency and thus into an automatic performance gain for sequential programs. However, since also a processor’s power consumption increases with its clock frequency, this strategy of “frequency scaling” became ultimately unsustainable: since 2004 clock frequencies have remained essentially stable and additional transistors have been primarily used to build multiple processors on a single chip (multi-core processors). Today therefore every kind of software (not only “scientific” one) must be written in a parallel style to profit from newer computer hardware.

[1]  Ian T. Foster,et al.  The Anatomy of the Grid: Enabling Scalable Virtual Organizations , 2001, Int. J. High Perform. Comput. Appl..

[2]  Franz Winkler,et al.  CASA - A System for Computer Aided Constructive Algebraic Geometry , 1996, DISCO.

[3]  Wolfgang Schreiner,et al.  The Porting of a Medical Grid Application from Globus 4 to the gLite Middleware , 2008 .

[4]  Kevin Skadron,et al.  A performance study of general-purpose applications on graphics processors using CUDA , 2008, J. Parallel Distributed Comput..

[5]  David A. Patterson,et al.  Computer Architecture: A Quantitative Approach , 1969 .

[6]  Franz Winkler,et al.  PLOTTING ALGEBRAIC SPACE CURVES BY CLUSTER COMPUTING , 2000 .

[7]  Wolfgang Schreiner,et al.  Semantic Querying of Mathematical Web Service Descriptions , 2006, WS-FM.

[8]  Nick Baker,et al.  Xbox 360 System Architecture , 2006, IEEE Micro.

[9]  Ian Foster,et al.  The Globus toolkit , 1998 .

[10]  Johan Simon Seland Parallel Programming Patterns , 2010 .

[11]  Bill Fenner,et al.  UNIX Network Programming, Vol. 1 , 2003 .

[12]  Ian T. Foster,et al.  Designing and building parallel programs - concepts and tools for parallel software engineering , 1995 .

[13]  Wolfgang Schreiner,et al.  A Grid Software for Virtual Eye Surgery Based on Globus 4 and gLite , 2007, Sixth International Symposium on Parallel and Distributed Computing (ISPDC'07).

[14]  Olga Caprotti,et al.  TOWARDS A MATHEMATICAL SERVICES DESCRIPTION LANGUAGE , 2002 .

[15]  Wolfgang Schreiner,et al.  A Para-Functional Programming Interface for a Parallel Computer Algebra Package , 1996, J. Symb. Comput..

[16]  Rajkumar Buyya,et al.  High Performance Cluster Computing , 1999 .

[17]  David A. Patterson,et al.  Latency lags bandwith , 2004, CACM.

[18]  Samuel Williams,et al.  The Landscape of Parallel Computing Research: A View from Berkeley , 2006 .

[19]  Franz Winkler,et al.  Analyzing algebraic curves by cluster computing , 2000 .

[20]  Naga K. Govindaraju,et al.  A Survey of General‐Purpose Computation on Graphics Hardware , 2007 .

[21]  Kevin Skadron,et al.  Scalable parallel programming , 2008, 2008 IEEE Hot Chips 20 Symposium (HCS).

[22]  Wolfram Wöß,et al.  A Semantic Web middleware for Virtual Data Integration on the Web , 2008, ESWC.

[23]  Kurt Siegl,et al.  Parallelizing algorithms for symbolic computation using MAPLE , 1993, PPOPP '93.

[24]  Michael Buchberger,et al.  Biomechanical Modelling of the Human Eye , 2008 .

[25]  Wolfgang Schreiner ADAM - An Abstract Dataflow Machine and Its Transputer Implementation , 1991, EDMCC.

[26]  Suresh Venkatasubramanian The Graphics Card as a Streaming Computer , 2003, ArXiv.

[27]  Ian T. Foster,et al.  The data grid: Towards an architecture for the distributed management and analysis of large scientific datasets , 2000, J. Netw. Comput. Appl..

[28]  Leslie Lamport,et al.  Specifying Systems: The TLA+ Language and Tools for Hardware and Software Engineers [Book Review] , 2002, Computer.

[29]  Wolfgang Schreiner Virtual Tasks for the PACLIB Kernel , 1994, CONPAR.

[30]  Richard Wolski,et al.  The network weather service: a distributed resource performance forecasting service for metacomputing , 1999, Future Gener. Comput. Syst..

[31]  William J. Dally,et al.  Programmable Stream Processors , 2003, Computer.

[32]  Christian Mittermaier,et al.  Distributed Maple: parallel computer algebra in networked environments , 2003, J. Symb. Comput..

[33]  Hoon Hong,et al.  The Design of the SACLIB/PACLIB Kernels , 1995, J. Symb. Comput..

[34]  Ian T. Foster,et al.  MPICH-G2: A Grid-enabled implementation of the Message Passing Interface , 2002, J. Parallel Distributed Comput..

[35]  John D. Owens,et al.  GPU Computing , 2008, Proceedings of the IEEE.

[36]  Franz Winkler,et al.  On Solving a Problem in Algebraic Geometry by Cluster Computing (Research Note) , 2000, Euro-Par.

[37]  Erik Lindholm,et al.  NVIDIA Tesla: A Unified Graphics and Computing Architecture , 2008, IEEE Micro.

[38]  Tudor Jebelean,et al.  Functional-Based Synthesis of a Systolic Array for GCD Computation , 2006, IFL.

[39]  Edmund M. Clarke,et al.  Model Checking , 1999, Handbook of Automated Reasoning.

[40]  David R. Butenhof Programming with POSIX threads , 1993 .

[41]  John Owens,et al.  Streaming architectures and technology trends , 2005, SIGGRAPH Courses.

[42]  Christoph Überhuber,et al.  High Performance Fortran — HPF , 2001 .

[43]  Wolfgang Schreiner,et al.  Tolerating Stop Failures in Distributed Maple , 2005, Scalable Comput. Pract. Exp..

[44]  Rajkumar Buyya,et al.  A taxonomy of Data Grids for distributed data sharing, management, and processing , 2005, CSUR.

[45]  Michael J. Flynn,et al.  Parallel architectures , 1996, CSUR.

[46]  Franz Winkler,et al.  A Parallel Symbolic-Numerical Approach to Algebraic Curve Plotting , 2000 .

[47]  Olga Caprotti,et al.  A Web registry for publishing and discovering mathematical services , 2005, 2005 IEEE International Conference on e-Technology, e-Commerce and e-Service.

[48]  Bruno Buchberger The L-Machine: An Attempt at Parallel Hardware for Symbolic Computation , 1985, AAECC.

[49]  Ian Foster,et al.  The Grid 2 - Blueprint for a New Computing Infrastructure, Second Edition , 1998, The Grid 2, 2nd Edition.