Sunteți pe pagina 1din 8

Scheduling Scheme based on Dedication Rate in Volunteer Computing

Environment
EunJoung Byun, SungJin Choi, MaengSoon Baik, ChongSun Hwang
Dept. of Computer Science and Engineering, Korea University
Anam-Dong, Seongbuk-Gu, Seoul 136-701, Korea
{vision, lotieye, msbak, hwang}@disys.korea.ac.kr
ChanYeol Park
Supercomputing Center, KISTI, Korea
chan@kisti.re.kr

Abstract
A volunteer node can join and leave a volunteer computing system freely. However, existing volunteer computing
systems suffer from interruptions of job execution , delays of
execution time, and increases of total execution time, since
they do not consider dynamic scheduling properties (i.e.
volatilities), such as leave, join, and suspension. Therefore,
dynamic execution properties of volunteer node should be
considered in scheduling schemes, in order to design a stable and reliable volunteer computing system. This paper
proposes a new scheduling scheme based on the Dedication
Rate (DR), which reflects the dynamic properties of a volunteer. The scheduling scheme improves the completeness
and reliability of execution, while also decreasing delay and
total execution time. In addition, an implementation of the
proposed scheduling scheme on top of Korea@Home is described, as well as performance evaluation.

1. Introduction
Volunteer Computing (VC)[1] is a type of Internet-based
parallel computing paradigm, processing large-scale computation through the participation of idle computing volunteer resources on the Internet. This technology is known as
Desktop GRID, Peer-to-Peer GRID, and Global Computing. VC constitutes large-scale computing power based on
the proliferation of personal computers and the rapid growth
of the Internet. This attractive computing paradigm aims
at achieving high throughput and performance. The system is distributed over a large number of computers, there This paper was supported by Korea@Home project from the Korea
Institute of Science and Technology Information(KISTI).

SoonYoung Jung
Dept. of Computer Education, Korea University
jsy@comedu.korea.ac.kr

fore effectively decreasing the load while increasing performance. SETI@home[7] is a well-known example for
achieving tremendous computing power made possible by
the Internet. The main difference between VC and traditional GRID Computing is the stability of resources. Most
resources are devoted to the system in the existing GRID
system whereas resources can leave and join freely according to the volatile aspects of the Volunteer Computing System (VCS). In addition, VC aims at providing facilities
when users are accessing and using the systems. Users
can easily participate in the system and conveniently use
the system. VC does not require any technical background,
complex setup, or other unique requirements. VC harvests
idle cycles of hundreds of thousands to millions of desktops
connected over the Internet. It offers tremendous potential
computing power at low cost, when compared to traditional
GRID Computing.
Volatile participants of Volunteer Nodes (VNs), however,
make VCS unstable. Job suspension may occur frequently
due to the volatility, delaying total execution time. Volatility represents the state in which a resource is unavailable for
use, has originated from autonomous and dynamic aspects
of participants, or is interrupted due to the activities of the
users. Volatility is caused by individual physical machine
crashes, software failures, and intermittence of user connectivity. This can also be caused by the temporary disconnection of the physical communication link. This volatility
is the main cause of a decrease in reliability and an increase
in total execution time. The VCS cannot guarantee that
the VN will finish as scheduled or that the execution will
be stable. There is a requirement for scheduling schemes
that can leverage performance despite the variability and
volatile aspects of volunteers. This requirement has motivated the proposed method. An existing scheduling scheme
in a VCS, for example, Eager scheduling scheme, is inca-

Proceedings of the 4th International Symposium on Parallel and Distributed Computing (ISPDC05)
0-7695-2434-6/05 $20.00 2005

IEEE

pable not only of promising execution completion, but also


