An Automatic Configuration Algorithm for Distributed Service Process ...

8 downloads 0 Views 231KB Size Report
Service Process Management System (SPMS) plays a very important role in today's business process management environment and automatic configuration.
Fifth International Conference on Fuzzy Systems and Knowledge Discovery

An Automatic Configuration Algorithm for Distributed Service Process Engine based on Fuzzy Control Jian Cao, Yi Wang, Xin’an Ding, Minglu Li Department of Computer Science and Engineering, Shanghai Jiao Tong University, Shanghai 200240, China

{cao-jian, wangsuper, li-ml}@cs.sjtu.edu.cn [email protected]

Abstract

performance is widely accepted [2]. Present distributed service process engine system is

Service Process Management System (SPMS) plays

often using a static configuration, i.e., deploying con-

a very important role in today’s business process

stant number of engine services in advance and no

management environment and automatic configuration

mechanism to adjust engine service number dynami-

is essential to ensure its scalability and stability.

cally according to the system workload. If the work-

However, current simple and static configuration me-

load of SPMS changes greatly with the time, this static

chanism doesn’t work well when the load of SPMS

mechanism can not work well. In this paper, an auto-

changes greatly with the time. An automatic configu-

matic configuration algorithm for a distributed service

ration algorithm for distributed service process engine

process engine based on fuzzy control is introduced,

based on fuzzy control is introduced. The algorithm is

which is implemented in a SPMS prototype based on

implemented in a SPMS prototype based on the JINI

the JINI platform [3].

platform. The experiment shows this automatic confi-

The rest of this paper is organized as following.

guration mechanism improves the ability of adaptabil-

The next section overviews the related work of our

ity and the efficiency of SPMS.

research. Section 3 presents a service process engines automatic configuration algorithm based on fuzzy

Keywords: Service Process, Automatic Configura-

control. Section 4 describes some experiments based

tion, Fuzzy Control

on the algorithm and gives some performance analysis

1 Introduction

of the algorithm. The last Section concludes the whole paper and points out some future works briefly.

Service Process Management System (SPMS) is a

2 Related Works

system that defines, creates and manages the execution of service process through the use of software. In a SPMS, service process engine is the most important

Distributed engine is not a new issue in workflow

component, since it will interpret the process defini-

management system and even in service process man-

tion, interact with service process participants and,

agement system. IBM Almaden research center de-

when required, invoke the Information-Technology

veloped a distributed workflow management system

(IT) tools and applications [1]. With more and more

based on persistent message queue, named Exoti-

service processes deployed in a SPMS, centralized

ca/FMDC [4]. It consists of lots of autonomous and

process engine might become a bottleneck in the sys-

independent nodes while each node has the enactment

tem. So, the concept of installing multiple process

ability. METEOR system is based on a fully distri-

engines in a distributed architecture to improve the

buted architecture, uses Web and CORBA techniques,

978-0-7695-3305-6/08 $25.00 © 2008 IEEE DOI 10.1109/FSKD.2008.281

284

and supports multiple operation systems [5]. There are

represents E is negative, and its absolute value is very

also some service process engines based on BPEL

big. We can call them NB, NM, NS, ZE, PS, PM and

have been developed, such as IBM WBISF [6], Oracle Process Manager [7] and ActiveBPEL engine [8]. These engines are developed as services which can be deployed in specific container servers like IBM WebSphere, Oracle Application Server or Tomcat, and the servers’ load balance mechanism is applied to distribute process enactment tasks. All these projects haven’t a configuration mechanism to adjust the number of distributed nodes automatically.

PB respectively. Figure 1 shows the fuzzy set.

Figure 1. Model of System Performance Devia-

3 Automatic Configuration Algorithm based on Fuzzy Control

tion 3.1.2 Modeling Variations on Performance Devia-

In a SPMS, the workload usually can not be pre-

tion

cisely calculated in advance and has many uncertain parameters. Based on both intuitive and expert know-

Variation

ledge, system parameters can be modeled as linguistic

on

performance

deviation

(VoPD)

represents the change trend of performance deviation,

variables and their corresponding fuzzy membership

which

functions can be designed.

can

be

calculated

using

the

formula:

EC=(E2-E1)/△t. Similarly, we adopt the same fuzzy set as model of system performance deviation, {NB,

3.1 Model Definitions

NM , NS , ZE , PS , PM , PB }, to describe the VoPD.

