SlideShare a Scribd company logo
Advances In Grid Computing Zoran Constantinescu
download
https://ebookbell.com/product/advances-in-grid-computing-zoran-
constantinescu-2337076
Explore and download more ebooks at ebookbell.com
Here are some recommended products that we believe you will be
interested in. You can click the link to download.
Advances In Grid Computing Egc 2005 European Grid Conference Amsterdam
The Netherlands February 1416 2005 Revised Selected Papers 1st Edition
Georgi Graschew
https://ebookbell.com/product/advances-in-grid-computing-
egc-2005-european-grid-conference-amsterdam-the-netherlands-
february-1416-2005-revised-selected-papers-1st-edition-georgi-
graschew-4238888
Advances In Grid And Pervasive Computing 6th International Conference
Gpc 2011 Oulu Finland May 1113 2011 Proceedings 1st Edition Daron G
Green Auth
https://ebookbell.com/product/advances-in-grid-and-pervasive-
computing-6th-international-conference-gpc-2011-oulu-finland-
may-1113-2011-proceedings-1st-edition-daron-g-green-auth-2226414
Advances In Grid And Pervasive Computing 5th International Conference
Gpc 2010 Hualien Taiwan May 1013 2010 Proceedings 1st Edition Peter
Sloot Auth
https://ebookbell.com/product/advances-in-grid-and-pervasive-
computing-5th-international-conference-gpc-2010-hualien-taiwan-
may-1013-2010-proceedings-1st-edition-peter-sloot-auth-2532906
Advances In Grid And Pervasive Computing 5th International Conference
Gpc 2010 Hualien Taiwan May 1013 2010 Proceedings 1st Edition Peter
Sloot Auth
https://ebookbell.com/product/advances-in-grid-and-pervasive-
computing-5th-international-conference-gpc-2010-hualien-taiwan-
may-1013-2010-proceedings-1st-edition-peter-sloot-auth-4140292
Advances In Grid And Pervasive Computing 7th International Conference
Gpc 2012 Hong Kong China May 1113 2012 Proceedings 1st Edition
Thepparit Banditwattanawong Auth
https://ebookbell.com/product/advances-in-grid-and-pervasive-
computing-7th-international-conference-gpc-2012-hong-kong-china-
may-1113-2012-proceedings-1st-edition-thepparit-banditwattanawong-
auth-4140294
Advances In Grid And Pervasive Computing 4th International Conference
Gpc 2009 Geneva Switzerland May 48 2009 Proceedings 1st Edition Marcel
Risch
https://ebookbell.com/product/advances-in-grid-and-pervasive-
computing-4th-international-conference-gpc-2009-geneva-switzerland-
may-48-2009-proceedings-1st-edition-marcel-risch-4521394
Advances In Grid And Pervasive Computing Third International
Conference Gpc 2008 Kunming China May 2528 2008 Proceedings 1st
Edition Kai Hwang Auth
https://ebookbell.com/product/advances-in-grid-and-pervasive-
computing-third-international-conference-gpc-2008-kunming-china-
may-2528-2008-proceedings-1st-edition-kai-hwang-auth-4605658
Advances In Grid And Pervasive Computing Second International
Conference Gpc 2007 Paris France May 24 2007 Proceedings 1st Edition
Chaotung Yang
https://ebookbell.com/product/advances-in-grid-and-pervasive-
computing-second-international-conference-gpc-2007-paris-france-
may-24-2007-proceedings-1st-edition-chaotung-yang-978976
Advances In Grid And Pervasive Computing First International
Conference Gpc 2006 Taichung Taiwan May 35 2006 Proceedings 1st
Edition Chienmin Wang
https://ebookbell.com/product/advances-in-grid-and-pervasive-
computing-first-international-conference-gpc-2006-taichung-taiwan-
may-35-2006-proceedings-1st-edition-chienmin-wang-1547328
Advances In Grid Computing Zoran Constantinescu
ADVANCES IN
GRID COMPUTING
Edited by Zoran ConstanƟnescu
Advances in Grid Computing
Edited by Zoran Constantinescu
Published by InTech
Janeza Trdine 9, 51000 Rijeka, Croatia
Copyright © 2011 InTech
All chapters are Open Access articles distributed under the Creative Commons
Non Commercial Share Alike Attribution 3.0 license, which permits to copy,
distribute, transmit, and adapt the work in any medium, so long as the original
work is properly cited. After this work has been published by InTech, authors
have the right to republish it, in whole or part, in any publication of which they
are the author, and to make other personal use of the work. Any republication,
referencing or personal use of the work must explicitly identify the original source.
Statements and opinions expressed in the chapters are these of the individual contributors
and not necessarily those of the editors or publisher. No responsibility is accepted
for the accuracy of information contained in the published articles. The publisher
assumes no responsibility for any damage or injury to persons or property arising out
of the use of any materials, instructions, methods or ideas contained in the book.
Publishing Process Manager Katarina Lovrecic
Technical Editor Teodora Smiljanic
Cover Designer Martina Sirotic
Image Copyright DrHitch, 2010. Used under license from Shutterstock.com
First published February, 2011
Printed in India
A free online edition of this book is available at www.intechopen.com
Additional hard copies can be obtained from orders@intechweb.org
Advances in Grid Computing, Edited by Zoran Constantinescu
p. cm.
ISBN 978-953-307-301-9
free online editions of InTech
Books and Journals can be found at
www.intechopen.com
Advances In Grid Computing Zoran Constantinescu
Part 1
Chapter 1
Chapter 2
Chapter 3
Chapter 4
Chapter 5
Chapter 6
Part 2
Chapter 7
Preface IX
Resource and Data Management 1
Application of Discrete Particle Swarm
Optimization for Grid Task Scheduling Problem 3
Ruey-Maw Chen
A Framework for Problem-
Specific QoS Based Scheduling in Grids 19
Mohamed Wahib, Asim Munawar,
Masaharu Munetomo and Kiyoshi Akama
Grid-JQA: A QoS Guided Scheduling
Algorithm for Grid Computing 29
Leyli Mohammad Khanli and Saeed Kargar
Autonomic Network-Aware Metascheduling
for Grids: A Comprehensive Evaluation 49
Agustín C. Caminero, Omer Rana,
Blanca Caminero and Carmen Carrión
Quantum Encrypted Data Transfers in GRID 73
M. Dima, M. Dulea, A. Dima, M. Stoica and M. Udrea
Data Consolidation
and Information Aggregation in Grid Networks 95
Panagiotis Kokkinos and Emmanouel Varvarigos
Grid Architectures and Development 119
A GPU Accelerated High Performance Cloud
Computing Infrastructure for Grid Computing
Based Virtual Environmental Laboratory 121
Giulio Giunta, Raffaele Montella, Giuliano Laccetti,
Florin Isaila and Javier García Blas
Contents
Contents
VI
Using Open Source Desktop Grids
in Scientific Computing and Visualization 147
Zoran Constantinescu and Monica Vladoiu
Security in the Development Process
of Mobile Grid Systems 173
David G. Rosado, Eduardo Fernández-Medina and Javier López
Grid Enabled Applications 199
Grid Computing for Artificial Intelligence 201
Yuya Dan
Grid Computing for Fusion Research 215
Francisco Castejón and Antonio Gómez-Iglesias
A Grid Enabled Framework
for Ubiquitous Healthcare Service Provisioning 229
Oludayo, O., Olugbara, Sunday, O. Ojo, and Mathew, O. Adigun
The Porting of Wargi-DSS to Grid Computing Environment
for Drought Plans in Complex Water Systems 253
Andrea Sulis, Valeria Ardizzone,
Emilio Giorgio and Giovanni M. Sechi
Chapter 8
Chapter 9
Part 3
Chapter 10
Chapter 11
Chapter 12
Chapter 13
Advances In Grid Computing Zoran Constantinescu
Advances In Grid Computing Zoran Constantinescu
Preface
During the last decades we have been experiencing the historic evolution of Informa-
tion and Communication Technology’s integration into our society to the point that
many times people use it transparently. As we become able to do more and more with
our advanced technologies, and as we hide them and their complexities completely
from their users, we will have accomplished the envisioned “magic” desideratum that
any advanced technology must fulfill in Arthur Clarke’s vision. Internet has enabled
a major breakthrough, not so long ago, when its standards and technologies provided
for near-universal connectivity, broad access to content, and, consequently, for a new
model for science, engineering, education, business, and life itself. That development
has been extraordinary in many respects, and, the Grid is expected to continue this
momentous evolution toward fulfilling of Licklider’s vision of man-computer symbio-
sis and intergalactic network that enable people and computers to cooperate in making
decisions and controlling complex situations without inflexible dependence on predetermined
programs.
Grid Computing is a model of distributed computing that uses geographically and
administratively distinct resources that can be reached over the network: processing
power, storage capacity, specific data, input and output devices, etc. Foster’s canoni-
cal definition of Grid states that it is a system that coordinates distributed resources using
standard, open, general-purpose protocols and interfaces to deliver nontrivial qualities of ser-
vice. In grid computing, individual users can access computers and data transparently,
without having to consider location, operating system, account administration, and
other details, which are abstracted from the users. Grid computing aims to achieve a
secured, controlled and flexible sharing of virtualized resources among various dy-
namically created virtual organizations. However, the construction of an application
that may benefit from advantages of grid computing, i.e. faster execution speed, con-
necting of geographically separated resources, interoperation of software, and so on,
typically requires the installation of complex supporting software, and, moreover, an
in-depth knowledge of how this software works.
This book approaches grid computing from the perspective of the latest achievements
in the field, providing an insight into the current research trends and advances, and
presents a large range of innovative research in this field. The topics covered in this
book include resource and data management, grid architectures and development, and
X Preface
grid-enabled applications. The book consists of 13 chapters, which are grouped into
three sections as follows. First section, entitled Resource and Data Management, consists
of chapters 1 to 6, and discusses two main aspects of grid computing: the availabil-
ity of resources for jobs (resource management), and the availability of data to the jobs
(data management). New ideas employing heuristic methods from swarm intelligence
or genetic algorithm, and quantum encryption are introduced. For instance, Chapter
1 focuses on applying discrete particle swarm optimization algorithm, a swarm intel-
ligence inspired technique, to solve the task scheduling problem in grid computing.
Chapter 2 discusses the use of application specific Quality of Service (QoS) param-
eters for resource management, and proposes a framework for task scheduling using
a multi objective genetic algorithm. Chapter 3 proposes a new QoS guided scheduling
algorithm. Chapter 4 introduces an autonomic network-aware metascheduling archi-
tecture, evaluating the benefits of taking the network into account when performing
metascheduling, along with the need to react autonomically to changes in the system.
Chapter 5 presents an attempt to use quantum encryption for data transmission in the
grid. Chapter 6 proposes a number of data consolidation and information aggregation
techniques, and evaluates by simulation the improvements in the reduction of conges-
tion and information exchanged.
The second section, named Grid Architectures and Development, includes chapters 7 to 9,
and addresses some aspects of grid computing that regard architecture and develop-
ment. Chapter 7 describes the development of a virtual laboratory for environmental
applications, based on grid computing, cloud computing and GPU computing compo-
nents. Chapter 8 presents the architecture of an open source, heterogeneous, desktop
grid computing system, together with some examples of using it in the fields of scien-
tific computing and visualization. Chapter 9 defines a systematic development process
for grid systems that supports the participation of mobile nodes, and it incorporates
security aspects from the earliest stages of development.
Grid Enabled Applications, the last section of this book, includes chapters 10 to 13, and
provides a diverse range of applications for grid computing, including a possible hu-
man grid computing system, a simulation of the fusion reaction, ubiquitous healthcare
service provisioning and complex water systems. Chapter 10 introduces the idea of us-
ing grid computing in artificial intelligence, namely for thinking routines for the next
move problems in the game of shogi (Japanese chess), and presents the possibility of the
human Grid computing, which assists the position evaluation function with human
intuition. Chapter 11 presents the application of grid computing in fusion research, the
problems involved in porting fusion applications to the grid towards the final quest
of a numerical fusion reactor. Chapter 12 describes the effort to design and evaluate a
grid enabled framework for ubiquitous healthcare service provisioning, by integrat-
ing different emerging technologies like telemedicine, wireless body area network and
wireless utility grid computing technologies, to address the challenges of conventional
healthcare system. Chapter 13 presents grid computing as a promising approach for
scaled-up simulation analysis of complex water system with high uncertainty on hy-
drological series.
Preface XI
In summary, this book covers significant aspects related to resource and data manage-
ment, grid architectures and development, and grid-enabled applications, and it con-
stitutes an invaluable asset for people interested in Grid Computing, from researchers
and scholars/scientists to students and experts in the field.
Hopefully, this book will contribute to the thoroughly integrated infrastructure of the
future, in which systems, businesses, organizations, people etc., everything required for
a smoothly working whole, will be in close, transparent and dynamic communication.
As this infrastructure will become more and more autonomous, the quality of services
will significantly improve, enabling people to make technology choices based on their
needs rather than on anything else. Thus, the grid-enabled computational and data
management infrastructure will evolve constantly toward a global phenomenon that
will become a key enabler for science, in particular, and for society, in general.
I would like to acknowledge the contribution of the authors, of the reviewers, and of
the INTECH editors to this book, each of them having his or her merit to the quality of
the final outcome.
Zoran Constantinescu
Department of Research and Development
ZealSoft Ltd.
Bucharest, Romania
Advances In Grid Computing Zoran Constantinescu
Part 1
Resource and Data Management
Advances In Grid Computing Zoran Constantinescu
1
Application of Discrete Particle
Swarm Optimization for Grid
Task Scheduling Problem
Ruey-Maw Chen
National Chin-Yi University of Technology, Taichung, 411,
Taiwan, R. O. C.
1. Introduction
Many applications involve the concepts of scheduling, such as communications, packet
routing, production planning [Zhai et al., 2006], classroom arrangement [Mathaisel &
Comm, 1991], aircrew scheduling [Chang, 2002], nurse scheduling [Ohki et al., 2006], food
industrial [Simeonov & Simeonovova, 2002], control system [Fleming & Fonseca, 1993],
resource-constrained scheduling problem [Chen, 2007] and grid computing. There are many
different types of scheduling problems such as real-time, job-shop, permutation flow-shop,
project scheduling and other scheduling problems have been studied intensively. However,
in this work, the studied grid task scheduling problem is much more complex than above
stated classic task scheduling problems. Restated, a grid application is regarded as a task
scheduling problem involving tasks with inter-communication and distributed
homogeneous or heterogeneous resources, and can be represented by a task interaction
graph (TIG).
Grid is a service for sharing computing power and data storage capacity over the Internet.
The grid systems outperform simple communication between computers and aims
ultimately to turn the global network of computers into one vast computational resource.
Grid computing can be adopted in many applications, such as high-performance
applications, large-output applications, data-intensive applications and community-centric
applications. These applications major concern to efficiently schedule tasks over the
available multi-processor environment provided by the grid. A grid is a collaborative
environment in which one or more tasks can be submitted without knowing where the
resources are or even who owns the resources [Foster et al., 2001]. The efficiency and
effectiveness of grid resource management greatly depend on the scheduling algorithm [Lee
et al., 2007]. Generally, in the grid environment, these resources are different over time, and
such changes will affect the performance of the tasks running on the grid. In grid
computing, tasks are assigned among grid system [Salman, 2002]. The purpose of task
scheduling in grid is to find optimal task-processor assignment and hence minimize
application completion time (total cost). Most scheduling problems in these applications are
categorized into the class of NP-complete problems. This implies that it would take amount
of computation time to obtain an optimal solution, especially for a large-scale scheduling
problem. A variety of approaches have been applied to solve scheduling problems, such as
Advances in Grid Computing
4
simulated annealing (SA) [Kirkpatrick, 1983], neural network [Chen, 2007], genetic
algorithm (GA) [Holland, 1987], tabu search (TS) [Glover, 1989; Glover, 1990], ant colony
optimization (ACO) [Dorigo & Gambardella, 1997] and particle swarm optimization
[Kennedy & Eberhart, 1995]. Among above stated schemes, many PSO-based approaches
were suggested for solving different scheduling application problems including production
scheduling [Watts & Strogatz, 1998], project scheduling [Chen, 2010], call center scheduling
[chiu et al., 2009], and others [Behnamian et al., 2010; Hei et al., 2009].
In light of different algorithms studied, PSO is a promising and well-applied meta-heuristic
approach in finding the optimal solutions of diverse scheduling problems and other
applications. The particle swarm optimization (PSO) is a swarm intelligent inspired scheme
which was first proposed by Kennedy and Eberhart [Kennedy & Eberhart, 1995]. In PSO, a
swarm of particles spread in the solution search space and the position of a particle denotes
a solution of studied problem. Each particle would move to a new position (new solution)
determined by both of the individual experience (particle individual) and the global
experience (particle swarm) heading toward the global optimum. However, many PSO
derivatives have been studied, and one of them was named “discrete” particle swarm
optimization (DPSO) algorithm proposed by Kennedy et al. [Kennedy & Eberhart, 1997]
representing how DPSO can be used to solve problems. Hence, this study focuses on
applying discrete particle swarm optimization algorithm to solve the task scheduling
problem in grid computing.
To enhance the performance of the applied DPSO, additional heuristic was introduced to
solve the investigated scheduling problem in grid. Restated, simulated annealing (SA)
algorithm was incorporated into DPSO to solve task assignment problem in grid
environment. Moreover, the resulting change in position is defined by roulette wheel
selection rule rather than the used rule in [Kennedy & Eberhart, 1997]. Furthermore, the
dynamic situations are not considered; the distributed homogeneous resources in grid
environment are considered in this investigation.
2. The task scheduling problem in grid computing
There are different grid task scheduling problems exist including homogeneous and
heterogeneous architectures. This section gives a class of task scheduling problem in
homogeneous grid. Definition, limitation and objective of a grid computing system are
presented. The introduced grid task scheduling problem can be represented as a task
interaction graph (TIG) proposed by Salman et.al. [Salman, 2002], as displayed in Fig. 1.
Figure 1 presents available memory in homogeneous grid, task processing time, memory
requirement of each task, data exchange between tasks, and communication cost between
grids. Meanwhile, two possible solutions are displayed in Fig. 2.
Grid # 1 2 3 4
Memory available 25 40 30 25
Task # 1 2 3 4 5
Process time 15 10 20 30 15
Memory requirement 20 30 25 20 10
Application of Discrete Particle Swarm Optimization for Grid Task Scheduling Problem 5
Fig. 1. Grid task scheduling problem representation [Salman et al., 2002]
(a) (b)
Fig. 2. Possible solutions
A meta-heuristic algorithm that is based on the principles of discrete particle swarm
optimization (PSO) is proposed for solving the grid scheduling problem. The traditional
assignment problems are only concerned to minimize the total processing cost, and there is
no communication cost between these tasks and grids.
In homogeneous system, a grid environment can be represented as task interaction graph
(TIG), G (V, E), where V ∈ {1, 2, . . . , M} is the set of the tasks and E are the interactions
between these tasks as in Fig. 1. The M and N are the total number of tasks and the total
number of grids (resources), respectively. The total amount of transmission data weight eij
denotes the information exchange (interactive) data between tasks i and j. The pi is the
processing time (cost) corresponding to the work load to be performed by task i on grid. In
the example of TIG problem shown in Figure 1, the tasks 2 and 5 are processed on the grid 2.
Restated, no communication cost exists between these two tasks (task 2 and 5). Additionally,
each task i has memory requirement mi to be processed on one grid, and each grid requires
enough memory to run their tasks.
For example, the processing time of task 1 is 15 and scheduled on grid 1. The task 1 has to
exchange data with the tasks 2, 4 and 5. However, the tasks 2, 4 and 5 are on different grids,
this means that there are communication costs with task 1. Furthermore, tasks 4 and 5 are on
the same grid and there is no communication cost required between them. Therefore, the
total cost for grid 1 of possible solution case (a) is (15) + (5 × 2 + 1 × 2 + 4 × 3) = 39.
Moreover, task 1 satisfies the memory constraint; that is, the memory requirement is 20 for
task 1, which is less than the memory available of 25 for grid 1. The communication cost is
computed by the communication cost (link cost) multiplies the edge weight (exchange data).
The total cost for grids of different possible solutions as demonstrated in Fig. 2 are
determined as follows.
Advances in Grid Computing
6
Grids Total cost – case (a) Total cost – case (b)
Grid 1 (15)+(5×2+1×2+4×3)=39 (15)+(5×2+4×3+1×3)=40
Grid 2 (10+15)+(5×2+1×3)+(1×2)=40 (10)+(5×2+1×3+6×1)=29
Grid 3 (20)+ (1×3+3×2)=29 (20)+ (1×3+3×2)=29
Grid 4 (30)+ (4×3+3×2)=48 (30+15)+(4×3+3×2)+(1×3+6×1)=72
A grid application completion time is defined as the latest time that grid finishes all
scheduled tasks processing and communication. According to above total cost calculation,
different task assignment in grid would obtain different application completion time. For
example, case (b) solution of Fig. 2 yields application completion time 72; case (a) solution of
Fig. 2 has less application completion time 48. Restated, the resulting schedule of case (a) is
better than that of case (b).
The grid system can be represented as a grid environment graph (GEG) G (P, C), where P =
{1, 2, . . . , N} is the set of grids in the distributed system. The C represents the set of
communication cost between these grids. The dij between grids i and j represents the link
cost between the grids. The problem of this study is to assign these tasks in V to the set of
grids P. The objective function is to minimize the maximum total execution time required by
each grid and the communication cost among all the interactive tasks that satisfies the
memory constraint on different grids. The problem can be defined as:
Minimize {max (Cexe (k)+Ccom(k)) }, k∈{1, 2, . . . , N} (1)
Where
Cexe (k) =
k
i
i A
p
∈
∑ , Ak is the set of tasks assigned to grid k (2)
Cmem (k) =
k
i
i A
m
∈
∑ , Ak is the set of tasks assigned to grid k (3)
Ccom (k) =
k k
kp ij
i A j A
d e
∈ ∉
⋅
∑ ∑ ,for all grids p ≠ k, p=1 to N; i, j=1 to M (4)
Subject to
Cmem (k) ≤ MemAvail(k) (5)
Where Cexe(k) is the total execution time of all tasks assigned to grid k and Ccom(k) is the total
communication cost between tasks assigned to grid k. Those relative tasks are assigned to
other grids in an assignment. The Cmem(k) is the total memory requirement of all tasks
assigned to grid k, for which the value of Cmem(k) have to less than or equal than the total
available memory of grid k; MemAvail(k) as listed in Eq. (5). The objective of the task
assignment problem is to find an assignment schedule that the cost is minimized of one grid
for a given TIG on a given GEG. In this study, the penalty function is adopted in the
proposed algorithms.
Penalty(k) = Cmem(k) - MemAvail(k) (6)
In Eq. (6), the penalty(k) is set to zero if the constraint of Eq. (5) is satisfied.
Application of Discrete Particle Swarm Optimization for Grid Task Scheduling Problem 7
3. Particle swarm optimization
The particles swarm optimization (PSO) was first proposed by Kennedy and Eberhart in 1995.
The original PSO is applied in real variable number space. There are a lot of task-resource
assignment related works have been introduced in recent years [Kuo et al. 2009; Sha & Hsu,
2006; Bokhari, 1987; Chaudhary & Aggarwal, 1993; Norman & Thanisch, 1993]. These works
indicated that the problems are set in a space featuring of continuous. However, the
combinatorial problems are most of discrete or quantitative variables [Liao et al., 2007].PSO
schematic diagram is displayed as in Fig. 3. The introduced grid task scheduling problem as in
Fig. 1 can be regarded as a task-grid assignment problem in a graph as in Fig. 2.
Fig. 3. PSO schematic diagram
The particle swarm optimization is a multi-agent general meta-heuristic method, and can be
applied extensively in solving many NP-complete or combinatorial problems. The PSO
consists of a swarm of particles in the search space; the position of a particle is indicated by a
vector which presents a potential solution of the problem. PSO is initialized with a
population of particles (randomly assigned or generated by heuristic) and searches for the
best position (solution or schedule) with the best fitness. In every generation or iteration, the
local bests and global best are determined through evaluating the performances, i.e., the
fitness values of current population of particles. A particle moves to a new position
obtaining a new solution guided by the velocity (a vector). Hence, the velocity plays an
important role in affecting the characters of creating new solution. There are two experience
positions are used in the PSO; one is the global experience position of all particles, which
memorizes the global best solution obtained from all positions (solutions) of all particles; the
other is the individual experience position of each particle, which memorizes the local best
solution acquired from the positions (solutions) of the corresponding particle has been at.
These two experience positions and the inertia weight of the previous velocities used to
determine the impact on the current velocity. The velocity retains part of prior velocity (the
inertia) and driving particle toward the direction based on the global experience position
and the individual experience position. Thus, the particles can derive new positions
(solutions) by their own inertia and experience positions.
Velocity
Individual experience
Global experience
Current Position
New position?
Advances in Grid Computing
8
In traditional PSO, the search space (solution space) is D dimension space (the number of
dimension is corresponding to the parameters of solutions) and the population consists of Np
particles. For the ith particle (i = 1, . . . , Np), the position consists of M components Xi = {Xi1, . . .
, XiM}, Xij is the jth component of the ith position. The velocity Vi = {Vi1,…, ViM}, where Vij is the
velocity component corresponding to the component of Xij, and the individual experience is a
position Li = {Li1, . . . , LiM} which is the local best solution for the ith particle. Additionally, G =
{G1,. . . , GM} represents the global best experience shared among all particles achieved so far.
The mentioned parameters above are used to calculate the updating of the jth component of the
position and velocity for the ith particle, as shown in Eq. (7).
1 1 2 2
( ) ( )
new new
new
ij ij ij ij j ij
ij ij ij
V wV c r L X c r G X
X X V
− −
⎧ = + +
⎪
⎨
= +
⎪
⎩
(7)
Where w is an inertia weight used to determine the influence of the previous velocity to the
new velocity. The c1 and c2 are learning factors used to derive how the ith particle
approaching the position either closes to the individual experience position or global
experience position respectively. Furthermore, the r1 and r2 are the random numbers
uniformly distributed in [0, 1], influencing the tradeoff between the global exploitation
(based on swarm’s best experience) and local exploration (based on particle’s best
experience) abilities during search.
4. Simulated annealing algorithm
Other meta-heuristics are usually combined into PSO to increase the problem solving
performance. SA is one of the popular algorithms to be combined with other meta-heuristic
schemes. Simulated annealing (SA) was first introduced by Metropolis in 1953 [Metropolis
et al., 1953]. Meanwhile, SA is a stochastic method for combinatorial problem optimization.
Furthermore, SA is one of the efficient methods applied to solve widely complex problems
[Kirkpatrick, 1983]. The original SA procedure is listed as shown in Fig. 4.
Initial solution S, compute corresponding energy E
Set the initial temperature (T), cooling rate (r)
While E <> 0
S’ = Generate the new solution
Compute new energy E’corresponding to S’ and calculate ΔE = E’- E
If ΔE<0 then accept S = S’, E = E’
Else Compute the
( )
E
T
e
δ
Δ
−
=
Accept the new solution when random number < δ
Decrease the temperature T = T × r
Fig. 4. Simulated annealing algorithm
In Fig.4, the energy E is corresponding to solution S, and energy E’ is correlated to solution
S’. However, energy definition is determined by the studied problem. Hence, E is defined as
{max(Cexe(k)+Ccom(k))}+Penalty(k), k∈{1, 2,…, N} in this investigation. The temperature, T, is
the magnitude of fluctuation; it is a key parameter in controlling the search direction as well
as the step size toward the global minimum. The applied cooling schedule is controlled by
Application of Discrete Particle Swarm Optimization for Grid Task Scheduling Problem 9
T=T×r. The acceptance criterion of worse solution is based on the probabilistic process
which is dependent on the temperature and energy difference between two states. Restated,
the probability is determined by δ=exp(-ΔE/T).
5. Discrete particle swarm optimization method
Kennedy and Eberhart developed a discrete version of PSO in 1997 [Kennedy & Eberhard,
1997]. The discrete PSO essentially differs from the original PSO in two characteristics.
Firstly, the particle is composed of the binary variable. Secondly, the velocity represents the
probability of the binary variable taking the value of one, i.e., the probability of task i is
assigned to grid k in this study (i∈ {1, 2, . . . , M}; k∈{1, 2, . . . , N}). The discrete PSO is
adopted by generating solutions for updating the particle’s position and velocity vectors to
solve the task scheduling problem in parallel machines [Kashan & Karimi, 2009; Kashan et
al., 2008; Lee et al., 2006]. Another similar to the discrete PSO optimization technique
developed by Laskari et al. [Laskari et al., 2002], which is based on the truncation of the real
values to their nearest integer. In this study, employed discrete PSO equations were
introduced by Kennedy and Eberhard for solving the task assignment problem. The discrete
PSO was also applied to solve the flowshop scheduling problem, and performed well in the
computation result. This study conducts the discrete PSO method introduced by [Liao et al.,
2007] and combines the SA algorithm for solving the task assignment problems in grid. The
task-grid assignment problem will be then introduced.
Assumes there are Np particles, and each particle searches for D = M×N dimension space
(the number of tasks and grids). For the hth particle (h =1, . . . , Np), the position consists of
M×N components Xh = {Xh11, . . . , XhMN}, Xhij ∈{0,1}is the ith task assigned to grid j for particle
h ( i =1, . . . , M; j =1, . . . , N ). The velocity Vh = {Vh11, . . . , VhMN}, where Vhij is the velocity
associated with component Xhij, and the individual experience for particle h is Lh = {Lh11, …,
LhMN}, the local best solution for the hth particle. Additionally, G = {G11,…, GMP} represents
the global best experience obtained and shared among all the population of particles. Above
stated parameters are then used to update all components of the Vh. The velocity
components updating for the hth particle is shown as in Eq. (8).
1 1 2 2
( ) ( )
new
hij hij hij hij ij hij
V wV c r L X c r G X
−
= + − + (8)
According to Eq. (8), each particle moves to new position according to its new velocity.
However, the new position generation is not the same as in original PSO, Eq. (7). Kennedy
and Eberhart claim that the higher velocity component value is more likely to choose 1 for
the corresponding position component, while lower velocity component value favors the
position component value of 0. Hence, a probability function is used as shown in Eq. (9).
1
( )
1 exp( )
hij
hij
s V
V
=
+ −
(9)
Equation (9) is the sigmoid function as displayed in Fig. 5, where s(Vhij) is defined as
representing the probability of Xhij to be set to 0 or 1. To avoid the value of s(Vhij)
approaching 0 or 1, a constant Vmax is used to limit the range of Vhij . In practice, Vmax is often
set at 4, i.e., Vhij ∈ [−Vmax, +Vmax]. After transformation via Eq. (9), s(Vhij) is mapped to a value
between 0 and 1, i.e., s(Vhij) ∈ (0, 1). For example, if Vmax =4 then probabilities will be
Advances in Grid Computing
10
Fig. 5. Sigmoid function
limited to s(Vhij), between 0.9820 and 0.018. In [Kennedy & Eberhart, 1997], the resulting
change in position is defined by the following rule (Eq. (10)).
1, ( ) ( )
0,
hij hij
hij
X if rand s V
X else
⎧ = <
⎪
⎨
=
⎪
⎩
(10)
Where the rand( ) is a quasi-random number selected from a uniform distribution in [0.0,
1.0]. For task-grid assignment problem, each task can only be assigned to one grid.
Therefore, in the proposed algorithm, each particle h places the unscheduled task i to grid j
according to the following normalized probability [Liao et al., 2007]:
( )
( , )
( )
hij
h
hij
j U
s V
q i j
s V
∈
=
∑
, U is the set of grids (11)
Restated, the determination of which grid to be assigned to an unscheduled task in the
study is based on the roulette wheel selection rule which is well applied in genetic
algorithm. Hence, according to roulette wheel selection rile, grid j is randomly selected from
U for task i based on the probability distribution given by Eq. (11) and a generated random
number. Based on the pseudo code of discrete PSO given by Kennedy et al. [Kennedy &
Eberhard, 1997], the proposed algorithm is modified and showed in Fig. 6. The computation
steps of the proposed algorithm in the simulation system can be summarized as:
1. Initialize the parameters and input the problem data.
Application of Discrete Particle Swarm Optimization for Grid Task Scheduling Problem 11
2. Generate the initial particle solution, including velocity matrix (VN
p
MN ), and then
transform the velocity to a matrix of s(Vhij), and use Eq. (11) to generate the matrix
(XN
p
MN), and update the local best and global best solution.
3. Use Eq. (8) to generate new velocity of particles for the next generation until a specified
stopping criterion is reached.
Initialize and generate each particle solution of Xh matrix and velocity Vh
Set Lh =Xh, h=1,…, Np, G = X1
Loop
//find the global best solution
For h= 1 to Np
If Z(Xh)<Z(G) then // Z( ) objective function
g = h //g is the index of the global best G
End if
Next h
For h= 1 to Np
Update the velocity matrix Vh based on Eq. (8)
subject to Vhij∈ [−Vmax,+Vmax]
map Vhij to s(Vhij) based on Eq. (9)
calculate normalized probability qh(i, j) using Eq. (11)
select grid j for task i (Xhij) by roulette wheel selection rule
Update the assignment matrix Xh based on Simulated annealing
ΔE = Z(Xh)-Z(Lh)
if ΔE<0 then
Lh = Xh
else
Compute the
( )
E
T
e
δ
Δ
−
=
Lh = Xh when a generated random number Pa<δ
End if
Next h
// find the local best solution
For h = 1 to Np
If Z(Xh)<Z(Lh) then // Z( ) objective function
Lh = Xh // Lh is the best so far for particle h
End if
Next h
decrease the temperature T
Until the end of criterion is reached
Fig. 6. The proposed discrete PSO combined with SA
Advances in Grid Computing
12
5.1 DPSO encoding representation
Encoding the task assignment problem in grid into the position vector of particle is
necessary. Hence, encoding is illustrated by an example as follows. For example, there are 5
tasks to be distributed to 3 grids; the initial velocity for particle h (Vhij) is
Task  Grid 1 2 3
1 -1.2 -3.9 3.1
2 1.1 -2 -2.8
3 1.2 -2.6 3.2
4 -0.2 -1.9 -2
5 3.8 -0.4 0.4
According to Eq. (8), the updated velocity (Vhij) becomes
Task  Grid 1 2 3
1 -1.1 -3.5 2.8
2 1 -1.8 -2.5
3 1.1 -2.3 2.9
4 -0.2 -1.7 -1.8
5 3.4 -0.4 0.4
Then, the corresponding probability s(Vhij) is determined by Eq. (9) as follows.
Task  Grid 1 2 3
1 0.25 0.03 0.94
2 0.73 0.14 0.08
3 0.75 0.09 0.95
4 0.45 0.15 0.14
5 0.97 0.4 0.6
Hence, the normalized probability qh(i, j) (based on Eq. (11)) for applying roulette wheel
selection rule is
Task  Grid 1 2 3
1 0.20 0.02 0.77
2 0.77 0.15 0.08
3 0.42 0.05 0.53
4 0.61 0.20 0.19
5 0.49 0.20 0.30
Where, qh
(1, 1)=0.25/(0.25+0.03+0.94)≒0.20; qh
(2, 1)=0.73/(0.73+0.14+0.08)≒0.77 and so
forth. Finally, task-grid assignment based on roulette wheel selection rule will be
Application of Discrete Particle Swarm Optimization for Grid Task Scheduling Problem 13
Task  Grid 1 2 3
1 0 0 1
2 1 0 0
3 0 0 1
4 0 1 0
5 0 0 1
Restated, grid 1 would execute task 2; grid 2 services task 4; grid 3 is responsible for
executing tasks 1, 3, and 5.
6. Experimental results
To verify the performance of the presented algorithm (SA + discrete PSO), some simulation
cases will be tested. Simulations use the cases of 5 and 10 tasks in 4 grids and 5 grids
respectively to verify the performance of the proposed algorithm. According to Fig. 1, the 5-
task case only uses 4 grids and suffers the heavy loading from the computation effort in
which the processing time is much more than the communication cost. For the 10-task case,
the setting of processing time is in the range of [5, 10], and it needs more communications
than the processing cost. Tables 1-4 demonstrate simulation data for 5-task case. Simulation
data for 10-task case are listed in Tables 5-8. The other parameters used in this study are set
as following: The temperature T was set to 100 and cooling scheduling was set to 0.99
(r=0.99), i.e., T = T × 0.99, w = 0.7, c1 = c2 = 1 and Vmax = 4. There are 10 particles involved in
simulation tests. The interactive matrix is symmetrical matrix as the grid distance matrix.
Task # 1 2 3 4 5
Process time 15 10 20 30 15
Memory requirement 20 30 25 20 10
Table 1. Simulation data with 5 tasks
Grid # 1 2 3 4
Memory available 25 40 30 25
Table 2. Memory available for 4 grids
Task # 1 2 3 4 5
1 0 5 0 4 1
2 5 0 1 0 6
3 0 1 0 3 0
4 4 0 3 0 0
5 1 6 0 0 0
Table 3. Interaction cost matrix for 5 tasks
Advances in Grid Computing
14
Task # 1 2 3 4
1 0 2 3 1
2 2 0 1 3
3 3 1 0 2
4 1 3 2 0
Table 4. Distance cost matrix for 4 grids
Task # 1 2 3 4 5 6 7 8 9 10
Process time 10 9 8 7 6 5 5 9 8 10
Memory requirement 10 15 10 20 10 10 20 15 20 10
Table 5. Simulation data with 10 tasks
Grid # 1 2 3 4 5
Memory available 100 90 130 90 100
Table 6. Memory available for 5 grids
Task # 1 2 3 4 5 6 7 8 9 10
1 0 1 2 3 4 5 5 4 3 4
2 1 0 5 1 2 3 4 3 5 4
3 2 5 0 3 2 1 0 1 2 3
4 3 1 3 0 4 5 4 3 2 1
5 4 2 2 4 0 1 2 3 4 5
6 5 3 1 5 1 0 4 3 2 1
7 5 4 0 4 2 4 0 2 3 1
8 4 3 1 3 3 3 2 0 5 1
9 3 5 2 2 4 2 3 5 0 2
10 4 4 3 1 5 1 4 1 2 0
Table 7. Interaction cost matrix for 10 tasks
Grid # 1 2 3 4 5
1 0 2 3 1 5
2 2 0 1 3 3
3 3 1 0 2 4
4 1 3 2 0 6
5 5 3 4 6 0
Table 8. Distance cost matrix for 5 grids
In the example of 5-task in 4 grids environment, the best solution can be found in Table 9.
Table 9 indicates that task 4 is assigned to grid 4; task 1 is assigned to grid 1, and so on. The
total processing cost for task 4 on grid 4 is 30. Based on Tables 3 and 4, task 4 has interaction
with tasks 1 and 3, and the communication cost to tasks 1 and 3 is 1×4 + 2×3 = 10. Thus, the
total cost for grid 4 is 48. Similarly, the obtained best solution of 10-task case is displayed in
Table 10.
Application of Discrete Particle Swarm Optimization for Grid Task Scheduling Problem 15
Grid #
Task #
1 2 3 4
1 1 0 0 0
2 0 1 0 0
3 0 0 1 0
4 0 0 0 1
5 0 1 0 0
Table 9. The assignment results for 5 tasks in 4 grids with cost of 40
Grid #
Task #
1 2 3 4 5
1 0 1 0 0 0
2 0 0 1 0 0
3 0 0 1 0 0
4 0 1 0 0 0
5 0 1 0 0 0
6 0 0 1 0 0
7 0 0 1 0 0
8 0 0 1 0 0
9 0 1 0 0 0
10 0 0 1 0 0
Table 10. The assignment results for 10 tasks in 5 grids with cost of 138
Table 10 shows the result of 10-task case that more grids may not decrease the total cost due
to the communication cost. Furthermore, extra tests were simulated; the total numbers of
tasks were set 20 to 50, the processing times of tasks are uniform distribution in [5, 10] and
the memory requirement is also uniform distribution in [50, 100]. The numbers of grids are
from 6 to 15, the total available memory is uniform distribution in [200, 400]. The interactive
data between of tasks are varying from 1 to 10, and the communications between grids are
varied by uniform distribution from 1 to 10. Simulation results demonstrate that more
iterations or number of particles obtain the better solution since more solutions were
generated as displayed in Table 11.
Number of particles
10 20
# of iterations # of iterations
(Task, Grid)
100 300 100 300 500
20,6 1967 1888 1946 1872 1818
20,8 1619 1611 1611 1608 1569
20,12 1308 1249 1263 1241 1163
30,8 3347 3325 3329 3325 3315
30,12 2514 2359 2470 2359 2359
30,15 1998 1998 1998 1957 1957
40,12 4276 4276 4276 4276 4276
40,15 4008 3808 3808 3562 3562
50,15 5157 5157 5741 5157 5156
Table 11. Simulation results
Advances in Grid Computing
16
7. Summary
This study introduces the discrete PSO algorithm for solving task-grid assignment problem
in a distributed grid environment. Experiment results indicate that the discrete version of
PSO combining simulated annealing is effective for solving task-grid assignment problems.
However, more complicated cases can be considered in-depth, such as more realistic
examples and more tasks involved. For example, a grid system consists of heterogeneous
grids (with different process capabilities) is given. Restated, more complicated scheduling
problem can be further solved using discrete PSO. Moreover, to further improve the discrete
PSO performance, some other heuristics are suggested to be included, for example,
insertion, 2-opt or others. Further research encourages that the extension of the discrete PSO
by incorporating other meta-heuristics for solving different scheduling problems is
recommended.
8. References
Behnamian, J.; Zandieh, M. & Ghomi, S. M. T. F. (2010). Due windows group scheduling
using an effective hybrid optimization approach. International Journal of Advanced
Manufacturing Technology, Vol. 46, No. 5-8 (2010), pp. 721-735, ISSN (printed): 0268-
3768.
Bokhari, S. H. (1987). Assignment Problems in Parallel and Distributed Computing, Kluwer
Academic Publishers, ISBN: 0-89838-240-8, Boston (1987).
Chang, S.C. (2002). A new aircrew-scheduling model for short-haul routes. Journal of Air
Transport Management, Vol. 8, No. 4 (July 2002), pp. 249-260, ISSN: 0969-6997.
Chaudhary, V. & Aggarwal, J. K. (1993). A generalized scheme for mapping parallel
algorithms. IEEE Transactions on Parallel and Distributed Systems, Vol. 4, No. 3
(March 1993), pp. 328-346, ISSN: 1045-9219.
Chen, R. M.; Lo, S. T. & Huang, Y. M. (2007). Combining competitive scheme with slack
neurons to solve real-time job scheduling problem. Expert Systems with Applications,
Vol. 33, No. 1 (July 2007), pp. 75–85, ISSN: 0957-4174.
Chen, R. M.; Wu, C. L.; Wang, C. M. & Lo, S. T. (2010). Using novel particle swarm
optimization scheme to solve resource-constrained scheduling problem in PSPLIB.
Expert systems with applications, Vol. 37, No. 3 (March 2010), pp. 1899-1910, ISSN:
0957-4174.
Dorigo, M. & Gambardella, L. M. (1997). Ant colony system: A cooperative learning
approach to the traveling salesman problem. IEEE Transactions on Evolutionary
Computation, Vol. 1, No. 1 (April 1997), pp. 53-66, ISSN: 1089-778X.
Fleming, P. J. & Fonseca, C. M. (1993). Genetic algorithms in control systems engineering: a
brief introduction. Proceedings of IEE Colloquium on Genetic Algorithms for Control
Systems Engineering, London UK, 28 May 1993, pp. 1/1 - 1/5.
Foster, I.; Kesselman, C. & Tuecke, S. (2001). The Anatomy of the Grid: Enabling Scalable
Virtual Organizations. Int’l J. of High Performance Computing Applications, Vol. 15,
No. 3 (Fall 2001), pp. 200-222, ISSN (printed): 1094-3420.
Glover, F. (1989). Tabu Search – Part I, ORSA Journal on Computing, Vol. 1, No. 3 (Summer
1989), pp. 190–206, ISSN: 0899-1499.
Glover, F. (1990). Tabu Search – Part II, ORSA Journal on Computing, Vio. 2, No. 1 (Winter
1990), pp. 4–32, ISSN: 0899-1499.
Application of Discrete Particle Swarm Optimization for Grid Task Scheduling Problem 17
Hei, Y. Q.; Li, X. H.; Yi, K. C. & Yang, H. (2009). Novel scheduling strategy for downlink
multiuser MIMO system: Particle swarm optimization. Science in China - Series F:
information Sciences, Vol. 52, No. 12 (2009), pp. 2279-2289, ISSN (printed): 1009-2757.
Holland, J. H. (1987). Genetic algorithms and classifier systems: foundations and future
directions. Proceedings of 2nd international conference on genetic algorithms and their
application, pp. 82-89, ISBN:0-8058-0158-8, Cambridge, Massachusetts, United
States, 1987, L. Erlbaum Associates Inc., Hillsdale, NJ, USA.
Kashan, A. H. & Karimi, B. (2009). A discrete particle swarm optimization algorithm for
scheduling parallel machines. Computers & Industrial Engineering, Vol. 56, No. 1
(February 2009), pp. 216-223, ISSN: 0360-8352.
Kashan, A. H.; Karimi, B. & Jenabi, M. (2008). A hybrid genetic heuristic for scheduling
parallel batch processing machines with arbitrary job sizes. Computers and
Operations Research, Vol. 35, No. 4 (April 2008), pp. 1084-1098, ISSN: 0305-0548.
Kennedy, J. & Eberhart, R. C. (1995). Particle swarm optimization. Proceedings of IEEE Int’l.
Conf. on Neural Networks, pp. 1942-1948, ISBN: 0-7803-2768-3, Perth, WA , Australia,
Nov/Dec 1995.
Kennedy, J., Eberhard, R.C. (1997). A discrete binary version of the particle swarm
algorithm. Proceedings of IEEE Conference on Systems, Man, and Cybernetics, pp. 4104--
4109, ISBN: 0-7803-4053-1, Orlando, FL , USA, Oct. 1997, Piscataway, NJ.
Kirkpatrick, S.; Gelatt, C. D. & Vecchi, M. P. (1983). Optimization by Simulated Annealing.
Science, Vol. 220, No. 4598 (May 1983), pp. 671 – 680, ISSN: 0036-8075.
Kuo, I. H.; Horng, S. J.; Kao, T. W.; Lin, T. L.; Lee, C. L.; Terano, T. & Pan, Y. (2009). An
efficient flow-shop scheduling algorithm based on a hybrid particle swarm
optimization model. Expert systems with applications, Vol. 36, No. 3 (April 2009),
pp. 7027-7032, ISSN: 0957-4174.
Laskari, E. C.; Parsopoulos, K. E. & Vrahatis, M. N. (2002). Particle swarm optimization for
integer programming. Proceedings of the IEEE Congress on Evolutionary Computation,
pp. 1582-1587, ISBN: 0-7803-7282-4, Honolulu, HI , USA, May 2002.
Lee, L. T.; Tao, D. F. & Tsao, C. (2007). An adaptive scheme for predicting the usage of grid
resources. Computers & Electrical Engineering, Vol. 33, No. 1 (Jan. 2007), pp. 1-11,
ISSN:0045-7906.
Lee, W. C.; Wu, C. C. & Chen, P. (2006). A simulated annealing approach to makespan
minimization on identical parallel machines. International Journal of Advanced
Manufacturing Technology, Vol. 31, No. 3-4 (2006), pp. 328-334, ISSN (printed): 0268-
3768.
Liao, C. J.; Tseng, C. T. & Luarn, P. (2007). A discrete version of particle swarm optimization
for flowshop scheduling problems. Computers and Operations Research, Vol. 34, No.
10 (October 2007), pp. 3099-3111, ISSN: 0305-0548.
Mathaisel, D. & Comm, C. (1991). Course and classroom scheduling: an interactive
computer graphics approach. Journal of Systems and Software, Vol. 15 (May 1991), pp.
149-157, ISSN: 0164-1212.
Metropolis, N.; Rosenbluth, A. W.; Rosenbluth, M. N.; Teller, A. H. & Teller, E. (1953).
Equation of State Calculations by Fast Computing Machines. The Journal of Chemical
Physics, Vol. 21, No. 6 (June 1953), pp. 1087-1092, ISSN (printed): 0021-9606.
Advances in Grid Computing
18
Norman, M. G. & Thanisch, P. (1993). Models of machines and computation for mapping in
multicomputers. ACM Computing Surveys, Vol. 25, No. 3 (September 1993), pp. 263-
302, ISSN: 0360-0300.
Ohki, M.; Morimoto, A. & Miyake, K. (2006). Nurse Scheduling by Using Cooperative GA
with Efficient Mutation and Mountain-Climbing Operators. Proceedings of 2006 3rd
International IEEE Conference on Intelligent System, pp. 164–169, London, Sept. 2006.
Salman, A.; Ahmad, I. & Al-Madani, S. (2002). Particle swarm optimization for task
assignment problem. Microprocessors and Microsystems, Vol. 26, No. 8 (November
2002), pp. 363-371, ISSN: 0141-9331.
Sha, D. Y. & Hsu, C. Y. (2006). A hybrid particle swarm optimization for job shop scheduling
problem. Computers and Industrial Engineering, Vol. 51, No. 4 (December 2006), pp.
791-808, ISSN:0360-8352.
Simeonov, S. & Simeonovova, J. (2002). Simulation Scheduling in Food Industry
Application, Mathematical and statistical methods. Food processing and preservation,
Vol. 20, No. 1 (Jan. 2002), pp. 31-37, ISSN: 1212-1800.
Watts, D. J. & Strogatz, S. H. (1998). Collective dynamics of ‘small-world’ networks. Nature,
Vol. 393, No. 6684 (June 1998), pp. 440–442, ISSN (printed): 0028-0836.
Zhai, X.; Tiong, R.L.K.; Bjornsson, H.C. & Chua, D.K.H. (2006). A Simulation-Ga Based
Model for Production Planning in Precast Plant, Proceedings of Winter Simulation
Conference, pp. 1796 – 1803, ISBN: 1-4244-0500-9, Monterey, CA, Dec. 2006.
Mohamed Wahib1, Asim Munawar2, Masaharu Munetomo3
and Kiyoshi Akama4
1,2Gradute School of Information Science and Technology, Hokkaido University, Sapporo
3,4Information Initiative Center, Hokkaido University, Sapporo
Japan
1. Introduction
Grid computing is generally viewed as task assignment to distributed resources. While in
practice many factors do complicate this scheduling process (e.g. resource monitoring and
discovery, resource failures, resources ownership and policies ... etc), the process is still viewed
as resource scheduling according to some criteria. The criteria are referred to as Quality
of Service (QoS) attributes in grid computing context. QoS in general are non-functional
characters describing a process. QoS attributes are divided into two main groups, namely
objective QoS and subjective QoS. Objective QoS attributes are used to specify performance
parameters including timeliness, precision, accuracy, security requirements and availability.
Subjective QoS attributes, on the other hand, capture application specific policies that govern
how an application is treated by the resource manager. In this chapter, objective QoS attributes
are referred to as basic QoS attributes, while subjective QoS attributes are referred to as
application-specific QoS attributes. In comparison to application-specific QoS attributes, a
huge legacy of scheduling with the basic QoS attributes exists. This chapter proposes adopting
application-specific QoS attributes to define new criteria other than the basic ones to enhance
the preference of which resources to choose in the task assignment process as the QoS
attributes are application-specific (e.g. a Grid application involving service tasks that retrieve
images from a service resource could have the color depth and resolution as QoS attributes).
For grid computing to go beyond the basic QoS attributes the following challenges need to
be addressed: a) A method to formally define new application-specific QoS attributes. b) A
method to measure the QoS attribute fidelity of a specific resource. c) Scheduling the tasks
over the resources taking into consideration the defined application-specific QoS attributes.
This chapter addresses these challenges and proposes a framework that starts from defining
new application-specific QoS attributes until the tasks are executed over the resources. As for
the first challenge, a system for defining QoS using a formal language is inspired from Canfora
et al. (2006) which proposes service composition binding driven by application-specific QoS.
The domain of Canfora et al. (2006) is different from the work in this chapter. This is because
the authors are concerned with the composition of services that are initially defined as an
abstract workflow, where for each service in the workflow a set of service providers are
defined. Then the scheduler/binder makes a concrete workflow at which each service in the
abstract workflow is bind to a service provider. Canfora et al. addressed how application
A Framework for Problem-Specific QoS Based
Scheduling in Grids
2
specific QoS attributes can be defined and aggregated to be used for scheduling. The basic
idea is implementing a QoS aggregation function definition interface and a QoS definition
language, so the administrator through a simple QoS aggregation function editor could define
new QoS(s). The QoS definition in this framework here builds on and extends the work done
by Canfora though it is defined for a different discipline (i.e. SOA). It is of no-awkwardness to
use a mechanism that was originally defined in SOA (Service Oriented Architecture) service
workflows to be used in grid computing. As grid computing and SOA have many tangency
points. And this point in particular could be considered a convergence point between grid
computing and SOA.
At the first glance, scheduling tasks in such an environment seem to add more complexity
to the traditional problems of task assignment. However, the definition of task associated
QoS attributes is utilized to enrich the task assignment process. The Chapter illustrates
the framework, describes the design and implementation of the framework and finally
demonstrates a use case to emphasize on the functional efficiency of the framework. The rest
of this paper is organized as follows; the next section is a brief review on subjective QoS
representation in service environments. Section 3.discusses the proposed framework. Section
4. discusses the experiments that were conducted using the proposed framework. Finally
section 5.concludes and adds insight to future work.
2. Subjective QoS representation in service environments
Quality of Service is an overarching term covering different parts of end-to-end service quality.
The general definition of QoS provided by the International Telecommunication Union
(ITU)Recommendation (1994) is that QoS is Şthe collective effect of service performance,
which determines the degree of satisfaction of a user of the serviceŤ. Different people and
communities nevertheless interpret QoS differently, and at least the following viewpoints
of QoS can be distinguished: QoS requirements of a user, QoS perceived by the user, QoS
offered or planned by a provider, and QoS delivered or achieved by the provider. We are
discussing QoS in the userŠs point of view. There are two main aspects of QoS: subjective
and objective. Subjective QoS essentially is the userŠs overall perception of service quality,
that is, it is the userŠs opinion whether a service is working satisfactorily or not. Subjective
QoS is often difficult to be specified with objective measures, at least in a way meaningful
for users, and thus user-perceived quality is often expressed also non-technicallyBouch et al.
(2000). Objective QoS then refers to the technical aspects of QoS, and can be specified with
quantitative measures. Grid Application QoS parameters are not necessarily applicable to
express subjective QoS, since a user has a high-level perspective over application performance,
rather than an in-depth conception of details of the underlying implementation and operation
of the service. Therefore, application quality and its variation need to be expressed in
terms that describe user-perceivable effects, instead of their causes in the end-to-end
functionality. It should be noted also that subjective application quality deterioration is not
solely caused by operational QoS fluctuations, but is attributable to numerous other factors,
including characteristics of the ongoing task (e.g. urgency), applicationŠs incompatibility
with the service provided, application or protocol malfunction, disturbing factors in usage
environment (e.g. faulty equipment), and so forth.
Two principal approaches for subjective application quality assessment exist: user study
methods and objective measurements. The user study methods include, e.g. Mean Opinion
Scores (MOS), continuous assessment, Task Performance Measures (TPMs), and qualitative
methodsBouch et al. (2001). Objective measurements, on the other hand, rely on measurement
20 Advances in Grid Computing
of some application quality metric(s) (e.g. Peak-Signal-to-Noise-Ratio (PSNR) for video)Wang
et al. (2003). Generally, MOS are used on a wide scale to collect the subjectsŠ opinions of
the experienced service quality. In short, MOS enables performing controlled assessment of
subjective QoS with untrained subjects and controlled levels of qualityBouch et al. (2001). The
method employs a 5-point scale, according to which subjects judge the experienced quality
after conducting a task. The given ratings are then averaged across the subjects to get the final
MOS.
This paper proposes a problem-specific QoS based scheduling in grids. To determine the
optimal choice of services/applications, the approach needs to estimate the subjective
QoS. This can be done using some aggregation formulae. The formulae define aggregation
functions for defined QoS attributes. While this approach is far from being general (i.e. needs
to be customized for each application as the QoS aggregator can operate differently). Yet, we
argue that the proposed approach gives a methodology for quantifying subjective QoS and
thus is more reliable compared to the user study methods.
3. The proposed framework
3.1 Defining and evaluating subjective QoS attributes
In order for the framework to define and evaluate subjective QoS attributes we developed
a language that permits to specify a new QoS attribute. As mentioned in the introduction,
the language proposed here extends the work by Canfora et al. (2006) which defined QoS
aggregation formulae for each pair QoS attribute–workflow construct. In most cases, the
aforementioned aggregation formulae are cabled in the optimization algorithm the binder
is using. Therefore, it is necessary to provide a language and a tool to specify aggregation
formulae, and to allow the schedular to interpret such formulae for estimating the QoS of
the grid services. The method by which the framework defines and evaluates subjective QoS
attributes is as follows:
QoS definition language: For a language to permit specifying new QoS attributes,
two things are required; type and scale. The type can be only primitive types (integer,
real and Boolean) as in WSLA+ languageNepal et al. (2008), or include collection types
(i.e. a set constituted of sets of atomic values) as Canfora did. The scale limits the set of
admissible operations. The language developed by Canfora includes the scales required
for our framework, so no change is required in this part. The point of difference here is
the set of operators and functions inherited form the Object Constraint Language (OCL)
Warmer & Kleppe (2003) that is used by Canfora. This is due to using those operators and
functions in computing overall workflow QoS, while in the proposed framework accepts both
inter-dependent task (i.e. workflows) and individual tasks. In the case of workflow tasks, the
operators and functions defined by Canfora are sufficient, while in the case of individual tasks
the operators are not used due to tasks independency. The next step is to show how the QoS
formula specification is supported by a guided editor and type-checker.
QoS aggregation: The QoS aggregator introduced by Canfora et al. (2006) was
implemented in Java using the Java Compiler (JavaCC) parser generator, while for the GUI,
JSP was used. The aggregator was adopted here by including the aggregator in a Vine
portlet and adding it to the gridsphere portal. Modifications were done to drop operators for
individual tasks as mentioned earlier, associate the newly defined Qos attribute to any of the
task types registered by the administrator and finally adapting the original JSP to work with
the Adobe Flex GUI used in gridsphere 3.1. The aggregator include three basic modules; QoS
aggregation function editor a portlet that the administrator can use to define new QoS attributes
and their aggregation formula (see figure1), Type checker used at design time for verifying
21
A Framework for Problem-Specific QoS Based Scheduling in Grids
integrity of the aggregation formula, QoS formula interpreter that at run time evaluates QoS for
a possible workflow/individual task assignment.
An important point to note, the model for determining the expected QoS from each resource is
executed as agents hosted on the resources. Note that these agents are also used for resource
monitoring and discovery. As for the scheduling process, several projects in the literature
attempted multiple QoS job scheduling. Generally speaking, these projects addressed mainly
the basic QoS attributes in their work; cost, time, availability and fidelity. Those basic
QoS attributes are agreed upon in literature to be the metrics for job scheduling in grids.
Application specific QoS attributes were not considered in any of them as no service level
presentation of resources provided features into which application-specific QoS attributes
could be mapped. Li & Li (2007); Li et al. (2007) defined the 4 basic QoS attributes as
utilities and identified an Integrated Utility Function (IUF) to be used for scheduling. A
slight difference between them is that Li & Li (2007) used an iterative scheduling technique
by separating the task agents and resources agents. Doǧan & özgüner (2006) proposed a
static scheduling algorithm that uses utility functions for scheduling meta-task with QoS
requirements in heterogeneous computing systems. The main aim of this project was to
provide resource transparency and not include application-specific QoS attributes. Kim et al.
(2006) did not define a scheduling method, yet it defined for the basic QoS attributes a
flexible multi-dimensional QoS performance measure that could be later aggregated to be
used for scheduling. A notable point is that the authors defined a method that is theoretically
applicable to model any new QoS attribute by representing the QoS attribute by a feature
vector. This approach is generic but if used will shift the entire load to the application
developer.
Fig. 1. QoS aggregation function definition interface
3.2 Problem formulation
Suppose that there are n independent users and user i is associated with task Ti, let T =