of guaranteeing execution in the time as scheduled. In this
paper, appropriate availability for a VN to measure the dynamic properties of VNs is newly defined. In addition, the
Scheduling Scheme based on Dedication Rate (SSDR) is
used to solve the problems originated from the volatility.
The proposed scheme forms the basis of solutions for unstable resources and frequent job resubmission. The advanced scheduling scheme, SSDR with adjustments is designed to overcome the aforementioned problems experienced in VCS. The SSDR enables VC to improve performance and reliability using a DR that takes into account the
volatile aspects of a VN. The SSDR allocates jobs and selects appropriate VNs using the DR. Therefore, the SSDR
alleviates the problems caused by unstable resources and
job interruption during execution. The subsequent sections
of the paper are organized as follows: Section 2 introduces
related work. In Section 3, the VCS environment system
model is explained. Section 4 discusses the proposed DR
measuring the excellence of VNs. In Section 5, SSDR is
provided to support reliable and stable execution. Section 6
presents a comparison and analysis of performance between
the proposed SSDR and Eager scheduling scheme. The performance and experiments are measured using implemented
SSDR on the real VCS, with additional mathematical analysis. Finally, conclusions of this study are presented in Section 7.

This is used as a simple method to support adaptive parallel


processing. Using Eager scheduling scheme, however, cannot solve the problem increasing total execution time which
is delayed by reallocation, and instability because of unpredictable participation and execution patterns of VN. Bayanihan leads to accessibility and scalability problems arising
from its inherent centralized architecture. Charlotte supports distributed shared memory and parallelism by using
the fork-join model. Javelin uses a broker and tree structure
to handle a job. The job tree maintains a database of computation status, which applies with the broker, client, and
volunteers. Extended Javelin 2.0, Javelin++, and Javelin3
is developed to support advanced scheduling and scalability. Unfortunately, the costs of maintaining a job tree are
proportional to the numbers of VNs, and the problems mentioned above still remain.
The existing scheduling schemes cannot guarantee
completeness of execution where execution is frequently
blocked by the heterogeneity of VN in participation and
computation. A job is finished when all allocated workloads are returned. Total execution time is postponed when
any VN fails to execute a job. In the worst case, all jobs except one have to wait until an uncompleted job is completed,
and where the uncompleted job is repeatedly reallocated to
others. The described VCS cannot be free from these fundamental problems while employing the Eager scheduling
scheme.

2. Related Work

2.2. Availability

2.1. Scheduling Scheme

Availability is generally defined as a property acknowledging that a system is ready to be used immediately. This
may be represented as the probability that the system operates correctly at any given time. Recently, availability has
become an important issue in Desktop GRID environment
and Peer-to-Peer systems, which both consist of utilizing
personal computers as the core resource. Much existing research focuses on CPU clocks, memory capacity, and network bandwidth.
In this paper, the focus is on durability of execution,
rather than the physical capacities, because the highly dynamic and uncertain activities of a volunteer lead to job
task failure, performance deterioration, and system instability. Therefore, execution time is delayed and total execution
time increases due to the volatile aspects of desktops.
In [8], the scheduling scheme is generally concerned
with the capability of the volunteer desktop, in selecting an
eligible volunteer for job execution. The availability distribution in Desktop GRID environments is described in [12],
where experimental measurements and mathematical distribution are compared. However, they do not take into account intermittent job execution caused by user. In [10]
and [9] use simple metrics, the percentage of available CPU

This section introduces scheduling schemes for VC and


the availability. Several related studies on scheduling
scheme for VCS are roughly classified into two categories.
There are simple allocation and reallocation scheduling policy, and Eager scheduling including its modifications.
First, a simple scheduling policy is applied in
XtreamWeb[3], Korea@Home[6], PopCorn[5], and so on.
These systems, however, do not consider the dynamic properties of VNs. XtreamWeb schedules a job according to the
FIFO scheme. Kore@Home is a type of distributed computing system based on Peer-to-Peer technology. This system
allocates and reallocates jobs to a VN, by means of a registered order, without concern for the dynamic properties
during execution. PopCorn reallocates jobs to other VNs
simply when one VN leaves or fails during execution without respect to the volatility or availability of VN.
Second, Eager scheduling scheme is introduced by many
VCS, Bayanihan[?], Charlotte[4], and Javelin[2], to improve execution performance. Eager scheduling scheme is
based on work stealing(i.e. reallocation) that failed jobs or
unfinished jobs in a slow VN are reallocated to a fast VN.

Proceedings of the 4th International Symposium on Parallel and Distributed Computing (ISPDC05)
0-7695-2434-6/05 $20.00 2005

IEEE

