Throughput improvements for BPEL engines: implementation techniques and measurements applied to SWoM

Workflow Technology has become over the last two decades the cornerstone of modern application systems, in particular those built upon Service Oriented Architecture (SOA). It helps implement business processes that can be easily adapted to the changing needs of a dynamic environment and provides the base for the two-level application development paradigm. Workflow Management Systems (WfMS) deliver the functions of workflow technology; they have become a critical middleware component whose performance characteristics are significantly impacting the overall performance of the applications that have been built. In the thesis, a set of optimization techniques for a state-of-the-art WfMS have been developed that delivers the required robustness with the best achievable performance. This WfMS has been labeled Stuttgarter Workflow Maschine (SWoM) to emphasize its birth place. Several novel approaches have been developed to achieve the desired goal : (1) the concept of transaction flows has been developed as the base for a flow optimizer that significantly improves the performance of the workflow engine, (2) the notion of caching is driven into virtually all areas of the different components that make up the SWoM, (3) the exploitation and tie-in into the underlying infrastructure for optimal resource exploitation, where the infrastructure, IBM WebSphere for the application server and IBM DB2 as the database environment, provides for the necessary robustness, and (4) a flow optimizer optimizes the execution of the transaction flows with respect to cache, database, and CPU cycle usage based on user recommendations and statistical information that the SWoM collects during execution. These optimization techniques, that maintain middleware robustness, are complemented by a set of optimization techniques that improve performance by relaxing some of the stringent robustness requirements. All techniques have been validated using a simple, yet expressive benchmark that focuses on high-speed, message-based interactions, synchronous invocation, message transformation, and parallel execution. The benchmark results show that the SWoM scales almost linearly with respect to CPU load and the parallelism of requests. The maximum number of requests that the SWoM could obtain on a quad core CPU running Windows 7 64bit was more than 100 process instances per second. In den vergangenen zwei Jahrzehnten hat sich die Workflow-Technologie zu einem wesentlichen Bestandteil moderner Anwendungssysteme entwickelt, insbesondere fur solche Systeme, die auf der service-orientierten Architektur (SOA) beruhen. Mit Hilfe der Workflow-Technologie konnen Geschaftsprozesse erstellt werden, die schnell an geanderte Umgebungen angepasst werden konnen. Sie bildet zudem die Basis des zweistufigen Programmierparadigmas. Workflow Management Systeme, die die Workflow-Technologie implementieren, sind eine Kernkomponente der Middleware, deren Performance wesentlich die Ausfuhrungsgeschwindigkeit der Anwendungen bestimmt, die mit ihnen gebaut werden. Die vorgestellte Dissertation entwickelt einen Satz von Optimierungstechniken fur ein modernes Workflow Management System, das Robustheit mit Performance kombiniert. Dieses Workflow Management System wird Stuttgarter Workflow-Maschine (SWoM) genannt, nach dem Ort der Entwicklung. Folgende neuartige Ansatze wurden entwickelt, um das Ziel zu erreichen : (1) die Entwicklung des Konzeptes von Transaktionsflussen als Basis fur einen Flussoptimierer, (2) wurde Cachingfunktionalitat in allen Komponenten der SWoM, soweit wie moglich, implementiert, (3) benutzt die SWoM, um die notwendige Robustheit zur erzielen, IBM WebSphere als Laufzeitumgebung und IBM DB2 zur Speicherung der Daten und benutzt neuartige Techniken, um die Infrastruktur zur Laufzeit optimal auf die Arbeitsweise der SWoM abzustimmen und (4) optimiert ein Flussoptimierer die Ausfuhrung der Transaktionsflusse bezuglich Cache-, Datenbank- und CPU-Nutzung durch den Einsatz von Datenfluss- und Transaktionsanalysetechniken, wobei die Optimierung auf Eingaben des Prozessmodellierers sowie Statistiken, die die SWoM wahrend der Ausfuhrung der Geschaftsprozesse sammelt, basiert. Die aufgefuhrten Optimierungstechniken, die die erforderliche Robustheit gewahrleisten, werden durch einen Satz von Optimierungstechniken erganzt, die Robustheitsanforderungen mit dem Ziel der Performance-Verbesserungen reduzieren. Alle Techniken wurden auf Basis eines einfachen, jedoch sehr aussagekraftigen Benchmarks validiert. Der Benchmark fokussiert sich auf schnelle, nachrichten-basierte Interaktionen mit Web Services, synchrone Aufrufe von Web Services, Nachrichtentransformationen sowie paralleler Ausfuhrung von parallelen Pfaden eines Geschaftsprozess. Die Resultate des Benchmarks zeigen, dass die SWoM fast linear bezuglich CPU-Last sowie der Anzahl der gleichzeitigen Anfragen skaliert. Die SWoM ist in der Lage auf einer Vierkern-CPU mit Windows (64bit) mehr als 100 Prozessinstanzen in der Sekunde abzuarbeiten.

[1]  Frank Leymann,et al.  Managing Business Processes via Workflow Technology , 2001, VLDB.