T1, T2, ..., Tn

denote the set of n independent tasks where task Ti is assigned to resource
Rj and R =

R1, R2, ..., Rm

. Further, Rj can be composed of v resources, where 1≤v≤m.
The process of QoS-constrained task scheduling could be summarized in three steps. Step
one is Resource Discovery, which is finding available resources complied by QoS constraints
and generate a list of resources. Step two is Resource Planning, which involves selecting the
optimized resources from the available resources list according to the scheduling strategy
22 Advances in Grid Computing
satisfying user’s QoS constrains. The Γ : T → R denoting the matching function is a NP
complete problemChristensen (2007). The third step is Task Execution. The tasks are scheduled
or mapped onto selected resources to be executed.
In the proposed framework, QoS attributes are described as utility functions. So the integrated
utility function is the accumulation of all QoS attributes utility functions. The integrated utility
is considered as the objective function of the scheduling algorithm to drive the scheduling of
resources and optimizing the task execution with maximum utility. A very important point
here is that utility functions have long been used in QoS constrained scheduling, but for this
case a new factor requires special handling. The new factor is having different QoS attributes
defined according to underlying application. Thus, the integrated utility function includes
a set of mutually exclusive utility functions corresponding to the QoS attributes. The next
step, after defining the integrated utility function, is to compute the value of the utility uk,
1≤k≤d where d is the total number of QoS constraints defined by the administrator, what
we will call the dimension of QoS. The method used for computing the utility functions uses
switch constructs as in Anselmi et al. (2007) to iteratively update the selection probabilities
of the selected resources. For each task Ti a decision matrix Q =

qij

m×d
is created, among
it, m represents the number of resources that can host Ti, d represents the dimension of QoS
attributes considered by the this type of task. Q matrix is not used directly, Q is normalized to
make the normalized matrix P =

pij

m×d
, j = 1, ..., m, k = 1, ..., d, where normalizing is done
as follows:
pjk =
⎧
⎪
⎪
⎨
⎪
⎪
⎩
minj

qjk

/qjk if uk is optimally minimized
qjk/maxj

qjk