cycles of desktop machines. These studies, however, suffer from job suspension during execution, because they do
not consider user intermittence such as keyboard or mouse
activities. [14] not only has insight into the detailed temporal structure of CPU availability of Desktop GRID resources, but also offers extensive measurements of an enterprise Desktop GRID with a real platform. This study
divides availability into host availability and CPU availability, to separate the practical execution state from the turning
on state. In addition, simple statistical measurement is offered. In the Peer-to-Peer systems, [11] and [13], separate
resources, exist, whether usable at the time or not. Existing scheduling schemes for the Desktop GRID are either
considered to have rare availability or only to utilize simple
statistical availability. These simple availability concepts
are inadequate to represent features of the volunteer node
and to guarantee execution stability and execution completion. To improve the performance and reliability, a more
precise metric for availability of the volunteer desktops is
proposed.

3. Volunteer Computing System Environment


This section presents VCS environment to implement the
proposed scheduling scheme, providing stable and efficient
performance. The architectural model develops real VCS,
composed of Job Commissioners (JCs), Central Server
(CS), Group Managers (GMs), and VNs. VCS architecture
is illustrated in Figure 1. In this paper, we define VC as
Definition 1.
Individual
personal
computers

Group computers

Job Commissioner

VN
VN

VN

LAN
VN

VN

VN

LAN

VN
VN

VN

INTERNET

VN

LAN

VN

VN

LAN
VN

VN

VN

This section concentrates on making VCS more stable


and reliable. The insight into the temporal structure of the
VN state considering the volatile properties of VN is detailed. The availability for VSC, Volunteer Availability(VA)
is newly defined. A new metric, DR, is proposed to guarantee stable and reliable execution.
Work is processed by following each job step, to solve
problems caused by the inherent unstable characteristics
and to make VCS more stable and efficient. First, availability for VN, VA, is calculated by measuring the dynamic
aspects of participation and execution type, since existing
studies suffer from improper VCS availability. Second, VA
is categorized into temporal availability and spatial availability, according to their properties. Third, DR derived
from the availability for solving problems caused by volatility is proposed. DR is a metric reflecting the quality of
participation and execution of VN, including their duration.
Finally, a job is scheduled using DR. Work not only moderates the phenomenon of job suspension in VCS, but also
decreases total execution time. The specific details of the
scheduling scheme are provided in the subsequent section.

4.1. Definition of Availability for VC


VN

VN

VN

VN

Group computers

VN

VN

VN

VN

VN

VN

Group computers

Figure 1. VCS Environment

Definition 1 Volunteer Computing (VC) is composed of l


number of JCs, CS, m number of GMs and n number of VNs
that interact with ,, operations, respectively.
l


4. Dedication Rate

LAN

VN

Individual personal computers

codes. The operation represents the jobs allocated by


CS. This includes allocation and reallocation of processes
to GMs and VNs, where processing for GMs is optional.
The GM can be selected among VNs in the same LAN. In
, the GM allots and allocates jobs to VNs. It also supports to reallocate failed or delayed workloads. In practical
implementations, JC, so-called Client, is a module, which
finds large scale computational power and commits a job
to the CS. The CS manages VNs, GMs, and jobs, including scheduling of the jobs. It consists of the Job Scheduler
(JS), managers for the jobs and VNs, Job Manager (JM),
and VN Manager (VNM). VNs are practical hosts to computing jobs.

m


n


The general concept of availability is not sufficient for


reflecting the characteristics of a VN. Therefore, the measurement of availability is neither adequate nor suitable in
existing studies. Due to the absence of a proper availability
concept for VCS, there is a requirement for the measurement of availability for VSCs. This paper focuses on developing a novel definition of availability for more appropriate
measurement.

(1)

Definition 2 Volunteer Availability(VA) of VN is a quantity


of state that can accept requests to use and can use VN.

The operation means JC entrusts the large-scale job


to the CS. The job consists of a set of data and operation

Availability is roughly divided into temporal availability


and spatial availability.

VC =

JCi CS[

i=1

i=1

GMi ] 

V Ni

i=1

Proceedings of the 4th International Symposium on Parallel and Distributed Computing (ISPDC05)
0-7695-2434-6/05 $20.00 2005

