Clustering in workflow engines

No Thumbnail Available

URL

Journal Title

Journal ISSN

Volume Title

School of Science | Master's thesis
Checking the digitized thesis and permission for publishing
Instructions for the author

Date

2010

Major/Subject

Ohjelmistotekniikka

Mcode

T-106

Degree programme

Language

en

Pages

vii s. + 40 s.

Series

Abstract

This thesis discusses behaviour of clustered workflow engines. At first background is provided for workflow engines and how they are built using state machines. The basic contract the workflow engines provide is described as well as the minimum operational requirements. The text then provides background on high availability and how it is typically implemented in workflow engines using the high availability features of relational database management systems. The chapter on clustering describes typical deployment setups of workflow engine clusters from the simplest possible two node cluster to classical but very expensive RDBMS setup with separate storage arrays. The failure scenarios chapter brings front the possible failure scenarios including their probability and externally visible effects. The performance bottlenecks provide a different aspect on the challenges that are related to workflow engine cluster scalability. The remaining of the text discusses common strategies to enhance scalability and different trade-offs that can be made between performance and reliability The thesis provides a comparison between a RDBMS based synchronous cluster and a cluster with in-memory replicated state and write-back persistence. Both reliability and price/performance ratio are analysed.

Tässä diplomityössä käsitellään klusteroitujen prosessikonejärjestelmien käyttäytymistä. Aluksi taustoitetaan prosessikoneita ja niiden rakentamista tilakoneiden avulla. Prosessikoneiden tarjoama sopimus kuvataan sekä vähimmäisvaatimukset joilla se voidaan täyttää. Seuraavaksi taustoitetaan korkea saatavuus ja sen tyypillisiä toteutustapoja prosessikoneissa, jotka hyödyntävät relaatiotietokantojen korkeaa käytettävyyttä. Klusterointiluvussa kuvataan tyypillisiä prosessikoneklustereiden asennuksia yksinkertaisimmasta mahdollisesta kahden koneen järjestelmästä klassiseen mutta kalliiseen relaatiotietokantajärjestelmään erillisillä levypakoilla. Häiriöskenaario-luvussa tuodaan esiin virhetilanteet ja niiden todennäköisyydet sekä systeemin ulkopuolelta havaittavat vaikutukset. Nopeuden pullonkaulat tuovat toisen näkökulman klusteroitujen prosessikoneiden skaalautuvuuden haasteisiin. Tekstin loppu käsittelee yleisiä strategioita skaalautuvuuden parantamiseen ja eri kompromisseja nopeuden ja luotettavuuden välillä. Diplomityö tarjoaa vertailun relaatiotietokantapohjaisen synkronisen klusterin ja muistinvaraisesti replikoidun takaisinkirjoittavan persistoinnin välillä. Sekä luotettavuus että hinta/teho -suhde analysoidaan.

Description

Supervisor

Soisalon-Soininen, Eljas

Thesis advisor

Pulliainen, Erkki

Keywords

clustering, klusterointi, workflow engine, prosessikone

Other note

Citation