if uk is optimally maximized
Supposing ω = (ω1, ω2, ..., ωd) is attribute weighting vector, Then the integrated utility
function for the evaluation of the selected resources can be defined as:
Uij (ω) =
S
∑
t=1
Ct
y
∑
l=x
pjlωl
where S is the number of subjective QoS attributes defined by the administrator to be used
in the system, Ct is a Boolean constant having value 1 only for the QoS attributes subset of
the task scheduled (i.e. QoS divided to subsets having a mutually exclusive relation.). x and
y denote the start and end of the QoS attributes subset from the set of all QoS attributes
defined. By sorting and computing Ui (ω), the best resource can be selected. Weights for
utility functions in the mentioned related work are calculated by maximizing the deviations
in utiliy values. In our case the QoS attributes are defined by the administrator according to
the application. Therefore, the default weights are defined by the administrator according to
the system used. The end user could calibrate the weights according to his interest in which
QoS attributes significant for the job he is about to submit.
3.3 Scheduling using quantified subjective QoS attributes
The scheduling process is basically viewed as a combinatorial optimization problem for
the integrated utility function. Several approaches are used in the literature to solve this
optimization problem, most approaches depend on a heuristic algorithms. Generally, GA
(Genetic Algorithms)Jong (1992) based heuristic algorithms do not impose constraints on the
linearity of the QoS composition operators, so they are considered the best option. However,
23
A Framework for Problem-Specific QoS Based Scheduling in Grids
the prime focus in this work is to represent and utilize subjective QoS attributes. Thus, a
simple rank-based algorithm is used to determine the focus on the aforementioned process
As shown in the previous section, QoS attributes are described as utility functions, The
integrated utility function aggregating all utility functions is regarded as an objective function
of the scheduling algorithm to drive dynamic scheduling to the resources and optimizing the
task execution with maximum utility by accumulating all QoS attributes utility functions.
Figure2 shows the algorithm used for scheduling. One important point to note here, the
algorithm is designed in a central way, which leads to weak scalability. Yet, the design of
centralized scheduling algorithms is an important step towards developing more complex
decentralized scheduling algorithms.
Fig. 2. Algorithm used for scheduling
4. Use case and results
Table 1. Test bed configuration
This section presents the approach at work over Meta Heuristics Grid (MHGrid): a service
oriented grid application offering meta heuristics based solvers for global optimization
problems. MHGrid is designed to offer optimizing algorithms as grid services. The
experiments were designed to cover possible task types in the framework. For the service
tasks, individual and nested tasks of different sizes were introduced. The size is controlled
by the problem length that the algorithms should solve. Three specific QoS attributes were
defined; Solver to problem adequacy, the parallel pattern used and the fidelity or quality of
output. These attributes are explained in details in Munawar et al. (2008). The same applies for
computational tasks but with two different QoS attributes. Long timeouts were added in the
solvers to test the latency tolerance with the solvers running in parallel mode. The other QoS
24 Advances in Grid Computing
Fig. 3. Tasks assigned to each service varying the total amount of tasks
Fig. 4. The effect of services tasks weight vector on execution success ratio
attribute is data accuracy which is measured by round off errors resulting from float-point
operations intentionally introduced to the solvers. As for the data tasks, dummy files where
used to be transferred via GridFTPFoster (2006). The file sizes varied from 100MB to 20TB to
represent different task sizes. One QoS attribute (i.e. priority) was defined for the data tasks
where each task was assigned priority rank for the scheduler to attempt to meet the priority
requirement of those tasks. In addition to that, workflow tasks for different task types where
also created by the workflow portlet to be tested. Finally two basic QoS attributes (make
span time and cost) were used for all tasks along with the specific QoS attributes defined
for each task type. Table 1 shows the configuration used in the experiments. Note that tasks
were introduced randomly with 20 tasks a time. Figure 3 shows the distribution different task
sets over the resources. Each task was assigned to one of the five services (S1,S2,S3,S4,S5)
overlaying the computational and data requirements.
The experiments were executed on a grid having a dedicated 64 core mini-cluster with 2 x
AMD Opteron 2.6 GHz Dual Core 64 bit processors and 2GB RAM for each node, the grid also
has 2 dedicated servers each having a 2 x Xeon 2.8 GHz Dual Core with 2GB RAM. Execution
25
A Framework for Problem-Specific QoS Based Scheduling in Grids
Fig. 5. The effect of computational tasks weight vector on execution success ratio
Fig. 6. The effect of data tasks weight vector on execution success ratio
success ratio is the metric used in the experiments to measure the framework’s ability to host
and schedule variant task triplets. Other metrics such as resource utilization and task waiting
time are important as well, but due to space limitation, results in terms of execution success
ratio only are illustrated to evidate that a system can function whilst benefiting from subjective
QoS attributes. Figures 4, 5 and 6 show the execution success ratio for the individual and
nested tasks on different task types/sizes. The x-axis in all three figures is a configuration state
for the QoS attributes considered. The last state (i.e. C6) is the plain state where all weights
for task-specific QoS attributes are set to zero and only the basic time and cost QoS attributes
with weight = 0.5 are considered. For the other states (i.e. C1 to C5) the weights are having
values with an increasing mean from C1 to C5 and also an increasing standard deviation to
represent variant weight vector settings. Note that upon moving from C1 to C5 the success
rate tends to decrease which is normal as the more the mean of the weight vector increases
the more the scheduling process relay on QoS other than the time and cost. This consequently
minimizes the set of resource candidates for each task and causes less success rate. Another
point to note is that for figure6, C6 gives much better performance than other weight settings.
26 Advances in Grid Computing
Fig. 7. Resource utilization for workflows with variant tasks weight values
Fig. 8. SLR for the workflows with different DAG width
This is because the priority QoS defined for data tasks highly effects the scheduling process
making it mostly depending on what the user wants. Figure7 shows the resource utilization
for workflow tasks. Again the change in weight value does not have a significant effect on the
resource utilization and this is because the workflows enforce an order for task execution on
the system. Figure8 shows another aspect of the workflows. The figure shows the Schedule
Length Ratio (SLR) for the workflows that were created with different DAG widths.
5. Conclusion and future work
This chapter introduced a system for quantifying subjective QoS attributes and using them
for assigning tasks in a grid application. First a close-up was given to the representation of
subjective QoS attributes in service-based environments. The framework was inspired by
a system of application-specific QoS attributes in service composition. While the domain is
apparently different, the flexibility offered by the service composition in defining subjective
QoS attributes is of great relevance to the requirements of establishing an enviroment that is
not only relying on conventional QoS attributes in job assignment. The framework allows the
administrator to define subjective QoS attributes through a QoS aggregation function editor
enclosed in a portlet. After the administrator registers the categorized resources, the end user
27
A Framework for Problem-Specific QoS Based Scheduling in Grids
can start submitting tasks to the system. With the user unaware, the system schedules the
tasks on behalf of the user, and assures the use of the subjective QoS attributes to assign
the tasks to the most appropriate resources. Experiments were conducted to assure that the
framework is functioning as designed. Many points are promising to be considered as future
work. Making the best use of subjetuve QoS attributes by incorporating a SLA mechanism is
pivot point. Expanding the function aggregation editor to make the framework generic is as
well a challenging task.
6. References
Anselmi, J., Ardagna, D.  Cremonesi, P. (2007). A qos-based selection approach of autonomic
grid services, SOCP ’07: Proceedings of the 2007 workshop on Service-oriented computing
performance: aspects, issues, and approaches, ACM, pp. 1–8.
Bouch, A., Kuchinsky, A.  Bhatti, N. (2000). Quality is in the eye of the beholder: meeting
users’ requirements for internet quality of service, CHI ’00: Proceedings of the SIGCHI
conference on Human factors in computing systems, pp. 297–304.
Bouch, A., Sasse, M. A., Demeer, H.  Bt, W. (2001). Of packets and people: A user-centered
approach to quality of service.
Canfora, G., Penta, M. D., Esposito, R., Perfetto, F.  Villani, M. L. (2006). Service composition
(re)binding driven by application-specific qos, ICSOC, pp. 141–152.
Christensen, T. V. (2007). Heuristic algorithms for NP-complete problems.
Doǧan, A.  özgüner, F. (2006). Scheduling of a meta-task with qos requirements in
heterogeneous computing systems, J. Parallel Distrib. Comput. 66(2): 181–196.
Foster, I. (2006). Globus toolkit version 4: Software for service-oriented systems, pp. 2–13.
Jong, K. A. D. (1992). Are genetic algorithms function optimizers?, PPSN, pp. 3–14.
Kim, J.-K., Hensgen, D. A., Kidd, T., Siegel, H. J., John, D. S., Irvine, C., Levin, T., Porter,
N. W., Prasanna, V. K.  Freund, R. F. (2006). A flexible multi-dimensional qos
performance measure framework for distributed heterogeneous systems, Cluster
Computing 9(3): 281–296.
Li, C.  Li, L. (2007). Utility-based qos optimisation strategy for multi-criteria scheduling on
the grid, J. Parallel Distrib. Comput. 67(2): 142–153.
Li, Y., Zhao, D.  Li, J. (2007). Scheduling algorithm based on integrated utility of multiple
qos attributes on service grid, GCC ’07: Proceedings of the Sixth International Conference
on Grid and Cooperative Computing, IEEE Computer Society, Washington, DC, USA,
pp. 288–295.
Munawar, A., Wahib, M., Munetomo, M.  Akama, K. (2008). Linkage in Evolutionary
Computation, Springer Berlin / Heidelberg, chapter Parallel GEAs with Linkage
Analysis over Grid, pp. 159–187.
Nepal, S., Zic, J.  Chen, S. (2008). Wsla+: Web service level agreement language for
collaborations, scc 2: 485–488.
Recommendation, I.-T. (1994). Terms and definitions related to quality of service and network
performance including dependability, Technical Report E.800.
Wang, Z., Banerjee, S.  Jamin, S. (2003). Studying streaming video quality: from an
application point of view, MULTIMEDIA ’03: Proceedings of the eleventh ACM
international conference on Multimedia, ACM.
Warmer, J.  Kleppe, A. (2003). The Object Constraint Language: Getting Your Models Ready for
MDA, Addison-Wesley.
28 Advances in Grid Computing
3
Grid-JQA: A QoS Guided Scheduling
Algorithm for Grid Computing
Leyli Mohammad Khanli1, Assistance Professor
and Saeed Kargar2, M.S. student
1C.S. Dept., University of Tabriz
2Islamic Azad University, Tabriz Branch
Iran
1. Introduction
The development of grid computing technologies (Foster  Kesselman, 2004) over the past
several years has provided us a means of using and sharing heterogeneous resources over
local/wide area networks, and geographically dispersed locations. This has resulted in the
ability to form loosely coupled, high-performance computational environment comprising
numerous scalable, fault tolerant, and platform-independent services across the entire
Internet. The grid infrastructure provides a way to execute applications over autonomous,
distributed and heterogeneous nodes by secure resource sharing among individuals and
institutions. Typically, a user can submit jobs to a grid without necessarily knowing (or even
caring) where it will be executed. It is the responsibility of the grid resource management
system to distribute such jobs among a heterogeneous pool of servers, trying to optimize the
resource usage and provide the best possible quality of service.
Thus, the resource matching problem is an important task in the Grid environment which
involves assigning resources to tasks in order to satisfy task requirements and resource
policies. This contribution presents algorithms, methods, and software for a Grid resource
manager, responsible for resource brokering and scheduling in Grids. The broker selects
computing resources based on actual job requirements and a number of criteria identifying
the available resources, with the aim to minimize the turnaround time for the individual
application.
In this chapter, we proposed Grid-JQA (Khanli  Analoui, 2006a,b) that explains in next
sections. The Grid Java based Quality of service management by Active database (Grid-JQA)
is a framework that aims to address the above mentioned requirements. Grid-JQA provides
management for quality of service on different types of resources, including networks,
CPUs, and disks. It also encourages Grid customers to specify their quality of service needs
based on their actual requirements. The main goal of this system is to provide seamless
access to users for submitting jobs to a pool of heterogeneous resources, and at the same
time, dynamically scheduling in multi policy mode and monitoring the resource
requirements for execution of applications. We proposed an optimal solution but not
practical for comparing with other practical solution.
Also, we propose an aggregation formula for the QoS parameters. The formula is a unit less
combination of the parameters together with weighting factors. It is shown that the formula
Advances in Grid Computing
30
needs to put into a threshold consideration. A discussion on the threshold and its level is
also provided. In this chapter we introduce an optimum but not practical solution for
matching. The optimum method is considered for comparing other practical solutions. Main
features of the resource manager include resource selection based on active database rules
(Khanli  Analoui, 2008) and environmental conditions and a basic adaptation facility. The
chapter is finalized by the results obtained from simulation and a comparison study.
The reminder of this chapter is organized as follows: In section 2 we present an overview of
related work, in section 3 we introduce three methods for matching in the grid environment.
We discuss a proof-of-concept implementation of a prototype and the preliminary
performance results by simulation in Section 4, whereas Section 5 concludes with a
summary of our work.
2. A brief history of the resource management in grid
Due to the grid computing is a dynamic and uncertainly environment, the grid system
needs a resource management mechanism which provides a set of available appropriate
resources for requesters. There are many resource management approaches that proposed in
different grid projects and researches, but a few of them guarantee QoS. This section
provides a brief description of these systems and compares some of them with our project.
Foster et al. (Foster et al. 1999) propose a framework for QoS in Grid computing, called the
Globus Architecture for Reservation and Allocation (GARA), which enables programmers
and users to specify and manage end-to end QoS for Grid-based applications. It also
provides a uniform mechanism for making QoS reservations for different types of Grid
resources, such as processors, networks and storage devices. The main drawback of GARA
is its inability to support subtask management, which is one of Grid’s main goals. There are
two more drawbacks in GARA: the topology of domain should be known in advance and
also the resources can not publish themselves. Grid-JQA is going to address the subtask
management while the topology information and resource publishing are handled
management, formulating the matching problem as an object placement problem
dynamically (Khanli  Analoui, 2006a,b).
Y. Han et al. (Han  Youn, 2009) proposed a new architecture that called Resource-Aware
Policy Administrator (RAPA) with Service Level Agreement (SLA) to find appropriate
resources. SLA operates as a contract agreed between users and resource providers in order
to achieve requested QoS (Han  Youn, 2009; Document for Web Services Agreement
Specification).
Chauhan  Joshi (2010a) proposed a QoS Guided Weighted Mean Time Min-Min Max-Min
selective heuristic for QoS based task scheduling. In fact this work adds QoS parameters to
weighted Mean Time Min-Min Max-Min Selective (WMTS) heuristic (Chauhan  Joshi,
2010b). In this method, first the meta tasks divided into high and low QoS groups, that the
high QoS group contains the tasks with high requirement QoS and the other one includes
the tasks with low QoS requirements. In mentioned work after mapping all tasks with high
Qos requirements, the tasks with low QoS group are mapped (Chauhan  Joshi, 2010a).
Selvi Somasundaram et al. (2010) proposed a metascheduling structure that called CARE
Resource Broker (CRB). For resource management they are proposed Virtual Resource
Management Protocol (VRMP). In this method scheduler is responsible for choose a suitable
resource between available matching resources, and Virtual resource manager is responsible
for formation of virtual cluster and virtual machine (Somasundaram et al., 2010).
Grid-JQA: A QoS Guided Scheduling Algorithm for Grid Computing 31
Darby III  Tzeng (2010) proposed a Checkpointing arrangement in Mobile Grid
Computing that provide QoS through Mobile hosts. In other words current work focus on
the Mobile hosts Checkpointing arrangement method that QoS is a user's application
responsibility.
Rodero et al. (2010) proposed Grid broker selection strategies to resolve the broker selection
problem in multiple grid scenarios (Rodero et al., 2010). They also proposed two different
resource aggregation algorithms (SIMPLE and CATEGORIZED aggregation algorithms)
that used for broker selection.
Javelin (Neary et al., 2000) is a Java based infrastructure for internet-wide parallel
computing. The three key components of Javelin system are the clients or applications,
hosts, and brokers. A client is a process seeking computing resources, a host is a process
offering computing resources, and a broker is a process that coordinates the allocation of
computing resources. The Javelin system can be considered a computational Grid for high-
throughput computing. It has a hierarchical machine organization where each broker
manages a tree of hosts. Resources are simple fixed objects with a tree namespace
organization. The resources are simply the hosts that are attached to a broker. Any host that
wants to be part of Javelin contacts JavelinBNS system, a Javelin information backbone that
maintains the list of available brokers. The host then communicates with brokers, chooses a
suitable broker, and then becomes part of the broker-managed resources. Thus the
information store is a network directory implemented by JavelinBNS. Hosts and brokers
update each other as a result of scheduling work. Thus, Javelin uses demand resource
dissemination. The broker manages the host-tree or resource information through a heap-
like data structure. Resource discovery uses the decentralized query based approach since
queries are handled by the distributed set of brokers. In Javelin the burden of the subtask
management and monitoring is layered on the client side. The client should also look for a
broker that matches its requirements. Thus the clients are thick. Grid-JQA tries to keep the
clients as thin as possible and refers the subtask management and monitoring, and the
matching to the broker of the system (Khanli  Analoui, 2006a,b).
Legion (Chapin et al., 1999) takes an object-oriented approach to resource (Chapin et al.,
1999). The identification of a candidate resource is performed by an object mapper, whose
recommendation is then implemented by a different object. The Legion system defines a
notation (Chapin et al., 1999) that is similar to classAds, although it uses an object oriented
type system with inheritance to define resources, as contrasted with the simple attribute-
oriented Boolean logic of classAds. Legion supports autonomy with a jurisdiction magistrate
(JM), which may reject requests if the offered requests do not match the policy of the site
being managed by the JM. While the JM gives a resource veto power, there is no way for a
resource to describe those requests that it would rather serve (Khanli  Analoui, 2006a,b).
UDDI (Uddi.com) and eSpeak (Hewlett Packard) are two specifications being defined to
enable automation of business-to-business interactions. Both systems use XML as a
specification language to describe services, and define a rich framework for service
discovery. Like most other systems, neither UDDI nor eSpeak exports a symmetric interface
to servers and customers. Furthermore, since the emphasis in these frameworks is on service
discovery and not resource allocation, the matchmaker provides a list of candidate servers
to the customer, who then chooses one or more servers based on subjective criteria.
Recently, to solving the grid resource management problem, many of technologies proposed
that based on matchmaking or bidding (Fig. 1). In the matchmaking (Khanli  Analoui,
2008; Litzkow et al., 1988; Liu et al., 2002; Ludwig  Reyhani, 2006; Raman et al., 1998;
Advances in Grid Computing
32
Raman et al., 2003; Tangmunarunkit et al., 2003; Yu et al., 2005), there are a resource
matchmaker that responsible for recording resource status. When a resource matchmaker
gives job requests, executes matching algorithms to find a set of appropriate resources for
request.
Fig. 1. (a) The abstract process of the matchmaking model. (b) The abstract process of the
bidding model (Wang et al., 2010).
Another model for resource management is bidding-based model (Bubendorfer, 2006;
Buyya et al., 1980; Das  Grosu, 2005; Goswami  Gupta, 2008; Kakarontzas  Savvas, 2006;
Kolano, 2004; Leal et al., 2009; Smith, 1980; Wang et al., 2010; Xiao et al., 2008). In this model
there is no centralized matchmaker/broker. However, the bidding model has some
advantages over the matchmaking one, but in this model the critical problem for resource
selection is that there is no universal information to find suitable match, and requests only
have deficient information (Wang et al., 2010).
The Condor (Raman et al., 2003) equivalent of an information system such as UDDI is a
matchmaker that maintains a pool of ClassAds representing candidate resources and then
matches each incoming request ClassAd with all candidates, returning a highest-ranked
matching candidate. Redline (Liu  Foster, 2004) formulates the matching problem as a
constraint satisfaction problem. These latter systems allow expression of resource groups,
but they do not offer a concise method to express network topologies. Set-matching extends
the ClassAds language to provide a multilateral matchmaking mechanism where the
number of resources is not known a priory (Liu et al., 2002). However, the set matching
mechanism is not capable of marshaling a heterogeneous mix of resources.
Our work is similar to Condor. That is the resources advertise themselves to the broker and
the users send their requests to the broker. Then the broker matches the resources and the
tasks by using some policies. The differences between our work and Condor are after this
time. Because, after matching the broker does not interfere in Condor. And the user works
with resources directly. But in our work, the broker manages the activities till the results
return to the user. The disadvantage of managing broker till the end is that the broker
becomes too busy. For correcting this disadvantage, we use hierarchical broker, in a way
that when the broker becomes too busy, one new broker is introduced in the low level and
Grid-JQA: A QoS Guided Scheduling Algorithm for Grid Computing 33
busy broker can send new application for execution to lower level broker. So the problem is
solved by hierarchical broker.
3. Model description
Looking on the matching problem, we bring about the following solutions:
First, resources introduce themselves to all clients and each client decides where to send its
request, thus matching is accomplished by the client.
Second, the clients send their request to all resources and each resource decides which
request to reply, therefore matching is done in the resources.
Third, the resources introduce themselves to a broker and each client sends its request to the
broker, then the broker decides how to match the requests with the resources. Here there are
two possible methods, (a) after the broker finds the best matched resource; the resource and
the client negotiate with each other directly. (b) The broker interferes in the process until
end of job, in order to guarantee the quality of service and perform subtask management.
In this work, we implement the third mentioned solution (b). The advantages of the broker
management till end are:
1. For guarantying the QoS parameters, the broker should monitor till the results return to
the user.
2. May be all requested resources are not free, so application can not start execution, but in
our work as soon as one resource is free, the execution of user’s task can be started.
Gradually, the remained tasks can be executed when the other resources are released.
3. Adaptation is possible only in this method that the broker monitors till the end, as
duplicate execution of strong tasks which are being executed in weak resources.
4. By using the broker, the user can be thin client that is the users can execute their
application by PDA or Mobile handset considering the user want the power of
processing like supercomputer. Because the broker manages for matching, monitoring,
sending task, receiving results, and managing failed tasks, the user only sends the
request and waits until it receives the results.
5. Managing failed tasks is simpler than the other methods. Because the broker can assign
more priority to failed tasks and matches them as soon as possible.
6. Fault tolerance is possible. The broker can execute the tasks with more priority in
duplicate mode.
4. Matching
Efficient resource selection in every resource management approach is one of the major
challenges. There is one problem about matching in grid environment. Following model
explains the problem:
1. The problem input
1.1. A set of resources with their capabilities
1.2. A set of tasks with their requirements
2. The problem output: Matching the best resource for each task
3. The problem purpose: Minimizing turnaround time
There are two managing models:
- Local
- Global
Advances in Grid Computing
34
In Local model, the manager finds the best resource for each task locally regardless of other
tasks. Whereas in Global model, the manager finds the proper resource for each task in
relation with other tasks and the strong resource is assigned to strong task (The task is
strong / weak if its requirement is high / low). Whereas in local model the manager may
assign the strongest resource to first task that may be the weakest one. Therefore for the next
task which may happen to be a strong task, the strong resource doesn’t exist anymore. So it
is better to apply the matching management in a global model.
We propose three methods for matching. They are compared using simulation in the next
section. Three methods are:
1. Optimum
2. Grid-JQA
3. Dup Grid-JQA
That we can consider:
• n: the task number
• m: the resource number
• k: the number of QoS parameters
As it was explained, the resources should introduce themselves to the broker. Each
introduction includes resource specifications as CPU, Memory, etc. Using schedulers, such as
(Xen Scheduler Howto, 2005), a resource can assign a percentage of CPU to a given machine
effectively regulating the CPU usage of the group of processes encapsulated in it. And also it
includes some parameters such as the bandwidth and the delay were calculated or estimated
by the broker. Finally the broker inserts the record of QoS parameters for each resource into
the database. We define the vector qres which gives the capabilities of a resource as follows.
1 2
, , ,
res res res res
k
q q q q
= … (1)
Generally it can be said that the client sends its request accompanied by vector of QoS
parameters and the weights for the parameters as it appears in equations 2 and 3.
1 2
, , ,
task task task task
k
q q q q
= … (2)
W=w1,w2,...,wk 0≤wi≤1 i
1
w 1
k
i=
=
∑ (3)
Each weight is used to show the importance of each parameter. For example, if CPU is
important for one task, the client will set 1 for the CPU weight and zero for the others.
Note that, qi
res and qi
task have the same unit, and the broker compares qi
res with qi
task for each
i from 1 to k. If the resource provides the requirements needed for the task, it can be chosen
as the best matched resource. We introduce satisfy operator ₪. Ri ₪ Tj means that the
resource Ri can satisfy the task Tj and guarantees QoS parameters.
Ri ₪ Tj =
Re
1
(( ) 1)
i
j
s
k
l
l
task
l l
q
w
q
=
× ≥
∑ (k = the number of QoS parameters) (4)
The solution proposed here is that, we normalize the resource specification by the client
requirement (qi
res / qi
task) and therefore the summation will be possible whereas the units of
Grid-JQA: A QoS Guided Scheduling Algorithm for Grid Computing 35
each parameter are different such as byte, bps, Mflops. When the resource capability
exceeds the task demand, (qi
res / qi
task) is more than one.
Also, the client introduces a weight for each parameter to show the importance of the
parameter. The weights range from 0 to 1 and the sum of all the weights is equal to one. We
multiply the weight into (qi
res / qi
task) as mentioned in (4). Finally the best match resource
will be the one that can provide the maximum of summation in (4).
Note that matching is done by aggregating QoS parameters which simplifies the matching
method. You may say that using aggregated QoS parameters, some requirements may be
neglected. This argument can be addressed by the introduction of the proper weights. If
user assigns a higher weight for a QoS parameter, the requirement surely will be met.
The proposed aggregation in (4) has one more advantage, whereas the overheads and
matching time is concerned. It is obvious that the matching time for aggregated QoS is a
fraction of time when we do not aggregate the k parameters.
The three methods for matching are proposed by using summation in (4).
4.1 Optimum
Assigning m resources to n tasks is the NP complete problem. The Optimum method has
time complexity O(n3) to find the best matched resource for each task globally. Practically
the Optimum method cannot be used because it has high overhead. We take into
consideration the Optimum solution just for the sake of the comparison.
The problem is assigning m resources to n tasks with k QoS parameters. There are three
matrices, one is Tn*k matrix given by (5) for task requirements, another is Wn*k matrix given
by (6) for weight of requirements, and the other is Rk*m matrix given by (7) for resource
capabilities. These matrices are shown in below.
1 1 1
2 2 2
1 2
1 2
*
1 2
n n n
task task task
k
task task task
k
n k
task task task
k
q q q
q q q
T
q q q
⎡ ⎤
⎢ ⎥
⎢ ⎥
= ⎢ ⎥
⎢ ⎥
⎢ ⎥
⎣ ⎦
(5)
1 1 1
2 2 2
1 2
1 2
*
1 2
n n n
task task task
k
task task task
k
n k
task task task
k
w w w
w w w
W
w w w
⎡ ⎤
⎢ ⎥
⎢ ⎥
= ⎢ ⎥
⎢ ⎥
⎢ ⎥
⎣ ⎦
(6)
1 2
1 2
1 2
1 1 1
2 2 2
*
m
m
m
res
res res
res
res res
k m
res
res res
k k k
q q q
q q q
R
q q q
⎡ ⎤
⎢ ⎥
⎢ ⎥
= ⎢ ⎥
⎢ ⎥
⎢ ⎥
⎣ ⎦
(7)
We define WdTn*k matrix as below.
Advances in Grid Computing
36
1
1 1
1 1 1
2
2 2
2 2 2
1 2
1 2
1 2
* 1 2
1 2
1 2
n
n n
n n n
task
task task
k
task task task
k
task
task task
k
task task task
n k k
task
task task
k
task task task
k
w
w w
q q q
w
w w
WdT q q q
w
w w
q q q
⎡ ⎤
⎢ ⎥
⎢ ⎥
⎢ ⎥
⎢ ⎥
= ⎢ ⎥
⎢ ⎥
⎢ ⎥
⎢ ⎥
⎢ ⎥
⎢ ⎥
⎣ ⎦
(8)
So, equation (4) is based on multiplying WdTn*k matrix to Rk*m matrix and the result is Vn*m
matrix given by (9) and (10).
* * *
*
n m n k k m
V WdT R
= (9)
1 1 1
1 2
1 1 1
2 2 2
1 2
2 2 2
1 1 1
* 1 1
* * *
* * *
m
m
task task task
k k k
res
res res
i i i
i i i
task task task
i i i
i i i
task task task
k k
res
res res
i i i
i i i
task task task
n m i i
i i i
w w w
q q q
q q q
w w w
q q q
V q q q
= = =
= =
⎛ ⎞ ⎛ ⎞ ⎛ ⎞
⎜ ⎟ ⎜ ⎟ ⎜ ⎟
⎜ ⎟ ⎜ ⎟ ⎜ ⎟
⎝ ⎠ ⎝ ⎠ ⎝ ⎠
⎛ ⎞ ⎛ ⎞ ⎛
⎜ ⎟ ⎜ ⎟
⎜ ⎟ ⎜ ⎟
= ⎝ ⎠ ⎝ ⎠ ⎝
∑ ∑ ∑
∑ ∑
1 2
1
1 1 1
* * *
n n n
m
n n n
k
i
task task task
k k k
res
res res
i i i
i i i
task task task
i i i
i i i
w w w
q q q
q q q
=
= = =
⎡ ⎤
⎢ ⎥
⎢ ⎥
⎢ ⎥
⎞
⎢ ⎥
⎜ ⎟
⎢ ⎥
⎜ ⎟
⎢ ⎥
⎠
⎢ ⎥
⎢ ⎥
⎢ ⎥
⎛ ⎞ ⎛ ⎞ ⎛ ⎞
⎢ ⎥
⎜ ⎟ ⎜ ⎟ ⎜ ⎟
⎜ ⎟ ⎜ ⎟ ⎜ ⎟
⎢ ⎥
⎝ ⎠ ⎝ ⎠ ⎝ ⎠
⎣ ⎦
∑
∑ ∑ ∑
(10)
Vi,j shows the value of (4) for assigning resource j to task i. If Vi,j = 1, the resource j exactly
will provide the task i requirements. If Vi,j  1, the resource j will be weaker than task i
requirements. If Vi,j  1, the resource j will be stronger than task i requirements.
We define MAX unary operator that it gets one n*m matrix and produces n*3 matrix. In the
following, the operator semantic is explained.
Bn*3 = MAX A n*m (11)
( ) ( )
( ) ( )
( ) ( )
1,1
1, 1,
1 1
2,1
2, 2,
*3 1 1
,1
, ,
1 1
0
0
0
m m
j j
j j
m m
j j
n j j
m m
n
n j n j
j j
True ifB
Max A IMax A
False else
True ifB
Max A IMax A
False else
B
True ifB
Max A IMax A
False else
= =
= =
= =
⎡ ⎤
=
⎧
⎢ ⎥
⎨
⎢ ⎥
⎩
⎢ ⎥
⎢ ⎥
=
⎧
⎢ ⎥
⎨
= ⎢ ⎥
⎩
⎢ ⎥
⎢ ⎥
⎢ ⎥
=
⎧
⎢ ⎥
⎨
⎢ ⎥
⎩
⎢ ⎥
⎣ ⎦
(12)
Max returns the maximum value for each row of operand and IMax returns the index of
maximum value in each row of operand. Third column of matrix B shows that if the first
column of matrix B is zero, it will be True (i.e. this row’s task is tested for matching) otherwise
it will be False (i.e. this row’s task is not matched yet). So we define matrix Mn*3 as below:
Grid-JQA: A QoS Guided Scheduling Algorithm for Grid Computing 37
M n*3 = MAX V n*m (13)
Fig. 2 shows the Optimum algorithm that matches the best resource for each task globally.
The algorithm finds the values of the assignment of each resource to n tasks at first. The
purpose is assigning the maximum value resource for each task. Next, the algorithm finds
the maximum value at each row which belongs to a task. It is possible that the resource with
maximum value in one row may be also is maximum in other rows. Because of that, the
algorithm chooses the row (task) which has minimum value (this task has maximum
requirements). If the number of matching becomes equal to number of tasks (n) (that is the
all of third column of matrix M is True), then the algorithm will finish.
Fig. 2. Optimum Algorithm
4.2 Grid-JQA
Grid-JQA has time complexity O(n) instead of O(n3) for Optimum method and (as shown in
next section by simulation), the difference between Grid-JQA and Optimum is acceptable.
Grid-JQA uses threshold in (4) instead of finding maximum and minimum for each
assignment (Fig. 2).
Advances in Grid Computing
38
Ri ₪ Tj =
Re
1
(( ) )
i
j
s
k
l
l
task
l l
q
w Threshold
q
=
× ≥
∑ (k = the number of QoS parameters) (14)
The proposed solution is that instead of using maximum, we use a threshold (Threshold in
(14)). If summation is more than the Threshold, the broker will choose it as the best matched
resource.
The broker starts calculating (14) for record R1. It keeps calculation till finds Ri that satisfies
the task. So the broker assigns Ri to the task. For next task to be matched, the broker starts
from Ri+1 in a round robin fashion, so that all resources can be covered.
Now, the problem is “what can be the amount of the threshold? “. For solving this problem,
tacking into consideration that the active database is used, we introduce a rule in active
database for calculating threshold in relation to environmental changes.
Suppose qk
R equals qk
T for all k from 1 to n to n (i.e. the requirements of task equal the
capabilities of resource), then:
1 1
1 1
Ri
n n
k
k k
Tj
k k
k
q
w w
q
= =
× = × =
∑ ∑ (15)
So the minimum of threshold is 1.
If qk
R equals P*( qk
T ) for all k from 1 to n, then:
1 1
Ri
n n
k
k k
Tj
k k
k
q
w P w P
q
= =
× = × =
∑ ∑ (16)
Therefore if we assign P to the threshold, it means that the selected resource should provide
P times capability more than the requirements by the task.
Therefore when there are a lot of strong and free resources it is better that the broker assigns
the strong resource to weak task. So the Threshold should be greater than one and the broker
should select a resource precisely. In this method Grid-JQA acts like an Optimum method.
But when there are a few strong resources it is better that to set the threshold equal one. So
the broker should select a resource as soon as it finds a free resource and the broker does not
wait for strong resources.
The value of threshold is changed by a rule of active database related to the number of times
that equation 14 returns true or false. In this way if the number of true is more than false, the
rule should be increased threshold for finding strong resource and otherwise should be
decreased threshold for assigning resource to task as soon as possible.
Next section shows that Grid-JQA is similar to Optimum using simulation. But Grid-JQA
has time complexity O(n) instead of time complexity O(n3) for Optimum.
4.3 Dup Grid-JQA
After assigning m resources to n tasks, definitely some tasks are executed in weak resources
which results is increasing the turnaround time of entire application. Dup Grid-JQA assigns
free strong resources to tasks executed in weak resources in duplicate mode. Reference
(Kondo, 2005) shows that for the application with 100 tasks, 90% of the tasks are completed
in about 39 minutes, but the application does not finish until 79 minutes have passed, which
is almost identical to the turnaround time for a much larger application with 400 tasks.
Exploring the Variety of Random
Documents with Different Content
The crew, with gloomy looks, assembled forward, muttering
threats which did not reach the officers’ ears.
The change of weather had the effect of restoring some of
the sick men to health, though several died. Among the first
to appear on deck was Ned Hadow. He still looked weak and
ill—the shadow of his former self. He was changed in other
respects, and Humphry observed that he was quiet in his
behaviour, and no longer swore in the way he had been
accustomed to do.
Matcham remained in his berth. He seemed a little better,
though he still refused to listen to Humphry when he
offered to read the Bible to him, and when asked the
reason, replied, “Because I am not going to let those fellows
suppose that I am afraid to die. They would be sneering at
me, and calling me a Methodist; and I don’t intend to die
either, so I don’t see why I should bother myself by having
religion thrust down my throat.”
“If you are not going to die, I suppose the case is different,”
answered Humphry. “Still, I know that if you were, the Bible
is the best book to read. I wish that I had read it oftener
myself.”
“If I can get hold of it, I will take care that neither you nor I
am troubled with it in future,” answered Matcham. “You
have teased me too much about it already. I wish you would
just try what the captain or mates would say to you if you
were to bother them.”
Humphry put his little Testament into his pocket,
determining that his messmate should not get hold of it.
Still, much as he valued the book as a gift from his old
friend, he looked upon it, as many other people do, as a
book to be reverenced, and to be read in times of sickness
or trouble; but he had little notion of the value of an open
Bible, to be studied with prayer every day in the week, to
serve as a light to his feet and a lamp to his path, and to
guide him in the everyday affairs of life.
Humphry, wishing Matcham good evening, went on deck.
As he looked ahead, he saw in the distance a small island
rising like a rock out of the blue ocean. The ship was
standing towards it. The sun, however, was just then
setting, and in a short time it was concealed from sight by
the mists of night. As he was to keep the first watch with
the third mate, he went down and took some supper. When
he returned on deck, he found that the sky was overcast
with clouds, and that the night was excessively dark. He
could scarcely distinguish the man at the helm or the officer
of the watch.
“Is that you, Gurton?” asked the third mate. “The orders
are to heave to in an hour, so as not to run past the island
we saw at sunset, as the captain wishes to examine it to-
morrow morning. Go forward, and see that the look-outs
are keeping their eyes open; the reefs may run further off
the land than we think for.”
“Ay, ay, sir,” answered Humphry, making his way along the
deck.
Having spoken to the men as directed, he stood for some
minutes trying to pierce the thick gloom, and as he was
sure no danger could be seen till the ship was close upon it,
he resolved to return aft, and advise the mate to heave her
to sooner than he had been ordered.
When just abreast of the fore-rigging, he suddenly felt his
arms pinioned behind him, and a gag thrust into his mouth.
At the same time a voice whispered in his ear, which he
recognised as Ned Hadow’s, “Do not cry out—no harm is
intended you; what we do is for your good.” The next
instant he felt himself lifted off his feet and placed in the
fore-rigging, up which a man on either side forced him to
ascend. He soon reached the top.
“He will be safer in the cross-trees,” said one of the men,
and he was compelled to ascend till he got there. “We must
make you fast where you are,” whispered Hadow,
compelling Humphry to sit down on the cross-trees, and
lashing him to the rigging. “If you will promise not to cry
out, we will remove the gag from your mouth; if not, you
must be content to bear it for some time longer. Here, press
my hand if you promise to do as I tell you—I can trust to
your word.”
Humphry was very anxious to get rid of the gag, which hurt
him, and pressed the hand placed in his. The gag was
immediately taken out of his mouth.
“Whatever sounds you hear, or whatever you see, don’t cry
out, as you value your life,” whispered Hadow.
The next moment Humphry was left alone. He sat
wondering why he had been thus treated. Hadow could
certainly not have intended to injure him; at the same time,
he could not help fearing that the crew contemplated some
dreadful act of mutiny, and that Hadow had contrived to get
him up there to keep him out of harm’s way. Nothing could
he see but the tall mast above his head tapering towards
the dark sky, and the yard and ropes immediately below
him. All on deck seemed quiet, no voices reached his ear.
The moments passed slowly by. Suddenly a loud shriek rent
the air, followed by a heavy groan; then came the flash and
report of a pistol—another, and another followed. Now rose
fierce shouts and cries from many voices, loud thundering
blows, and the clash of cutlasses. A desperate fight was
going on. He no longer had any doubt that the officers had
been attacked, and were struggling for their lives.
Suddenly, as they began, all sounds of strife ceased, though
he could now distinguish the voices of the crew shouting to
each other.
The helm during the contest had been deserted, and the
ship had come up to the wind. It seemed a relief to him to
hear the boatswain’s voice ordering the crew to brace up
the yards. The ship was then hove to.
No one, however, came to release him. If his friend Hadow
had fallen in the strife, what would be his fate when the rest
of the crew discovered him? The dreadful certainty forced
itself upon his mind, that the officers had been overcome.
He heard the men moving about the deck, and talking in
loud voices to each other; but though he listened eagerly,
he could not ascertain what was said.
Hour after hour passed by. No one came aloft to release
him.
Notwithstanding the fearful anxiety he felt, he at length
dropped off into forgetfulness; but his dream were troubled,
and full of the horrors which had just occurred.
Story 2--Chapter III.
“It was well I thought of lashing you securely, or you would
have fallen and been killed,” said a voice in Humphry’s ear.
Consciousness returned. He recognised Ned Hadow.
“It will be wise in you not to ask any questions, Mr Gurton,”
he whispered. “Just be sure that you are wide awake, and I
will cast off the lashings. I have done the best I could for
you. The men did not ask you to join them because they
believed you would not, nor do I either. I am too grateful to
you for what you have done for me to wish you to be
among them. They have now possession of the ship, and
intend to keep it. As we shall be at daybreak close in with
the island we saw last night, they give you your choice of
being put on shore there, or taking the oath of fidelity to
them, and joining their cause. As I said before, I don’t
suppose you will hesitate about the matter.”
“Indeed I will not,” answered Humphry; “whether or not the
island is inhabited or means of subsistence can be found on
it, I would rather be put on shore than remain an hour
longer than I can help on board the ship, after what I fear
has taken place.”
“As I said, Mr Gurton, you must ask no questions,” repeated
Hadow. “I wish I could go with you, but I am sworn to stay
by the rest. I would give anything to be out of the ship, but
it is too late now to draw back; though, as I have heard it
said, that hell with sinners often begins on earth, so it has
begun with me. Yes, Mr Gurton, I almost wish that I had
been carried off by the fever instead of living on, to become
what I now am. I was bad enough before, but I am a
thousand times worse now. There is no one on board I can
say this to, and I cannot help saying it to you.”
“Surely you could manage to come on shore with me,” said
Humphry. “Your messmates will probably release you from
any oath you have taken if you wish it.”
“They will not do that, sir, they will not do that,” answered
Hadow in a despairing tone. “I am bound hand and foot to
them; their fate, whatever that is, must be mine. You must
not stay up here longer. I will cast off the lashings now, but
you must take care, as your arms will be stiff after being
bound so long, that you don’t fall. I will hold you till you get
the use of them.”
Saying this, Ned cast off the rope, and grasping Humphry
round the body, assisted him to get on his legs; then, after
he had stood for a minute or two, helped him to descend
the rigging.
On reaching the foretop, Hadow told him to wait there till he
should come for him.
“I don’t want you to go among the crew,” he said in a low
voice. “I have got four men whom you looked after in their
sickness, who have agreed to pull you on shore, which we
hope to reach as soon as there is light enough to land. The
boat is already in the water, and we are stowing her with
things which we think will be useful to you. As you saw
nothing of what happened, even should you be taken off the
island some time or other, you cannot swear against any
one. All you know is that you were lashed in the rigging,
and were put on shore the same night before daybreak. If
any one asks you questions on deck, that is what you must
say to them—you understand me?”
Humphry replied that he did understand, and, suspecting
that his safety depended on his answer, said that he would
do as Ned advised.
“Well, then, stay here till I come for you,” and Ned
disappeared down the rigging.
Harry had not long to wait when he again heard his voice.
“All is ready,” he whispered. “We took the bearings of the
island before dark, and can steer a straight course for it.
Don’t speak to any one. Follow me into the boat; she is
waiting under the forechains; you will find a rope by which
you can lower yourself into her.”
Humphry followed Ned without ever stepping on deck, and
took his seat near him in the stern of the boat, which
noiselessly shoved off from the ship’s side. The crew bent to
their oars, while Ned steered by a boat compass lighted by
a lantern at his feet.
Humphry breathed more freely when he felt himself out of
the ship. Yet what a fate was to be his. To be left alone on
an island where he might have to spend long, long years,
cut off from all intercourse with his fellow-creatures. Yet
anything was better than having to associate with the
wretched men on board the Wolf.
They soon lost sight of the ship, and the boat made her way
across the dark water, the island not being yet visible
ahead.
“Are they all dead, have none been spared?” asked
Humphry at length, yet half fearing to speak on the subject
which occupied his thoughts.
“I told you, Mr Gurton, to ask no questions,” answered Ned
in a hollow voice. “The sooner you put all thoughts of what
happened last night out of your head the better. Just think
of what you have got to do. You will have to keep your wits
awake where you are going, depend on that. I wish we
could stop to help you, but we have promised to be back as
soon as we have landed your things. All I can tell you is,
that there is said to be water, and you will probably find
cocoa-nut and bread-fruit trees, and other roots and fruits;
and as we have put up lines and hooks, and a gun and
ammunition, and a couple of harpoons, and lines for
catching seals, it will be your fault if you do not manage to
find as much food as you want.”
“But how shall I be able to live all alone by myself on the
island?” said Humphry with a sigh.
“Better to be all alone than food for the sharks, I have a
notion,” observed one of the men who overheard him.
Humphry made no further remark. He now felt more than
ever certain that a fearful tragedy had been enacted, and
that he ought to be thankful to get out of the company of
the perpetrators. Yet he was sorry to leave Hadow among
them, for he had observed, he thought, the signs of
something better in him than in his companions, rough and
ignorant as he was.
As day dawned the island appeared ahead, rising out of the
blue water with black rocks piled one upon another, and
some hills of considerable elevation. Humphry observed also
a deep sandy bay between the rocks, but an encircling coral
reef intervened, over which, even on that calm morning, the
sea broke in masses of foam.
They pulled along till the bay opened out more clearly, and
just in front was a cascade, which came tumbling down the
rocks. A narrow piece of dark water was seen between the
masses of foam which danced up on either side of it.
“There is a passage,” exclaimed Ned. “Give way, my lads,
and we shall get through it without difficulty.”
The men bent to their oars, and the boat, dashing between
the two walls of foam, was in a short time floating on the
calm surface of a lagoon. Pulling up the bay, they reached a
small sandy beach, though the dark rocks which
everywhere rose up around it gave the place a gloomy
aspect.
The boat was hauled up, and the men quickly landed the
various articles which Ned had secured for Humphry’s
benefit.
He and Humphry searching about soon found a level spot
on one side of the bay where the ground looked capable of
cultivation.
“This will do for you, my lad,” said Ned. “And as I found
some papers of seed in the captain’s cabin, I put them into
one of the casks; though I don’t know what they are,
maybe if you sow them they will come up, and supply you
with vegetables.”
The men now brought up all the things from the boat. They
all wished him good luck and a happy life on the island, and
then hurried back to the boat.
“I only wish I could stop with you, that I do!” exclaimed Ned
with some feeling, as he wrung Humphry’s hand. “I dare not
say ‘God bless you!’ but I hope He will, that I do with all my
heart,” and Ned ran down to join his companions, who were
already shoving off the boat. He would not have been sorry
if they had gone without him.
Humphry watched them going down the bay. They passed
through the reef, and pulled out to sea till the boat was lost
to sight, though he could distinguish the ship hove to in the
offing waiting for her return.
Story 2--Chapter IV.
Humphry sat down on his chest, feeling very forlorn. Here
he was on a desert island, a mere speck in the ocean,
hundreds of miles away perhaps from any place inhabited
by civilised man. He might perhaps never be able to make
his escape, or again hold intercourse with his fellow-
creatures. All alone, without speaking, without exchanging
an idea with another human being, he might have to drag
out a weary existence; and then, should sickness overtake
him, have to lie down and breathe out his life, leaving his
bones to whiten in the sun.
He had read Robinson Crusoe, but then his case was very
different to that of the far-famed voyager. Robinson Crusoe
had the companionship of Friday, and his island was fertile
and smiling, and he had goats and fowls and other animals
to cheer him or to serve him as food. He would have to go
in search of fish and birds for his daily food, and as yet was
uncertain whether any were to be found, though at present
he did not fear starvation, as he had the salted beef and
pork and biscuits with which Ned had supplied him. But
then when they were gone, how should he live?
“It won’t do to indulge in these thoughts,” he exclaimed to
himself, suddenly starting up. “I must think about building a
house in the first place; and then as soon as I can prepare
the ground I will put in the seed, and, as I hope, some may
produce good edible vegetables, I shall have a variety in
diet and keep myself in health.”
As he began to examine the articles which had been
brought on shore, he found a large roll of canvas. It was
part of an old sail.
“This Ned must have intended to serve as a tent till I can
put up a more substantial building. I am much obliged to
him, and I need not be in any great hurry about building my
house.”
He spoke his thoughts aloud on nearly all occasions. It gave
him some relief to hear his own voice.
“I must get some poles for the tent, though; and no spars, I
see, have been brought on shore.”
He looked out an axe, and sticking it in his belt, set out to
search for what he wanted.
“I shall not lose my way in this new kingdom of mine, that’s
one advantage in having it of moderate size; and if I climb
to the top of the hill, I shall be able to sing with Robinson
Crusoe, ‘I am lord of all I survey,’—ah, ah, ah!” and he
laughed for the first time for many a day.
There was nothing to excite his risibility on board. He felt
his spirits rising.
“Stay!” he exclaimed suddenly. “What an ungrateful wretch
I am! Here have I been saved from a great danger, and
placed in safety, at all events for the present, and yet I
have not uttered one word of thanks to Him who has
preserved me.”
He knelt down, and lifted up his heart as well as he could to
God.
“Careless, worthless fellow that I have been! yet God
promises to hear all those that come to Him, not trusting to
themselves or to their own good deeds, but to the perfect
and complete atonement Jesus Christ made for their sins on
the cross, so I know that He will hear me; and I am sure,
though I am unworthy of His care, that He put it into the
hearts of those men to bring me on shore instead of
throwing me overboard, or what would have been worse,
keeping me among them.”
He felt his heart much lighter when he rose from his knees.
He then, carefully observing the appearance of the rocks,
that he might find his way back without difficulty, proceeded
on his expedition. Clambering over them, he came to more
level ground covered with various bushes, and soon reached
a hill-side on which grew a number of trees, palms and
others, with the names of which he was unacquainted. He
looked in vain for cocoa-nuts, not being aware that the
trees are only generally found on the level shore to which
the nuts have been borne by the wind and tides of the
ocean from other islands. He cut two stout poles for
uprights, and a longer one for a ridge-pole, and shouldering
them, returned to his camp.
“I shall want a fire, though,” he thought, as he got back,
and throwing them down he again set out to get fuel.
This he had no difficulty in finding among the brushwood,
and with the aid of his axe he quickly made up a number of
faggots.
“I shall not be obliged to have a fire burning all night to
keep off wild beasts, that is another comfort,” he observed.
“But it will be cheerful to sit by when it grows dark. I shall
not find the time hang heavily on my hands for some days
to come, that’s another comfort.”
His first thought was to do the most necessary work. Having
brought the faggots to his camp, he next put up his tent.
This accomplished, as soon as he sat down to rest he began
to feel hungry. He rummaged in a small cask, which
contained a number of miscellaneous articles, and
discovered a tinder-box. He had soon a fire blazing in front
of his tent. He had prudently made it up at a sufficient
distance to prevent the risk of the flames reaching the
canvas. While he stayed his hunger with some biscuit, he
prepared a piece of beef, which he spitted and placed before
the fire on two small sticks, such as he had read of people
doing under similar circumstances. He turned the meat on
the spit, which grew blacker and blacker.
“I think it must be done now,” he said at length, taking it
off.
When he cut it with his knife, he found it almost as hard as
wood. He attempted to eat a few mouthfuls, but he could
scarcely get them down.
“This won’t do,” he said. “I must get some water, to enable
me to swallow this dry food.”
On searching for something to hold the water, he found a
saucepan, and on his way with it to the cascade it occurred
to him that he might have cooked his beef much better by
boiling. “I must try that way for dinner,” he thought.
A draught of pure water greatly refreshed him. He returned
to the camp with his saucepan filled. He put it on at once
with a small piece of meat in it, recollecting that salted beef
requires a long time to boil, and he hoped to have better
success in his second attempt at cooking.
He now made a survey of the articles his shipmates had left
with him. There was enough beef and pork to serve him for
many months, but he regretted to find that the bread would
not last him nearly so long.
“I must try and find some substitute for it,” he said, “and
economise it in the meantime. I would rather have had
much more bread and less meat, as I hope to catch some
fish and kill some birds. However, I need not go hunting till
I have put my home to rights.”
Then he thought of his seeds. He had no spade, however, to
dig the ground; so going to the wood he shaped one, which
he hoped would answer the purpose, out of the stem of a
small tree. It did better than nothing, but he would have
been very glad of an iron spade. He at once began to dig up
the ground. It was covered thickly with grass with long
roots, but the soil was rather sand than earth. “I must dig
all this up,” he said, “or they will soon sprout up again, and
destroy the seed.” So he marked out a small plot, carefully
throwing the roots and grass into a heap. It then struck him
that if they were scattered about on the ground in the sun
they would more quickly dry, and he might then burn them,
and the ashes would contribute to fertilise the ground.
He worked away till he felt quite weary. He then went back
to his fire to see how the beef was boiling. As it was not yet
done, after resting a short time he returned to his digging.
It was a very long operation, but after labouring for four or
five hours he found that he had dug up almost ten square
yards of ground. “It is thoroughly done, though there is not
much of it, and that’s a satisfaction,” he said. He thought,
however, even when the ashes of the grass were mixed with
it, it would scarcely be sufficiently fertile for the seeds. “I
will go into the woods and collect rotten leaves, and with
the ashes of my fire I hope in time to make the soil good.”
This was a wise thought, but the sun was already getting
low, and he determined to wait till the next day to do so. “It
will be better to have a small piece of good ground than to
dig up the whole plot, and I will only put in a few seeds at
first, to see how they answer; so that if some fail, I may try
a different way of cultivating them. I shall, at all events,
have work enough. How sad it would have been if I had had
nothing to do but to sit still and bemoan my hard fate. I
may not, after all, find my life so miserable alone as I had
expected, that’s another comfort.”
With these reflections he went back to his fire, and now, to
his satisfaction, he found that his beef was thoroughly
boiled. Ned had forgotten to put in any salt or mustard, but
as the beef was salt in itself, that did not signify. It
reminded him, however, that if he shot any birds or caught
fish, he should require some. That made him resolve to try
and look for it amongst the rocks, or to try and manufacture
it from salt water, as he had read of being done. He had
been accustomed to read a good many books of travels
before he came to sea, and he now found the advantage of
having done so, by being reminded of the various ways
people, when placed in situations similar to his, had been
enabled to support existence. This contributed to keep up
his spirits, as it made him have no doubts of obtaining food.
His only dread was that he might meet with an accident, or
might fall ill, when there would be no one to help him.
“Well, well, I ought not to trouble myself about that either,”
he said. “I must pray to God to preserve me, and do my
best not to run any unnecessary risk.”
He then recollected the dreadful complaint, the scurvy,
which had already attacked some of the crew of the Wolf.
“That is brought on by people living too exclusively on salt
provisions. I must try to find some roots or herbs till the
seeds come up; and then, if they produce vegetables, as I
hope they will, I need not be anxious about that.”
Such were his cogitations during his meal. Having finished,
he hung up the remainder of his beef in his tent, to serve as
breakfast for the next morning, and then went back to the
fountain to enjoy a draught of pure water.
He felt but little inclined to do any more work, and the sun
had not set when he recollected that he had not yet read
from his Testament. He took it from the pocket of his
jacket, which hung up in his tent, and sat down to read. He
read on for some time, feeling his spirits greatly refreshed,
till, by the increasing darkness, he found that the sun had
gone down, and that it was time to prepare for rest. Ned
had thrown a bed into the boat and a blanket.
“Few people left on a desert island as I am have enjoyed so
luxurious a couch as this is,” thought Humphry, as he laid
himself down after offering up his prayers, as he had been
accustomed to do before he came to sea. Since then,
shame, and the indifference which arises from it, had
prevented him ever kneeling in prayer. He now, left all alone
as he was, felt that prayer was his greatest comfort; though
he had no fellow-creature to talk to, he had the privilege of
speaking to his Maker. He had not been reading his
Testament without gaining enlightenment. He had learned
that he must come to God in His appointed way—through
Jesus Christ; that he had no right to approach Him in any
other way.
He had scarcely placed his head on the bundle of clothes
which he had rolled up to make a pillow, and drawn his
blanket round him, than he fell fast asleep.
Story 2--Chapter V.
It seemed but a moment afterwards that Humphry heard
some birds chirruping, and opening his eyes, he found that
it was already daylight. He instantly sprang up, recollecting
that though the days were long, he had plenty of work to
do. He first knelt down and earnestly offered up a prayer for
protection and guidance.
The water in the bay looked bright and clear. Throwing off
his clothes and plunging in, he enjoyed a refreshing swim.
The warm air soon dried him, for Ned, as may be supposed,
had not thought of providing him with towels. As he sat on
a rock for a few moments to rest, he saw a dark object
floating by in the water, then a triangular fin rose above it,
and he observed a pair of fierce-looking eyes gazing up at
him. He shuddered, for he recognised the sailor’s enemy,
the shark. How mercifully he had been preserved! Had he
remained in a few minutes longer the monster might have
seized him. He must be cautious in future how he bathed.
He might find, however, some quiet pool into which no
shark could enter.
After recovering himself he returned to the camp, and
lighted a fire to cook his breakfast, which consisted of salt
beef and biscuit. He thought he should like some tea. He
searched in his cask of stores, and to his satisfaction he
discovered a large bagful, and another of cocoa. This
showed him more than ever how thoughtful his friend had
been. He knew, however, that he must husband it carefully.
Having brought water from the fountain, he made a little,
which he found very refreshing. After draining off the liquid
he put the leaves carefully by, to serve for another time.
With this, and some of the cold beef and biscuit, he made a
hearty meal. Then taking his spade in his hand he set to
work to dig up more ground. He enriched it also with rotten
leaves which he collected, and with the ashes of the grass
and roots which he dug up and burned.
He had already spent nearly two days on the island. “I shall
forget how time passes if I don’t take some note of it,” he
thought. “I must follow Robinson Crusoe’s plan, and notch a
stick.” He at once went and cut a long one. He made a
notch to show the day he had landed, and another for that
which was then passing. He then smoothed off the end, and
carved the date—“20th November 1812.” “I will cut a notch
every morning, directly I am up, and then I shall not run
the risk of missing a day by forgetting to mark it.”
He was surprised to find how soon Sunday came round. On
board the Wolf that sacred day had only been observed by
the men being allowed to mend their clothes; or if they
were not so employed, they used to sit idly gambling or
singing ribald songs. Humphry had been considering all the
previous day how he should spend it. “We are told by God
in the Bible to do no work, and to make it a day of rest. I
am sure that I ought to obey Him, though it may seem
important to me to get my house up or to dig more ground.
I will therefore obey His commands, and leave the rest to
Him.”
He rose at the usual hour, and went to wash at the
waterfall, where he found that he could take a shower-bath,
which was cooler and more refreshing than even a dip in
the sea. He came back to breakfast, and then taking out his
Testament, read for a long time with deep interest. While so
employed, it occurred to him that he would learn portions
by heart. This amply occupied his mind, and afforded him
so much satisfaction, that he determined every morning to
commit a verse to memory that he might think of it while
he was at work. He began at the “Sermon on the Mount” on
Monday morning, so that by the end of another week he
had learned six verses.
While waiting for the result of his gardening operations, he
began putting up his house. As he had the greater portion
of the summer of the Southern hemisphere before him, he
was in no hurry about this; so during a portion of each day
he went out with his gun to shoot birds, or sat on a rock
with a line catching fish. He never failed to kill as many
birds as he wanted for food, or to catch as many fish as he
could eat. He fitted one of his harpoons, and kept it ready
for use in case any seals appeared, though he suspected
that if they visited the island at all, they would not come till
the winter season.
He had gone on increasing his garden, and putting in more
seeds. Greatly to his delight those he first sowed now
appeared above ground. He watered them regularly, and
the plants rapidly increased in size. Some were evidently
cabbages, while others put forth roots with tubers; others,
again, greatly resembled spinach.
He had now got up his house, and had dug a garden
sufficiently large for his wants. The soil, by being watered
every day, became even more fertile than he had expected.
Story 2--Chapter VI.
Several weeks thus passed away before he thought of
exploring his island.
His stores had during this time visibly diminished. He
therefore saw the necessity of laying in a store of food
which might serve him when he could not obtain it either by
his gun or fishing-lines.
During bad weather, when the sea breaking over the reef
washed into the bay, he was frequently unable to catch fish.
He thought over various ways of preserving them. “I might
dry some in the sun, and salt others; but I suspect they
would keep better and be more palatable if I could smoke
them.”
He found salt in the hollows of the rocks as he had
expected, but it required much time and labour to collect.
One of his small casks was now empty. A fine day, when the
fish bit freely, enabled him to catch a large number, and he
made his first experiment. He had already got a large pile of
salt, though it was somewhat sandy, but he thought that
would not signify. He cut off the heads and tails of the fish,
then rubbed the salt thoroughly into them, and packed
them away in layers, with salt between each. It took him
three or four days’ fishing to fill his cask, when all the salt
was expended. He then stowed it away in a dry part of his
hut, hoping that he had now secured food to last him for
several weeks.
He next tried drying some in the sun, but did not succeed to
his satisfaction. He afterwards, however, built a smoking-
house, and cured a considerable number in it, though they
were less palatable than those preserved with salt.
These tasks finished, one day, being prevented from fishing
by a gale of wind, he set out on his proposed expedition,
taking his gun, with some provisions in a wallet he had
manufactured for the purpose.
He made his way towards the nearest hill, and then struck
down a valley which led to the sea. Between it and the bay
a high ridge of rocks extended, so he continued his course
along the shore in an opposite direction. He had not gone
far before he came to another ridge which he had to
surmount, the coast becoming wilder and wilder as he
advanced, instead of improving, as he had hoped it might
do. At last he reached what he took to be the southern end
of the island. Looking back he saw the slope of the single
high hill which composed its chief feature. He had now great
difficulty in proceeding. The cliffs which faced the sea were
almost perpendicular, and the rocks over which he climbed
were extremely rough. He proceeded cautiously, knowing
the fearful position in which he would be placed should he
meet with an accident. He saw, however, at a little distance
off, a number of wild-fowl circling round the cliffs. He was
certain that they had come there for the purpose of laying
their eggs. Could he reach the spot, he might obtain a
pleasant addition to his larder.
After great labour he reached the spot, when he found
himself among hundreds of birds, many of them already
sitting. They screeched and quacked and scolded, pecking
at his legs as he got among them. Without ceremony he
quickly filled his wallet with eggs.
“This will serve me as a poultry-yard for a long time to
come,” he thought. “I will not kill any of the old birds, but
will wait till the young ones are hatched, as they are likely
to be more palatable than their parents. In the meantime, I
will supply myself with eggs.”
It was now time for him to commence his return home. He
felt very tired when he reached his hut, for he had not
taken so long a walk since landing on the island. To
preserve his eggs, he covered them over with the grease
which remained in the pot after he had boiled his pork, and
then packed them away in cool, dry sand.
Every day he had reason to be thankful that he had read so
much, for recollecting the various methods by which others
had supported themselves, he was able to supply himself
with food.
His garden yielded him a daily meal of either sweet
potatoes, yams, cabbages, or other vegetables. He now
caught more fish than at first, and also from his poultry-
yard obtained a good supply of young fowls.
His shoes were wearing out, and he was desirous of
catching some seals, from the skins of which he might
manufacture others to supply their place. At last he saw
several sporting in the bay. He at once got his harpoon
ready, and took post on a rock, expecting that one would
before long approach him. He was not disappointed Darting
his weapon, he struck the animal, which swam off, dragging
out the line at a rapid rate. He found that he had made a
mistake, and was nearly losing his line and harpoon as well
as the seal. Fortunately, just as it neared the end, he got a
turn round a projecting piece of rock. The poor seal plunged
and tumbled, and swam back to the rock to ascertain, it
seemed, what had hurt it. He drew in the slack, and was
thus able to secure it more completely. After a time its
struggles ceased, and he dragged it to the beach. He here
took off the skin, with which he hoped to make several pairs
of shoes, while the flesh supplied him with a dinner of fresh
meat for a couple of days; the other portions he salted, in
store for future use. Stretching the hide on the ground, he
dressed it with a ley formed by mixing the ashes of his fire
with water. This he found would not answer completely, and
after searching in the forest he discovered some bark which
formed a strong tan.
The seals now came on shore in large numbers. Recollecting
that their skins would be of value should a ship come to the
island, he determined to capture as many as he could.
Arming himself with a thick club, he attacked them when
asleep on the beach, and every day succeeded in knocking
over a considerable number. This gave him abundant
occupation; and continuing his experiments he succeeded in
perfectly preserving the skins. When at length the creatures
took their departure, his hut was nearly filled with the result
of his industry.
Day after day went rapidly by, and had he not been careful
in notching his stick, he would soon have lost all count of
time.
Story 2--Chapter VII.
Three years had passed away since Humphry landed on the
island. He was startled one calm day, when fishing from a
rock in the bay as he caught sight of his own countenance
in the water, to observe how changed he had become.
Instead of the laughing, careless, broadly-built boy with the
ruddy face, which he once was, he had grown into a tall,
thin young man, with a sunburnt countenance, its
expression grave and thoughtful. He was not melancholy,
however, nor did he ever feel out of spirits; but he had of
course been thrown back on himself, while his mind was
constantly occupied. He had but one book to read, but that
book, above all price, had given him ample subjects for
reflection. “What should I have done without this?” he often
said to himself, as he opened the book with a prayer that
what he was about to read might enlighten his mind.
“I have heard people talk of reading their Bibles, but though
I have read nothing but my Testament for three years, I
every day find something fresh and interesting in it.”
He had often made excursions to the top of the hill, whence
he could obtain a view over the surrounding ocean.
It had been raining heavily during the previous day. No
seals were to be caught on shore, nor fish in the water.
Taking his gun, he set off, intending to go over the hill to
get a shot at some wild-fowl. The wind had greatly
increased; and wishing to obtain a view of the ocean with
its huge foam-covered billows rolling around, he climbed to
the top of the hill. As he reached it, his eye fell on a ship
driving before the gale towards the rocky shore. Two of her
masts were gone; the third fell while he was looking at her.
Nothing could now save her from destruction, for even
should her anchors be let go, they were not likely to hold
for a moment. He considered whether he could render any
assistance to the unhappy people on board. Too truly he
feared that he could be of no use. Still he would do his best.
Hurrying home, he procured the only rope he possessed,
and a spar, and with these on his shoulder he hastened
towards the spot at which, considering the direction the ship
was driving, he thought she would strike the shore. He had
scarcely reached it when he saw the ship driving on towards
him on a mountain sea. The next instant down she came,
crashing on a reef of rocks far away from where he stood,
the foaming sea dashing over her. Several poor wretches
were carried off the deck, now driven towards him, but
directly afterwards carried back by the retiring surf. He
could distinguish but one alone still clinging to a portion of
the wreck, all the others had in a few minutes disappeared.
As long as that man remained, he could not tear himself
from the spot.
Several hours passed by; still the man clung on, having
secured himself apparently by a lashing. The storm seemed
to be abating. Humphry took off his shirt, and fastening it to
the end of a spar, waved it, to show the shipwrecked
seaman that help was at hand if he could reach the shore.
It was observed at length. The man, casting off the
lashings, lowered himself into the water, and struck out for
land. Humphry prepared his rope. Fixing the spar deep in
the sand, and securing one end of the rope to it, he stood
ready to plunge in, with the other end round his waist, to
drag the man on shore should he get within his reach. How
anxiously he watched! Nearer and nearer the man came.
Now he was seen floating on his back, now he struck out
again. A sea rolling in bore him on, but as it receded it
threatened to carry him off once more. Now was the
moment. Humphry dashed into the surf. The man’s strength
had almost failed when Humphry grasped him, and hauling
himself up by the rope dragged the man out of the surf,
sinking down exhausted by his side the instant he was out
of its reach.
Humphry was the first to recover.
“If you are strong enough to accompany me to the other
side of the island, friend, where I have my home, we will
set off at once; but if not, I will go back and get some food
for you,” he said.
“I shall soon be better,” answered the man. “I think I could
walk. Have you a companion with you?”
“No,” answered Humphry, surprised at the question; “I am
all alone.”
“That’s strange! What, isn’t there a young lad somewhere
about the island?”
“No,” said Humphry. “I have been here three years and
have seen no human being.”
The man gazed into his countenance with a look of
astonishment.
“What is your name, then?” he asked.
Humphry mentioned it.
“You Mr Gurton!” he cried, pressing his hand. “I suppose it
must be; and don’t you know me?”
Humphry looked into the man’s face. It was covered with a
thick beard, and his tangled hair hung over his shoulders.
“You must be Ned Hadow; yet I should not have known you
more than you know me. I am indeed thankful that you
Welcome to our website – the perfect destination for book lovers and
knowledge seekers. We believe that every book holds a new world,
offering opportunities for learning, discovery, and personal growth.
That’s why we are dedicated to bringing you a diverse collection of
books, ranging from classic literature and specialized publications to
self-development guides and children's books.
More than just a book-buying platform, we strive to be a bridge
connecting you with timeless cultural and intellectual values. With an
elegant, user-friendly interface and a smart search system, you can
quickly find the books that best suit your interests. Additionally,
our special promotions and home delivery services help you save time
and fully enjoy the joy of reading.
Join us on a journey of knowledge exploration, passion nurturing, and
personal growth every day!
ebookbell.com