IEEE

Definition 3 Temporal availability is an availability represented as various continuous time functions.


Temporal availability is based on analysis of statistical
time series analysis. It is categorized into Host Availability (HA) and Execution Availability (EA). As depicted in
Figure 2, temporal availability is represented by layered
architecture, from the perspective of participation and execution. Each HA is composed of EA and Execution Unavailability(EU). HA measures how much time VN regularly participates in the system and EA measures how often
VN predictably executes a job. Host Unavailability(HU)
represents a state where VN leaves the system and EU represents an unavailable state for execution due to user intervention. RHA indicates the remaining HA from checking
point of time in the timeline.

ally executes a job. This is computed using the entropy of


the ratio of execution as depicted in Equation 3.
EAR = (log(

n
n


EAi
)([
Pi logPi ]SY Smax )[
Pi logPi ]V N )
EAV N max
i=1
i=1
(3)

In Equation 3, EAR measures the entropy suggesting


how predictable the actual execution of VN is and how efficiently VCS can be handled in scheduling. Equation 3
shows EAR by calculating the entropy for the execution patterns.
Definition 4 Spatial availability is an availability representing the physical capacity of VN.
Spatial availability of the CPU clocks, memory capacity,
network bandwidth, and so on is frequently used to select
superior VN in the existing schemes. A VCS maintains the
spatial availability of VNs, ordered by their capacities.

4.2. Dedication Rate(DR)

Figure 2. HA and EA
HA and EA of each VN is measured as the sum of differences between the start time and end time representing
the pair of tns and tne where V n = [tns , tne ] in Figure 3. tns
means nth availability of start time and tne means nth availability of end time. Each HA, HU, EA, and EU are recorded
in temporal availability profile on VN.

V1

[t 1s , te1 ]

V2

[t s2 , te2 ]

Vi

[t si , tei ]

Figure 3. Measuring Availability Method


Host Availability Rate (HAR) is the ratio of VNs HA
to VCSs HA. This is computed by the entropy of the ratio
of participation as represented in Equation 2. The entropy
suggests how predictable the participation of a VN is and
how efficiently VCS can be handled in scheduling. In this
paper, Equation 2 presents HAR by calculating the entropy
for the participation patterns.
HAR = (log(

n
n


HAi
)([
Pi logPi ]SY Smax )[
Pi logPi ]V N )
HAV N max
i=1
i=1
(2)

Execution Availability Rate (EAR) is the ratio of VNs


EA to VCSs EA and indicates how frequently a VN actu-

In a VCS with dynamic participation and execution, successful execution is determined by the durable availability
of a volunteer. An accurate estimation of VN availability
is important in guaranteeing the performance of the VCS.
However, the duration of availability is unknown in advance. Therefore, it is difficult to predict participation and
execution patterns, and measure future performance accurately. In order to enhance the accuracy, a predictable availability duration is found using a heuristic approach considering past patterns of execution and participation.
This durable and predictable factor, DR, is measured
based on past experience using VA profiles. The CS manages profiles for the HA and EA of each VN. The availability has a set probability for the state of the system, regardless of whether it can be accessed. In order to to improve
pattern prediction of the participating system more accurately, DR is introduced using the entropy of availability, because simple availability is often inaccurate or insufficient
expressions and characteristics vary over time in existing
scheme.
Few studies have introduced the availabilities of the VN
while some studies have assumed, for simplicity, that the
availability distribution follows exponential. In practice,
however, assumptions regarding the distribution availability are wrongly matched to the real system. According to
[12], the availability of volunteers is assumed to follow a
hyperexponential distribution. This means the hyperexponential distribution and Weibull distribution are accurate in
representing the availability distribution in the experiments,
for the VCS.
Instead of using availability directly, DR is introduced to
more accurately measure participation patterns and execution. DR measures the degree in which VN is dedicated to

Proceedings of the 4th International Symposium on Parallel and Distributed Computing (ISPDC05)
0-7695-2434-6/05 $20.00 2005

IEEE

the VCS. This metric represents properties of VNs such as


