Program |
 |
|
|
Find in Program |
 |
|
|
Page |
 |
|
|
Basket |
 |
|
view, help
"Decentralizing Execution of Composite Web Services"
|
|
|
|
Decentralizing Execution of Composite Web Services
Ballroom A-B Wednesday, 11:00, 30 minutes 7 | · | 8 | · | 9 | · | 10 | · | 11 | · | 12 | · | 13 | · | 14 | · | 15 | · | 16 | · | 17 | · | 18 | · | 19 | · | 20 | · | 21 |
Mangala Gowri Nanda, IBM India Research Laboratory Satish Chandra, IBM India Research Laboratory Vivek Sarkar, IBM T. J. Watson Research Center
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 is a major concern in
enterprise applications, it is important to remove the inefficiencies
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 traffic 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 parts. It gives a new code partitioning algorithm to
partition a BPEL program represented as a program dependence graph, in
a way that minimizes communication costs. The paper explains why
standard program partitioning approaches for multiprocessor execution
do not work well in our setting. Departing from the traditional
optimization target of reducing completion time, the paper uses
throughput as its primary performance metric, which is more
appropriate for the intended workload. It also gives a cost model to
estimate throughput of a given code partition in order to select the
most efficient one. Experimental results show that our algorithm can
increase the throughput of example composite services substantially,
easily doubling it under high system load.
|