Vidal's libraryTitle: | Decentralizing Execution of Composite Web Services |
Author: | Mangala Gowri Nanda, Satish Chandra, and Vivek Sarkar |
Book Tittle: | Proceedings of the Object-Oriented Programming, Systems, Languages and Applications Conference |
Publisher: | ACM |
Year: | 2004 |
Abstract: | Distributed enterprise applications today are increasingly being built from services available over the web. A unit of functionality in this framework is a web service, a software application that exposes a set of "typed" connections that can be accessed over the web using standard protocols. These units can then be composed into a composite web service. BPEL (Business Process Execution Language) is a high-level distributed programming language for creating composite web services. Although a BPEL program invokes services distributed over several servers, the orchestration of these services is typically under centralized control. Because performance and throughput are major concerns in enterprise applications, it is important to remove the ineciencies introduced by the centralized control. In a distributed, or decentralized orchestration, the BPEL program is partitioned into independent sub-programs that interact with each other without any centralized control. Decentralization can increase parallelism and reduce the amount of network trac required for an application. This paper presents a technique to partition a composite web service written as a single BPEL program into an equivalent set of decentralized processes. It gives a new code partitioning algorithm to partition a BPEL program represented as a program dependence graph, with the goal of minimizing communication costs and maximizing the throughput of multiple concurrent instances of the input program. In contrast, much of the past work on dependence-based partitioning and scheduling seeks to minimize the completion time of a single instance of a program running in isolation. The paper also gives a cost model to estimate the throughput of a given code partition. Experimental results show that decentralized execution can substantially increase the throughput of example composite services, with improvements of approximately 30% under normal system loads and by a factor of two under high system loads. |
Cited by 8 - Google Scholar
@InProceedings{nanda04a,
author = {Mangala Gowri Nanda and Satish Chandra and Vivek
Sarkar},
title = {Decentralizing Execution of Composite Web Services},
booktitle = {Proceedings of the Object-Oriented Programming,
Systems, Languages and Applications Conference},
year = 2004,
googleid = {r08LO_20ROoJ:scholar.google.com/},
publisher = {{ACM}},
abstract = {Distributed enterprise applications today are
increasingly being built from services available
over the web. A unit of functionality in this
framework is a web service, a software application
that exposes a set of "typed" connections that can
be accessed over the web using standard
protocols. These units can then be composed into a
composite web service. BPEL (Business Process
Execution Language) is a high-level distributed
programming language for creating composite web
services. Although a BPEL program invokes services
distributed over several servers, the orchestration
of these services is typically under centralized
control. Because performance and throughput are
major concerns in enterprise applications, it is
important to remove the ineciencies introduced by
the centralized control. In a distributed, or
decentralized orchestration, the BPEL program is
partitioned into independent sub-programs that
interact with each other without any centralized
control. Decentralization can increase parallelism
and reduce the amount of network trac required for
an application. This paper presents a technique to
partition a composite web service written as a
single BPEL program into an equivalent set of
decentralized processes. It gives a new code
partitioning algorithm to partition a BPEL program
represented as a program dependence graph, with
the goal of minimizing communication costs and
maximizing the throughput of multiple concurrent
instances of the input program. In contrast, much of
the past work on dependence-based partitioning and
scheduling seeks to minimize the completion time of
a single instance of a program running in
isolation. The paper also gives a cost model to
estimate the throughput of a given code
partition. Experimental results show that
decentralized execution can substantially increase
the throughput of example composite services, with
improvements of approximately 30\% under normal
system loads and by a factor of two under high
system loads. },
keywords = {multiagent workflow},
url = {http://jmvidal.cse.sc.edu/library/nanda04a.pdf},
cluster = {16880816303001784239}
}
Last modified: Wed Mar 9 10:16:16 EST 2011