suspension rate, regularity, deviation of patterns, and so on.
DR helps to predict the duration of participation and execution using HAR and EAR, considering changes of availability. In this study, DR is used by drawing properties of
reduced uncertainty based on the entropy. The accuracy of
DR depends on the entropy of VN. DR represents durable
availability and regularity of volunteer execution. These accurate measurements make the system elaborate. In addition, DR is the value of the execution concentration rate,
calculated using Equation 4 below.
DR = (HAR + EAR )

(4)

In Equation 4, DR is concerned with HAR and EAR reflecting the temporal availability ratio regarding regularity
and predictability. This measures the quality of participation and the execution of VN, the regularity of VN, and the
predictability of HA and EA. and are weight value to
give consequence to HAR and EAR, which is capable of being adjusted by the scheduling policy. The predictions for
durable availability are provided through DR which can be
supplied to a scheduler, and used to improve performance.
In Section 5, the advanced scheduling scheme based on this
DR, is described. The system can improve performance, because DR allows schedulers to form a prediction of the VN.
DR improves system reliability and execution completeness
through moderating the phenomenons of execution suspension. As a result, VSC increases performance and decreases
total execution time.

5. Scheduling Scheme based on DR


The scheduling scheme is most formidable in VCS since
performance is highly dependent on the scheduling scheme.
Especially, there is a need for the scheduling scheme to
cover volatile aspects of VNs where each VN dynamically
fluctuates participation and execution over time.
This section focuses on the scheduling scheme, covering volatile aspects of VNs. The Scheduling Scheme based
on Dedication Rate (SSDR) is demonstrated, which assists
predictable and stable execution. This paper considers the
scheduling problem of allocating a workload to a VN with
different participation and execution patterns. The existing
schemes, for example, simple scheduling schemes or Eager
scheduling scheme are inadequate in handling the problems
mentioned earlier, due to volatility. This weakness can be
overcome using DR on scheduling. The Job Scheduler (JS)
is responsible for coordinating the workloads to each VN
in which presence and performance changes dynamically
in time-varying fashion. As shown in Figure 4 through to
Figure 6, algorithms calculating the predictable availability
duration are described for SSDR.

Procedure PreparatoryStage ()
1: if (Job > WorkLoad) then
2:
SplitIntoWorkLoad(Job);
3: elseif (Job WorkLoad) then
4:
ScheduleBasedOnDR(VN, WorkLoad);
5: endif
6: while(VN > 0)
7:
CalculateDR(VN);
8: ListOfVN = OrderVN(DR);
9: if(SameOrder > 0) then
10: ReOrderVN(ListOfVN, EAR);
11: endif
12: DRSYSmin = getDR(min(ListOfVN));
13: DRSYSavg = getDR(avg(ListOfVN));
14: DRSYSlavg = getDR(DRSYSavg, lower);
15: DRSYSuavg = getDR(DRSYSavg, upper);
16: DRSYSmax = getDR(max(ListOfVN));
17: ListOfVN = OrderVN(DR);

Figure 4. Preparation Algorithm

Figure 4 describes preceding work applying the SSDR.


First, Job Scheduler splits a job into a task called a workload. If all jobs are slotted, the scheduler calculates the DR
of each VN. Then the scheduler orders the registered VN
by their DR. The scheduler reorders with EAR, when some
VNs have the same order. Next, the scheduler calculates
the DR of the system each of minimum, maximum, average, lower average(lavg), and upper average(uavg). The
lavg and uavg are derived from an average of low and high
20%, respectively.
Figure 5 explains an algorithm for scheduling scheme
based on Dedication Rate(DR). First, the scheduler inserts
the DR of the VN into the DRtarget . Then, the scheduler
compares the DRtarget with the DR of the system such
as DRSY Smin , DRSY Smax , DRSY Savg , DRSY Slavg , and
DRSY Suavg . If the DRtarget is smaller than DRSY Smin
or DRSY Slavg , the scheduler chooses another VN, and
then reschedules. Next, the scheduler allocates a duplicated
workload to improve reliability, where DRtarget is larger
than DRSY Slavg and smaller than the DRSY Suavg . In the
case of reallocation, the scheduler chooses another VN and
migrates a workload with checkpointing scheme. Finally,
DRtarget is larger than DRSY Suavg or the DRSY Smax ,
the scheduler allocates a workload to the VN, or selects another VN and reallocates a workload to the selected VN in
the case of reallocation.
Figure 6 addresses fault tolerance algorithms based on
the main causes of job suspension. The scheduler checks
the state to diagnose the causes of failure and decides to
reschedule with SSDR or migrate job, when the VN fails

