Abstract
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.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Jeff Andrews and Nick Baker. Xbox 360 System Architecture. IEEE Micro, 26(2):25–37, March–April 2006.
Krste Asanovic, Ras Bodik, Bryan Christopher Catanzaro, et al. The Landscape of Parallel Computing Research: A View from Berkeley. Technical Report UCB/EECS-2006-183, EECS Department, University of California, Berkeley, December 2006.
ACPC – Austrian Center for Parallel Computation. http://www.gup.jku.at/ information/acpc/acpc.php.
AMD. ATI Stream Technology. http://ati.amd.com/technology/streamcomputing/index.html.
Austrian Grid Project. http://www.austriangrid.at.
Rebhi Baraka, Olga Caprotti, and Wolfgang Schreiner. A Web Registry for Publishing and Discovering Mathematical Services. In IEEE International Conference on e-Technology, e-Commerce, and e-Service (EEE-05), pages 190–193, Hong Kong, April 29–March 1, 2005. IEEE Computer Society Press.
B. Buchberger and T. Jebelean. Systolic Algorithms in Computer Algebra. In NATO ASI on Parallel Processing on Distributed Memory Multiprocessors, Ankara, Turkey, 1991.
Martin Blöchl, Andreas Langegger, and Wolfram Wöß. Registration of Heterogeneous Data Sources in the Case of the Grid Semantic Data Access Middleware (G-SDAM). In Proceedings of the Austrian Grid Symposium (AGS’06). OCG, 2006.
BrookGPU. http://graphics.stanford.edu/projects/brookgpu/.
Karoly Bosa and Wolfgang Schreiner. Tolerating Stop Failures in Distributed Maple. Scalable Computing: Practice and Experience, 6(2):59–70, July 2005.
Rebhi Baraka and Wolfgang Schreiner. Semantic Querying of Mathematical Web Service Descriptions. In Mario Bravetti et al, editor, Third International Workshop on Web Services and Formal Methods (WS-FM 2006), volume 4184 of Lecture Notes in Computer Science, pages 73–87, Vienna, Austria, September 8–9, 2006. Springer.
Karoly Bosa and Wolfgang Schreiner. Initial Design of a Distributed Supercomputing API for the Grid. Technical report, Research Institute for Symbolic Computation (RISC), Johannes Kepler University Linz, Austria., 2008.
Karoly Bosa and Wolfgang Schreiner. The Porting of a Medical Grid Application from Globus 4 to the gLite Middleware. In Peter Kacsuk at al., editor, Proceedings of DAPSYS 2008, pages 51–61. Springer, September 2008.
Karoly Bosa, Wolfgang Schreiner, Michael Buchberger, and Thomas Kaltofen. SEE-GRID, A Grid-Based Medical Decision Support System for Eye Muscle Surgery. In Jens Volkert et al., editor, Proceedings of 1st Austrian Grid Symposium 2005, pages 61–74, Hagenberg, Austria, December 01-02 2005. Austrian Computer Society (OCG).
Karoly Bosa, Wolfgang Schreiner, Michael Buchberger, and Thomas Kaltofen. A Grid Software for Virtual Eye Surgery Based on Globus 4 and gLite. In Proceedings of ISPDC 2007, pages 151–158. IEEE Computer Society, 2007.
Bruno Buchberger. Computer-Trees and Their Programming. In 4th Colloquium “Les arbres en algebre et en programmation”, pages 1–18, University of Lille, France, February 16–18, 1978.
Bruno Buchberger. The L-Machine: An Attempt at Parallel Hardware for Symbolic Computation. In Symposium on Applied algebra, Algebraic algorithms, and Error Correcting Codes (AAECC), volume 229 of Lecture Notes in Computer Science, pages 333–347. Springer, 1985.
Michael Buchberger. Biomechanical Modelling of the Human Eye. PhD thesis, Johannes Kepler University, Linz, Austria, March 2004.
David R. Butenhof. Programming with POSIX Threads. Addison-Wesley, 1997.
Rajkumar Buyya. High Performance Cluster Computing. Prentice Hall, 1999.
CASA — Computer Algebra System for Algebraic Geometry. http://www.risc. uni-linz.ac.at/software/casa.
Shuai Che, Michael Boyer, Jiayuan Meng, et al. A Performance Study of General-Purpose Applications on Graphics Processors Using CUDA. Journal of Parallel and Distributed Computing, 68:1370–1380, 2008.
A. Chervenak, I. Foster, C. Kesselman, C. Salisbury, and S. Tuecke. The Data Grid: Towards an Architecture for the Distributed Management and Analysis of Large Scientific Datasets. Journal of Network and Computer Applications, 23(3):187–200, 2001.
Edmund M. Clarke, Orna Grumberg, and Doron A. Peled. Model Checking. MIT Press, 1999.
Olga Caprotti and Wolfgang Schreiner. Towards a Mathematical Service Description Language. In International Congress on Mathematical Software (ICMS), Bejing, China, August 20–28, 2002. World Scientific Publishers.
CUDA Zone. http://www.nvidia.com/object/cuda home.html.
Distributed Maple. http://www.risc.uni-linz.ac.at/software/distmaple.
Eden: Parallel Functional Programming. http://www.mathematik.uni-marburg.de/∼eden.
Enabling Grids for E-sciencE (EGEE). http://www.eu-egee.org.
Erlang. http://www.erlang.org.
Euro-Par Conference Series — European Conference on Parallel and Distributed Computing. http://www.europar.org.
Ian Foster and Carl Kesselmann. The Grid 2: Blueprint for a New Computing Infrastructure. Morgan Kaufmann, 2nd edition, 1998.
I. Foster, C. Kesselman, and S. Tuecke. The Anatomy of the Grid: Enabling Scalable Virtual Organizations. Lecture Notes in Computer Science, 2150, 2001.
Ian Foster. Designing and Building Parallel Programs: Concepts and Tools for Parallel Software Engineering. Addison-Wesley, 1995.
M. J. Flynn and K. W. Rudd. Parallel Architectures. ACM Computing Surveys, 28(1):67–70, 1996.
gLite — Lightweight Middleware for Grid Computing. http://glite.web.cern.ch.
The Globus Toolkit. http://www.globus.org/toolkit.
General-Purpose Computation Using Graphics Hardware. http://www.gpgpu. org.
Glasgow Parallel Haskell (GPH). http://www.macs.hw.ac.uk/˜dsg/gph.
Hoon Hong, Andreas Neubacher, and Wolfgang Schreiner. The Design of the SACLIB/PACLIB Kernels. Journal of Symbolic Computation, 19:111–132, 1995.
John L. Hennessy and David A. Patterson. Computer Architecture: A Quantitative Approach. Academic Press, 4th edition, 2006.
High Performance Fortran (HPF). http://hpff.rice.edu.
Int.EU.Grid Project. http://www.interactive-grid.eu/.
Ujval J. Kapasi, Scott Rixner, William J. Dally, et al. Programmable Stream Processors. IEEE Computer, 36(8):54–62, August 2003.
N. Karonis, B. Toonen, and I. Foster. MPICH-G2: A Grid-Enabled Implementation of the Message Passing Interface. Journal of Parallel and Distributed Computing (JPDC), 63(5):551–563, May 2003.
Leslie Lamport. Specifying Systems: The TLA+ Language and Tools for Hardware and Software Engineers. Addison Wesley, 2002.
Erik Lindholm, John Nickolls, Stuart Oberman, and John Montrym. NVIDIA Tesla: A Unified Graphics and Computing Architecture. IEEE Micro, 28(2):39–55, March–April 2008.
Hans-Wolfgang Loidl. A Parallelizing Compiler for the Functional Programming Language EVE. In Austrian-Hungarian Workshop on Transputer Applications, pages 1–10, Sopron, Hungary, October 8–10, 1992. Hungarian Academy of SciencesTechnical Report KFKI-1992-34/M,N.
A. Langegger, W. Wöß, and M. Blöchl. A Semantic Web Middleware for Virtual Data Integration on the Web. In Proceedings of the European Semantic Web Conference 2008, Tenerife, pages 493–507. Springer, 2008.
Daniel Mitterdorfer. Grid-Capable Persistance Based on a Metamodel for Medical Decision Support. Master’s thesis, Upper Austria University of Applied Sciences, Hagenberg, Austria, July 2005.
MPI (Message Passing Interface) Forum. http://www.mpi-forum.org.
MPICH Project. http://www-unix.mcs.anl.gov/mpi/mpich1/.
MPICH-G2 Project. http://www.hpclab.niu.edu/mpi/.
Christian Mittermaier, Wolfgang Schreiner, and Franz Winkler. A Parallel Symbolic-Numerical Approach to Algebraic Curve Plotting. In Vladimir Gerdt and Ernst W. Mayr, editors, CASC-2000, Third International Workshop on Computer Algebra in Scientific Computing, pages 301–314, Samarkand, Uzbekistan, October 5–9, 2000. Springer, Berlin.
Michael Mnuk and Franz Winkler. CASA - A System for Computer Aided Constructive Algebraic Geometry. In J. Calmet and C. Limongelli, editors, International Symposium on the Design and Implementation of Symbolic Computation Systems (DISCO’96), volume 1128 of Lecture Notes in Computer Science, pages 297–307, Karsruhe, Germany, 1996. Springer.
John Nickolls, Ian Buck, Michael Garland, and Kevin Skadron. Scalable Parallel Programming with CUDA. Queue, 6(2):40–53, March–April 2008.
NVIDIA. CUDA CUBLAS Library Documentation, March 2008. http:// developer.download.nvidia.com/compute/cuda/2 0/docs/CUBLAS Library 2.0. pdf.
NVIDIA. CUDA CUFFT Library Documentation, March 2008. http:// developer.download.nvidia.com/compute/cuda/2 0/docs/CUFFT Library 2.0.pdf.
NVIDIA. NVIDIA Tesla Personal Supercomputer, 2008. http://www.nvidia. com/object/personal supercomputing.html.
Open Grid Services Architecture WG (OGSA-WG). http://forge.gridforum. org/sf/projects/ogsa-wg.
John D. Owens, Mike Houston, David Luebke, Simon Green, John E. Stone, and James C. Phillips. GPU Computing. Proceedings of the IEEE, 96(5):879–899, May 2008.
John D. Owens, David Luebke, Naga Govindaraju, Mark Harris, Jens Krüger, Aaron E. Lefohn, and Timothy J. Purcell. A Survey of General–Purpose Computation on Graphics Hardware. Computer Graphics Forum, 26(1):80–113, March 2007.
The OpenMP API Specification for Parallel Programming. http://openmp.org.
John Owens. Streaming Architectures and Technology Trends. In Matt Pharr, editor, GPU Gems 2, chapter 29, pages 457–470. Addison Wesley, 2005.
Szilárd Páll. GPU Computing Approach for Parallelizing Support Vector Machine Classification. Master’s thesis, Johannes Kepler University Linz, July 2008.
Parallel Symbolic Computation (PASCO) ’07. http://www.orcca.on.ca/ conferences/pasco2007/site/index.html.
Parallel Programming Patterns. http://www.cs.uiuc.edu/homes/snir/PPP.
David A. Patterson. Latency Lags Bandwith. Communications of the ACM, 47(10):71–75, October 2004.
PVS Specification and Verification System. http://pvs.csl.sri.com.
L. Ruff and T. Jebelean. Functional Based Synthesis of a Systolic Array for GCD Computation. In V. Zsok Z. Horvath, editor, Implementation and Application of Functional Languages, volume 4449 of LNCS, pages 37–54. Springer, 2007.
Wolfgang Schreiner. ADAM – An Abstract Dataflow Machine and its Transputer Implementation. In Arndt Bode, editor, Second European Conference on Distributed Memory Computing (EDMCC2), volume 487 of Lecture Notes in Computer Science, pages 392–401, Munich, Germany, April 22–24, 1991. Springer.
Wolfgang Schreiner. Virtual Tasks for the PACLIB Kernel. In Parallel Processing: CONPAR 94 - VAPP VI Third Joint International Conference on Vector and Parallel Processing, volume 854 of Lecture Notes in Computer Science, pages 533–544, Linz, Austria, September 6–8, 1994. Springer.
Wolfgang Schreiner. Application of a Para-Functional Language to Problems in Computer Algebra. In A. P. Wim Böhm and John T. Feo, editors, High Performance Functional Computing, pages 10–24, Denver, Colorado, April 9–11, 1995. Lawrence Livermore National Laboratory Report CONF-9504126.
Wolfgang Schreiner. A Para-Functional Programming Interface for a Parallel Computer Algebra Package. Journal of Symbolic Computation, 21:593–614, 1996.
The SCIEnce Project (Symbolic Computation Infrastructure for Europe), 2009. http://www.medicis.polytechnique.fr/science.
SEE-KID. http://www.see-kid.at.
W. Richard Stevens, Bill Fenner, and Andrew M. Rudoff. Unix Network Programming: The Sockets Networking API, 2003.
Sh High Level Metaprogramming Language. http://libsh.org.
Kurt Siegl. Parallelizing Algorithms for Symbolic Computation Using MAPLE . In ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, pages 179–186, San Diego, CA, May 19–22, 1993. ACM Press.
Kurt Siegl. A Parallel Factorization Tree Gröbner Basis Algorithm. In Hoon Hong, editor, International Symposium on Parallel Symbolic Computation (PASCO), volume 5 of Lecture Notes Series in Computing, pages 356–362, Hagenberg, Austria, September 26–28, 1994. World Scientific.
Wolfgang Schreiner, Christian Mittermaier, and Karoly Bosa. Distributed Maple: Parallel Computer Algebra in Networked Environments. Journal of Symbolic Computation, 35:305–347, 2003.
Wolfgang Schreiner, Christian Mittermaier, and Franz Winkler. Analyzing Algebraic Curves by Cluster Computing. In Peter Kacsuk and Gabriele Kotsis, editors, Distributed and Parallel Systems – From Instruction Parallelism to Cluster Computing, DAPSYS’2000, 3rd Austrian-Hungarian Workshop on Distributed and Parallel Systems, pages 175–184, Balatonfüred, Hungary, September 10–13, 2000. Kluwer, Boston.
Wolfgang Schreiner, Christian Mittermaier, and Franz Winkler. On Solving a Problem in Algebraic Geometry by Cluster Computing. In Arndt Bode, Thomas Ludwig, Wolfgang Karl, and Roland Wismüller, editors, 6th International Conference on Parallel Computing (Euro-Par 2000), volume 1900 of Lecture Notes in Computer Science, pages 1196–1200, Munich, Germany, August 29 – September 1, 2000. Springer.
Wolfgang Schreiner, Christian Mittermaier, and Franz Winkler. Plotting Algebraic Space Curves by Cluster Computing. In X.-S. Gao and D. Wang, editors, 4th Asian Symposium on Computer Mathematics, pages 49–58, Chiang Mai, Thailand, December 17-21, 2000. World Scientific Publishers, Singapore.
On-the-Fly, LTL Model Checking with Spin. http://spinroot.com.
Bernhard Schölkopf and Alexander J. Smola. Learning with Kernels: Support Vector Machines, Regularization, Optimization, and Beyond (Adaptive Computation and Machine Learning). The MIT Press, 2001.
SCXY Conference Series — The International Conference for High Performance Computing, Networking, Storage, and Analysis. http://supercomputing.org.
Top 500 Supercomputing Sites. http://www.top500.org.
Berkeley UPC — Unified Parallel C. http://upc.lbl.gov.
Srikumar Venugopal, Rajkumar Buyya, and Kotagiri Ramamohanarao. A Taxonomy of Data Grids for Distributed Data Sharing, Management, and Processing. ACM Comput. Surv., 38(1):3, 2006.
Suresh Venkatasubramanian. The Graphics Card as a Streaming Computer. CoRR, cs.GR/0310002, 2003.
Johannes Watzl. Investigations on Improving the SEE-GRID Optimization Algorithm. Diploma thesis, Research Institute for Symbolic Computation (RISC), Johannes Kepler University, Linz, Austria, June 2008.
Rich Wolski, Neil T. Spring, and Jim Hayes. The Network Weather Service: a Distributed Resource Performance Forecasting Service for Metacomputing. Future Generation Computer Systems, 15(5–6):757–768, 1999.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2009 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Schreiner, W. et al. (2009). Parallel, Distributed, and Grid Computing. In: Buchberger, B., et al. Hagenberg Research. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-02127-5_8
Download citation
DOI: https://doi.org/10.1007/978-3-642-02127-5_8
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-02126-8
Online ISBN: 978-3-642-02127-5
eBook Packages: Computer ScienceComputer Science (R0)