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