Dynamic Service Selection in Workflows Using Performance Data

Scientific Programming, Jul 2018

An approach to dynamic workflow management and optimisation using near-realtime performance data is presented. Strategies are discussed for choosing an optimal service (based on user-specified criteria) from several semantically equivalent Web services. Such an approach may involve finding "similar

A PDF file should load here. If you do not see its contents the file may be temporarily unavailable at the journal website or you do not have a PDF plug-in installed and enabled in your browser.

Alternatively, you can download the file locally and open with any standalone PDF reader:

http://downloads.hindawi.com/journals/sp/2007/281741.pdf

Dynamic Service Selection in Workflows Using Performance Data

Scientific Programming 1058-9244 Dynamic service selection in workflows using performance data David W. Walker 0 Lican Huang 0 Omer F. Rana 0 Yan Huang 0 0 School of Computer Science, Cardiff University , 5 The Parade, Roath, Cardiff CF24 3AA , UK An approach to dynamic workflow management and optimisation using near-realtime performance data is presented. Strategies are discussed for choosing an optimal service (based on user-specified criteria) from several semantically equivalent Web services. Such an approach may involve finding “similar” services, by first pruning the set of discovered services based on service metadata, and subsequently selecting an optimal service based on performance data. The current implementation of the prototype workflow framework is described, and demonstrated with a simple workflow. Performance results are presented that show the performance benefits of dynamic service selection. A statistical analysis based on the first order statistic is used to investigate the likely improvement in service response time arising from dynamic service selection. 1. Introduction The Grid computing community is converging on a service-oriented architecture in which applications are composed from geographically-distributed, interacting Web services, and are expressed in a workflow description language, typically based on XML. Such applications are often executed under the control of a workflow engine. Workflow techniques provide a means for a collection of services to be combined dynamically. However, although there is broad consensus on the overall architecture of the Grid, there are many unresolved issues that are still active research areas and for which implementations are not publicly available. One such area is the discovery and selection of services that may be combined in a workflow. In a service-rich environment, it is possible that multiple copies of a service may exist. For instance, there may be multiple semantically equivalent versions of a service on different machines, each making use of a different implementation (such as programming language or algorithm). Selecting an optimal service from this set of equivalent services is a decision that is often undertaken manually by a user. Most techniques for selecting from a set of such services are determined at design time. There is, however, little support for dynamically choosing a Web service as part of a workflow enactment strategy. This paper presents a mechanism to discover, select, and invoke a Web service at runtime – thereby providing a means for optimizing a workflow by dynamically binding a service name to a service instance. This is also known as “just-in time scheduling”, and corresponds to a late binding operation, whereby Web service instances are resolved based on a user-defined set of optimization criteria. The motivations for this work include improving fault-resistance and performance based on factors that cannot be determined at design time. When one service instance fails, the workflow engine should be able to utilize another service instance. For computationally intensive Web services, selecting services with a specific performance profile is beneficial to the execution of the entire workflow. There are various use scenarios that necessitate the choice of “optimal services” only at run-time, such as an image analysis/visualization service that needs to respond within a particular time. Another scenario involves the choice of services in a changing environment, where particular service instances may not persist over long time periods. Many scientific workflow applications are computeintensive, and may be long-running – lasting weeks or even months. Here, the selection of “optimal” Web services among the available ones can shorten the computation time. When running a complete scientific workflow application, if one service fails, the whole workflow must be run again. Dynamic Web service selection involves the discovery of a list of candidate services, and if one service fails, then the next one can be tried, thereby avoiding the need to repeat the whole workflow. Scientific workflow applications may require heterogeneous computing resources such as supercomputers, clusters, and networks of workstations/PCs. Some applications need a guarantee of completion within a given period of time, which requires some way of predicting the likely completion time. Therefore, dynamic selection involves choosing a suitable service according to the current conditions (such as workload on the machine where the service is hosted) and service performance models. In general, it is not necessary to dynamically select every service in a workflow. The services for which dynamic selection will be most effective in reducing the overall workflow makespan are those lying on the critical path, and that are sufficiently long-running for the benefits of dynamic selection to outweigh the overheads incurred. Given a detailed performance model (...truncated)


This is a preview of a remote PDF: http://downloads.hindawi.com/journals/sp/2007/281741.pdf

David W. Walker, Lican Huang, Omer F. Rana, Yan Huang. Dynamic Service Selection in Workflows Using Performance Data, Scientific Programming, 15, DOI: 10.1155/2007/281741