More Related Content

Similar to Advances In Grid Computing Zoran Constantinescu (20)

PDF
3581759.pdfdfdsfdsfdsfdsfdsffdsfdsfdsfdsfdsfds
SachinThanekar6
 
PDF
Smart offload chain: a proposed architecture for blockchain assisted fog off...
IJECEIAES
 
PPTX
IOTCYBER
Chuck Brooks
 
PDF
Complexity in Future Networks (A. Manzalini)
Antonio Manzalini
 
PDF
IRJET -Securing Data in Distributed System using Blockchain and AI
IRJET Journal
 
PDF
Fog Computing - DEV.BG 2018
Trayan Iliev
 
PDF
Blockchain For 6genabled Networkbased Applications A Vision Architectural Ele...
roserpaidaht
 
DOCX
Cloud computing report
Vamsi Krishna Vanama
 
PDF
R15A0529_CloudComputing_Notes-converted.pdf
khan593595
 
PPTX
fogcomputing
MDPiasKhan
 
PDF
CICS: Cloud–Internet Communication Security Framework for the Internet of Sma...
AlAtfat
 
PPTX
ITBV_GROUP_07_presentation.pptx
AMANTUSHER
 
PDF
Distributed Computing And Artificial Intelligence 19th International Conferen...
cleiwaz13
 
