The program dependence graph and its use in optimization
ACM Transactions on Programming Languages and Systems (TOPLAS)
Partitioning Problems in Parallel, Pipeline, and Distributed Computing
IEEE Transactions on Computers
Integrating non-intering versions of programs
POPL '88 Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The program dependence graph and vectorization
POPL '89 Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Automatic partitioning of a program dependence graph into parallel tasks
IBM Journal of Research and Development
Optimal latency-throughput tradeoffs for data parallel pipelines
Proceedings of the eighth annual ACM symposium on Parallel algorithms and architectures
Clustering task graphs for message passing architectures
ICS '90 Proceedings of the 4th international conference on Supercomputing
Static slicing of threaded programs
Proceedings of the 1998 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
From Centralized Workflow Specification to Distributed WorkflowExecution
Journal of Intelligent Information Systems - Special issue on workflow management systems
Scheduling Parallel Computations
Journal of the ACM (JACM)
Compiler optimizations for Java aglets in distributed data intensive applications
Proceedings of the 2002 ACM symposium on Applied computing
Partitioning and Scheduling Parallel Programs for Multiprocessors
Partitioning and Scheduling Parallel Programs for Multiprocessors
Building Web Services with Java: Making Sense of Xml, Soap, Wsdl, and Uddi
Building Web Services with Java: Making Sense of Xml, Soap, Wsdl, and Uddi
Communication and memory requirements as the basis for mapping task and data parallel programs
Proceedings of the 1994 ACM/IEEE conference on Supercomputing
DSC: Scheduling Parallel Tasks on an Unbounded Number of Processors
IEEE Transactions on Parallel and Distributed Systems
A Concurrent Execution Semantics for Parallel Program Graphs and Program Dependence Graphs
Proceedings of the 5th International Workshop on Languages and Compilers for Parallel Computing
J-Orchestra: Automatic Java Application Partitioning
ECOOP '02 Proceedings of the 16th European Conference on Object-Oriented Programming
ICDCS '03 Proceedings of the 23rd International Conference on Distributed Computing Systems
Model driven distribution pattern design for dynamic web service compositions
ICWE '06 Proceedings of the 6th international conference on Web engineering
A decentralized execution model for inter-organizational workflows
Distributed and Parallel Databases
Compiling business processes: untangling unstructured loops in irreducible flow graphs
International Journal of Web and Grid Services
Decentralized web service orchestration: a reflective approach
Proceedings of the 2008 ACM symposium on Applied computing
BUST: enabling scalable service orchestration
Proceedings of the 2nd international conference on Scalable information systems
Optimized, decentralized workflow execution in grid environments
Multiagent and Grid Systems - Special Issue on "Advances in Grid services Engineering and Management"
Proceedings of the 2nd workshop on Middleware for service oriented computing: held at the ACM/IFIP/USENIX International Middleware Conference
Grid-Enabled Workflow Management System Based On BPEL
International Journal of High Performance Computing Applications
On Composite Service Optimization Across Distributed QoS Registries
ICCS '07 Proceedings of the 7th international conference on Computational Science, Part IV: ICCS 2007
Predicting Coupling of Object-Centric Business Process Implementations
BPM '08 Proceedings of the 6th International Conference on Business Process Management
Consistent and decentralized orchestration of BPEL processes
Proceedings of the 2009 ACM symposium on Applied Computing
Decentralized Orchestration of BPEL Processes with Execution Consistency
APWeb/WAIM '09 Proceedings of the Joint International Conferences on Advances in Data and Web Management
International Journal of High Performance Computing and Networking
Synthesis and Composition of Web Services
Formal Methods for Web Services
A distributed service-oriented architecture for business process execution
ACM Transactions on the Web (TWEB)
Synthy: A system for end to end composition of web services
Web Semantics: Science, Services and Agents on the World Wide Web
A lightweight agent fabric for service autonomy
AAMAS'07/SOCASE'07 Proceedings of the 2007 AAMAS international workshop and SOCASE 2007 conference on Service-oriented computing: agents, semantics, and engineering
Reference architectural styles for service-oriented computing
NPC'07 Proceedings of the 2007 IFIP international conference on Network and parallel computing
Distributed behavioural adaptation for the automatic composition of semantic services
FASE'08/ETAPS'08 Proceedings of the Theory and practice of software, 11th international conference on Fundamental approaches to software engineering
OptBPEL: a tool for performance optimization of BPEL process
SC'08 Proceedings of the 7th international conference on Software composition
A framework to coordinate web services in composition scenarios
International Journal of Web and Grid Services
Partitioning composite web services for decentralized execution using a genetic algorithm
Future Generation Computer Systems
A distributed framework for reliable and efficient service choreographies
Proceedings of the 20th international conference on World wide web
Fault handling and recovery in decentralized services orchestration
Proceedings of the 12th International Conference on Information Integration and Web-based Applications & Services
NIÑOS take five: the management infrastructure for distributed event-driven workflows
Proceedings of the 5th ACM international conference on Distributed event-based system
Adaptable Decentralized Service Oriented Architecture
Journal of Systems and Software
A formal model of the Semantic Web Service Ontology (WSMO)
Information Systems
Safe distribution of declarative processes
SEFM'11 Proceedings of the 9th international conference on Software engineering and formal methods
Handling faults in decentralized orchestration of composite web services
ICSOC'05 Proceedings of the Third international conference on Service-Oriented Computing
An agent-oriented approach to process partition and planning in migrating workflow systems
Engineering Applications of Artificial Intelligence
Declarative modelling and safe distribution of healthcare workflows
FHIES'11 Proceedings of the First international conference on Foundations of Health Informatics Engineering and Systems
Improving cooperativity in a workflow coordination model over a pub/sub network
UCAmI'12 Proceedings of the 6th international conference on Ubiquitous Computing and Ambient Intelligence
An environment for service composition, execution and resource allocation
PARA'12 Proceedings of the 11th international conference on Applied Parallel and Scientific Computing
Behavioral consistency measurement and analysis of WS-BPEL processes
WAIM'13 Proceedings of the 14th international conference on Web-Age Information Management
A systematic literature review of service choreography adaptation
Service Oriented Computing and Applications
Rule-driven service coordination middleware for scientific applications
Future Generation Computer Systems
Hi-index | 0.00 |
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 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 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.