Skip to main navigation Skip to search Skip to main content

High-performance execution of service compositions: A multicore-aware engine design

Research output: Contribution to JournalArticleAcademicpeer-review

Abstract

Although modern computer hardware offers an increasing number of processing elements organized in nonuniform memory access (NUMA) architectures, prevailing middleware engines for executing business processes, workflows, and Web service compositions have not been optimized for properly exploiting the abundant processing resources of such machines. Amongst others, factors limiting performance are inefficient thread scheduling by the operating system, which can result in suboptimal use of system memory and CPU caches, and sequential code sections that cannot take advantage of multiple available cores.In this article, we study the performance of the JOpera process execution engine on recent multicore machines. We first evaluate its performance without any dedicated optimization for multicore hardware, showing that additional cores do not significantly improve performance, although the engine has a multithreaded design. Therefore, we apply optimizations on the basis of replication together with an improved, hardware-aware usage of the underlying resources such as NUMA nodes and CPU caches. Thanks to our optimizations, we achieve speedups from a factor of 2 up to a factor of 20 (depending on the target machine) when compared with a baseline execution 'as is'. Copyright © 2012 John Wiley & Sons, Ltd.
Original languageEnglish
Pages (from-to)71-97
JournalConcurrency and Computation: Practice and Experience
Volume26
Issue number1
DOIs
Publication statusPublished - 2014
Externally publishedYes

Fingerprint

Dive into the research topics of 'High-performance execution of service compositions: A multicore-aware engine design'. Together they form a unique fingerprint.

Cite this