PDF
Reconfigurable data intensive service for low latency cyber-physical systems ...
International Journal of Reconfigurable and Embedded Systems
 
PDF
Multimedia Technologies In The Internet Of Things Environment Volume 3 Raghve...
curiabatizzo
 
DOCX
Grid computing assiment
Huma Tariq
 
PDF
A survey of fog computing concepts applications and issues
Rezgar Mohammad
 
PDF
March 2023: Top 10 Read Articles in Network Security and Its Applications
IJNSA Journal
 
PDF
Cutting Edge Research In New Technologies Edited By Constantin Volosencu
berieryelhsa
 
PDF
Real-Time WebRTC based Mobile Surveillance System
Dr. Amarjeet Singh
 
3581759.pdfdfdsfdsfdsfdsfdsffdsfdsfdsfdsfdsfds
SachinThanekar6
 
Smart offload chain: a proposed architecture for blockchain assisted fog off...
IJECEIAES
 
IOTCYBER
Chuck Brooks
 
Complexity in Future Networks (A. Manzalini)
Antonio Manzalini
 
IRJET -Securing Data in Distributed System using Blockchain and AI
IRJET Journal
 
Fog Computing - DEV.BG 2018
Trayan Iliev
 
Blockchain For 6genabled Networkbased Applications A Vision Architectural Ele...
roserpaidaht
 
Cloud computing report
Vamsi Krishna Vanama
 
R15A0529_CloudComputing_Notes-converted.pdf
khan593595
 
fogcomputing
MDPiasKhan
 
CICS: Cloud–Internet Communication Security Framework for the Internet of Sma...
AlAtfat
 
ITBV_GROUP_07_presentation.pptx
AMANTUSHER
 
Distributed Computing And Artificial Intelligence 19th International Conferen...
cleiwaz13
 
Reconfigurable data intensive service for low latency cyber-physical systems ...
International Journal of Reconfigurable and Embedded Systems
 
Multimedia Technologies In The Internet Of Things Environment Volume 3 Raghve...
curiabatizzo
 
Grid computing assiment
Huma Tariq
 
A survey of fog computing concepts applications and issues
Rezgar Mohammad
 
March 2023: Top 10 Read Articles in Network Security and Its Applications
IJNSA Journal
 
Cutting Edge Research In New Technologies Edited By Constantin Volosencu
berieryelhsa
 
Real-Time WebRTC based Mobile Surveillance System
Dr. Amarjeet Singh
 

Recently uploaded (20)

PPTX
HIRSCHSPRUNG'S DISEASE(MEGACOLON): NURSING MANAGMENT.pptx
PRADEEP ABOTHU
 
PPTX
LEGAL ASPECTS OF PSYCHIATRUC NURSING.pptx
PoojaSen20
 
PPTX
SCHOOL-BASED SEXUAL HARASSMENT PREVENTION AND RESPONSE WORKSHOP
komlalokoe
 
PDF
FULL DOCUMENT: Read the full Deloitte and Touche audit report on the National...
Kweku Zurek
 
PPTX
Various Psychological tests: challenges and contemporary trends in psychologi...
santoshmohalik1
 
PPTX
Top 10 AI Tools, Like ChatGPT. You Must Learn In 2025
Digilearnings
 
PDF
Living Systems Unveiled: Simplified Life Processes for Exam Success
omaiyairshad
 
PDF
A guide to responding to Section C essay tasks for the VCE English Language E...
jpinnuck
 
PDF
Module 1: Determinants of Health [Tutorial Slides]
JonathanHallett4
 
PPTX
FAMILY HEALTH NURSING CARE - UNIT 5 - CHN 1 - GNM 1ST YEAR.pptx
Priyanshu Anand
 
PPTX
national medicinal plants board mpharm.pptx
SHAHEEN SHABBIR
 
PPTX
10CLA Term 3 Week 4 Study Techniques.pptx
mansk2
 
PPTX
IDEAS AND EARLY STATES Social science pptx
NIRANJANASSURESH
 
PPTX
ARAL-Guidelines-Learning-Resources_v3.pdf.pptx
canetevenus07
 
PPTX
quizbeenutirtion-230726075512-0387d08e.pptx
domingoriahlyne
 
PDF
Stepwise procedure (Manually Submitted & Un Attended) Medical Devices Cases
MUHAMMAD SOHAIL
 
PPTX
Company - Meaning - Definition- Types of Company - Incorporation of Company
DevaRam6
 
PPTX
MALABSORPTION SYNDROME: NURSING MANAGEMENT.pptx
PRADEEP ABOTHU
 
PPTX
ROLE OF ANTIOXIDANT IN EYE HEALTH MANAGEMENT.pptx
Subham Panja
 
PDF
Tips for Writing the Research Title with Examples
Thelma Villaflores
 
HIRSCHSPRUNG'S DISEASE(MEGACOLON): NURSING MANAGMENT.pptx
PRADEEP ABOTHU
 
LEGAL ASPECTS OF PSYCHIATRUC NURSING.pptx
PoojaSen20
 
SCHOOL-BASED SEXUAL HARASSMENT PREVENTION AND RESPONSE WORKSHOP
komlalokoe
 
FULL DOCUMENT: Read the full Deloitte and Touche audit report on the National...
Kweku Zurek
 
Various Psychological tests: challenges and contemporary trends in psychologi...
santoshmohalik1
 
Top 10 AI Tools, Like ChatGPT. You Must Learn In 2025
Digilearnings
 
Living Systems Unveiled: Simplified Life Processes for Exam Success
omaiyairshad
 
A guide to responding to Section C essay tasks for the VCE English Language E...
jpinnuck
 
Module 1: Determinants of Health [Tutorial Slides]
JonathanHallett4
 
FAMILY HEALTH NURSING CARE - UNIT 5 - CHN 1 - GNM 1ST YEAR.pptx
Priyanshu Anand
 
national medicinal plants board mpharm.pptx
SHAHEEN SHABBIR
 
10CLA Term 3 Week 4 Study Techniques.pptx
mansk2
 
IDEAS AND EARLY STATES Social science pptx
NIRANJANASSURESH
 
ARAL-Guidelines-Learning-Resources_v3.pdf.pptx
canetevenus07
 
quizbeenutirtion-230726075512-0387d08e.pptx
domingoriahlyne
 
Stepwise procedure (Manually Submitted & Un Attended) Medical Devices Cases
MUHAMMAD SOHAIL
 
Company - Meaning - Definition- Types of Company - Incorporation of Company
DevaRam6
 
MALABSORPTION SYNDROME: NURSING MANAGEMENT.pptx
PRADEEP ABOTHU
 
ROLE OF ANTIOXIDANT IN EYE HEALTH MANAGEMENT.pptx
Subham Panja
 
Tips for Writing the Research Title with Examples
Thelma Villaflores
 
Ad