Proceedings of the 4th International Symposium on Parallel and Distributed Computing (ISPDC05)
0-7695-2434-6/05 $20.00 2005

IEEE

Procedure ScheduleBasedOnDR(V N , W orkLoad)


1: DRtarget = CalculateDR(SelectedVN);
2: if ((DRtarget < DRSYSmin)
3:
or (DRSYSmin < DRtarget < DRSYSlavg)) then
4:
SelectedVN = ChooseVN(ListOfVN);
5:
ScheduleBasedOnDR(V N , W orkLoad)
6: elseif (DRSYSlavg < DRtarget < DRSYSuavg)
7:
then WorkAllocation(replicas,WorkLoad);
8:
if (Reallocation > 0)then
9:
SelectedVN = ChooseVN(ListOfVN);
10:
CheckPointing(WorkLoad);
11:
Migration(SelectedVN, WorkLoad);
12: elseif ((DRSYSuavg < DRtarget < DRSYSmax)
13:
or (DRSYSmax < DRtarget))
14:
if (Reallocation > 0)then
15:
VN=ChooseVN(ListOfVN,DRtarget);
16:
SelectedVN = VN;
17:
WorkReAllocation(SelectedVN, WorkLoad);
18:
WorkAllocation(new, WorkLoad);
19: endif

Procedure FaultTolerance(State)
1: if (Check(State == CRASH))
2: elseif (Check(State == LEAVE)) then
3:
DRbasedSchedule(WorkLoad);
4: elseif (Check(State == STOP)) then
5:
while (DelayTimeVN < DelayTimeSYSavg)
6:
Wait();
7:
DRbasedSchedule(WorkLoad);
8: endif

Figure 6. Fault Tolerant Decision Algorithm

and round trip time in the network, derived from EA, EU,
and Network Delay(ND) respectively. Probability of execution success measures the probability of continuous execution.
nFT of the workload is given in Equation 5 where {n |
i=1 EAi TW Lj } = 0, for n 1.

Figure 5. Algorithm for Scheduling Scheme


based on Dedication Rate

during execution due to the machine crash or the secession of user. The scheduler compares delay time of the VN
with delay time of the system in deciding whether to wait
or reschedule when the state is set at the stop state.

F TW L =

n


EAi +

i=1

In this section, a performance analysis is provided


through a mathematical and empirical approaches. The performance of proposed scheme measured from the following
two dimensions: mathematical dimension and experimental dimension. In mathematical analysis, performance measures between proposed scheme and existing scheme are
compared. In experiments, applied implementation of the
proposed scheme is compared with the performance of exiting scheme.

6.1. Mathematical Analysis

EUi + 2 N D

(5)

i=1

The execution time of workload, FT, of using Eager


scheduling is calculated as shown in Equation 6. Execution
time of workload is calculated in Equation 6 according to
Equation 5
Eager
F TW
={
L

n


EAi +

i=1

6. Implementation and Performance Evaluation

n


n


EUi + 2 N D}

(6)

i=1

If there is a reallocation caused by VN failure, execution


time of the workload follows Equation 7
Eager

F TW L

= {(

n


EAi +

i=1

n


EUi +2N D)+(

i=1

m


EAj +

j=1

m


EUj +2N D)}

j=1

(7)

FT of Eager scheduling can be generalized by Equation 8


considering time required to reallocate. FT is given in
Equation 9 because fastest FT is chosen among FT of replications.
Eager
F TW
={
L

l
n
n



(
EAi +
EUi + 2 N D)}
k=1 i=1

Eager
F TW
= min{Tk | Tk =
L

(8)

i=1
l
n
n



(
EAi +
EUi +2N D)}
k=1 i=1

i=1

(9)

Mathematical analysis is provided to determine how