[2]  Frank Leymann,et al.  E Role-based Decomposition of Business Processes using BPEL , 2006, 2006 IEEE International Conference on Web Services (ICWS'06).

[3]  Marc-Thomas Schmidt,et al.  The Enterprise Service Bus: Making service-oriented architecture real , 2005, IBM Syst. J..

[4]  David Gelernter,et al.  Generative communication in Linda , 1985, TOPL.

[5]  Frank Leymann,et al.  Transaktionsunterstützung für Workflows , 1997, Informatik Forschung und Entwicklung.

[6]  Hans H. Kron,et al.  Programming-in-the-Large Versus Programming-in-the-Small , 1975, IEEE Transactions on Software Engineering.

[7]  Daniel Wutke Eine nfrastruktur für die dezentrale Ausführung von BPEL-Prozessen , 2010 .

[8]  Jana Koehler,et al.  Compiling Process Graphs into Executable Code , 2004, GPCE.

[9]  Walter Binder,et al.  SOABench: performance evaluation of service-oriented middleware made easy , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[10]  Ronald L. Rivest,et al.  The MD5 Message-Digest Algorithm , 1992, RFC.

[11]  Caroline Allinson Refereed Papers: Information Systems Audit Trails in Legal Proceedings as Evidence , 2001 .

[12]  Steve Rozen,et al.  LabFlow-1: A Database Benchmark for High-Throughput Workflow Management , 1996, EDBT.

[13]  Frank Leymann,et al.  Business process management with FlowMark , 1994, Proceedings of COMPCON '94.

[14]  Won Kim,et al.  Introduction to Object-Oriented Databases , 1991, Computer systems.

[15]  Sam Lightstone,et al.  Automatic Database Configuration for DB2 Universal Database: Compressing Years of Performance Expertise into Seconds of Execution , 2003, BTW.

[16]  Frank Leymann,et al.  Revisiting the Behavior of Fault and Compensation Handlers in WS-BPEL , 2009, OTM Conferences.

[17]  Cesare Pautasso Compiling Business Process Models into Executable Code , 2009, Handbook of Research on Business Process Modeling.

[18]  Andrzej Cichocki,et al.  Workflow and Process Automation: Concepts and Technology , 1997 .

[19]  James Martin Managing the data-base environment , 1983 .

[20]  Surajit Chaudhuri,et al.  An overview of query optimization in relational systems , 1998, PODS.

[21]  Sam Lightstone,et al.  DB2 Design Advisor: Integrated Automatic Physical Database Design , 2004, VLDB.

[22]  M. Hammer,et al.  Reengineering the Corporation , 1993 .

[23]  Heiko Schuldt,et al.  Scalable peer-to-peer process management - the OSIRIS approach , 2004, Proceedings. IEEE International Conference on Web Services, 2004..

[24]  Rania Y. Khalaf,et al.  Supporting business process fragmentation while maintaining operational semantics: a BPEL perspective , 2008 .

[25]  Frank Leymann,et al.  Production Workflow: Concepts and Techniques , 1999 .

[26]  Mathias Weske,et al.  Interacting services: From specification to execution , 2009, Data Knowl. Eng..

[27]  Harry Harris,et al.  Messaging and queuing using the MQI : concepts & analysis, design & development , 1995 .

[28]  David Parmenter,et al.  Key Performance Indicators: Developing, Implementing,and Using Winning KPIs , 2007 .

[29]  van der Wmp Wil Aalst,et al.  Workflow control-flow patterns : a revised view , 2006 .

[30]  Volker Markl,et al.  LEO: An autonomic query optimizer for DB2 , 2003, IBM Syst. J..

[31]  Robert Balzer Process Virtual Machine , 1991, Proceedings of the 7th International Software Process Workshop, Communication and Coordination in the Software Process'.

[32]  Frank Leymann,et al.  Workflow-Based Applications , 1997, IBM Syst. J..

[33]  Walter Binder,et al.  Automated performance assessment for service-oriented middleware: a case study on BPEL engines , 2010, WWW '10.

[34]  Cesare Pautasso,et al.  High‐performance execution of service compositions: a multicore‐aware engine design , 2014, Concurr. Comput. Pract. Exp..

[35]  Heiko Schuldt,et al.  Peer-to-Peer Process Execution with Osiris , 2003, ICSOC.

[36]  Jack A. Orenstein,et al.  The ObjectStore database system , 1991, CACM.

[37]  Oliver Kopp,et al.  Performance Optimizations for Interacting Business Processes* , 2013, 2013 IEEE International Conference on Cloud Engineering (IC2E).

[38]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[39]  Manish Parashar,et al.  Latency Performance of SOAP Implementations , 2002, 2nd IEEE/ACM International Symposium on Cluster Computing and the Grid (CCGRID'02).

[40]  Frank Leymann,et al.  WS-BPEL Extension for People ? BPEL4People , 2005 .

[41]  Gerhard Weikum,et al.  Benchmarking and Configuration of Workflow Management Systems , 2000, CoopIS.