Abstract
In this paper, we present our joint efforts to design and develop parallel implementations of the GNU Scientific Library for a wide variety of parallel platforms. The multilevel software architecture proposed provides several interfaces: a sequential interface that hides the parallel nature of the library to sequential users, a parallel interface for parallel programmers, and a web services based interface to provide remote access to the routines of the library. The physical level of the architecture includes platforms ranging from distributed and shared-memory multiprocessors to hybrid systems and heterogeneous clusters. Several well-known operations arising in discrete mathematics and sparse linear algebra are used to illustrate the challenges, benefits, and performance of different parallelization approaches.
Similar content being viewed by others
References
Aliaga J, Almeida F, Badía JM, Barrachina S, Blanco V, Castillo M, Dorta U, Mayo R, Quintana ES, Quintana G, Rodríguez C, de Sande F (2004) Parallelization of the GNU scientific library on heterogeneous systems. In: Proc of the third international workshop on algorithms, models and tools for parallel computing on heterogeneous networks (HeteroPar’04), Cork, Ireland, Jul 2004, pp 338–345
Aliaga J, Almeida F, Badía JM, Barrachina S, Blanco V, Castillo M, Dorta U, Mayo R, Quintana G, Rodriguez C, Sande F (2004) Parallelization of GSL: Architecture, interfaces, and programming models. In: Proc of the 11th European PVM/MPI users’ group meeting in conjunction with DAPSYS’04 (EuroPVM/MPI 2004), Budapest, Hungary, 19–22 September 2004. Lecture notes in computer science, vol 3241. Springer, Berlin, pp 199–206
Aliaga J, Almeida F, Badía JM, Barrachina S, Blanco V, Castillo M, Mayo R, Quintana ES, Quintana G, Rodríguez C, de Sande F, Santos A (2005) Parallelization of GSL on clusters of symmetric multiprocessors. In: Proc of the PARCO’05, Málaga, Spain, 2005, pp 333–340
Aliaga J, Almeida F, Badía JM, Barrachina S, Blanco V, Castillo M, Mayo R, Quintana ES, Quintana G, Rodríguez C, de Sande F, Santos A (2006) Parallelization of GSL: the web service interface. In: Proc of the 14th Euromicro conf on parallel, distributed and network based processing PDP’06, Montbéliard-Sochaux, France, 2006, pp 301–307
Amazon web service. www.amazon.com/gp/aws/landing.html
Cappello F, Richard O, Etiemble D (2000) Investigating the performance of two programming models for clusters of SMP PCs. In: 6th IEEE symp on high-performance computer architecture, 2000, pp 349–359
Dorta AJ, Badía JM, Quintana ES, Sande F (2005) Implementing OpenMP for clusters on top of MPI. In: Proc of the 12th European PVM/MPI users’ group meeting, Sorrento, Italy, 2005. Lecture notes in computer science, vol 3666. Springer, Berlin, pp 148–155
Duff IS, Heroux MA, Pozo R (2002) An overview of the sparse basic linear algebra subprograms. ACM Trans Math Softw 28(2):239–267
Fortier PJ, Michel HE (2003) Computer systems performance evaluation and prediction. Digital Press, Burlington
Galassi M, Davies J, Theiler J, Gough B, Jungman G, Booth M, Rossi F (2002) GNU scientific library reference manual, July 2002. Ed 1.2, for GSL Version 1.2
Google API. http://www.google.com/apis/
Ibaraki T, Katoh N (1988) Resource allocation problems. Algorithmic approaches. The MIT Press, Cumberland
Jain R (1991) The art of computer systems performance analysis: techniques for experimental design, measurement, simulation, and modeling. Wiley-Interscience, New York
Aliaga J, Almeida F, Badía JM, Barrachina S, Blanco V, Castillo M, Dorta U, Mayo R, Quintana ES, Quintana G, Rodríguez C, de Sande F (2004) Parallelization of GSL: performance of case studies. In: Proc of the workshop on state of the art in scientific computing (PARA’04), Copenhagen, Denmark, Jun 2004, p 83
Lastovetsky A (2003) Parallel computing on heterogeneous networks. Wiley, Hoboken
Li X, Lu P, Schaeffer J, Shillington J, Wong PS, Shi H (1993) On the versatility of parallel sorting by regular sampling. Parallel Comput 19(10):1079–1103
MPI Forum web page. http://www.mpi-forum.org
OpenMP web page. http://www.openmp.org
Simple object access protocol (SOAP). http://www.w3.org/TR/soap/
Universal description, discovery and integration (uddi). http://www.uddi.org/about.html
Web services description language (WSDL) 1.1. http://www.w3.org/TR/wsdl/
XML-RPC home page. http://www.xmlrpc.com/
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Aliaga, J.I., Almeida, F., Badía, J.M. et al. Toward the parallelization of GSL. J Supercomput 48, 88–114 (2009). https://doi.org/10.1007/s11227-008-0207-z
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-008-0207-z