Sie sind auf Seite 1von 8

LAPACK WS: Offering Lapack over the Web

Dimitris Benis, Manolis Vavalis, and Elias Houstis


1
Laboratory for Information Systems and Services
Centre for Research and Technology - Thessaly (CERETETH)
2
Computing and Telecommunications Department, University of Thessaly
{mpdimitr,mav,enh}@inf.uth.gr

Abstract. This article contains a description of our early efforts to de-


velop a foundation for a service-based paradigm, in which scientific com-
puting resources and services are transparently provisioned and managed
on an on-demand basis, at run-time if needed at competitive costs. We
envision that web services3 will allow us to effectively merge existing high
quality scientific computing software and high performance computing
infrastructure into value added web computational systems. To prove
the above concept, we have implemented a set of LAPACK routines as
web services, we are offering them in several ways and we plan to further
develop the existing system prototype into a web computational plat-
form capable of serving most of the computational linear algebra needs
of scientists and practitioner in an integrated, convenient and time and
cost reducing manner.

1 Introduction

Within the research domain of High Performance Computing (HPC) significant


efforts are devoted to shorten the development cycle and reduce the cost of
Scientific Computing software development, deployment and execution.
Software-as-a-service (SaaS) has been recognized as the next step in the soft-
ware industry and already fundamentally alters the economics of software. At
almost the same time internet and the World Wide Web (WWW) in general
and other related technologies like Cloud in particular offer the promise of vir-
tually unlimited processing and storage power as well as applications running
on widely-dispersed computers as though they are on our own desktops. Com-
panies like Microsoft, Amazon, Google, IBM, Yahoo and others are nowadays
competing to, based on the SaaS paradigm, provide cloud computing to com-
mercial applications of diverse characteristics that we all benefit on an everyday
basis. Nevertheless, the incorporation of these offerings (cloud computing for ex-
ample) into an HPC platform is still an under-explored task. At any rate, SaaS
and the WWW lead us, in a natural way, to the concept of Web service which
simply is programmatically available application logic exposed over the Internet.
3
A web service is according to W3C a software system designed to support interop-
erable machine-to-machine interaction over a network.
2 Benis, Vavalis, Houstis