Advances In Grid Computing Zoran Constantinescu

  • 1. Advances In Grid Computing Zoran Constantinescu download https://ebookbell.com/product/advances-in-grid-computing-zoran- constantinescu-2337076 Explore and download more ebooks at ebookbell.com
  • 2. Here are some recommended products that we believe you will be interested in. You can click the link to download. Advances In Grid Computing Egc 2005 European Grid Conference Amsterdam The Netherlands February 1416 2005 Revised Selected Papers 1st Edition Georgi Graschew https://ebookbell.com/product/advances-in-grid-computing- egc-2005-european-grid-conference-amsterdam-the-netherlands- february-1416-2005-revised-selected-papers-1st-edition-georgi- graschew-4238888 Advances In Grid And Pervasive Computing 6th International Conference Gpc 2011 Oulu Finland May 1113 2011 Proceedings 1st Edition Daron G Green Auth https://ebookbell.com/product/advances-in-grid-and-pervasive- computing-6th-international-conference-gpc-2011-oulu-finland- may-1113-2011-proceedings-1st-edition-daron-g-green-auth-2226414 Advances In Grid And Pervasive Computing 5th International Conference Gpc 2010 Hualien Taiwan May 1013 2010 Proceedings 1st Edition Peter Sloot Auth https://ebookbell.com/product/advances-in-grid-and-pervasive- computing-5th-international-conference-gpc-2010-hualien-taiwan- may-1013-2010-proceedings-1st-edition-peter-sloot-auth-2532906 Advances In Grid And Pervasive Computing 5th International Conference Gpc 2010 Hualien Taiwan May 1013 2010 Proceedings 1st Edition Peter Sloot Auth https://ebookbell.com/product/advances-in-grid-and-pervasive- computing-5th-international-conference-gpc-2010-hualien-taiwan- may-1013-2010-proceedings-1st-edition-peter-sloot-auth-4140292
  • 3. Advances In Grid And Pervasive Computing 7th International Conference Gpc 2012 Hong Kong China May 1113 2012 Proceedings 1st Edition Thepparit Banditwattanawong Auth https://ebookbell.com/product/advances-in-grid-and-pervasive- computing-7th-international-conference-gpc-2012-hong-kong-china- may-1113-2012-proceedings-1st-edition-thepparit-banditwattanawong- auth-4140294 Advances In Grid And Pervasive Computing 4th International Conference Gpc 2009 Geneva Switzerland May 48 2009 Proceedings 1st Edition Marcel Risch https://ebookbell.com/product/advances-in-grid-and-pervasive- computing-4th-international-conference-gpc-2009-geneva-switzerland- may-48-2009-proceedings-1st-edition-marcel-risch-4521394 Advances In Grid And Pervasive Computing Third International Conference Gpc 2008 Kunming China May 2528 2008 Proceedings 1st Edition Kai Hwang Auth https://ebookbell.com/product/advances-in-grid-and-pervasive- computing-third-international-conference-gpc-2008-kunming-china- may-2528-2008-proceedings-1st-edition-kai-hwang-auth-4605658 Advances In Grid And Pervasive Computing Second International Conference Gpc 2007 Paris France May 24 2007 Proceedings 1st Edition Chaotung Yang https://ebookbell.com/product/advances-in-grid-and-pervasive- computing-second-international-conference-gpc-2007-paris-france- may-24-2007-proceedings-1st-edition-chaotung-yang-978976 Advances In Grid And Pervasive Computing First International Conference Gpc 2006 Taichung Taiwan May 35 2006 Proceedings 1st Edition Chienmin Wang https://ebookbell.com/product/advances-in-grid-and-pervasive- computing-first-international-conference-gpc-2006-taichung-taiwan- may-35-2006-proceedings-1st-edition-chienmin-wang-1547328
  • 5. ADVANCES IN GRID COMPUTING Edited by Zoran ConstanƟnescu
  • 6. Advances in Grid Computing Edited by Zoran Constantinescu Published by InTech Janeza Trdine 9, 51000 Rijeka, Croatia Copyright © 2011 InTech All chapters are Open Access articles distributed under the Creative Commons Non Commercial Share Alike Attribution 3.0 license, which permits to copy, distribute, transmit, and adapt the work in any medium, so long as the original work is properly cited. After this work has been published by InTech, authors have the right to republish it, in whole or part, in any publication of which they are the author, and to make other personal use of the work. Any republication, referencing or personal use of the work must explicitly identify the original source. Statements and opinions expressed in the chapters are these of the individual contributors and not necessarily those of the editors or publisher. No responsibility is accepted for the accuracy of information contained in the published articles. The publisher assumes no responsibility for any damage or injury to persons or property arising out of the use of any materials, instructions, methods or ideas contained in the book. Publishing Process Manager Katarina Lovrecic Technical Editor Teodora Smiljanic Cover Designer Martina Sirotic Image Copyright DrHitch, 2010. Used under license from Shutterstock.com First published February, 2011 Printed in India A free online edition of this book is available at www.intechopen.com Additional hard copies can be obtained from [email protected] Advances in Grid Computing, Edited by Zoran Constantinescu p. cm. ISBN 978-953-307-301-9
  • 7. free online editions of InTech Books and Journals can be found at www.intechopen.com
  • 9. Part 1 Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Part 2 Chapter 7 Preface IX Resource and Data Management 1 Application of Discrete Particle Swarm Optimization for Grid Task Scheduling Problem 3 Ruey-Maw Chen A Framework for Problem- Specific QoS Based Scheduling in Grids 19 Mohamed Wahib, Asim Munawar, Masaharu Munetomo and Kiyoshi Akama Grid-JQA: A QoS Guided Scheduling Algorithm for Grid Computing 29 Leyli Mohammad Khanli and Saeed Kargar Autonomic Network-Aware Metascheduling for Grids: A Comprehensive Evaluation 49 Agustín C. Caminero, Omer Rana, Blanca Caminero and Carmen Carrión Quantum Encrypted Data Transfers in GRID 73 M. Dima, M. Dulea, A. Dima, M. Stoica and M. Udrea Data Consolidation and Information Aggregation in Grid Networks 95 Panagiotis Kokkinos and Emmanouel Varvarigos Grid Architectures and Development 119 A GPU Accelerated High Performance Cloud Computing Infrastructure for Grid Computing Based Virtual Environmental Laboratory 121 Giulio Giunta, Raffaele Montella, Giuliano Laccetti, Florin Isaila and Javier García Blas Contents
  • 10. Contents VI Using Open Source Desktop Grids in Scientific Computing and Visualization 147 Zoran Constantinescu and Monica Vladoiu Security in the Development Process of Mobile Grid Systems 173 David G. Rosado, Eduardo Fernández-Medina and Javier López Grid Enabled Applications 199 Grid Computing for Artificial Intelligence 201 Yuya Dan Grid Computing for Fusion Research 215 Francisco Castejón and Antonio Gómez-Iglesias A Grid Enabled Framework for Ubiquitous Healthcare Service Provisioning 229 Oludayo, O., Olugbara, Sunday, O. Ojo, and Mathew, O. Adigun The Porting of Wargi-DSS to Grid Computing Environment for Drought Plans in Complex Water Systems 253 Andrea Sulis, Valeria Ardizzone, Emilio Giorgio and Giovanni M. Sechi Chapter 8 Chapter 9 Part 3 Chapter 10 Chapter 11 Chapter 12 Chapter 13
  • 13. Preface During the last decades we have been experiencing the historic evolution of Informa- tion and Communication Technology’s integration into our society to the point that many times people use it transparently. As we become able to do more and more with our advanced technologies, and as we hide them and their complexities completely from their users, we will have accomplished the envisioned “magic” desideratum that any advanced technology must fulfill in Arthur Clarke’s vision. Internet has enabled a major breakthrough, not so long ago, when its standards and technologies provided for near-universal connectivity, broad access to content, and, consequently, for a new model for science, engineering, education, business, and life itself. That development has been extraordinary in many respects, and, the Grid is expected to continue this momentous evolution toward fulfilling of Licklider’s vision of man-computer symbio- sis and intergalactic network that enable people and computers to cooperate in making decisions and controlling complex situations without inflexible dependence on predetermined programs. Grid Computing is a model of distributed computing that uses geographically and administratively distinct resources that can be reached over the network: processing power, storage capacity, specific data, input and output devices, etc. Foster’s canoni- cal definition of Grid states that it is a system that coordinates distributed resources using standard, open, general-purpose protocols and interfaces to deliver nontrivial qualities of ser- vice. In grid computing, individual users can access computers and data transparently, without having to consider location, operating system, account administration, and other details, which are abstracted from the users. Grid computing aims to achieve a secured, controlled and flexible sharing of virtualized resources among various dy- namically created virtual organizations. However, the construction of an application that may benefit from advantages of grid computing, i.e. faster execution speed, con- necting of geographically separated resources, interoperation of software, and so on, typically requires the installation of complex supporting software, and, moreover, an in-depth knowledge of how this software works. This book approaches grid computing from the perspective of the latest achievements in the field, providing an insight into the current research trends and advances, and presents a large range of innovative research in this field. The topics covered in this book include resource and data management, grid architectures and development, and
  • 14. X Preface grid-enabled applications. The book consists of 13 chapters, which are grouped into three sections as follows. First section, entitled Resource and Data Management, consists of chapters 1 to 6, and discusses two main aspects of grid computing: the availabil- ity of resources for jobs (resource management), and the availability of data to the jobs (data management). New ideas employing heuristic methods from swarm intelligence or genetic algorithm, and quantum encryption are introduced. For instance, Chapter 1 focuses on applying discrete particle swarm optimization algorithm, a swarm intel- ligence inspired technique, to solve the task scheduling problem in grid computing. Chapter 2 discusses the use of application specific Quality of Service (QoS) param- eters for resource management, and proposes a framework for task scheduling using a multi objective genetic algorithm. Chapter 3 proposes a new QoS guided scheduling algorithm. Chapter 4 introduces an autonomic network-aware metascheduling archi- tecture, evaluating the benefits of taking the network into account when performing metascheduling, along with the need to react autonomically to changes in the system. Chapter 5 presents an attempt to use quantum encryption for data transmission in the grid. Chapter 6 proposes a number of data consolidation and information aggregation techniques, and evaluates by simulation the improvements in the reduction of conges- tion and information exchanged. The second section, named Grid Architectures and Development, includes chapters 7 to 9, and addresses some aspects of grid computing that regard architecture and develop- ment. Chapter 7 describes the development of a virtual laboratory for environmental applications, based on grid computing, cloud computing and GPU computing compo- nents. Chapter 8 presents the architecture of an open source, heterogeneous, desktop grid computing system, together with some examples of using it in the fields of scien- tific computing and visualization. Chapter 9 defines a systematic development process for grid systems that supports the participation of mobile nodes, and it incorporates security aspects from the earliest stages of development. Grid Enabled Applications, the last section of this book, includes chapters 10 to 13, and provides a diverse range of applications for grid computing, including a possible hu- man grid computing system, a simulation of the fusion reaction, ubiquitous healthcare service provisioning and complex water systems. Chapter 10 introduces the idea of us- ing grid computing in artificial intelligence, namely for thinking routines for the next move problems in the game of shogi (Japanese chess), and presents the possibility of the human Grid computing, which assists the position evaluation function with human intuition. Chapter 11 presents the application of grid computing in fusion research, the problems involved in porting fusion applications to the grid towards the final quest of a numerical fusion reactor. Chapter 12 describes the effort to design and evaluate a grid enabled framework for ubiquitous healthcare service provisioning, by integrat- ing different emerging technologies like telemedicine, wireless body area network and wireless utility grid computing technologies, to address the challenges of conventional healthcare system. Chapter 13 presents grid computing as a promising approach for scaled-up simulation analysis of complex water system with high uncertainty on hy- drological series.
  • 15. Preface XI In summary, this book covers significant aspects related to resource and data manage- ment, grid architectures and development, and grid-enabled applications, and it con- stitutes an invaluable asset for people interested in Grid Computing, from researchers and scholars/scientists to students and experts in the field. Hopefully, this book will contribute to the thoroughly integrated infrastructure of the future, in which systems, businesses, organizations, people etc., everything required for a smoothly working whole, will be in close, transparent and dynamic communication. As this infrastructure will become more and more autonomous, the quality of services will significantly improve, enabling people to make technology choices based on their needs rather than on anything else. Thus, the grid-enabled computational and data management infrastructure will evolve constantly toward a global phenomenon that will become a key enabler for science, in particular, and for society, in general. I would like to acknowledge the contribution of the authors, of the reviewers, and of the INTECH editors to this book, each of them having his or her merit to the quality of the final outcome. Zoran Constantinescu Department of Research and Development ZealSoft Ltd. Bucharest, Romania
  • 17. Part 1 Resource and Data Management
  • 19. 1 Application of Discrete Particle Swarm Optimization for Grid Task Scheduling Problem Ruey-Maw Chen National Chin-Yi University of Technology, Taichung, 411, Taiwan, R. O. C. 1. Introduction Many applications involve the concepts of scheduling, such as communications, packet routing, production planning [Zhai et al., 2006], classroom arrangement [Mathaisel & Comm, 1991], aircrew scheduling [Chang, 2002], nurse scheduling [Ohki et al., 2006], food industrial [Simeonov & Simeonovova, 2002], control system [Fleming & Fonseca, 1993], resource-constrained scheduling problem [Chen, 2007] and grid computing. There are many different types of scheduling problems such as real-time, job-shop, permutation flow-shop, project scheduling and other scheduling problems have been studied intensively. However, in this work, the studied grid task scheduling problem is much more complex than above stated classic task scheduling problems. Restated, a grid application is regarded as a task scheduling problem involving tasks with inter-communication and distributed homogeneous or heterogeneous resources, and can be represented by a task interaction graph (TIG). Grid is a service for sharing computing power and data storage capacity over the Internet. The grid systems outperform simple communication between computers and aims ultimately to turn the global network of computers into one vast computational resource. Grid computing can be adopted in many applications, such as high-performance applications, large-output applications, data-intensive applications and community-centric applications. These applications major concern to efficiently schedule tasks over the available multi-processor environment provided by the grid. A grid is a collaborative environment in which one or more tasks can be submitted without knowing where the resources are or even who owns the resources [Foster et al., 2001]. The efficiency and effectiveness of grid resource management greatly depend on the scheduling algorithm [Lee et al., 2007]. Generally, in the grid environment, these resources are different over time, and such changes will affect the performance of the tasks running on the grid. In grid computing, tasks are assigned among grid system [Salman, 2002]. The purpose of task scheduling in grid is to find optimal task-processor assignment and hence minimize application completion time (total cost). Most scheduling problems in these applications are categorized into the class of NP-complete problems. This implies that it would take amount of computation time to obtain an optimal solution, especially for a large-scale scheduling problem. A variety of approaches have been applied to solve scheduling problems, such as
  • 20. Advances in Grid Computing 4 simulated annealing (SA) [Kirkpatrick, 1983], neural network [Chen, 2007], genetic algorithm (GA) [Holland, 1987], tabu search (TS) [Glover, 1989; Glover, 1990], ant colony optimization (ACO) [Dorigo & Gambardella, 1997] and particle swarm optimization [Kennedy & Eberhart, 1995]. Among above stated schemes, many PSO-based approaches were suggested for solving different scheduling application problems including production scheduling [Watts & Strogatz, 1998], project scheduling [Chen, 2010], call center scheduling [chiu et al., 2009], and others [Behnamian et al., 2010; Hei et al., 2009]. In light of different algorithms studied, PSO is a promising and well-applied meta-heuristic approach in finding the optimal solutions of diverse scheduling problems and other applications. The particle swarm optimization (PSO) is a swarm intelligent inspired scheme which was first proposed by Kennedy and Eberhart [Kennedy & Eberhart, 1995]. In PSO, a swarm of particles spread in the solution search space and the position of a particle denotes a solution of studied problem. Each particle would move to a new position (new solution) determined by both of the individual experience (particle individual) and the global experience (particle swarm) heading toward the global optimum. However, many PSO derivatives have been studied, and one of them was named “discrete” particle swarm optimization (DPSO) algorithm proposed by Kennedy et al. [Kennedy & Eberhart, 1997] representing how DPSO can be used to solve problems. Hence, this study focuses on applying discrete particle swarm optimization algorithm to solve the task scheduling problem in grid computing. To enhance the performance of the applied DPSO, additional heuristic was introduced to solve the investigated scheduling problem in grid. Restated, simulated annealing (SA) algorithm was incorporated into DPSO to solve task assignment problem in grid environment. Moreover, the resulting change in position is defined by roulette wheel selection rule rather than the used rule in [Kennedy & Eberhart, 1997]. Furthermore, the dynamic situations are not considered; the distributed homogeneous resources in grid environment are considered in this investigation. 2. The task scheduling problem in grid computing There are different grid task scheduling problems exist including homogeneous and heterogeneous architectures. This section gives a class of task scheduling problem in homogeneous grid. Definition, limitation and objective of a grid computing system are presented. The introduced grid task scheduling problem can be represented as a task interaction graph (TIG) proposed by Salman et.al. [Salman, 2002], as displayed in Fig. 1. Figure 1 presents available memory in homogeneous grid, task processing time, memory requirement of each task, data exchange between tasks, and communication cost between grids. Meanwhile, two possible solutions are displayed in Fig. 2. Grid # 1 2 3 4 Memory available 25 40 30 25 Task # 1 2 3 4 5 Process time 15 10 20 30 15 Memory requirement 20 30 25 20 10
  • 21. Application of Discrete Particle Swarm Optimization for Grid Task Scheduling Problem 5 Fig. 1. Grid task scheduling problem representation [Salman et al., 2002] (a) (b) Fig. 2. Possible solutions A meta-heuristic algorithm that is based on the principles of discrete particle swarm optimization (PSO) is proposed for solving the grid scheduling problem. The traditional assignment problems are only concerned to minimize the total processing cost, and there is no communication cost between these tasks and grids. In homogeneous system, a grid environment can be represented as task interaction graph (TIG), G (V, E), where V ∈ {1, 2, . . . , M} is the set of the tasks and E are the interactions between these tasks as in Fig. 1. The M and N are the total number of tasks and the total number of grids (resources), respectively. The total amount of transmission data weight eij denotes the information exchange (interactive) data between tasks i and j. The pi is the processing time (cost) corresponding to the work load to be performed by task i on grid. In the example of TIG problem shown in Figure 1, the tasks 2 and 5 are processed on the grid 2. Restated, no communication cost exists between these two tasks (task 2 and 5). Additionally, each task i has memory requirement mi to be processed on one grid, and each grid requires enough memory to run their tasks. For example, the processing time of task 1 is 15 and scheduled on grid 1. The task 1 has to exchange data with the tasks 2, 4 and 5. However, the tasks 2, 4 and 5 are on different grids, this means that there are communication costs with task 1. Furthermore, tasks 4 and 5 are on the same grid and there is no communication cost required between them. Therefore, the total cost for grid 1 of possible solution case (a) is (15) + (5 × 2 + 1 × 2 + 4 × 3) = 39. Moreover, task 1 satisfies the memory constraint; that is, the memory requirement is 20 for task 1, which is less than the memory available of 25 for grid 1. The communication cost is computed by the communication cost (link cost) multiplies the edge weight (exchange data). The total cost for grids of different possible solutions as demonstrated in Fig. 2 are determined as follows.
  • 22. Advances in Grid Computing 6 Grids Total cost – case (a) Total cost – case (b) Grid 1 (15)+(5×2+1×2+4×3)=39 (15)+(5×2+4×3+1×3)=40 Grid 2 (10+15)+(5×2+1×3)+(1×2)=40 (10)+(5×2+1×3+6×1)=29 Grid 3 (20)+ (1×3+3×2)=29 (20)+ (1×3+3×2)=29 Grid 4 (30)+ (4×3+3×2)=48 (30+15)+(4×3+3×2)+(1×3+6×1)=72 A grid application completion time is defined as the latest time that grid finishes all scheduled tasks processing and communication. According to above total cost calculation, different task assignment in grid would obtain different application completion time. For example, case (b) solution of Fig. 2 yields application completion time 72; case (a) solution of Fig. 2 has less application completion time 48. Restated, the resulting schedule of case (a) is better than that of case (b). The grid system can be represented as a grid environment graph (GEG) G (P, C), where P = {1, 2, . . . , N} is the set of grids in the distributed system. The C represents the set of communication cost between these grids. The dij between grids i and j represents the link cost between the grids. The problem of this study is to assign these tasks in V to the set of grids P. The objective function is to minimize the maximum total execution time required by each grid and the communication cost among all the interactive tasks that satisfies the memory constraint on different grids. The problem can be defined as: Minimize {max (Cexe (k)+Ccom(k)) }, k∈{1, 2, . . . , N} (1) Where Cexe (k) = k i i A p ∈ ∑ , Ak is the set of tasks assigned to grid k (2) Cmem (k) = k i i A m ∈ ∑ , Ak is the set of tasks assigned to grid k (3) Ccom (k) = k k kp ij i A j A d e ∈ ∉ ⋅ ∑ ∑ ,for all grids p ≠ k, p=1 to N; i, j=1 to M (4) Subject to Cmem (k) ≤ MemAvail(k) (5) Where Cexe(k) is the total execution time of all tasks assigned to grid k and Ccom(k) is the total communication cost between tasks assigned to grid k. Those relative tasks are assigned to other grids in an assignment. The Cmem(k) is the total memory requirement of all tasks assigned to grid k, for which the value of Cmem(k) have to less than or equal than the total available memory of grid k; MemAvail(k) as listed in Eq. (5). The objective of the task assignment problem is to find an assignment schedule that the cost is minimized of one grid for a given TIG on a given GEG. In this study, the penalty function is adopted in the proposed algorithms. Penalty(k) = Cmem(k) - MemAvail(k) (6) In Eq. (6), the penalty(k) is set to zero if the constraint of Eq. (5) is satisfied.
  • 23. Application of Discrete Particle Swarm Optimization for Grid Task Scheduling Problem 7 3. Particle swarm optimization The particles swarm optimization (PSO) was first proposed by Kennedy and Eberhart in 1995. The original PSO is applied in real variable number space. There are a lot of task-resource assignment related works have been introduced in recent years [Kuo et al. 2009; Sha & Hsu, 2006; Bokhari, 1987; Chaudhary & Aggarwal, 1993; Norman & Thanisch, 1993]. These works indicated that the problems are set in a space featuring of continuous. However, the combinatorial problems are most of discrete or quantitative variables [Liao et al., 2007].PSO schematic diagram is displayed as in Fig. 3. The introduced grid task scheduling problem as in Fig. 1 can be regarded as a task-grid assignment problem in a graph as in Fig. 2. Fig. 3. PSO schematic diagram The particle swarm optimization is a multi-agent general meta-heuristic method, and can be applied extensively in solving many NP-complete or combinatorial problems. The PSO consists of a swarm of particles in the search space; the position of a particle is indicated by a vector which presents a potential solution of the problem. PSO is initialized with a population of particles (randomly assigned or generated by heuristic) and searches for the best position (solution or schedule) with the best fitness. In every generation or iteration, the local bests and global best are determined through evaluating the performances, i.e., the fitness values of current population of particles. A particle moves to a new position obtaining a new solution guided by the velocity (a vector). Hence, the velocity plays an important role in affecting the characters of creating new solution. There are two experience positions are used in the PSO; one is the global experience position of all particles, which memorizes the global best solution obtained from all positions (solutions) of all particles; the other is the individual experience position of each particle, which memorizes the local best solution acquired from the positions (solutions) of the corresponding particle has been at. These two experience positions and the inertia weight of the previous velocities used to determine the impact on the current velocity. The velocity retains part of prior velocity (the inertia) and driving particle toward the direction based on the global experience position and the individual experience position. Thus, the particles can derive new positions (solutions) by their own inertia and experience positions. Velocity Individual experience Global experience Current Position New position?
  • 24. Advances in Grid Computing 8 In traditional PSO, the search space (solution space) is D dimension space (the number of dimension is corresponding to the parameters of solutions) and the population consists of Np particles. For the ith particle (i = 1, . . . , Np), the position consists of M components Xi = {Xi1, . . . , XiM}, Xij is the jth component of the ith position. The velocity Vi = {Vi1,…, ViM}, where Vij is the velocity component corresponding to the component of Xij, and the individual experience is a position Li = {Li1, . . . , LiM} which is the local best solution for the ith particle. Additionally, G = {G1,. . . , GM} represents the global best experience shared among all particles achieved so far. The mentioned parameters above are used to calculate the updating of the jth component of the position and velocity for the ith particle, as shown in Eq. (7). 1 1 2 2 ( ) ( ) new new new ij ij ij ij j ij ij ij ij V wV c r L X c r G X X X V − − ⎧ = + + ⎪ ⎨ = + ⎪ ⎩ (7) Where w is an inertia weight used to determine the influence of the previous velocity to the new velocity. The c1 and c2 are learning factors used to derive how the ith particle approaching the position either closes to the individual experience position or global experience position respectively. Furthermore, the r1 and r2 are the random numbers uniformly distributed in [0, 1], influencing the tradeoff between the global exploitation (based on swarm’s best experience) and local exploration (based on particle’s best experience) abilities during search. 4. Simulated annealing algorithm Other meta-heuristics are usually combined into PSO to increase the problem solving performance. SA is one of the popular algorithms to be combined with other meta-heuristic schemes. Simulated annealing (SA) was first introduced by Metropolis in 1953 [Metropolis et al., 1953]. Meanwhile, SA is a stochastic method for combinatorial problem optimization. Furthermore, SA is one of the efficient methods applied to solve widely complex problems [Kirkpatrick, 1983]. The original SA procedure is listed as shown in Fig. 4. Initial solution S, compute corresponding energy E Set the initial temperature (T), cooling rate (r) While E <> 0 S’ = Generate the new solution Compute new energy E’corresponding to S’ and calculate ΔE = E’- E If ΔE<0 then accept S = S’, E = E’ Else Compute the ( ) E T e δ Δ − = Accept the new solution when random number < δ Decrease the temperature T = T × r Fig. 4. Simulated annealing algorithm In Fig.4, the energy E is corresponding to solution S, and energy E’ is correlated to solution S’. However, energy definition is determined by the studied problem. Hence, E is defined as {max(Cexe(k)+Ccom(k))}+Penalty(k), k∈{1, 2,…, N} in this investigation. The temperature, T, is the magnitude of fluctuation; it is a key parameter in controlling the search direction as well as the step size toward the global minimum. The applied cooling schedule is controlled by
  • 25. Application of Discrete Particle Swarm Optimization for Grid Task Scheduling Problem 9 T=T×r. The acceptance criterion of worse solution is based on the probabilistic process which is dependent on the temperature and energy difference between two states. Restated, the probability is determined by δ=exp(-ΔE/T). 5. Discrete particle swarm optimization method Kennedy and Eberhart developed a discrete version of PSO in 1997 [Kennedy & Eberhard, 1997]. The discrete PSO essentially differs from the original PSO in two characteristics. Firstly, the particle is composed of the binary variable. Secondly, the velocity represents the probability of the binary variable taking the value of one, i.e., the probability of task i is assigned to grid k in this study (i∈ {1, 2, . . . , M}; k∈{1, 2, . . . , N}). The discrete PSO is adopted by generating solutions for updating the particle’s position and velocity vectors to solve the task scheduling problem in parallel machines [Kashan & Karimi, 2009; Kashan et al., 2008; Lee et al., 2006]. Another similar to the discrete PSO optimization technique developed by Laskari et al. [Laskari et al., 2002], which is based on the truncation of the real values to their nearest integer. In this study, employed discrete PSO equations were introduced by Kennedy and Eberhard for solving the task assignment problem. The discrete PSO was also applied to solve the flowshop scheduling problem, and performed well in the computation result. This study conducts the discrete PSO method introduced by [Liao et al., 2007] and combines the SA algorithm for solving the task assignment problems in grid. The task-grid assignment problem will be then introduced. Assumes there are Np particles, and each particle searches for D = M×N dimension space (the number of tasks and grids). For the hth particle (h =1, . . . , Np), the position consists of M×N components Xh = {Xh11, . . . , XhMN}, Xhij ∈{0,1}is the ith task assigned to grid j for particle h ( i =1, . . . , M; j =1, . . . , N ). The velocity Vh = {Vh11, . . . , VhMN}, where Vhij is the velocity associated with component Xhij, and the individual experience for particle h is Lh = {Lh11, …, LhMN}, the local best solution for the hth particle. Additionally, G = {G11,…, GMP} represents the global best experience obtained and shared among all the population of particles. Above stated parameters are then used to update all components of the Vh. The velocity components updating for the hth particle is shown as in Eq. (8). 1 1 2 2 ( ) ( ) new hij hij hij hij ij hij V wV c r L X c r G X − = + − + (8) According to Eq. (8), each particle moves to new position according to its new velocity. However, the new position generation is not the same as in original PSO, Eq. (7). Kennedy and Eberhart claim that the higher velocity component value is more likely to choose 1 for the corresponding position component, while lower velocity component value favors the position component value of 0. Hence, a probability function is used as shown in Eq. (9). 1 ( ) 1 exp( ) hij hij s V V = + − (9) Equation (9) is the sigmoid function as displayed in Fig. 5, where s(Vhij) is defined as representing the probability of Xhij to be set to 0 or 1. To avoid the value of s(Vhij) approaching 0 or 1, a constant Vmax is used to limit the range of Vhij . In practice, Vmax is often set at 4, i.e., Vhij ∈ [−Vmax, +Vmax]. After transformation via Eq. (9), s(Vhij) is mapped to a value between 0 and 1, i.e., s(Vhij) ∈ (0, 1). For example, if Vmax =4 then probabilities will be
  • 26. Advances in Grid Computing 10 Fig. 5. Sigmoid function limited to s(Vhij), between 0.9820 and 0.018. In [Kennedy & Eberhart, 1997], the resulting change in position is defined by the following rule (Eq. (10)). 1, ( ) ( ) 0, hij hij hij X if rand s V X else ⎧ = < ⎪ ⎨ = ⎪ ⎩ (10) Where the rand( ) is a quasi-random number selected from a uniform distribution in [0.0, 1.0]. For task-grid assignment problem, each task can only be assigned to one grid. Therefore, in the proposed algorithm, each particle h places the unscheduled task i to grid j according to the following normalized probability [Liao et al., 2007]: ( ) ( , ) ( ) hij h hij j U s V q i j s V ∈ = ∑ , U is the set of grids (11) Restated, the determination of which grid to be assigned to an unscheduled task in the study is based on the roulette wheel selection rule which is well applied in genetic algorithm. Hence, according to roulette wheel selection rile, grid j is randomly selected from U for task i based on the probability distribution given by Eq. (11) and a generated random number. Based on the pseudo code of discrete PSO given by Kennedy et al. [Kennedy & Eberhard, 1997], the proposed algorithm is modified and showed in Fig. 6. The computation steps of the proposed algorithm in the simulation system can be summarized as: 1. Initialize the parameters and input the problem data.
  • 27. Application of Discrete Particle Swarm Optimization for Grid Task Scheduling Problem 11 2. Generate the initial particle solution, including velocity matrix (VN p MN ), and then transform the velocity to a matrix of s(Vhij), and use Eq. (11) to generate the matrix (XN p MN), and update the local best and global best solution. 3. Use Eq. (8) to generate new velocity of particles for the next generation until a specified stopping criterion is reached. Initialize and generate each particle solution of Xh matrix and velocity Vh Set Lh =Xh, h=1,…, Np, G = X1 Loop //find the global best solution For h= 1 to Np If Z(Xh)<Z(G) then // Z( ) objective function g = h //g is the index of the global best G End if Next h For h= 1 to Np Update the velocity matrix Vh based on Eq. (8) subject to Vhij∈ [−Vmax,+Vmax] map Vhij to s(Vhij) based on Eq. (9) calculate normalized probability qh(i, j) using Eq. (11) select grid j for task i (Xhij) by roulette wheel selection rule Update the assignment matrix Xh based on Simulated annealing ΔE = Z(Xh)-Z(Lh) if ΔE<0 then Lh = Xh else Compute the ( ) E T e δ Δ − = Lh = Xh when a generated random number Pa<δ End if Next h // find the local best solution For h = 1 to Np If Z(Xh)<Z(Lh) then // Z( ) objective function Lh = Xh // Lh is the best so far for particle h End if Next h decrease the temperature T Until the end of criterion is reached Fig. 6. The proposed discrete PSO combined with SA
  • 28. Advances in Grid Computing 12 5.1 DPSO encoding representation Encoding the task assignment problem in grid into the position vector of particle is necessary. Hence, encoding is illustrated by an example as follows. For example, there are 5 tasks to be distributed to 3 grids; the initial velocity for particle h (Vhij) is Task Grid 1 2 3 1 -1.2 -3.9 3.1 2 1.1 -2 -2.8 3 1.2 -2.6 3.2 4 -0.2 -1.9 -2 5 3.8 -0.4 0.4 According to Eq. (8), the updated velocity (Vhij) becomes Task Grid 1 2 3 1 -1.1 -3.5 2.8 2 1 -1.8 -2.5 3 1.1 -2.3 2.9 4 -0.2 -1.7 -1.8 5 3.4 -0.4 0.4 Then, the corresponding probability s(Vhij) is determined by Eq. (9) as follows. Task Grid 1 2 3 1 0.25 0.03 0.94 2 0.73 0.14 0.08 3 0.75 0.09 0.95 4 0.45 0.15 0.14 5 0.97 0.4 0.6 Hence, the normalized probability qh(i, j) (based on Eq. (11)) for applying roulette wheel selection rule is Task Grid 1 2 3 1 0.20 0.02 0.77 2 0.77 0.15 0.08 3 0.42 0.05 0.53 4 0.61 0.20 0.19 5 0.49 0.20 0.30 Where, qh (1, 1)=0.25/(0.25+0.03+0.94)≒0.20; qh (2, 1)=0.73/(0.73+0.14+0.08)≒0.77 and so forth. Finally, task-grid assignment based on roulette wheel selection rule will be
  • 29. Application of Discrete Particle Swarm Optimization for Grid Task Scheduling Problem 13 Task Grid 1 2 3 1 0 0 1 2 1 0 0 3 0 0 1 4 0 1 0 5 0 0 1 Restated, grid 1 would execute task 2; grid 2 services task 4; grid 3 is responsible for executing tasks 1, 3, and 5. 6. Experimental results To verify the performance of the presented algorithm (SA + discrete PSO), some simulation cases will be tested. Simulations use the cases of 5 and 10 tasks in 4 grids and 5 grids respectively to verify the performance of the proposed algorithm. According to Fig. 1, the 5- task case only uses 4 grids and suffers the heavy loading from the computation effort in which the processing time is much more than the communication cost. For the 10-task case, the setting of processing time is in the range of [5, 10], and it needs more communications than the processing cost. Tables 1-4 demonstrate simulation data for 5-task case. Simulation data for 10-task case are listed in Tables 5-8. The other parameters used in this study are set as following: The temperature T was set to 100 and cooling scheduling was set to 0.99 (r=0.99), i.e., T = T × 0.99, w = 0.7, c1 = c2 = 1 and Vmax = 4. There are 10 particles involved in simulation tests. The interactive matrix is symmetrical matrix as the grid distance matrix. Task # 1 2 3 4 5 Process time 15 10 20 30 15 Memory requirement 20 30 25 20 10 Table 1. Simulation data with 5 tasks Grid # 1 2 3 4 Memory available 25 40 30 25 Table 2. Memory available for 4 grids Task # 1 2 3 4 5 1 0 5 0 4 1 2 5 0 1 0 6 3 0 1 0 3 0 4 4 0 3 0 0 5 1 6 0 0 0 Table 3. Interaction cost matrix for 5 tasks
  • 30. Advances in Grid Computing 14 Task # 1 2 3 4 1 0 2 3 1 2 2 0 1 3 3 3 1 0 2 4 1 3 2 0 Table 4. Distance cost matrix for 4 grids Task # 1 2 3 4 5 6 7 8 9 10 Process time 10 9 8 7 6 5 5 9 8 10 Memory requirement 10 15 10 20 10 10 20 15 20 10 Table 5. Simulation data with 10 tasks Grid # 1 2 3 4 5 Memory available 100 90 130 90 100 Table 6. Memory available for 5 grids Task # 1 2 3 4 5 6 7 8 9 10 1 0 1 2 3 4 5 5 4 3 4 2 1 0 5 1 2 3 4 3 5 4 3 2 5 0 3 2 1 0 1 2 3 4 3 1 3 0 4 5 4 3 2 1 5 4 2 2 4 0 1 2 3 4 5 6 5 3 1 5 1 0 4 3 2 1 7 5 4 0 4 2 4 0 2 3 1 8 4 3 1 3 3 3 2 0 5 1 9 3 5 2 2 4 2 3 5 0 2 10 4 4 3 1 5 1 4 1 2 0 Table 7. Interaction cost matrix for 10 tasks Grid # 1 2 3 4 5 1 0 2 3 1 5 2 2 0 1 3 3 3 3 1 0 2 4 4 1 3 2 0 6 5 5 3 4 6 0 Table 8. Distance cost matrix for 5 grids In the example of 5-task in 4 grids environment, the best solution can be found in Table 9. Table 9 indicates that task 4 is assigned to grid 4; task 1 is assigned to grid 1, and so on. The total processing cost for task 4 on grid 4 is 30. Based on Tables 3 and 4, task 4 has interaction with tasks 1 and 3, and the communication cost to tasks 1 and 3 is 1×4 + 2×3 = 10. Thus, the total cost for grid 4 is 48. Similarly, the obtained best solution of 10-task case is displayed in Table 10.
  • 31. Application of Discrete Particle Swarm Optimization for Grid Task Scheduling Problem 15 Grid # Task # 1 2 3 4 1 1 0 0 0 2 0 1 0 0 3 0 0 1 0 4 0 0 0 1 5 0 1 0 0 Table 9. The assignment results for 5 tasks in 4 grids with cost of 40 Grid # Task # 1 2 3 4 5 1 0 1 0 0 0 2 0 0 1 0 0 3 0 0 1 0 0 4 0 1 0 0 0 5 0 1 0 0 0 6 0 0 1 0 0 7 0 0 1 0 0 8 0 0 1 0 0 9 0 1 0 0 0 10 0 0 1 0 0 Table 10. The assignment results for 10 tasks in 5 grids with cost of 138 Table 10 shows the result of 10-task case that more grids may not decrease the total cost due to the communication cost. Furthermore, extra tests were simulated; the total numbers of tasks were set 20 to 50, the processing times of tasks are uniform distribution in [5, 10] and the memory requirement is also uniform distribution in [50, 100]. The numbers of grids are from 6 to 15, the total available memory is uniform distribution in [200, 400]. The interactive data between of tasks are varying from 1 to 10, and the communications between grids are varied by uniform distribution from 1 to 10. Simulation results demonstrate that more iterations or number of particles obtain the better solution since more solutions were generated as displayed in Table 11. Number of particles 10 20 # of iterations # of iterations (Task, Grid) 100 300 100 300 500 20,6 1967 1888 1946 1872 1818 20,8 1619 1611 1611 1608 1569 20,12 1308 1249 1263 1241 1163 30,8 3347 3325 3329 3325 3315 30,12 2514 2359 2470 2359 2359 30,15 1998 1998 1998 1957 1957 40,12 4276 4276 4276 4276 4276 40,15 4008 3808 3808 3562 3562 50,15 5157 5157 5741 5157 5156 Table 11. Simulation results
  • 32. Advances in Grid Computing 16 7. Summary This study introduces the discrete PSO algorithm for solving task-grid assignment problem in a distributed grid environment. Experiment results indicate that the discrete version of PSO combining simulated annealing is effective for solving task-grid assignment problems. However, more complicated cases can be considered in-depth, such as more realistic examples and more tasks involved. For example, a grid system consists of heterogeneous grids (with different process capabilities) is given. Restated, more complicated scheduling problem can be further solved using discrete PSO. Moreover, to further improve the discrete PSO performance, some other heuristics are suggested to be included, for example, insertion, 2-opt or others. Further research encourages that the extension of the discrete PSO by incorporating other meta-heuristics for solving different scheduling problems is recommended. 8. References Behnamian, J.; Zandieh, M. & Ghomi, S. M. T. F. (2010). Due windows group scheduling using an effective hybrid optimization approach. International Journal of Advanced Manufacturing Technology, Vol. 46, No. 5-8 (2010), pp. 721-735, ISSN (printed): 0268- 3768. Bokhari, S. H. (1987). Assignment Problems in Parallel and Distributed Computing, Kluwer Academic Publishers, ISBN: 0-89838-240-8, Boston (1987). Chang, S.C. (2002). A new aircrew-scheduling model for short-haul routes. Journal of Air Transport Management, Vol. 8, No. 4 (July 2002), pp. 249-260, ISSN: 0969-6997. Chaudhary, V. & Aggarwal, J. K. (1993). A generalized scheme for mapping parallel algorithms. IEEE Transactions on Parallel and Distributed Systems, Vol. 4, No. 3 (March 1993), pp. 328-346, ISSN: 1045-9219. Chen, R. M.; Lo, S. T. & Huang, Y. M. (2007). Combining competitive scheme with slack neurons to solve real-time job scheduling problem. Expert Systems with Applications, Vol. 33, No. 1 (July 2007), pp. 75–85, ISSN: 0957-4174. Chen, R. M.; Wu, C. L.; Wang, C. M. & Lo, S. T. (2010). Using novel particle swarm optimization scheme to solve resource-constrained scheduling problem in PSPLIB. Expert systems with applications, Vol. 37, No. 3 (March 2010), pp. 1899-1910, ISSN: 0957-4174. Dorigo, M. & Gambardella, L. M. (1997). Ant colony system: A cooperative learning approach to the traveling salesman problem. IEEE Transactions on Evolutionary Computation, Vol. 1, No. 1 (April 1997), pp. 53-66, ISSN: 1089-778X. Fleming, P. J. & Fonseca, C. M. (1993). Genetic algorithms in control systems engineering: a brief introduction. Proceedings of IEE Colloquium on Genetic Algorithms for Control Systems Engineering, London UK, 28 May 1993, pp. 1/1 - 1/5. Foster, I.; Kesselman, C. & Tuecke, S. (2001). The Anatomy of the Grid: Enabling Scalable Virtual Organizations. Int’l J. of High Performance Computing Applications, Vol. 15, No. 3 (Fall 2001), pp. 200-222, ISSN (printed): 1094-3420. Glover, F. (1989). Tabu Search – Part I, ORSA Journal on Computing, Vol. 1, No. 3 (Summer 1989), pp. 190–206, ISSN: 0899-1499. Glover, F. (1990). Tabu Search – Part II, ORSA Journal on Computing, Vio. 2, No. 1 (Winter 1990), pp. 4–32, ISSN: 0899-1499.
  • 33. Application of Discrete Particle Swarm Optimization for Grid Task Scheduling Problem 17 Hei, Y. Q.; Li, X. H.; Yi, K. C. & Yang, H. (2009). Novel scheduling strategy for downlink multiuser MIMO system: Particle swarm optimization. Science in China - Series F: information Sciences, Vol. 52, No. 12 (2009), pp. 2279-2289, ISSN (printed): 1009-2757. Holland, J. H. (1987). Genetic algorithms and classifier systems: foundations and future directions. Proceedings of 2nd international conference on genetic algorithms and their application, pp. 82-89, ISBN:0-8058-0158-8, Cambridge, Massachusetts, United States, 1987, L. Erlbaum Associates Inc., Hillsdale, NJ, USA. Kashan, A. H. & Karimi, B. (2009). A discrete particle swarm optimization algorithm for scheduling parallel machines. Computers & Industrial Engineering, Vol. 56, No. 1 (February 2009), pp. 216-223, ISSN: 0360-8352. Kashan, A. H.; Karimi, B. & Jenabi, M. (2008). A hybrid genetic heuristic for scheduling parallel batch processing machines with arbitrary job sizes. Computers and Operations Research, Vol. 35, No. 4 (April 2008), pp. 1084-1098, ISSN: 0305-0548. Kennedy, J. & Eberhart, R. C. (1995). Particle swarm optimization. Proceedings of IEEE Int’l. Conf. on Neural Networks, pp. 1942-1948, ISBN: 0-7803-2768-3, Perth, WA , Australia, Nov/Dec 1995. Kennedy, J., Eberhard, R.C. (1997). A discrete binary version of the particle swarm algorithm. Proceedings of IEEE Conference on Systems, Man, and Cybernetics, pp. 4104-- 4109, ISBN: 0-7803-4053-1, Orlando, FL , USA, Oct. 1997, Piscataway, NJ. Kirkpatrick, S.; Gelatt, C. D. & Vecchi, M. P. (1983). Optimization by Simulated Annealing. Science, Vol. 220, No. 4598 (May 1983), pp. 671 – 680, ISSN: 0036-8075. Kuo, I. H.; Horng, S. J.; Kao, T. W.; Lin, T. L.; Lee, C. L.; Terano, T. & Pan, Y. (2009). An efficient flow-shop scheduling algorithm based on a hybrid particle swarm optimization model. Expert systems with applications, Vol. 36, No. 3 (April 2009), pp. 7027-7032, ISSN: 0957-4174. Laskari, E. C.; Parsopoulos, K. E. & Vrahatis, M. N. (2002). Particle swarm optimization for integer programming. Proceedings of the IEEE Congress on Evolutionary Computation, pp. 1582-1587, ISBN: 0-7803-7282-4, Honolulu, HI , USA, May 2002. Lee, L. T.; Tao, D. F. & Tsao, C. (2007). An adaptive scheme for predicting the usage of grid resources. Computers & Electrical Engineering, Vol. 33, No. 1 (Jan. 2007), pp. 1-11, ISSN:0045-7906. Lee, W. C.; Wu, C. C. & Chen, P. (2006). A simulated annealing approach to makespan minimization on identical parallel machines. International Journal of Advanced Manufacturing Technology, Vol. 31, No. 3-4 (2006), pp. 328-334, ISSN (printed): 0268- 3768. Liao, C. J.; Tseng, C. T. & Luarn, P. (2007). A discrete version of particle swarm optimization for flowshop scheduling problems. Computers and Operations Research, Vol. 34, No. 10 (October 2007), pp. 3099-3111, ISSN: 0305-0548. Mathaisel, D. & Comm, C. (1991). Course and classroom scheduling: an interactive computer graphics approach. Journal of Systems and Software, Vol. 15 (May 1991), pp. 149-157, ISSN: 0164-1212. Metropolis, N.; Rosenbluth, A. W.; Rosenbluth, M. N.; Teller, A. H. & Teller, E. (1953). Equation of State Calculations by Fast Computing Machines. The Journal of Chemical Physics, Vol. 21, No. 6 (June 1953), pp. 1087-1092, ISSN (printed): 0021-9606.
  • 34. Advances in Grid Computing 18 Norman, M. G. & Thanisch, P. (1993). Models of machines and computation for mapping in multicomputers. ACM Computing Surveys, Vol. 25, No. 3 (September 1993), pp. 263- 302, ISSN: 0360-0300. Ohki, M.; Morimoto, A. & Miyake, K. (2006). Nurse Scheduling by Using Cooperative GA with Efficient Mutation and Mountain-Climbing Operators. Proceedings of 2006 3rd International IEEE Conference on Intelligent System, pp. 164–169, London, Sept. 2006. Salman, A.; Ahmad, I. & Al-Madani, S. (2002). Particle swarm optimization for task assignment problem. Microprocessors and Microsystems, Vol. 26, No. 8 (November 2002), pp. 363-371, ISSN: 0141-9331. Sha, D. Y. & Hsu, C. Y. (2006). A hybrid particle swarm optimization for job shop scheduling problem. Computers and Industrial Engineering, Vol. 51, No. 4 (December 2006), pp. 791-808, ISSN:0360-8352. Simeonov, S. & Simeonovova, J. (2002). Simulation Scheduling in Food Industry Application, Mathematical and statistical methods. Food processing and preservation, Vol. 20, No. 1 (Jan. 2002), pp. 31-37, ISSN: 1212-1800. Watts, D. J. & Strogatz, S. H. (1998). Collective dynamics of ‘small-world’ networks. Nature, Vol. 393, No. 6684 (June 1998), pp. 440–442, ISSN (printed): 0028-0836. Zhai, X.; Tiong, R.L.K.; Bjornsson, H.C. & Chua, D.K.H. (2006). A Simulation-Ga Based Model for Production Planning in Precast Plant, Proceedings of Winter Simulation Conference, pp. 1796 – 1803, ISBN: 1-4244-0500-9, Monterey, CA, Dec. 2006.
  • 35. Mohamed Wahib1, Asim Munawar2, Masaharu Munetomo3 and Kiyoshi Akama4 1,2Gradute School of Information Science and Technology, Hokkaido University, Sapporo 3,4Information Initiative Center, Hokkaido University, Sapporo Japan 1. Introduction Grid computing is generally viewed as task assignment to distributed resources. While in practice many factors do complicate this scheduling process (e.g. resource monitoring and discovery, resource failures, resources ownership and policies ... etc), the process is still viewed as resource scheduling according to some criteria. The criteria are referred to as Quality of Service (QoS) attributes in grid computing context. QoS in general are non-functional characters describing a process. QoS attributes are divided into two main groups, namely objective QoS and subjective QoS. Objective QoS attributes are used to specify performance parameters including timeliness, precision, accuracy, security requirements and availability. Subjective QoS attributes, on the other hand, capture application specific policies that govern how an application is treated by the resource manager. In this chapter, objective QoS attributes are referred to as basic QoS attributes, while subjective QoS attributes are referred to as application-specific QoS attributes. In comparison to application-specific QoS attributes, a huge legacy of scheduling with the basic QoS attributes exists. This chapter proposes adopting application-specific QoS attributes to define new criteria other than the basic ones to enhance the preference of which resources to choose in the task assignment process as the QoS attributes are application-specific (e.g. a Grid application involving service tasks that retrieve images from a service resource could have the color depth and resolution as QoS attributes). For grid computing to go beyond the basic QoS attributes the following challenges need to be addressed: a) A method to formally define new application-specific QoS attributes. b) A method to measure the QoS attribute fidelity of a specific resource. c) Scheduling the tasks over the resources taking into consideration the defined application-specific QoS attributes. This chapter addresses these challenges and proposes a framework that starts from defining new application-specific QoS attributes until the tasks are executed over the resources. As for the first challenge, a system for defining QoS using a formal language is inspired from Canfora et al. (2006) which proposes service composition binding driven by application-specific QoS. The domain of Canfora et al. (2006) is different from the work in this chapter. This is because the authors are concerned with the composition of services that are initially defined as an abstract workflow, where for each service in the workflow a set of service providers are defined. Then the scheduler/binder makes a concrete workflow at which each service in the abstract workflow is bind to a service provider. Canfora et al. addressed how application A Framework for Problem-Specific QoS Based Scheduling in Grids 2
  • 36. specific QoS attributes can be defined and aggregated to be used for scheduling. The basic idea is implementing a QoS aggregation function definition interface and a QoS definition language, so the administrator through a simple QoS aggregation function editor could define new QoS(s). The QoS definition in this framework here builds on and extends the work done by Canfora though it is defined for a different discipline (i.e. SOA). It is of no-awkwardness to use a mechanism that was originally defined in SOA (Service Oriented Architecture) service workflows to be used in grid computing. As grid computing and SOA have many tangency points. And this point in particular could be considered a convergence point between grid computing and SOA. At the first glance, scheduling tasks in such an environment seem to add more complexity to the traditional problems of task assignment. However, the definition of task associated QoS attributes is utilized to enrich the task assignment process. The Chapter illustrates the framework, describes the design and implementation of the framework and finally demonstrates a use case to emphasize on the functional efficiency of the framework. The rest of this paper is organized as follows; the next section is a brief review on subjective QoS representation in service environments. Section 3.discusses the proposed framework. Section 4. discusses the experiments that were conducted using the proposed framework. Finally section 5.concludes and adds insight to future work. 2. Subjective QoS representation in service environments Quality of Service is an overarching term covering different parts of end-to-end service quality. The general definition of QoS provided by the International Telecommunication Union (ITU)Recommendation (1994) is that QoS is Şthe collective effect of service performance, which determines the degree of satisfaction of a user of the serviceŤ. Different people and communities nevertheless interpret QoS differently, and at least the following viewpoints of QoS can be distinguished: QoS requirements of a user, QoS perceived by the user, QoS offered or planned by a provider, and QoS delivered or achieved by the provider. We are discussing QoS in the userŠs point of view. There are two main aspects of QoS: subjective and objective. Subjective QoS essentially is the userŠs overall perception of service quality, that is, it is the userŠs opinion whether a service is working satisfactorily or not. Subjective QoS is often difficult to be specified with objective measures, at least in a way meaningful for users, and thus user-perceived quality is often expressed also non-technicallyBouch et al. (2000). Objective QoS then refers to the technical aspects of QoS, and can be specified with quantitative measures. Grid Application QoS parameters are not necessarily applicable to express subjective QoS, since a user has a high-level perspective over application performance, rather than an in-depth conception of details of the underlying implementation and operation of the service. Therefore, application quality and its variation need to be expressed in terms that describe user-perceivable effects, instead of their causes in the end-to-end functionality. It should be noted also that subjective application quality deterioration is not solely caused by operational QoS fluctuations, but is attributable to numerous other factors, including characteristics of the ongoing task (e.g. urgency), applicationŠs incompatibility with the service provided, application or protocol malfunction, disturbing factors in usage environment (e.g. faulty equipment), and so forth. Two principal approaches for subjective application quality assessment exist: user study methods and objective measurements. The user study methods include, e.g. Mean Opinion Scores (MOS), continuous assessment, Task Performance Measures (TPMs), and qualitative methodsBouch et al. (2001). Objective measurements, on the other hand, rely on measurement 20 Advances in Grid Computing
  • 37. of some application quality metric(s) (e.g. Peak-Signal-to-Noise-Ratio (PSNR) for video)Wang et al. (2003). Generally, MOS are used on a wide scale to collect the subjectsŠ opinions of the experienced service quality. In short, MOS enables performing controlled assessment of subjective QoS with untrained subjects and controlled levels of qualityBouch et al. (2001). The method employs a 5-point scale, according to which subjects judge the experienced quality after conducting a task. The given ratings are then averaged across the subjects to get the final MOS. This paper proposes a problem-specific QoS based scheduling in grids. To determine the optimal choice of services/applications, the approach needs to estimate the subjective QoS. This can be done using some aggregation formulae. The formulae define aggregation functions for defined QoS attributes. While this approach is far from being general (i.e. needs to be customized for each application as the QoS aggregator can operate differently). Yet, we argue that the proposed approach gives a methodology for quantifying subjective QoS and thus is more reliable compared to the user study methods. 3. The proposed framework 3.1 Defining and evaluating subjective QoS attributes In order for the framework to define and evaluate subjective QoS attributes we developed a language that permits to specify a new QoS attribute. As mentioned in the introduction, the language proposed here extends the work by Canfora et al. (2006) which defined QoS aggregation formulae for each pair QoS attribute–workflow construct. In most cases, the aforementioned aggregation formulae are cabled in the optimization algorithm the binder is using. Therefore, it is necessary to provide a language and a tool to specify aggregation formulae, and to allow the schedular to interpret such formulae for estimating the QoS of the grid services. The method by which the framework defines and evaluates subjective QoS attributes is as follows: QoS definition language: For a language to permit specifying new QoS attributes, two things are required; type and scale. The type can be only primitive types (integer, real and Boolean) as in WSLA+ languageNepal et al. (2008), or include collection types (i.e. a set constituted of sets of atomic values) as Canfora did. The scale limits the set of admissible operations. The language developed by Canfora includes the scales required for our framework, so no change is required in this part. The point of difference here is the set of operators and functions inherited form the Object Constraint Language (OCL) Warmer & Kleppe (2003) that is used by Canfora. This is due to using those operators and functions in computing overall workflow QoS, while in the proposed framework accepts both inter-dependent task (i.e. workflows) and individual tasks. In the case of workflow tasks, the operators and functions defined by Canfora are sufficient, while in the case of individual tasks the operators are not used due to tasks independency. The next step is to show how the QoS formula specification is supported by a guided editor and type-checker. QoS aggregation: The QoS aggregator introduced by Canfora et al. (2006) was implemented in Java using the Java Compiler (JavaCC) parser generator, while for the GUI, JSP was used. The aggregator was adopted here by including the aggregator in a Vine portlet and adding it to the gridsphere portal. Modifications were done to drop operators for individual tasks as mentioned earlier, associate the newly defined Qos attribute to any of the task types registered by the administrator and finally adapting the original JSP to work with the Adobe Flex GUI used in gridsphere 3.1. The aggregator include three basic modules; QoS aggregation function editor a portlet that the administrator can use to define new QoS attributes and their aggregation formula (see figure1), Type checker used at design time for verifying 21 A Framework for Problem-Specific QoS Based Scheduling in Grids
  • 38. integrity of the aggregation formula, QoS formula interpreter that at run time evaluates QoS for a possible workflow/individual task assignment. An important point to note, the model for determining the expected QoS from each resource is executed as agents hosted on the resources. Note that these agents are also used for resource monitoring and discovery. As for the scheduling process, several projects in the literature attempted multiple QoS job scheduling. Generally speaking, these projects addressed mainly the basic QoS attributes in their work; cost, time, availability and fidelity. Those basic QoS attributes are agreed upon in literature to be the metrics for job scheduling in grids. Application specific QoS attributes were not considered in any of them as no service level presentation of resources provided features into which application-specific QoS attributes could be mapped. Li & Li (2007); Li et al. (2007) defined the 4 basic QoS attributes as utilities and identified an Integrated Utility Function (IUF) to be used for scheduling. A slight difference between them is that Li & Li (2007) used an iterative scheduling technique by separating the task agents and resources agents. Doǧan & özgüner (2006) proposed a static scheduling algorithm that uses utility functions for scheduling meta-task with QoS requirements in heterogeneous computing systems. The main aim of this project was to provide resource transparency and not include application-specific QoS attributes. Kim et al. (2006) did not define a scheduling method, yet it defined for the basic QoS attributes a flexible multi-dimensional QoS performance measure that could be later aggregated to be used for scheduling. A notable point is that the authors defined a method that is theoretically applicable to model any new QoS attribute by representing the QoS attribute by a feature vector. This approach is generic but if used will shift the entire load to the application developer. Fig. 1. QoS aggregation function definition interface 3.2 Problem formulation Suppose that there are n independent users and user i is associated with task Ti, let T = T1, T2, ..., Tn denote the set of n independent tasks where task Ti is assigned to resource Rj and R = R1, R2, ..., Rm . Further, Rj can be composed of v resources, where 1≤v≤m. The process of QoS-constrained task scheduling could be summarized in three steps. Step one is Resource Discovery, which is finding available resources complied by QoS constraints and generate a list of resources. Step two is Resource Planning, which involves selecting the optimized resources from the available resources list according to the scheduling strategy 22 Advances in Grid Computing
  • 39. satisfying user’s QoS constrains. The Γ : T → R denoting the matching function is a NP complete problemChristensen (2007). The third step is Task Execution. The tasks are scheduled or mapped onto selected resources to be executed. In the proposed framework, QoS attributes are described as utility functions. So the integrated utility function is the accumulation of all QoS attributes utility functions. The integrated utility is considered as the objective function of the scheduling algorithm to drive the scheduling of resources and optimizing the task execution with maximum utility. A very important point here is that utility functions have long been used in QoS constrained scheduling, but for this case a new factor requires special handling. The new factor is having different QoS attributes defined according to underlying application. Thus, the integrated utility function includes a set of mutually exclusive utility functions corresponding to the QoS attributes. The next step, after defining the integrated utility function, is to compute the value of the utility uk, 1≤k≤d where d is the total number of QoS constraints defined by the administrator, what we will call the dimension of QoS. The method used for computing the utility functions uses switch constructs as in Anselmi et al. (2007) to iteratively update the selection probabilities of the selected resources. For each task Ti a decision matrix Q = qij m×d is created, among it, m represents the number of resources that can host Ti, d represents the dimension of QoS attributes considered by the this type of task. Q matrix is not used directly, Q is normalized to make the normalized matrix P = pij m×d , j = 1, ..., m, k = 1, ..., d, where normalizing is done as follows: pjk = ⎧ ⎪ ⎪ ⎨ ⎪ ⎪ ⎩ minj qjk /qjk if uk is optimally minimized qjk/maxj qjk if uk is optimally maximized Supposing ω = (ω1, ω2, ..., ωd) is attribute weighting vector, Then the integrated utility function for the evaluation of the selected resources can be defined as: Uij (ω) = S ∑ t=1 Ct y ∑ l=x pjlωl where S is the number of subjective QoS attributes defined by the administrator to be used in the system, Ct is a Boolean constant having value 1 only for the QoS attributes subset of the task scheduled (i.e. QoS divided to subsets having a mutually exclusive relation.). x and y denote the start and end of the QoS attributes subset from the set of all QoS attributes defined. By sorting and computing Ui (ω), the best resource can be selected. Weights for utility functions in the mentioned related work are calculated by maximizing the deviations in utiliy values. In our case the QoS attributes are defined by the administrator according to the application. Therefore, the default weights are defined by the administrator according to the system used. The end user could calibrate the weights according to his interest in which QoS attributes significant for the job he is about to submit. 3.3 Scheduling using quantified subjective QoS attributes The scheduling process is basically viewed as a combinatorial optimization problem for the integrated utility function. Several approaches are used in the literature to solve this optimization problem, most approaches depend on a heuristic algorithms. Generally, GA (Genetic Algorithms)Jong (1992) based heuristic algorithms do not impose constraints on the linearity of the QoS composition operators, so they are considered the best option. However, 23 A Framework for Problem-Specific QoS Based Scheduling in Grids
  • 40. the prime focus in this work is to represent and utilize subjective QoS attributes. Thus, a simple rank-based algorithm is used to determine the focus on the aforementioned process As shown in the previous section, QoS attributes are described as utility functions, The integrated utility function aggregating all utility functions is regarded as an objective function of the scheduling algorithm to drive dynamic scheduling to the resources and optimizing the task execution with maximum utility by accumulating all QoS attributes utility functions. Figure2 shows the algorithm used for scheduling. One important point to note here, the algorithm is designed in a central way, which leads to weak scalability. Yet, the design of centralized scheduling algorithms is an important step towards developing more complex decentralized scheduling algorithms. Fig. 2. Algorithm used for scheduling 4. Use case and results Table 1. Test bed configuration This section presents the approach at work over Meta Heuristics Grid (MHGrid): a service oriented grid application offering meta heuristics based solvers for global optimization problems. MHGrid is designed to offer optimizing algorithms as grid services. The experiments were designed to cover possible task types in the framework. For the service tasks, individual and nested tasks of different sizes were introduced. The size is controlled by the problem length that the algorithms should solve. Three specific QoS attributes were defined; Solver to problem adequacy, the parallel pattern used and the fidelity or quality of output. These attributes are explained in details in Munawar et al. (2008). The same applies for computational tasks but with two different QoS attributes. Long timeouts were added in the solvers to test the latency tolerance with the solvers running in parallel mode. The other QoS 24 Advances in Grid Computing
  • 41. Fig. 3. Tasks assigned to each service varying the total amount of tasks Fig. 4. The effect of services tasks weight vector on execution success ratio attribute is data accuracy which is measured by round off errors resulting from float-point operations intentionally introduced to the solvers. As for the data tasks, dummy files where used to be transferred via GridFTPFoster (2006). The file sizes varied from 100MB to 20TB to represent different task sizes. One QoS attribute (i.e. priority) was defined for the data tasks where each task was assigned priority rank for the scheduler to attempt to meet the priority requirement of those tasks. In addition to that, workflow tasks for different task types where also created by the workflow portlet to be tested. Finally two basic QoS attributes (make span time and cost) were used for all tasks along with the specific QoS attributes defined for each task type. Table 1 shows the configuration used in the experiments. Note that tasks were introduced randomly with 20 tasks a time. Figure 3 shows the distribution different task sets over the resources. Each task was assigned to one of the five services (S1,S2,S3,S4,S5) overlaying the computational and data requirements. The experiments were executed on a grid having a dedicated 64 core mini-cluster with 2 x AMD Opteron 2.6 GHz Dual Core 64 bit processors and 2GB RAM for each node, the grid also has 2 dedicated servers each having a 2 x Xeon 2.8 GHz Dual Core with 2GB RAM. Execution 25 A Framework for Problem-Specific QoS Based Scheduling in Grids
  • 42. Fig. 5. The effect of computational tasks weight vector on execution success ratio Fig. 6. The effect of data tasks weight vector on execution success ratio success ratio is the metric used in the experiments to measure the framework’s ability to host and schedule variant task triplets. Other metrics such as resource utilization and task waiting time are important as well, but due to space limitation, results in terms of execution success ratio only are illustrated to evidate that a system can function whilst benefiting from subjective QoS attributes. Figures 4, 5 and 6 show the execution success ratio for the individual and nested tasks on different task types/sizes. The x-axis in all three figures is a configuration state for the QoS attributes considered. The last state (i.e. C6) is the plain state where all weights for task-specific QoS attributes are set to zero and only the basic time and cost QoS attributes with weight = 0.5 are considered. For the other states (i.e. C1 to C5) the weights are having values with an increasing mean from C1 to C5 and also an increasing standard deviation to represent variant weight vector settings. Note that upon moving from C1 to C5 the success rate tends to decrease which is normal as the more the mean of the weight vector increases the more the scheduling process relay on QoS other than the time and cost. This consequently minimizes the set of resource candidates for each task and causes less success rate. Another point to note is that for figure6, C6 gives much better performance than other weight settings. 26 Advances in Grid Computing
  • 43. Fig. 7. Resource utilization for workflows with variant tasks weight values Fig. 8. SLR for the workflows with different DAG width This is because the priority QoS defined for data tasks highly effects the scheduling process making it mostly depending on what the user wants. Figure7 shows the resource utilization for workflow tasks. Again the change in weight value does not have a significant effect on the resource utilization and this is because the workflows enforce an order for task execution on the system. Figure8 shows another aspect of the workflows. The figure shows the Schedule Length Ratio (SLR) for the workflows that were created with different DAG widths. 5. Conclusion and future work This chapter introduced a system for quantifying subjective QoS attributes and using them for assigning tasks in a grid application. First a close-up was given to the representation of subjective QoS attributes in service-based environments. The framework was inspired by a system of application-specific QoS attributes in service composition. While the domain is apparently different, the flexibility offered by the service composition in defining subjective QoS attributes is of great relevance to the requirements of establishing an enviroment that is not only relying on conventional QoS attributes in job assignment. The framework allows the administrator to define subjective QoS attributes through a QoS aggregation function editor enclosed in a portlet. After the administrator registers the categorized resources, the end user 27 A Framework for Problem-Specific QoS Based Scheduling in Grids
  • 44. can start submitting tasks to the system. With the user unaware, the system schedules the tasks on behalf of the user, and assures the use of the subjective QoS attributes to assign the tasks to the most appropriate resources. Experiments were conducted to assure that the framework is functioning as designed. Many points are promising to be considered as future work. Making the best use of subjetuve QoS attributes by incorporating a SLA mechanism is pivot point. Expanding the function aggregation editor to make the framework generic is as well a challenging task. 6. References Anselmi, J., Ardagna, D. Cremonesi, P. (2007). A qos-based selection approach of autonomic grid services, SOCP ’07: Proceedings of the 2007 workshop on Service-oriented computing performance: aspects, issues, and approaches, ACM, pp. 1–8. Bouch, A., Kuchinsky, A. Bhatti, N. (2000). Quality is in the eye of the beholder: meeting users’ requirements for internet quality of service, CHI ’00: Proceedings of the SIGCHI conference on Human factors in computing systems, pp. 297–304. Bouch, A., Sasse, M. A., Demeer, H. Bt, W. (2001). Of packets and people: A user-centered approach to quality of service. Canfora, G., Penta, M. D., Esposito, R., Perfetto, F. Villani, M. L. (2006). Service composition (re)binding driven by application-specific qos, ICSOC, pp. 141–152. Christensen, T. V. (2007). Heuristic algorithms for NP-complete problems. Doǧan, A. özgüner, F. (2006). Scheduling of a meta-task with qos requirements in heterogeneous computing systems, J. Parallel Distrib. Comput. 66(2): 181–196. Foster, I. (2006). Globus toolkit version 4: Software for service-oriented systems, pp. 2–13. Jong, K. A. D. (1992). Are genetic algorithms function optimizers?, PPSN, pp. 3–14. Kim, J.-K., Hensgen, D. A., Kidd, T., Siegel, H. J., John, D. S., Irvine, C., Levin, T., Porter, N. W., Prasanna, V. K. Freund, R. F. (2006). A flexible multi-dimensional qos performance measure framework for distributed heterogeneous systems, Cluster Computing 9(3): 281–296. Li, C. Li, L. (2007). Utility-based qos optimisation strategy for multi-criteria scheduling on the grid, J. Parallel Distrib. Comput. 67(2): 142–153. Li, Y., Zhao, D. Li, J. (2007). Scheduling algorithm based on integrated utility of multiple qos attributes on service grid, GCC ’07: Proceedings of the Sixth International Conference on Grid and Cooperative Computing, IEEE Computer Society, Washington, DC, USA, pp. 288–295. Munawar, A., Wahib, M., Munetomo, M. Akama, K. (2008). Linkage in Evolutionary Computation, Springer Berlin / Heidelberg, chapter Parallel GEAs with Linkage Analysis over Grid, pp. 159–187. Nepal, S., Zic, J. Chen, S. (2008). Wsla+: Web service level agreement language for collaborations, scc 2: 485–488. Recommendation, I.-T. (1994). Terms and definitions related to quality of service and network performance including dependability, Technical Report E.800. Wang, Z., Banerjee, S. Jamin, S. (2003). Studying streaming video quality: from an application point of view, MULTIMEDIA ’03: Proceedings of the eleventh ACM international conference on Multimedia, ACM. Warmer, J. Kleppe, A. (2003). The Object Constraint Language: Getting Your Models Ready for MDA, Addison-Wesley. 28 Advances in Grid Computing
  • 45. 3 Grid-JQA: A QoS Guided Scheduling Algorithm for Grid Computing Leyli Mohammad Khanli1, Assistance Professor and Saeed Kargar2, M.S. student 1C.S. Dept., University of Tabriz 2Islamic Azad University, Tabriz Branch Iran 1. Introduction The development of grid computing technologies (Foster Kesselman, 2004) over the past several years has provided us a means of using and sharing heterogeneous resources over local/wide area networks, and geographically dispersed locations. This has resulted in the ability to form loosely coupled, high-performance computational environment comprising numerous scalable, fault tolerant, and platform-independent services across the entire Internet. The grid infrastructure provides a way to execute applications over autonomous, distributed and heterogeneous nodes by secure resource sharing among individuals and institutions. Typically, a user can submit jobs to a grid without necessarily knowing (or even caring) where it will be executed. It is the responsibility of the grid resource management system to distribute such jobs among a heterogeneous pool of servers, trying to optimize the resource usage and provide the best possible quality of service. Thus, the resource matching problem is an important task in the Grid environment which involves assigning resources to tasks in order to satisfy task requirements and resource policies. This contribution presents algorithms, methods, and software for a Grid resource manager, responsible for resource brokering and scheduling in Grids. The broker selects computing resources based on actual job requirements and a number of criteria identifying the available resources, with the aim to minimize the turnaround time for the individual application. In this chapter, we proposed Grid-JQA (Khanli Analoui, 2006a,b) that explains in next sections. The Grid Java based Quality of service management by Active database (Grid-JQA) is a framework that aims to address the above mentioned requirements. Grid-JQA provides management for quality of service on different types of resources, including networks, CPUs, and disks. It also encourages Grid customers to specify their quality of service needs based on their actual requirements. The main goal of this system is to provide seamless access to users for submitting jobs to a pool of heterogeneous resources, and at the same time, dynamically scheduling in multi policy mode and monitoring the resource requirements for execution of applications. We proposed an optimal solution but not practical for comparing with other practical solution. Also, we propose an aggregation formula for the QoS parameters. The formula is a unit less combination of the parameters together with weighting factors. It is shown that the formula
  • 46. Advances in Grid Computing 30 needs to put into a threshold consideration. A discussion on the threshold and its level is also provided. In this chapter we introduce an optimum but not practical solution for matching. The optimum method is considered for comparing other practical solutions. Main features of the resource manager include resource selection based on active database rules (Khanli Analoui, 2008) and environmental conditions and a basic adaptation facility. The chapter is finalized by the results obtained from simulation and a comparison study. The reminder of this chapter is organized as follows: In section 2 we present an overview of related work, in section 3 we introduce three methods for matching in the grid environment. We discuss a proof-of-concept implementation of a prototype and the preliminary performance results by simulation in Section 4, whereas Section 5 concludes with a summary of our work. 2. A brief history of the resource management in grid Due to the grid computing is a dynamic and uncertainly environment, the grid system needs a resource management mechanism which provides a set of available appropriate resources for requesters. There are many resource management approaches that proposed in different grid projects and researches, but a few of them guarantee QoS. This section provides a brief description of these systems and compares some of them with our project. Foster et al. (Foster et al. 1999) propose a framework for QoS in Grid computing, called the Globus Architecture for Reservation and Allocation (GARA), which enables programmers and users to specify and manage end-to end QoS for Grid-based applications. It also provides a uniform mechanism for making QoS reservations for different types of Grid resources, such as processors, networks and storage devices. The main drawback of GARA is its inability to support subtask management, which is one of Grid’s main goals. There are two more drawbacks in GARA: the topology of domain should be known in advance and also the resources can not publish themselves. Grid-JQA is going to address the subtask management while the topology information and resource publishing are handled management, formulating the matching problem as an object placement problem dynamically (Khanli Analoui, 2006a,b). Y. Han et al. (Han Youn, 2009) proposed a new architecture that called Resource-Aware Policy Administrator (RAPA) with Service Level Agreement (SLA) to find appropriate resources. SLA operates as a contract agreed between users and resource providers in order to achieve requested QoS (Han Youn, 2009; Document for Web Services Agreement Specification). Chauhan Joshi (2010a) proposed a QoS Guided Weighted Mean Time Min-Min Max-Min selective heuristic for QoS based task scheduling. In fact this work adds QoS parameters to weighted Mean Time Min-Min Max-Min Selective (WMTS) heuristic (Chauhan Joshi, 2010b). In this method, first the meta tasks divided into high and low QoS groups, that the high QoS group contains the tasks with high requirement QoS and the other one includes the tasks with low QoS requirements. In mentioned work after mapping all tasks with high Qos requirements, the tasks with low QoS group are mapped (Chauhan Joshi, 2010a). Selvi Somasundaram et al. (2010) proposed a metascheduling structure that called CARE Resource Broker (CRB). For resource management they are proposed Virtual Resource Management Protocol (VRMP). In this method scheduler is responsible for choose a suitable resource between available matching resources, and Virtual resource manager is responsible for formation of virtual cluster and virtual machine (Somasundaram et al., 2010).
  • 47. Grid-JQA: A QoS Guided Scheduling Algorithm for Grid Computing 31 Darby III Tzeng (2010) proposed a Checkpointing arrangement in Mobile Grid Computing that provide QoS through Mobile hosts. In other words current work focus on the Mobile hosts Checkpointing arrangement method that QoS is a user's application responsibility. Rodero et al. (2010) proposed Grid broker selection strategies to resolve the broker selection problem in multiple grid scenarios (Rodero et al., 2010). They also proposed two different resource aggregation algorithms (SIMPLE and CATEGORIZED aggregation algorithms) that used for broker selection. Javelin (Neary et al., 2000) is a Java based infrastructure for internet-wide parallel computing. The three key components of Javelin system are the clients or applications, hosts, and brokers. A client is a process seeking computing resources, a host is a process offering computing resources, and a broker is a process that coordinates the allocation of computing resources. The Javelin system can be considered a computational Grid for high- throughput computing. It has a hierarchical machine organization where each broker manages a tree of hosts. Resources are simple fixed objects with a tree namespace organization. The resources are simply the hosts that are attached to a broker. Any host that wants to be part of Javelin contacts JavelinBNS system, a Javelin information backbone that maintains the list of available brokers. The host then communicates with brokers, chooses a suitable broker, and then becomes part of the broker-managed resources. Thus the information store is a network directory implemented by JavelinBNS. Hosts and brokers update each other as a result of scheduling work. Thus, Javelin uses demand resource dissemination. The broker manages the host-tree or resource information through a heap- like data structure. Resource discovery uses the decentralized query based approach since queries are handled by the distributed set of brokers. In Javelin the burden of the subtask management and monitoring is layered on the client side. The client should also look for a broker that matches its requirements. Thus the clients are thick. Grid-JQA tries to keep the clients as thin as possible and refers the subtask management and monitoring, and the matching to the broker of the system (Khanli Analoui, 2006a,b). Legion (Chapin et al., 1999) takes an object-oriented approach to resource (Chapin et al., 1999). The identification of a candidate resource is performed by an object mapper, whose recommendation is then implemented by a different object. The Legion system defines a notation (Chapin et al., 1999) that is similar to classAds, although it uses an object oriented type system with inheritance to define resources, as contrasted with the simple attribute- oriented Boolean logic of classAds. Legion supports autonomy with a jurisdiction magistrate (JM), which may reject requests if the offered requests do not match the policy of the site being managed by the JM. While the JM gives a resource veto power, there is no way for a resource to describe those requests that it would rather serve (Khanli Analoui, 2006a,b). UDDI (Uddi.com) and eSpeak (Hewlett Packard) are two specifications being defined to enable automation of business-to-business interactions. Both systems use XML as a specification language to describe services, and define a rich framework for service discovery. Like most other systems, neither UDDI nor eSpeak exports a symmetric interface to servers and customers. Furthermore, since the emphasis in these frameworks is on service discovery and not resource allocation, the matchmaker provides a list of candidate servers to the customer, who then chooses one or more servers based on subjective criteria. Recently, to solving the grid resource management problem, many of technologies proposed that based on matchmaking or bidding (Fig. 1). In the matchmaking (Khanli Analoui, 2008; Litzkow et al., 1988; Liu et al., 2002; Ludwig Reyhani, 2006; Raman et al., 1998;
  • 48. Advances in Grid Computing 32 Raman et al., 2003; Tangmunarunkit et al., 2003; Yu et al., 2005), there are a resource matchmaker that responsible for recording resource status. When a resource matchmaker gives job requests, executes matching algorithms to find a set of appropriate resources for request. Fig. 1. (a) The abstract process of the matchmaking model. (b) The abstract process of the bidding model (Wang et al., 2010). Another model for resource management is bidding-based model (Bubendorfer, 2006; Buyya et al., 1980; Das Grosu, 2005; Goswami Gupta, 2008; Kakarontzas Savvas, 2006; Kolano, 2004; Leal et al., 2009; Smith, 1980; Wang et al., 2010; Xiao et al., 2008). In this model there is no centralized matchmaker/broker. However, the bidding model has some advantages over the matchmaking one, but in this model the critical problem for resource selection is that there is no universal information to find suitable match, and requests only have deficient information (Wang et al., 2010). The Condor (Raman et al., 2003) equivalent of an information system such as UDDI is a matchmaker that maintains a pool of ClassAds representing candidate resources and then matches each incoming request ClassAd with all candidates, returning a highest-ranked matching candidate. Redline (Liu Foster, 2004) formulates the matching problem as a constraint satisfaction problem. These latter systems allow expression of resource groups, but they do not offer a concise method to express network topologies. Set-matching extends the ClassAds language to provide a multilateral matchmaking mechanism where the number of resources is not known a priory (Liu et al., 2002). However, the set matching mechanism is not capable of marshaling a heterogeneous mix of resources. Our work is similar to Condor. That is the resources advertise themselves to the broker and the users send their requests to the broker. Then the broker matches the resources and the tasks by using some policies. The differences between our work and Condor are after this time. Because, after matching the broker does not interfere in Condor. And the user works with resources directly. But in our work, the broker manages the activities till the results return to the user. The disadvantage of managing broker till the end is that the broker becomes too busy. For correcting this disadvantage, we use hierarchical broker, in a way that when the broker becomes too busy, one new broker is introduced in the low level and
  • 49. Grid-JQA: A QoS Guided Scheduling Algorithm for Grid Computing 33 busy broker can send new application for execution to lower level broker. So the problem is solved by hierarchical broker. 3. Model description Looking on the matching problem, we bring about the following solutions: First, resources introduce themselves to all clients and each client decides where to send its request, thus matching is accomplished by the client. Second, the clients send their request to all resources and each resource decides which request to reply, therefore matching is done in the resources. Third, the resources introduce themselves to a broker and each client sends its request to the broker, then the broker decides how to match the requests with the resources. Here there are two possible methods, (a) after the broker finds the best matched resource; the resource and the client negotiate with each other directly. (b) The broker interferes in the process until end of job, in order to guarantee the quality of service and perform subtask management. In this work, we implement the third mentioned solution (b). The advantages of the broker management till end are: 1. For guarantying the QoS parameters, the broker should monitor till the results return to the user. 2. May be all requested resources are not free, so application can not start execution, but in our work as soon as one resource is free, the execution of user’s task can be started. Gradually, the remained tasks can be executed when the other resources are released. 3. Adaptation is possible only in this method that the broker monitors till the end, as duplicate execution of strong tasks which are being executed in weak resources. 4. By using the broker, the user can be thin client that is the users can execute their application by PDA or Mobile handset considering the user want the power of processing like supercomputer. Because the broker manages for matching, monitoring, sending task, receiving results, and managing failed tasks, the user only sends the request and waits until it receives the results. 5. Managing failed tasks is simpler than the other methods. Because the broker can assign more priority to failed tasks and matches them as soon as possible. 6. Fault tolerance is possible. The broker can execute the tasks with more priority in duplicate mode. 4. Matching Efficient resource selection in every resource management approach is one of the major challenges. There is one problem about matching in grid environment. Following model explains the problem: 1. The problem input 1.1. A set of resources with their capabilities 1.2. A set of tasks with their requirements 2. The problem output: Matching the best resource for each task 3. The problem purpose: Minimizing turnaround time There are two managing models: - Local - Global
  • 50. Advances in Grid Computing 34 In Local model, the manager finds the best resource for each task locally regardless of other tasks. Whereas in Global model, the manager finds the proper resource for each task in relation with other tasks and the strong resource is assigned to strong task (The task is strong / weak if its requirement is high / low). Whereas in local model the manager may assign the strongest resource to first task that may be the weakest one. Therefore for the next task which may happen to be a strong task, the strong resource doesn’t exist anymore. So it is better to apply the matching management in a global model. We propose three methods for matching. They are compared using simulation in the next section. Three methods are: 1. Optimum 2. Grid-JQA 3. Dup Grid-JQA That we can consider: • n: the task number • m: the resource number • k: the number of QoS parameters As it was explained, the resources should introduce themselves to the broker. Each introduction includes resource specifications as CPU, Memory, etc. Using schedulers, such as (Xen Scheduler Howto, 2005), a resource can assign a percentage of CPU to a given machine effectively regulating the CPU usage of the group of processes encapsulated in it. And also it includes some parameters such as the bandwidth and the delay were calculated or estimated by the broker. Finally the broker inserts the record of QoS parameters for each resource into the database. We define the vector qres which gives the capabilities of a resource as follows. 1 2 , , , res res res res k q q q q = … (1) Generally it can be said that the client sends its request accompanied by vector of QoS parameters and the weights for the parameters as it appears in equations 2 and 3. 1 2 , , , task task task task k q q q q = … (2) W=w1,w2,...,wk 0≤wi≤1 i 1 w 1 k i= = ∑ (3) Each weight is used to show the importance of each parameter. For example, if CPU is important for one task, the client will set 1 for the CPU weight and zero for the others. Note that, qi res and qi task have the same unit, and the broker compares qi res with qi task for each i from 1 to k. If the resource provides the requirements needed for the task, it can be chosen as the best matched resource. We introduce satisfy operator ₪. Ri ₪ Tj means that the resource Ri can satisfy the task Tj and guarantees QoS parameters. Ri ₪ Tj = Re 1 (( ) 1) i j s k l l task l l q w q = × ≥ ∑ (k = the number of QoS parameters) (4) The solution proposed here is that, we normalize the resource specification by the client requirement (qi res / qi task) and therefore the summation will be possible whereas the units of
  • 51. Grid-JQA: A QoS Guided Scheduling Algorithm for Grid Computing 35 each parameter are different such as byte, bps, Mflops. When the resource capability exceeds the task demand, (qi res / qi task) is more than one. Also, the client introduces a weight for each parameter to show the importance of the parameter. The weights range from 0 to 1 and the sum of all the weights is equal to one. We multiply the weight into (qi res / qi task) as mentioned in (4). Finally the best match resource will be the one that can provide the maximum of summation in (4). Note that matching is done by aggregating QoS parameters which simplifies the matching method. You may say that using aggregated QoS parameters, some requirements may be neglected. This argument can be addressed by the introduction of the proper weights. If user assigns a higher weight for a QoS parameter, the requirement surely will be met. The proposed aggregation in (4) has one more advantage, whereas the overheads and matching time is concerned. It is obvious that the matching time for aggregated QoS is a fraction of time when we do not aggregate the k parameters. The three methods for matching are proposed by using summation in (4). 4.1 Optimum Assigning m resources to n tasks is the NP complete problem. The Optimum method has time complexity O(n3) to find the best matched resource for each task globally. Practically the Optimum method cannot be used because it has high overhead. We take into consideration the Optimum solution just for the sake of the comparison. The problem is assigning m resources to n tasks with k QoS parameters. There are three matrices, one is Tn*k matrix given by (5) for task requirements, another is Wn*k matrix given by (6) for weight of requirements, and the other is Rk*m matrix given by (7) for resource capabilities. These matrices are shown in below. 1 1 1 2 2 2 1 2 1 2 * 1 2 n n n task task task k task task task k n k task task task k q q q q q q T q q q ⎡ ⎤ ⎢ ⎥ ⎢ ⎥ = ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎣ ⎦ (5) 1 1 1 2 2 2 1 2 1 2 * 1 2 n n n task task task k task task task k n k task task task k w w w w w w W w w w ⎡ ⎤ ⎢ ⎥ ⎢ ⎥ = ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎣ ⎦ (6) 1 2 1 2 1 2 1 1 1 2 2 2 * m m m res res res res res res k m res res res k k k q q q q q q R q q q ⎡ ⎤ ⎢ ⎥ ⎢ ⎥ = ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎣ ⎦ (7) We define WdTn*k matrix as below.
  • 52. Advances in Grid Computing 36 1 1 1 1 1 1 2 2 2 2 2 2 1 2 1 2 1 2 * 1 2 1 2 1 2 n n n n n n task task task k task task task k task task task k task task task n k k task task task k task task task k w w w q q q w w w WdT q q q w w w q q q ⎡ ⎤ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ = ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎣ ⎦ (8) So, equation (4) is based on multiplying WdTn*k matrix to Rk*m matrix and the result is Vn*m matrix given by (9) and (10). * * * * n m n k k m V WdT R = (9) 1 1 1 1 2 1 1 1 2 2 2 1 2 2 2 2 1 1 1 * 1 1 * * * * * * m m task task task k k k res res res i i i i i i task task task i i i i i i task task task k k res res res i i i i i i task task task n m i i i i i w w w q q q q q q w w w q q q V q q q = = = = = ⎛ ⎞ ⎛ ⎞ ⎛ ⎞ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎝ ⎠ ⎝ ⎠ ⎝ ⎠ ⎛ ⎞ ⎛ ⎞ ⎛ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ = ⎝ ⎠ ⎝ ⎠ ⎝ ∑ ∑ ∑ ∑ ∑ 1 2 1 1 1 1 * * * n n n m n n n k i task task task k k k res res res i i i i i i task task task i i i i i i w w w q q q q q q = = = = ⎡ ⎤ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎞ ⎢ ⎥ ⎜ ⎟ ⎢ ⎥ ⎜ ⎟ ⎢ ⎥ ⎠ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎛ ⎞ ⎛ ⎞ ⎛ ⎞ ⎢ ⎥ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎢ ⎥ ⎝ ⎠ ⎝ ⎠ ⎝ ⎠ ⎣ ⎦ ∑ ∑ ∑ ∑ (10) Vi,j shows the value of (4) for assigning resource j to task i. If Vi,j = 1, the resource j exactly will provide the task i requirements. If Vi,j 1, the resource j will be weaker than task i requirements. If Vi,j 1, the resource j will be stronger than task i requirements. We define MAX unary operator that it gets one n*m matrix and produces n*3 matrix. In the following, the operator semantic is explained. Bn*3 = MAX A n*m (11) ( ) ( ) ( ) ( ) ( ) ( ) 1,1 1, 1, 1 1 2,1 2, 2, *3 1 1 ,1 , , 1 1 0 0 0 m m j j j j m m j j n j j m m n n j n j j j True ifB Max A IMax A False else True ifB Max A IMax A False else B True ifB Max A IMax A False else = = = = = = ⎡ ⎤ = ⎧ ⎢ ⎥ ⎨ ⎢ ⎥ ⎩ ⎢ ⎥ ⎢ ⎥ = ⎧ ⎢ ⎥ ⎨ = ⎢ ⎥ ⎩ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ = ⎧ ⎢ ⎥ ⎨ ⎢ ⎥ ⎩ ⎢ ⎥ ⎣ ⎦ (12) Max returns the maximum value for each row of operand and IMax returns the index of maximum value in each row of operand. Third column of matrix B shows that if the first column of matrix B is zero, it will be True (i.e. this row’s task is tested for matching) otherwise it will be False (i.e. this row’s task is not matched yet). So we define matrix Mn*3 as below:
  • 53. Grid-JQA: A QoS Guided Scheduling Algorithm for Grid Computing 37 M n*3 = MAX V n*m (13) Fig. 2 shows the Optimum algorithm that matches the best resource for each task globally. The algorithm finds the values of the assignment of each resource to n tasks at first. The purpose is assigning the maximum value resource for each task. Next, the algorithm finds the maximum value at each row which belongs to a task. It is possible that the resource with maximum value in one row may be also is maximum in other rows. Because of that, the algorithm chooses the row (task) which has minimum value (this task has maximum requirements). If the number of matching becomes equal to number of tasks (n) (that is the all of third column of matrix M is True), then the algorithm will finish. Fig. 2. Optimum Algorithm 4.2 Grid-JQA Grid-JQA has time complexity O(n) instead of O(n3) for Optimum method and (as shown in next section by simulation), the difference between Grid-JQA and Optimum is acceptable. Grid-JQA uses threshold in (4) instead of finding maximum and minimum for each assignment (Fig. 2).
  • 54. Advances in Grid Computing 38 Ri ₪ Tj = Re 1 (( ) ) i j s k l l task l l q w Threshold q = × ≥ ∑ (k = the number of QoS parameters) (14) The proposed solution is that instead of using maximum, we use a threshold (Threshold in (14)). If summation is more than the Threshold, the broker will choose it as the best matched resource. The broker starts calculating (14) for record R1. It keeps calculation till finds Ri that satisfies the task. So the broker assigns Ri to the task. For next task to be matched, the broker starts from Ri+1 in a round robin fashion, so that all resources can be covered. Now, the problem is “what can be the amount of the threshold? “. For solving this problem, tacking into consideration that the active database is used, we introduce a rule in active database for calculating threshold in relation to environmental changes. Suppose qk R equals qk T for all k from 1 to n to n (i.e. the requirements of task equal the capabilities of resource), then: 1 1 1 1 Ri n n k k k Tj k k k q w w q = = × = × = ∑ ∑ (15) So the minimum of threshold is 1. If qk R equals P*( qk T ) for all k from 1 to n, then: 1 1 Ri n n k k k Tj k k k q w P w P q = = × = × = ∑ ∑ (16) Therefore if we assign P to the threshold, it means that the selected resource should provide P times capability more than the requirements by the task. Therefore when there are a lot of strong and free resources it is better that the broker assigns the strong resource to weak task. So the Threshold should be greater than one and the broker should select a resource precisely. In this method Grid-JQA acts like an Optimum method. But when there are a few strong resources it is better that to set the threshold equal one. So the broker should select a resource as soon as it finds a free resource and the broker does not wait for strong resources. The value of threshold is changed by a rule of active database related to the number of times that equation 14 returns true or false. In this way if the number of true is more than false, the rule should be increased threshold for finding strong resource and otherwise should be decreased threshold for assigning resource to task as soon as possible. Next section shows that Grid-JQA is similar to Optimum using simulation. But Grid-JQA has time complexity O(n) instead of time complexity O(n3) for Optimum. 4.3 Dup Grid-JQA After assigning m resources to n tasks, definitely some tasks are executed in weak resources which results is increasing the turnaround time of entire application. Dup Grid-JQA assigns free strong resources to tasks executed in weak resources in duplicate mode. Reference (Kondo, 2005) shows that for the application with 100 tasks, 90% of the tasks are completed in about 39 minutes, but the application does not finish until 79 minutes have passed, which is almost identical to the turnaround time for a much larger application with 400 tasks.
  • 55. Exploring the Variety of Random Documents with Different Content
  • 56. The crew, with gloomy looks, assembled forward, muttering threats which did not reach the officers’ ears. The change of weather had the effect of restoring some of the sick men to health, though several died. Among the first to appear on deck was Ned Hadow. He still looked weak and ill—the shadow of his former self. He was changed in other respects, and Humphry observed that he was quiet in his behaviour, and no longer swore in the way he had been accustomed to do. Matcham remained in his berth. He seemed a little better, though he still refused to listen to Humphry when he offered to read the Bible to him, and when asked the reason, replied, “Because I am not going to let those fellows suppose that I am afraid to die. They would be sneering at me, and calling me a Methodist; and I don’t intend to die either, so I don’t see why I should bother myself by having religion thrust down my throat.” “If you are not going to die, I suppose the case is different,” answered Humphry. “Still, I know that if you were, the Bible is the best book to read. I wish that I had read it oftener myself.” “If I can get hold of it, I will take care that neither you nor I am troubled with it in future,” answered Matcham. “You have teased me too much about it already. I wish you would just try what the captain or mates would say to you if you were to bother them.” Humphry put his little Testament into his pocket, determining that his messmate should not get hold of it. Still, much as he valued the book as a gift from his old friend, he looked upon it, as many other people do, as a book to be reverenced, and to be read in times of sickness
  • 57. or trouble; but he had little notion of the value of an open Bible, to be studied with prayer every day in the week, to serve as a light to his feet and a lamp to his path, and to guide him in the everyday affairs of life. Humphry, wishing Matcham good evening, went on deck. As he looked ahead, he saw in the distance a small island rising like a rock out of the blue ocean. The ship was standing towards it. The sun, however, was just then setting, and in a short time it was concealed from sight by the mists of night. As he was to keep the first watch with the third mate, he went down and took some supper. When he returned on deck, he found that the sky was overcast with clouds, and that the night was excessively dark. He could scarcely distinguish the man at the helm or the officer of the watch. “Is that you, Gurton?” asked the third mate. “The orders are to heave to in an hour, so as not to run past the island we saw at sunset, as the captain wishes to examine it to- morrow morning. Go forward, and see that the look-outs are keeping their eyes open; the reefs may run further off the land than we think for.” “Ay, ay, sir,” answered Humphry, making his way along the deck. Having spoken to the men as directed, he stood for some minutes trying to pierce the thick gloom, and as he was sure no danger could be seen till the ship was close upon it, he resolved to return aft, and advise the mate to heave her to sooner than he had been ordered. When just abreast of the fore-rigging, he suddenly felt his arms pinioned behind him, and a gag thrust into his mouth. At the same time a voice whispered in his ear, which he
  • 58. recognised as Ned Hadow’s, “Do not cry out—no harm is intended you; what we do is for your good.” The next instant he felt himself lifted off his feet and placed in the fore-rigging, up which a man on either side forced him to ascend. He soon reached the top. “He will be safer in the cross-trees,” said one of the men, and he was compelled to ascend till he got there. “We must make you fast where you are,” whispered Hadow, compelling Humphry to sit down on the cross-trees, and lashing him to the rigging. “If you will promise not to cry out, we will remove the gag from your mouth; if not, you must be content to bear it for some time longer. Here, press my hand if you promise to do as I tell you—I can trust to your word.” Humphry was very anxious to get rid of the gag, which hurt him, and pressed the hand placed in his. The gag was immediately taken out of his mouth. “Whatever sounds you hear, or whatever you see, don’t cry out, as you value your life,” whispered Hadow. The next moment Humphry was left alone. He sat wondering why he had been thus treated. Hadow could certainly not have intended to injure him; at the same time, he could not help fearing that the crew contemplated some dreadful act of mutiny, and that Hadow had contrived to get him up there to keep him out of harm’s way. Nothing could he see but the tall mast above his head tapering towards the dark sky, and the yard and ropes immediately below him. All on deck seemed quiet, no voices reached his ear. The moments passed slowly by. Suddenly a loud shriek rent the air, followed by a heavy groan; then came the flash and report of a pistol—another, and another followed. Now rose
  • 59. fierce shouts and cries from many voices, loud thundering blows, and the clash of cutlasses. A desperate fight was going on. He no longer had any doubt that the officers had been attacked, and were struggling for their lives. Suddenly, as they began, all sounds of strife ceased, though he could now distinguish the voices of the crew shouting to each other. The helm during the contest had been deserted, and the ship had come up to the wind. It seemed a relief to him to hear the boatswain’s voice ordering the crew to brace up the yards. The ship was then hove to. No one, however, came to release him. If his friend Hadow had fallen in the strife, what would be his fate when the rest of the crew discovered him? The dreadful certainty forced itself upon his mind, that the officers had been overcome. He heard the men moving about the deck, and talking in loud voices to each other; but though he listened eagerly, he could not ascertain what was said. Hour after hour passed by. No one came aloft to release him. Notwithstanding the fearful anxiety he felt, he at length dropped off into forgetfulness; but his dream were troubled, and full of the horrors which had just occurred.
  • 60. Story 2--Chapter III. “It was well I thought of lashing you securely, or you would have fallen and been killed,” said a voice in Humphry’s ear. Consciousness returned. He recognised Ned Hadow. “It will be wise in you not to ask any questions, Mr Gurton,” he whispered. “Just be sure that you are wide awake, and I will cast off the lashings. I have done the best I could for you. The men did not ask you to join them because they believed you would not, nor do I either. I am too grateful to you for what you have done for me to wish you to be among them. They have now possession of the ship, and intend to keep it. As we shall be at daybreak close in with the island we saw last night, they give you your choice of being put on shore there, or taking the oath of fidelity to them, and joining their cause. As I said before, I don’t suppose you will hesitate about the matter.” “Indeed I will not,” answered Humphry; “whether or not the island is inhabited or means of subsistence can be found on it, I would rather be put on shore than remain an hour longer than I can help on board the ship, after what I fear has taken place.” “As I said, Mr Gurton, you must ask no questions,” repeated Hadow. “I wish I could go with you, but I am sworn to stay by the rest. I would give anything to be out of the ship, but it is too late now to draw back; though, as I have heard it said, that hell with sinners often begins on earth, so it has begun with me. Yes, Mr Gurton, I almost wish that I had been carried off by the fever instead of living on, to become what I now am. I was bad enough before, but I am a
  • 61. thousand times worse now. There is no one on board I can say this to, and I cannot help saying it to you.” “Surely you could manage to come on shore with me,” said Humphry. “Your messmates will probably release you from any oath you have taken if you wish it.” “They will not do that, sir, they will not do that,” answered Hadow in a despairing tone. “I am bound hand and foot to them; their fate, whatever that is, must be mine. You must not stay up here longer. I will cast off the lashings now, but you must take care, as your arms will be stiff after being bound so long, that you don’t fall. I will hold you till you get the use of them.” Saying this, Ned cast off the rope, and grasping Humphry round the body, assisted him to get on his legs; then, after he had stood for a minute or two, helped him to descend the rigging. On reaching the foretop, Hadow told him to wait there till he should come for him. “I don’t want you to go among the crew,” he said in a low voice. “I have got four men whom you looked after in their sickness, who have agreed to pull you on shore, which we hope to reach as soon as there is light enough to land. The boat is already in the water, and we are stowing her with things which we think will be useful to you. As you saw nothing of what happened, even should you be taken off the island some time or other, you cannot swear against any one. All you know is that you were lashed in the rigging, and were put on shore the same night before daybreak. If any one asks you questions on deck, that is what you must say to them—you understand me?”
  • 62. Humphry replied that he did understand, and, suspecting that his safety depended on his answer, said that he would do as Ned advised. “Well, then, stay here till I come for you,” and Ned disappeared down the rigging. Harry had not long to wait when he again heard his voice. “All is ready,” he whispered. “We took the bearings of the island before dark, and can steer a straight course for it. Don’t speak to any one. Follow me into the boat; she is waiting under the forechains; you will find a rope by which you can lower yourself into her.” Humphry followed Ned without ever stepping on deck, and took his seat near him in the stern of the boat, which noiselessly shoved off from the ship’s side. The crew bent to their oars, while Ned steered by a boat compass lighted by a lantern at his feet. Humphry breathed more freely when he felt himself out of the ship. Yet what a fate was to be his. To be left alone on an island where he might have to spend long, long years, cut off from all intercourse with his fellow-creatures. Yet anything was better than having to associate with the wretched men on board the Wolf. They soon lost sight of the ship, and the boat made her way across the dark water, the island not being yet visible ahead. “Are they all dead, have none been spared?” asked Humphry at length, yet half fearing to speak on the subject which occupied his thoughts.
  • 63. “I told you, Mr Gurton, to ask no questions,” answered Ned in a hollow voice. “The sooner you put all thoughts of what happened last night out of your head the better. Just think of what you have got to do. You will have to keep your wits awake where you are going, depend on that. I wish we could stop to help you, but we have promised to be back as soon as we have landed your things. All I can tell you is, that there is said to be water, and you will probably find cocoa-nut and bread-fruit trees, and other roots and fruits; and as we have put up lines and hooks, and a gun and ammunition, and a couple of harpoons, and lines for catching seals, it will be your fault if you do not manage to find as much food as you want.” “But how shall I be able to live all alone by myself on the island?” said Humphry with a sigh. “Better to be all alone than food for the sharks, I have a notion,” observed one of the men who overheard him. Humphry made no further remark. He now felt more than ever certain that a fearful tragedy had been enacted, and that he ought to be thankful to get out of the company of the perpetrators. Yet he was sorry to leave Hadow among them, for he had observed, he thought, the signs of something better in him than in his companions, rough and ignorant as he was. As day dawned the island appeared ahead, rising out of the blue water with black rocks piled one upon another, and some hills of considerable elevation. Humphry observed also a deep sandy bay between the rocks, but an encircling coral reef intervened, over which, even on that calm morning, the sea broke in masses of foam.
  • 64. They pulled along till the bay opened out more clearly, and just in front was a cascade, which came tumbling down the rocks. A narrow piece of dark water was seen between the masses of foam which danced up on either side of it. “There is a passage,” exclaimed Ned. “Give way, my lads, and we shall get through it without difficulty.” The men bent to their oars, and the boat, dashing between the two walls of foam, was in a short time floating on the calm surface of a lagoon. Pulling up the bay, they reached a small sandy beach, though the dark rocks which everywhere rose up around it gave the place a gloomy aspect. The boat was hauled up, and the men quickly landed the various articles which Ned had secured for Humphry’s benefit. He and Humphry searching about soon found a level spot on one side of the bay where the ground looked capable of cultivation. “This will do for you, my lad,” said Ned. “And as I found some papers of seed in the captain’s cabin, I put them into one of the casks; though I don’t know what they are, maybe if you sow them they will come up, and supply you with vegetables.” The men now brought up all the things from the boat. They all wished him good luck and a happy life on the island, and then hurried back to the boat. “I only wish I could stop with you, that I do!” exclaimed Ned with some feeling, as he wrung Humphry’s hand. “I dare not say ‘God bless you!’ but I hope He will, that I do with all my heart,” and Ned ran down to join his companions, who were
  • 65. already shoving off the boat. He would not have been sorry if they had gone without him. Humphry watched them going down the bay. They passed through the reef, and pulled out to sea till the boat was lost to sight, though he could distinguish the ship hove to in the offing waiting for her return.
  • 66. Story 2--Chapter IV. Humphry sat down on his chest, feeling very forlorn. Here he was on a desert island, a mere speck in the ocean, hundreds of miles away perhaps from any place inhabited by civilised man. He might perhaps never be able to make his escape, or again hold intercourse with his fellow- creatures. All alone, without speaking, without exchanging an idea with another human being, he might have to drag out a weary existence; and then, should sickness overtake him, have to lie down and breathe out his life, leaving his bones to whiten in the sun. He had read Robinson Crusoe, but then his case was very different to that of the far-famed voyager. Robinson Crusoe had the companionship of Friday, and his island was fertile and smiling, and he had goats and fowls and other animals to cheer him or to serve him as food. He would have to go in search of fish and birds for his daily food, and as yet was uncertain whether any were to be found, though at present he did not fear starvation, as he had the salted beef and pork and biscuits with which Ned had supplied him. But then when they were gone, how should he live? “It won’t do to indulge in these thoughts,” he exclaimed to himself, suddenly starting up. “I must think about building a house in the first place; and then as soon as I can prepare the ground I will put in the seed, and, as I hope, some may produce good edible vegetables, I shall have a variety in diet and keep myself in health.” As he began to examine the articles which had been brought on shore, he found a large roll of canvas. It was part of an old sail.
  • 67. “This Ned must have intended to serve as a tent till I can put up a more substantial building. I am much obliged to him, and I need not be in any great hurry about building my house.” He spoke his thoughts aloud on nearly all occasions. It gave him some relief to hear his own voice. “I must get some poles for the tent, though; and no spars, I see, have been brought on shore.” He looked out an axe, and sticking it in his belt, set out to search for what he wanted. “I shall not lose my way in this new kingdom of mine, that’s one advantage in having it of moderate size; and if I climb to the top of the hill, I shall be able to sing with Robinson Crusoe, ‘I am lord of all I survey,’—ah, ah, ah!” and he laughed for the first time for many a day. There was nothing to excite his risibility on board. He felt his spirits rising. “Stay!” he exclaimed suddenly. “What an ungrateful wretch I am! Here have I been saved from a great danger, and placed in safety, at all events for the present, and yet I have not uttered one word of thanks to Him who has preserved me.” He knelt down, and lifted up his heart as well as he could to God. “Careless, worthless fellow that I have been! yet God promises to hear all those that come to Him, not trusting to themselves or to their own good deeds, but to the perfect and complete atonement Jesus Christ made for their sins on the cross, so I know that He will hear me; and I am sure,
  • 68. though I am unworthy of His care, that He put it into the hearts of those men to bring me on shore instead of throwing me overboard, or what would have been worse, keeping me among them.” He felt his heart much lighter when he rose from his knees. He then, carefully observing the appearance of the rocks, that he might find his way back without difficulty, proceeded on his expedition. Clambering over them, he came to more level ground covered with various bushes, and soon reached a hill-side on which grew a number of trees, palms and others, with the names of which he was unacquainted. He looked in vain for cocoa-nuts, not being aware that the trees are only generally found on the level shore to which the nuts have been borne by the wind and tides of the ocean from other islands. He cut two stout poles for uprights, and a longer one for a ridge-pole, and shouldering them, returned to his camp. “I shall want a fire, though,” he thought, as he got back, and throwing them down he again set out to get fuel. This he had no difficulty in finding among the brushwood, and with the aid of his axe he quickly made up a number of faggots. “I shall not be obliged to have a fire burning all night to keep off wild beasts, that is another comfort,” he observed. “But it will be cheerful to sit by when it grows dark. I shall not find the time hang heavily on my hands for some days to come, that’s another comfort.” His first thought was to do the most necessary work. Having brought the faggots to his camp, he next put up his tent.
  • 69. This accomplished, as soon as he sat down to rest he began to feel hungry. He rummaged in a small cask, which contained a number of miscellaneous articles, and discovered a tinder-box. He had soon a fire blazing in front of his tent. He had prudently made it up at a sufficient distance to prevent the risk of the flames reaching the canvas. While he stayed his hunger with some biscuit, he prepared a piece of beef, which he spitted and placed before the fire on two small sticks, such as he had read of people doing under similar circumstances. He turned the meat on the spit, which grew blacker and blacker. “I think it must be done now,” he said at length, taking it off. When he cut it with his knife, he found it almost as hard as wood. He attempted to eat a few mouthfuls, but he could scarcely get them down. “This won’t do,” he said. “I must get some water, to enable me to swallow this dry food.” On searching for something to hold the water, he found a saucepan, and on his way with it to the cascade it occurred to him that he might have cooked his beef much better by boiling. “I must try that way for dinner,” he thought. A draught of pure water greatly refreshed him. He returned to the camp with his saucepan filled. He put it on at once with a small piece of meat in it, recollecting that salted beef requires a long time to boil, and he hoped to have better success in his second attempt at cooking. He now made a survey of the articles his shipmates had left with him. There was enough beef and pork to serve him for many months, but he regretted to find that the bread would not last him nearly so long.
  • 70. “I must try and find some substitute for it,” he said, “and economise it in the meantime. I would rather have had much more bread and less meat, as I hope to catch some fish and kill some birds. However, I need not go hunting till I have put my home to rights.” Then he thought of his seeds. He had no spade, however, to dig the ground; so going to the wood he shaped one, which he hoped would answer the purpose, out of the stem of a small tree. It did better than nothing, but he would have been very glad of an iron spade. He at once began to dig up the ground. It was covered thickly with grass with long roots, but the soil was rather sand than earth. “I must dig all this up,” he said, “or they will soon sprout up again, and destroy the seed.” So he marked out a small plot, carefully throwing the roots and grass into a heap. It then struck him that if they were scattered about on the ground in the sun they would more quickly dry, and he might then burn them, and the ashes would contribute to fertilise the ground. He worked away till he felt quite weary. He then went back to his fire to see how the beef was boiling. As it was not yet done, after resting a short time he returned to his digging. It was a very long operation, but after labouring for four or five hours he found that he had dug up almost ten square yards of ground. “It is thoroughly done, though there is not much of it, and that’s a satisfaction,” he said. He thought, however, even when the ashes of the grass were mixed with it, it would scarcely be sufficiently fertile for the seeds. “I will go into the woods and collect rotten leaves, and with the ashes of my fire I hope in time to make the soil good.” This was a wise thought, but the sun was already getting low, and he determined to wait till the next day to do so. “It will be better to have a small piece of good ground than to dig up the whole plot, and I will only put in a few seeds at first, to see how they answer; so that if some fail, I may try
  • 71. a different way of cultivating them. I shall, at all events, have work enough. How sad it would have been if I had had nothing to do but to sit still and bemoan my hard fate. I may not, after all, find my life so miserable alone as I had expected, that’s another comfort.” With these reflections he went back to his fire, and now, to his satisfaction, he found that his beef was thoroughly boiled. Ned had forgotten to put in any salt or mustard, but as the beef was salt in itself, that did not signify. It reminded him, however, that if he shot any birds or caught fish, he should require some. That made him resolve to try and look for it amongst the rocks, or to try and manufacture it from salt water, as he had read of being done. He had been accustomed to read a good many books of travels before he came to sea, and he now found the advantage of having done so, by being reminded of the various ways people, when placed in situations similar to his, had been enabled to support existence. This contributed to keep up his spirits, as it made him have no doubts of obtaining food. His only dread was that he might meet with an accident, or might fall ill, when there would be no one to help him. “Well, well, I ought not to trouble myself about that either,” he said. “I must pray to God to preserve me, and do my best not to run any unnecessary risk.” He then recollected the dreadful complaint, the scurvy, which had already attacked some of the crew of the Wolf. “That is brought on by people living too exclusively on salt provisions. I must try to find some roots or herbs till the seeds come up; and then, if they produce vegetables, as I hope they will, I need not be anxious about that.”
  • 72. Such were his cogitations during his meal. Having finished, he hung up the remainder of his beef in his tent, to serve as breakfast for the next morning, and then went back to the fountain to enjoy a draught of pure water. He felt but little inclined to do any more work, and the sun had not set when he recollected that he had not yet read from his Testament. He took it from the pocket of his jacket, which hung up in his tent, and sat down to read. He read on for some time, feeling his spirits greatly refreshed, till, by the increasing darkness, he found that the sun had gone down, and that it was time to prepare for rest. Ned had thrown a bed into the boat and a blanket. “Few people left on a desert island as I am have enjoyed so luxurious a couch as this is,” thought Humphry, as he laid himself down after offering up his prayers, as he had been accustomed to do before he came to sea. Since then, shame, and the indifference which arises from it, had prevented him ever kneeling in prayer. He now, left all alone as he was, felt that prayer was his greatest comfort; though he had no fellow-creature to talk to, he had the privilege of speaking to his Maker. He had not been reading his Testament without gaining enlightenment. He had learned that he must come to God in His appointed way—through Jesus Christ; that he had no right to approach Him in any other way. He had scarcely placed his head on the bundle of clothes which he had rolled up to make a pillow, and drawn his blanket round him, than he fell fast asleep.
  • 73. Story 2--Chapter V. It seemed but a moment afterwards that Humphry heard some birds chirruping, and opening his eyes, he found that it was already daylight. He instantly sprang up, recollecting that though the days were long, he had plenty of work to do. He first knelt down and earnestly offered up a prayer for protection and guidance. The water in the bay looked bright and clear. Throwing off his clothes and plunging in, he enjoyed a refreshing swim. The warm air soon dried him, for Ned, as may be supposed, had not thought of providing him with towels. As he sat on a rock for a few moments to rest, he saw a dark object floating by in the water, then a triangular fin rose above it, and he observed a pair of fierce-looking eyes gazing up at him. He shuddered, for he recognised the sailor’s enemy, the shark. How mercifully he had been preserved! Had he remained in a few minutes longer the monster might have seized him. He must be cautious in future how he bathed. He might find, however, some quiet pool into which no shark could enter. After recovering himself he returned to the camp, and lighted a fire to cook his breakfast, which consisted of salt beef and biscuit. He thought he should like some tea. He searched in his cask of stores, and to his satisfaction he discovered a large bagful, and another of cocoa. This showed him more than ever how thoughtful his friend had been. He knew, however, that he must husband it carefully. Having brought water from the fountain, he made a little, which he found very refreshing. After draining off the liquid he put the leaves carefully by, to serve for another time. With this, and some of the cold beef and biscuit, he made a
  • 74. hearty meal. Then taking his spade in his hand he set to work to dig up more ground. He enriched it also with rotten leaves which he collected, and with the ashes of the grass and roots which he dug up and burned. He had already spent nearly two days on the island. “I shall forget how time passes if I don’t take some note of it,” he thought. “I must follow Robinson Crusoe’s plan, and notch a stick.” He at once went and cut a long one. He made a notch to show the day he had landed, and another for that which was then passing. He then smoothed off the end, and carved the date—“20th November 1812.” “I will cut a notch every morning, directly I am up, and then I shall not run the risk of missing a day by forgetting to mark it.” He was surprised to find how soon Sunday came round. On board the Wolf that sacred day had only been observed by the men being allowed to mend their clothes; or if they were not so employed, they used to sit idly gambling or singing ribald songs. Humphry had been considering all the previous day how he should spend it. “We are told by God in the Bible to do no work, and to make it a day of rest. I am sure that I ought to obey Him, though it may seem important to me to get my house up or to dig more ground. I will therefore obey His commands, and leave the rest to Him.” He rose at the usual hour, and went to wash at the waterfall, where he found that he could take a shower-bath, which was cooler and more refreshing than even a dip in the sea. He came back to breakfast, and then taking out his Testament, read for a long time with deep interest. While so employed, it occurred to him that he would learn portions by heart. This amply occupied his mind, and afforded him so much satisfaction, that he determined every morning to commit a verse to memory that he might think of it while
  • 75. he was at work. He began at the “Sermon on the Mount” on Monday morning, so that by the end of another week he had learned six verses. While waiting for the result of his gardening operations, he began putting up his house. As he had the greater portion of the summer of the Southern hemisphere before him, he was in no hurry about this; so during a portion of each day he went out with his gun to shoot birds, or sat on a rock with a line catching fish. He never failed to kill as many birds as he wanted for food, or to catch as many fish as he could eat. He fitted one of his harpoons, and kept it ready for use in case any seals appeared, though he suspected that if they visited the island at all, they would not come till the winter season. He had gone on increasing his garden, and putting in more seeds. Greatly to his delight those he first sowed now appeared above ground. He watered them regularly, and the plants rapidly increased in size. Some were evidently cabbages, while others put forth roots with tubers; others, again, greatly resembled spinach. He had now got up his house, and had dug a garden sufficiently large for his wants. The soil, by being watered every day, became even more fertile than he had expected.
  • 76. Story 2--Chapter VI. Several weeks thus passed away before he thought of exploring his island. His stores had during this time visibly diminished. He therefore saw the necessity of laying in a store of food which might serve him when he could not obtain it either by his gun or fishing-lines. During bad weather, when the sea breaking over the reef washed into the bay, he was frequently unable to catch fish. He thought over various ways of preserving them. “I might dry some in the sun, and salt others; but I suspect they would keep better and be more palatable if I could smoke them.” He found salt in the hollows of the rocks as he had expected, but it required much time and labour to collect. One of his small casks was now empty. A fine day, when the fish bit freely, enabled him to catch a large number, and he made his first experiment. He had already got a large pile of salt, though it was somewhat sandy, but he thought that would not signify. He cut off the heads and tails of the fish, then rubbed the salt thoroughly into them, and packed them away in layers, with salt between each. It took him three or four days’ fishing to fill his cask, when all the salt was expended. He then stowed it away in a dry part of his hut, hoping that he had now secured food to last him for several weeks. He next tried drying some in the sun, but did not succeed to his satisfaction. He afterwards, however, built a smoking- house, and cured a considerable number in it, though they were less palatable than those preserved with salt.
  • 77. These tasks finished, one day, being prevented from fishing by a gale of wind, he set out on his proposed expedition, taking his gun, with some provisions in a wallet he had manufactured for the purpose. He made his way towards the nearest hill, and then struck down a valley which led to the sea. Between it and the bay a high ridge of rocks extended, so he continued his course along the shore in an opposite direction. He had not gone far before he came to another ridge which he had to surmount, the coast becoming wilder and wilder as he advanced, instead of improving, as he had hoped it might do. At last he reached what he took to be the southern end of the island. Looking back he saw the slope of the single high hill which composed its chief feature. He had now great difficulty in proceeding. The cliffs which faced the sea were almost perpendicular, and the rocks over which he climbed were extremely rough. He proceeded cautiously, knowing the fearful position in which he would be placed should he meet with an accident. He saw, however, at a little distance off, a number of wild-fowl circling round the cliffs. He was certain that they had come there for the purpose of laying their eggs. Could he reach the spot, he might obtain a pleasant addition to his larder. After great labour he reached the spot, when he found himself among hundreds of birds, many of them already sitting. They screeched and quacked and scolded, pecking at his legs as he got among them. Without ceremony he quickly filled his wallet with eggs. “This will serve me as a poultry-yard for a long time to come,” he thought. “I will not kill any of the old birds, but will wait till the young ones are hatched, as they are likely to be more palatable than their parents. In the meantime, I will supply myself with eggs.”
  • 78. It was now time for him to commence his return home. He felt very tired when he reached his hut, for he had not taken so long a walk since landing on the island. To preserve his eggs, he covered them over with the grease which remained in the pot after he had boiled his pork, and then packed them away in cool, dry sand. Every day he had reason to be thankful that he had read so much, for recollecting the various methods by which others had supported themselves, he was able to supply himself with food. His garden yielded him a daily meal of either sweet potatoes, yams, cabbages, or other vegetables. He now caught more fish than at first, and also from his poultry- yard obtained a good supply of young fowls. His shoes were wearing out, and he was desirous of catching some seals, from the skins of which he might manufacture others to supply their place. At last he saw several sporting in the bay. He at once got his harpoon ready, and took post on a rock, expecting that one would before long approach him. He was not disappointed Darting his weapon, he struck the animal, which swam off, dragging out the line at a rapid rate. He found that he had made a mistake, and was nearly losing his line and harpoon as well as the seal. Fortunately, just as it neared the end, he got a turn round a projecting piece of rock. The poor seal plunged and tumbled, and swam back to the rock to ascertain, it seemed, what had hurt it. He drew in the slack, and was thus able to secure it more completely. After a time its struggles ceased, and he dragged it to the beach. He here took off the skin, with which he hoped to make several pairs of shoes, while the flesh supplied him with a dinner of fresh meat for a couple of days; the other portions he salted, in store for future use. Stretching the hide on the ground, he
  • 79. dressed it with a ley formed by mixing the ashes of his fire with water. This he found would not answer completely, and after searching in the forest he discovered some bark which formed a strong tan. The seals now came on shore in large numbers. Recollecting that their skins would be of value should a ship come to the island, he determined to capture as many as he could. Arming himself with a thick club, he attacked them when asleep on the beach, and every day succeeded in knocking over a considerable number. This gave him abundant occupation; and continuing his experiments he succeeded in perfectly preserving the skins. When at length the creatures took their departure, his hut was nearly filled with the result of his industry. Day after day went rapidly by, and had he not been careful in notching his stick, he would soon have lost all count of time.
  • 80. Story 2--Chapter VII. Three years had passed away since Humphry landed on the island. He was startled one calm day, when fishing from a rock in the bay as he caught sight of his own countenance in the water, to observe how changed he had become. Instead of the laughing, careless, broadly-built boy with the ruddy face, which he once was, he had grown into a tall, thin young man, with a sunburnt countenance, its expression grave and thoughtful. He was not melancholy, however, nor did he ever feel out of spirits; but he had of course been thrown back on himself, while his mind was constantly occupied. He had but one book to read, but that book, above all price, had given him ample subjects for reflection. “What should I have done without this?” he often said to himself, as he opened the book with a prayer that what he was about to read might enlighten his mind. “I have heard people talk of reading their Bibles, but though I have read nothing but my Testament for three years, I every day find something fresh and interesting in it.” He had often made excursions to the top of the hill, whence he could obtain a view over the surrounding ocean. It had been raining heavily during the previous day. No seals were to be caught on shore, nor fish in the water. Taking his gun, he set off, intending to go over the hill to get a shot at some wild-fowl. The wind had greatly increased; and wishing to obtain a view of the ocean with its huge foam-covered billows rolling around, he climbed to the top of the hill. As he reached it, his eye fell on a ship driving before the gale towards the rocky shore. Two of her masts were gone; the third fell while he was looking at her. Nothing could now save her from destruction, for even
  • 81. should her anchors be let go, they were not likely to hold for a moment. He considered whether he could render any assistance to the unhappy people on board. Too truly he feared that he could be of no use. Still he would do his best. Hurrying home, he procured the only rope he possessed, and a spar, and with these on his shoulder he hastened towards the spot at which, considering the direction the ship was driving, he thought she would strike the shore. He had scarcely reached it when he saw the ship driving on towards him on a mountain sea. The next instant down she came, crashing on a reef of rocks far away from where he stood, the foaming sea dashing over her. Several poor wretches were carried off the deck, now driven towards him, but directly afterwards carried back by the retiring surf. He could distinguish but one alone still clinging to a portion of the wreck, all the others had in a few minutes disappeared. As long as that man remained, he could not tear himself from the spot. Several hours passed by; still the man clung on, having secured himself apparently by a lashing. The storm seemed to be abating. Humphry took off his shirt, and fastening it to the end of a spar, waved it, to show the shipwrecked seaman that help was at hand if he could reach the shore. It was observed at length. The man, casting off the lashings, lowered himself into the water, and struck out for land. Humphry prepared his rope. Fixing the spar deep in the sand, and securing one end of the rope to it, he stood ready to plunge in, with the other end round his waist, to drag the man on shore should he get within his reach. How anxiously he watched! Nearer and nearer the man came. Now he was seen floating on his back, now he struck out again. A sea rolling in bore him on, but as it receded it threatened to carry him off once more. Now was the moment. Humphry dashed into the surf. The man’s strength had almost failed when Humphry grasped him, and hauling
  • 82. himself up by the rope dragged the man out of the surf, sinking down exhausted by his side the instant he was out of its reach. Humphry was the first to recover. “If you are strong enough to accompany me to the other side of the island, friend, where I have my home, we will set off at once; but if not, I will go back and get some food for you,” he said. “I shall soon be better,” answered the man. “I think I could walk. Have you a companion with you?” “No,” answered Humphry, surprised at the question; “I am all alone.” “That’s strange! What, isn’t there a young lad somewhere about the island?” “No,” said Humphry. “I have been here three years and have seen no human being.” The man gazed into his countenance with a look of astonishment. “What is your name, then?” he asked. Humphry mentioned it. “You Mr Gurton!” he cried, pressing his hand. “I suppose it must be; and don’t you know me?” Humphry looked into the man’s face. It was covered with a thick beard, and his tangled hair hung over his shoulders. “You must be Ned Hadow; yet I should not have known you more than you know me. I am indeed thankful that you
  • 83. Welcome to our website – the perfect destination for book lovers and knowledge seekers. We believe that every book holds a new world, offering opportunities for learning, discovery, and personal growth. That’s why we are dedicated to bringing you a diverse collection of books, ranging from classic literature and specialized publications to self-development guides and children's books. More than just a book-buying platform, we strive to be a bridge connecting you with timeless cultural and intellectual values. With an elegant, user-friendly interface and a smart search system, you can quickly find the books that best suit your interests. Additionally, our special promotions and home delivery services help you save time and fully enjoy the joy of reading. Join us on a journey of knowledge exploration, passion nurturing, and personal growth every day! ebookbell.com