much the SSDR to leverage for system performance. Two
metrics, Total Finish Time(TFT) and probability of execution success, are chosen. Finish Time(FT) is used to measure total execution time as a system performance metric,
indicating turn around time of result of the workload. FT
consists of computation time, time to transfer a workload,

Since SSDR selects a VN with large EA in advance, it may


reduce intermittence time as described in Equation 10.
SSDR

F TW L

= min{Tk | Tk =

i=1

IEEE

EAi +(min{Tj | Tj =

m


EUj })+2N D}

j=1

(10)

TFT is calculated from the maximum FT. Job completion


time is dependent on the longest FT of each VN. The TFT

Proceedings of the 4th International Symposium on Parallel and Distributed Computing (ISPDC05)
0-7695-2434-6/05 $20.00 2005

n


of each scheduling scheme is represented by Equation 11


and Equation 12.
Eager
Eager
T F TJob
= max{Tk | Tk = F TW
}
L

(11)

SSDR
SSDR
= max{Tk | Tk = F TW
}
T F TJob
L

(12)

[12] indicates that Hyperexponential distribution or


Weibull distribution effectively represents VN availability
in enterprise and internet computing environments. This assumption is relied upon in that the availability of each participant fits a hyper exponential distribution. The success
probability of the eager scheduling scheme is compared
with the proposed SSDR, in terms of probability of execution shown in Equation 13, Equation 14, respectively.
Eager
P {SEXE
}=

n


pi i e(+(1DR))

6.2. Practical Experiment


This section describes the current state of implementation. For the purpose of this paper, SSDR is developed and
applied to the Job Scheduler, considering DR on scheduling to improve reliability and stability. The Job Scheduler
is adapted from Korea@Home. The architecture of testbed
is organized as shown in section 3.

(13)