Any piece of code and any application component deployed on a system can be
transformed into a network-available service [19].
Numerical linear algebra is fundamental to all fields of science and engineer-
ing. Besides to its apparent mathematical importance it is strongly characterized
by the fact that it always emphasizes on practical algorithmic ideas. This is re-
flected in many ways with just one of them being the plethora of the high quality
and the heavily and widely used software systems devoted to the numerical so-
lution of linear systems of algebraic equations. The most commonly used such
software system is LAPACK (Linear Algebra PACKage) which essentially is a
software library for numerical linear algebra. It provides routines for solving sys-
tems of linear equations, linear least squares, eigenvalue problems, singular value
decomposition etc). LAPACK is written in FORTRAN 90 and handles real and
complex matrices in both single and double precision.
To prove the above concept mentioned concept of Web Computational Sys-
tems, we have implemented a set of web services out of selected commonly used
LAPACK routines Theese services can be accessed in several different ways,
through most of the widely used programming languages and under diverse us-
age scenarios (see http://lapack.ws) ranging from humans using Web-based
graphical user interfaces to automatic invocation at run-time. We currently of-
fering (while we are still beta-testing) our web services on a desktop computer,
on a DELL cluster of total of 48 cores and on the Amazon Elastic Compute
Cloud (EC2) and the Amazon Simple Storage Service (S3).
The rest of this paper is organized as follows. We next further expand the
general motivation of our work given above and we review the similar approaches
taken so far. The overall design of our service system and a brief description of the
technological components considered in our study are given in section 3 where
our early prototype with few of its implementation and usage issues are also
given. We conclude in section 4 providing a roadmap of the future evolvement
of our system with a summary and pointers for future work.

2 Motivation, State of the Art and Enabling Technologies

A few years ago Web services were not fast enough to be interesting in the HPC
context [7, 11]. Thanks to the major developments the last few years, most people
and institutions have broadband connection and use the web more and more.
When all major platforms could access the Web using Web browsers, different
platforms could interact. For these platforms to work together, Web applications
were developed. Web applications are simple applications which run on the web,
are built around the Web browser standards and can mostly be used by any
browser on any platform. Web services take Web applications to the next level.
Specifically, using Web services an application can publish its function or message
to the rest of the world. Web services use XML to code and decode the data,
SOAP to transport them using open protocols and WSDL for describing Web
services and how to access them. In addition a directory service is needed where
organizations or individuals can register and/or search for Web services. Finally
Offering Lapack over the Web 3

there are other components which deal with the quality of the services, their
integration on workflows etc. Web services are implemented by a collection of
several related technologies and standards, arranged in a layered manner, as this
is depicted in Figure 1 and described in detail in [19].

Orchestration -BPEL4WS
Processes Choreography -CDL4WS

Quality of WS-Relayability WS-Security ...


Service
Exploit the Features of the Electronic
Discovery Business using XML (ebXML) Registry

Use the Web Services Description Language


Description (WSDL) to describe our services

use messages that follow the Simple Object


Access Protocol (SOAP) standard
Message use the rules of the Extensible Markup
Language (XML) standard

Transport HTTP, JMS, ...

Fig. 1. The web services technology and standards layer cake.

Lapack is a very important, wisely used and continuously evolving project.


There is vast, continuous research and development activity concerning LA-
PACK in general. Nevertheless, the way it is provided to our community has
essentially remain the same since the early days of LINPACK/EISPACK. Specif-
ically, the most common way for someone to benefit from LAPACK is to down-
load the source of the library (or parts of it), build the object library, link it to
her code, compile and run on his machine presumably for a rather long period.
Our system and methodology fundamentally alters this tedious, time consuming,
and often costly procedure bye providing services ready to be consumed either
though human intervention or automatic software binding on demand.
As it may be expected there were no research and development activities
dedicated to HPC web services few years ago. Sporadic and to a great extent
isolated efforts to provide mathematical web services in general can be found in
the scientific literature in the past five years [14, 2, 22, 21, 6, 23, 25, 20] with most
of them concentrating on generic issues and to the best of our knowledge none
of them providing an operation and publicly available set of such web services.
It is worth to mention here the following papers which are the most related to
4 Benis, Vavalis, Houstis

our present study [8, 1]. For a complete list of the related efforts the reader is
referred to our portal.

3 System Design and Prototype Implementation


The general overall design of our system follows the standard Service Oriented
Architecture (SOA). Specifically we have developed and properly integrate the
following main components of our system

Fig. 2. The front page of our portal.

– A web portal that acts as an initial point of contact. It contains all the
information available in order to assist users in becoming familiar to our
offered services, start using them and further contribute by developing and
providing new web services from LAPACK. The front page of this portal
which is publicly available at http://lapack.ws is shown in Figure 2
Offering Lapack over the Web 5

– A freebXML repository necessary for the prober registration of our web


services. It also serves as a service discovery mechanism as this is shown in
Figure 3
– A list of web services, organized in two categories the LAPACK web services
and the utility web services, and already deployed on three computational
systems.

To use our system, the user is registered through our portal which in fact
also provides authorization, authentication and accounting support mechanisms
which complement the associated ones available at the freebXML registry. Through
our portal the user may use our services in three distinct ways.

1. Provide the input online either by using the keyboard, or by uploading a


data file, or by providing the address and user-id and password of an ftp site
that contains the input data or by providing the code that generates these
data.
2. Slightly modify an existing program that contains a conventional call to a
particular LAPACK routine, load an associated system library and compile,
link and run in the conventional way.
3. Develop a web service client by using a development platform (like NetBeans,
Visual Studio and eclipse) which binds to a particular LAPACK web service.

Please note that in the first two scenarios above, the user does not need to
know anything about web services and the associated technologies and tools.
The results from all three scenarios are available for viewing, downloading and
transferring through our portal.
As already mentioned we offer our services on three diverse and heteroge-
nous computational platforms and we support a wide variety of programming
languages.

4 Synopsis and Future Work

In this paper we describe the design and a prototype implementation of a web


service framework which offers

– a standard way to expose the functionalities of legacy LAPACK routines as


a set of reusable services
– a standard, easy and flexible way to help overcome application integration
issues (like firewall, permissions, . . .)
– a standard way to develop and/or assemble Internet-native applications that
involve numerical linear algebra computations across heterogeneous systems.

Our early prototype is publicly available at http://lapack.ws clearly ex-


hibits the above characteristics and it is our believe that will evolve into a refer-
ence point of a federated web computational system for numerical linear algebra
problems. Users can easily benefit from our system both as consumers of our
6 Benis, Vavalis, Houstis

Fig. 3. The ebXML based registry service.


existing web services and developers and/or providers of additional or added
web services.
We already started further development. LAPACK is not the only numerical
linear algebra software collection. We therefore intent to develop selected web
services from other software systems (like ITPACK for example) evaluating the
versatility and the openness of our system architecture and at the same time
enriching our numerical linear algebra web service system.
We also plan to develop an advanced Quality of Service (QoS) component
that will provide us with the ability to offer Service Level Agreement (SLA)
mechanisms [5]. QoS refers to the ability of a Web service to respond to ex-
pected invocations and perform them at the level commensurate to the mutual
expectations of both its provider and its customers. SLA is a formal agreement
(contract) between a provider and client, formalizing the details of use of a Web
service (delivery process, acceptance and quality criteria, etc in measurable terms
based on the known complexities of the associated numerical algorithms) in a
way that meets the mutual understandings and expectations of both providers
and clients.
This paper essentially describes our initial effort to provide a foundation for a
service-based paradigm, in which scientific computing resources and services are
transparently provisioned and managed on an on-demand basis at competitive
costs with high quality of service. Therefore we also plan to investigate the
development of web services for other areas of HPC like the numerical solution
of differential equations.
The long term objective of our study is to challenge our community to be
creative in adopting the SaaS paradigm on its own right. Such adoption will allow
Offering Lapack over the Web 7

us to benefit from new computing platforms, such as the cloud, and other new
generation of software and hardware infrastructure and technology and enable us
to development innovative applications which will fully exploit recent internet,
web and computational advances for many science and engineering applications.
We also envision deep Mathematical software integration at large scale through
scientific workflows [24] and possibly through new interaction and communi-
cation mechanisms and thematically specific languages [10]. Such integration
should include scientific data, computational results [3] and performance met-
rics. In particular we would like to stress the importance of the concept of sci-
entific workflow which has not so far penetrated into our community regardless
its apparent success in other scientific and business areas. We believe that our
research efforts will lead to the further exploitation of heterogenous distributed
computing and storage environments, including GRIDs, [4] in an effective and
convenient way taking advantage of existing standardized platforms and tools
that have already proved their value in other disciplines and thematic areas [9,
15].
Finally, integration of scientific computing software has been so far mainly
focusing on the syntactic interoperability. We expect that within our proposed
framework and general methodology we will be able to significantly elevate the
integration level by coupling syntactic with semantic interoperability [13, 18, 16,
17]. Such efforts will be based on theoretical advances (e.g. ontology engineering
[12]) and practical tools from the semantic web thematic area.

References
1. H. Astsatryan, V. Sahakyan, Y. Shoukouryan, M. Dayde’, A. Hurault, M. Pantel,
and E. Caron. A grid-aware web portal with advanced service trading for linear
algebra calculations. High Performance Computing for Computational Science -
VECPAR 2008, pages 150–159, 2008.
2. R. S. Baraka. A framework for publishing and discovering mathematical web
services. Technical report, Johannes Kepler University, Linz, Austria, 2006.
3. T. Bluhm, S. Jacob, A. Werner, P. Heimann, C. Hennig, G. K?hner, H. Kroiss,
H. Laqua, M. Lewerentz, J. Maier, H. Riemann, J. Schacht, A. Spring, and
M. Zilker. A service based interface for scientific data retrieval. Fusion Engineering
and Design, 85(3-4):579–582, 2010. Proceedings of the 7th IAEA Technical Meeting
on Control, Data Acquisition, and Remote Participation for Fusion Research.
4. A. Bosin, N. Dess, and M. Bairappan. A service-based approach for the execution
of scientific workflows in grids. In CF ’10: Proceedings of the 7th ACM international
conference on Computing frontiers, pages 107–108, Bertinoro, Italy, 2010. ACM.
5. H. Cao, D. Liu, and R. Fu. Discovery of web services applied to scientific compu-
tations based on QOS, volume 3842 LNCS. 2006.
6. A. Carstea, G. Macariu, M. Frincu, and D. Petcu. Composing web-based math-
ematical services. Symbolic and Numeric Algorithms for Scientific Computing,
International Symposium on, pages 327–334, 2007.
7. K. Chiu, M. Govindaraju, and R. Bramley. Investigating the limits of soap per-
formance for scientific computing. In HPDC ’02: Proceedings of the 11th IEEE
International Symposium on High Performance Distributed Computing, page 246,
Washington, DC, USA, 2002. IEEE Computer Society.
8 Benis, Vavalis, Houstis

8. M. Dayd, A. Hurault, and M. Pantel. Semantic-based service trading: application


to linear algebra. In VECPAR’06: Proceedings of the 7th international conference
on High performance computing for computational science, pages 622–633, Rio de
Janeiro, Brazil, 2007. Springer-Verlag.
9. A. Duscher. An Execution Environment for Mathematical for Services based on
WSRF and WS-BPEL. Technical report, Research Institute for Symbolic Compu-
tation (RISC), Johannes Kepler University, Linz, Austria, March 2006.
10. A. Duscher. A Pattern-based Interaction Language for Mathematical Services.
Technical report, Research Institute for Symbolic Computation (RISC), 2007.
11. G. Fox and M. Pierce. Making scientific applications as web services. Computing
in Science and Engineering, 6:93–96, 2004.
12. T. Gruber and G. Olsen. An Ontology for Engineering Mathematics. In Proceedings
of the Fourth International Conference on Principles of Knowledge Representation
and Reasoning. Morgan Kaufmann, 1994.
13. S. D. Hong-Linh Truong. A survey on context-aware web service systems. Inter-
national Journal of Web Information Systems, 5(1):5–31, 2009.
14. S. Lalis, C. Houstis, M. Pitikakis, G. Vasilakis, and M. Vavalis. Providing Support
for Integrated Scientific Computing: Metacomputing meets the Semantic Web and
the Grid. In 5th IEEE International Symposium on Cluster Computing and the
Grid (CCGRID), 2005.
15. J. Lee, H. K. Seung, S. K. Hyeon, and S. Park. Extended bpel system for e-
engineering framework considering the characteristics of mechanical engineering
services. In Proceedings - 2008 IEEE International Conference on Services Com-
puting, volume 2, pages 481–484, 2008.
16. W. Naylor and J. Padget. Semantic Matching for Mathematical Services, volume
3863 LNAI. 2006.
17. J. Padget, S. A. Ludwig, and W. Naylor. Matchmaking framework for mathemat-
ical web services. Journal of Grid Computing, 4:33–48, 2006.
18. J. Padget and O. Rana. Mathematical service discovery. IFIP International Fed-
eration for Information Processing, 239:351–368, 2007.
19. M. P. Papazoglou. Web Services: Principles and Technology. Prentice-Hall, 2007.
20. M. E. Pierce, G. C. Fox, M. S. Aktas, G. Aydin, H. Gadgil, Z. Qi, and A. Sayar. The
quakesim project: Web services for managing geophysical data and applications.
Pure and Applied Geophysics, 165(3-4):635–651, 2008.
21. K. Pingali and P. Stodghill. A distributed system based on web services for com-
putational science simulations. In ICS ’06: Proceedings of the 20th annual interna-
tional conference on Supercomputing, pages 297–306, New York, NY, USA, 2006.
ACM.
22. D. Puppin, N. Tonellotto, and D. Laforenza. Using web services to run distributed
numerical applications, volume 3241 LNCS. 2004.
23. C. D. Roure. Software design for empowering scientists. IEEE Software, 26:88–95,
2009.
24. D. D. Roure, C. Goble, and R. Stevens. Designing the myexperiment virtual
research environment for the social sharing of workflows. In E-SCIENCE ’07:
Proceedings of the Third IEEE International Conference on e-Science and Grid
Computing, pages 603–610, Washington, DC, USA, 2007. IEEE Computer Society.
25. S. C. Wong, R. M. Crowder, G. B. Wills, and N. R. Shadbolt. Lesson learnt from a
large-scale industrial semantic web application. In Hypertext 2007: Proceedings of
the Eighteenth ACM Conference on Hypertext and Hypermedia, pages 21–30, 2007.

Das könnte Ihnen auch gefallen