3.1.1 Modeling System Performance Deviation

3.1.3 Modeling Re-configuration Actions

System performance represents the capability of a

To make sure that the system performance has al-

SPMS to process the clients’ requests efficiently. We

ways be maintained near the level P, some

hope that the system performance can be always re-

re-configuration (RC) actions, such as to add or re-

mained at a constant level, for example, level P.

move some nodes, must be performed when the sys-

In order to measure the performance of each node

tem performance is far away from the expected one.

in the engine, average response time (ART) is selected

We also use the same fuzzy set, {NB, NM, NS, ZE,

as the performance indicator. When each node’s ART

PS, PM, PB}, to describe the RC. For example, “NB”

is collected and sent to the configuration controller, we

means we need to add more services.

can calculate a performance value of the whole system, which is called as P’. By using the formula

3.1.4 Fuzzy Control Rules

E=P-P’, the system performance deviation (SPD) can be derived. Because the value of P’ cannot be precise-

Fuzzy control rules are of vital importance in a

ly measured, we adopt the theory of fuzzy sets to de-

system based on fuzzy control. We can obtain the

scribe the SPD. “Negative Big”, “Negative Middle”,

re-configuration actions to be executed by applying

“Negative Small”, “Zero/Equal”, “Positive Small”,

fuzzy control rules based on current system status.

“Positive Middle” and “Positive Big”, are selected as

In Table 1, columns stand for SPD, while rows

atom word variants. For example, “Negative Big”

represent VoPD. When given E and EC, RC can be

285

(4) The SCC will fuzzificate the single values of E

found directly from this table. For example, if E is

and EC, and transforms them into fuzzy values. Fuzzy

NM, and EC is PS, then RC is PS.

control rules reason the re-configuration actions. (5) The ESM sends the reconfiguration command

Table 1. Fuzzy Control Rules

E

NB

NM

NS

NZ

PZ

PS

PM

to selected engine nodes.

PB

EC

4 Experiments on a Prototype System

NB NM

PB PB

NS

PM

ZE

PM

PS

ZE

PB

PM

PM

PS

PS

ZE

4.1 Experiment Environment ZE ZE

PS

NS NS

ZE

ZE

Experiments are performed in a SPMS prototype

NM

we developed based on the JINI platform [3].The engine services reside in seven disparate computers, and

NB

ZE

PM PB

ZE

NS

NM

NM

NB

their configurations are shown in Table 2.

NB

Table 2. System Configurations for the Experiment

3.2 Fuzzy Automatic Configuration Algorithm The process of this automatic configuration algorithm based on fuzzy control is defined and demonstrated in Figure 2, which includes five steps shown below.

4.2 Experiment Parameters and Steps In this experiment, we record the average response time (ARP) of the whole system and the number of engine services deployed both with static mechanism and fuzzy automatic configuration mechanism. We also use following changeable request sequence to test Figure 2. Fuzzy Automatic Configuration Algo-

the ARP in the two mechanisms: {10 requests, 20 re-

rithm

quests, 30 requests, 40 requests, 50 requests, 40 requests, 30 requests, 20 requests, 10 requests}.

(1) When the engine service manager (ESM) starts,

At first, we calculate the history data of the whole

the service configuration controller (SCC) is installed

system, and find the ideal ART should be 16000ms

and begins to run.

when the engine number is 4 with above request se-

(2) Each node monitor will record the performance

quence. Then, we set fuzzy values of the performance

value by itself when the engine services are running.

deviation, variation on performance deviation, and

(3) The SCC will obtain the performance value on

self-configuration’s action as shown in Table 3, 4 and

each engine node, and then calculate the single values

5 respectively.

of E and EC.

286

and red line indicated the average response time

Table 3. Performance Deviation

E PB

6000 – 3000

PS

3000 – 1000

PZ

1000 - 0

NZ

0

NM NB

fuzzy algorithm were adopted respectively.

> 6000

PM

NS

changing with system time when the static and the

Possible Values (ms)

Figure 3 shows that the number of concurrent requests is changing with system time. With the increase of the number of concurrent requests, the ARP is increasing for both of the two methods. Now, the automatic configuration controller begins to work, and the

- (-1000)

number of engine services is also increasing correspondingly, as shown in Figure 4. From Figure 5, we

(-1000)-(-3000)

can see that the average response time increases more

(-300)–(-6000)

slowly in the auto-configurable engine than in the