i=1
SSDR
}=
P {SEXE

n


pi i e

(14)

i=1

means execution stop rate and means the time required


to execute a workload.
Eager scheduling exceeds execution time because it allows to increase. The execution time deteriorates when
the workload is repeatedly reallocated. This result creates
not only a consecutive low execution success probability
and delayed total execution time. In contrast, SSDR maintains the initial execution time, it may promise high execution success probability since SSDR considers quality of
execution, (i.e. duration of availability) in advance.

Figure 8. Measurement total execution time


using Eager Scheduling

Figure 7. Execution success probability

Figure 9. Measurement total execution time


using SSDR scheduling

Figure 7 indicates that the proposed scheme obtains


more execution success when the stop rate is increasing as
shown in Equation 14. In Figure 7, the curve of the proposed SSDR is remarkably high in success probability of
job more than the curve of Eager scheduling scheme. Especially, SSDR performs highly during a low stop rates.
In addition, the successful execution probability decreases
moderately, continues in increasing the execution stop rate.
These results suggest how SSDR helps reliable and stable execution even when each participant is unpredictably
volatile.

The focus, in particular, is on implementation of Job


Scheduler and VN Manager. The system performance and
stability are determined by the impact module. The experimental setup is described as follows. Work began by selecting a candidate participant for measurement. Currently,
most VCSs run embarrassingly parallel applications where
each workload does not have dependency. A prime number
finding application is run on Korea@Home. To evaluate
the performance of a scheduling scheme and given a particular VN, the experiment is deployed on Korea@Home,

Proceedings of the 4th International Symposium on Parallel and Distributed Computing (ISPDC05)
0-7695-2434-6/05 $20.00 2005

IEEE

so that each allotted application is executed. The experiment commenced with the selection of an appropriate VN.
VNM manages registered VNs and selects the VN by comparing DR. JS in CS allots an application workload as a
unit of ten thousand. Of these workload, one workload is
a task to find a prime number in the range of ten thousand. Each VN will experience continuous execution as one
workload is executed after another. The system is tested using over 10,000 workloads run on 100 different VNs which
increased from 10 to 100. DR was measured by considering
the HA and EA of each VN every 30 minutes. In the proposed scheduling scheme, SSDR, has both stability and performance merits describing experimental results. When implemented, Job Scheduler adaptively schedules a workload
to each VN using SSDR. To achieve good performance, the
scheduler must process allocation with predictable VN behavior. Two scheduling schemes were evaluated, the proposed scheduling scheme and an existing Eager scheduling
scheme, implemented on top of Korea@Home with an additional scheduling module. Using Korea@Home with both
scheduling schemes, we ran large numbers of tasks slotted
with respect to their execution time. Interestingly, results
showed that it performed well where the number of VNs
has increased. Experimental results are shown in Figure 8
and Figure 9, and represent the total execution time of the
job. Each job consists of 50 workloads with 10 VNs.
Total execution time was often parameterized to measure
performance representing processing power characteristics.
While Eager scheduling scheme can also show acceptable
performance, weakness are covered in terms of reliability
and stability inherent in a VCS with large number of volunteers. In this case, performance is better than the Eager
scheduling scheme.

Figure 10. Comparison total execution time


Eager scheduling and SSDR scheduling

Figure 10 shows the comparisons with total execution


time according to each scheduling scheme. Experimental
results demonstrate a highly effective system. Using SSDR
reduces total execution time of each workload and job.

7. Conclusions
In this paper, SSDR is proposed, in order to overcome
the limitations such as increasing total execution time, decreasing performance, unpromising job completion, and so
on. Specification of dynamic properties, such as volatility,
have been presented. In addition, HA and EA are used to
parameterize a metric measuring time duration. A method
to determine each value, has been given. In these accurate metrics, the credit of the VN improves a performance
over that of earlier studies. Good performance has also
been achieved from experimental results. The analytical results indicate that the proposed SSDR performs well, while
the empirical results represent that the proposed scheduling
scheme outperforms the other existing VCSs using Eager
Scheduling Scheme.

References
[1] Luis F. G. Sarmenta, Volunteer Computing, Ph.D. thesis.
Dept. of Electrical Engineering and Computer Science, MIT,
2001.
[2] Bernd O. Christiansen, Peter Cappello, Mihai F. Ionescu,
Michael O. Neary, Klaus E. Schauser, Daniel Wu Javelin:
Internet-Based Parallel Computing using Java, Concurrency
: Practice and Experience, 1998.
[3] G. Fedak, C. Germain, V. Neri and F. Cappello. XtremWeb :
A Generic Global Computing System. CCGRID2001, 2001.
[4] A.Baratloo, M.Karaul, Z.Kedem, and P.Wyckoff. Charlotte:
Metacomputing on the web. In proceedings of 9th Conference
on Parallel and Distributed Computing System, 1996.
[5] N. Camiel, S. London, N. Nisan, and O. Regev. The POPCORN Project: Distributed Computation over the Internet in
Java. In 6th International WWW Conference, 1997.
[6] Korea@Home homepage. http://www.koreaathome.co.kr
[7] D.P.Anderson, J.Cobb, E.Korpela, M.Lebofsky, D.Werthimer,
SETI@home: an experiment in5 public-resource computing, Communications of the ACM, 2002.
[8] L. F. Lau, A.L. Ananda, G. Tan, W. F. Wong, Gucha :
Internet-based parallel computing using Java, ICA3PP, 2000.
[9] H. Casanova, A. Legrand, D. Zagorodnov, and F. Berman.
Heuristics for Scheduling Prameter Sweep Applications in
GRID Environments. HCW00, 2000.
[10] R. Wolski, N. Spring, and J. Hayes. The Network Weather
Service: A Distributed Resource Performance Forecasting
Service for Metacomputing., Future Generation Computing
Systems, 1999.
[11] Bhagwan, Savage, and Voelker, Understanding availability, IPTPS, 2003
[12] John Brevik, Daniel Nurmi, Rich Wolski, Modeling machine availability in enterprise and wide-area distributed computing environment, Technical Report CS2003-28, 2003.
[13] Jacky Chu et al., Availability and Popularity Measurements
of Peer-to-Peer File systems, Technical Report 04-36, 2004.
[14] Derrick Kondo, Michela Taufer, John Karanicolas, Charles
L. Brooks, Henri Casanova and Andrew Chien, Characterizing and Evaluating Desktop GRIDs - An Empirical Study,
IPDPS, 2004.

Proceedings of the 4th International Symposium on Parallel and Distributed Computing (ISPDC05)
0-7695-2434-6/05 $20.00 2005

IEEE

S-ar putea să vă placă și