csse2011_submission_10.pdf

An Efficient Grid Resource Discovery Mechanism Based on Tree Structure
Leyli Mohammad khanli
Assistance Professor
CS Department
University of Tabriz
E-mail address: [email protected]
Ali Kazemi Niari
M.S. student
Islamic Azad University
Tabriz Branch
E-mail address: [email protected]
Saeed Kargar
M.S. student
Islamic Azad University
Tabriz Branch
E-mail address: [email protected]
Abstract
Grid computational systems make a way in which
different
heterogeneous
resources
that
are
geographically distributed are connected in a virtual
processing environment. Resource discovery in such
environment would be so critical. In recent years,
authors proposed different methods in resource discovery
field. These presented methods tried to decrease the
discovery and updating costs. Some were successful in
lowering the discovery cost and some in update cost.
In this paper, any nodes of the grid take a format as a
catalogue. In this format to any attribute of resource
allocated a unique code. These codes transferred among
nodes for update and discovery that have low volumes.
Despite the previous methods, we presented a method
which is low cost in both discovery and updating. The
results show that the traffic and number of visited nodes
in our resource discovery algorithm is less than other
algorithms.
1. Introduction
In the recent decent, significantly advances observed in
the field of distributed systems and calculations.
However, there are so many problems in science,
engineering and occupation fields which can’t be address
even with the help of current generation of super
computers. In fact, because of the over size and great
complexity, the problems are Computation-Intensive and
Data-Intensive. So, they need different types of
heterogeneous resources in which all resources can’t be
assembled or made accessible with only one super
computer. Grid computational systems make a way in
which different heterogeneous resources that are
geographically distributed are connected in a virtual
processing environment, in a way that the connections
and its infrastructure seem as a unique powerful system
of processing and storage capacity [1].
A grid environment can include different resources
managed by different organizations and also with various
geographical locations. Resource discovery in such
environment would be so critical. Some of the algorithms
proposed for resource discovery in the grid environment,
use centralized or decentralized methods. Centralized
methods [2] are those in which the central server is
responsible for the management of all resources. So, the
methods could easily manage all resources. But if the
number of resources increases, due that the responsibility
of all requested resources is on the central server, a
bottleneck will be made and the system efficiency
decreases considerably. On the other hand, if the central
server fails, problem occurs. Despite more scalability
exits in distributed methods, but they face problems in
wide and expanded environments [3].
In this paper, for all resources, some constant codes
allocated which would be accessible as catalogue for all
nodes, which means that the information will never be
manipulated. We only use the codes to fill the forms
available in nodes. In the update phase, the forms are
manipulated and there would be no need for catalogue.
Here, we use two forms so called "local form" and
"children form", in which local form used to determine
the resources in nodes themselves and children form
which the number of its positions will be dependent to
the number of children in every node.
In the following, we describe the method in details.
Section 2 involves researches done in resource discovery
in grid. In section 3, we’ll discuss our proposed method.
Section 4 includes the results of the simulation and our
method would be compared recent methods. Finally,
section 5 would be conclusion and future works.
2. Related work
Regarding the wide area of the grid, finding a proper
resource for the users would be important. In recent
years, authors proposed different methods in resource
discovery in the grid environment. Due to the similarities
between grid systems and peer to peer, some authors
brought about methods used in peer to peer to the grid
environment [4-6]. In peer to peer systems, resource
discovery solutions divided into centralized and
decentralized groups which in decentralized peer to peer
systems, two structured and unstructured methods are
used. Flooding-based approach is used in most of the
unstructured peer to peer methods, while the structured
peer to peer is based on the DHT [7].
One of the methods in resource discovery uses
semantic communities. Such as method [8] which
proposed a resource discovery method based on
semantically linked virtual organizations in which a
framework that organizes a grid with semantic links and
also replaces similar nodes in one group as one semantic
small world to make resource discovery easier.
In [9], Chang and Hu proposed a method which uses
bitmap and a tree structure for resource discovery. In the
current method, information of the local resources in
every node placed in a bitmap called "local bitmap" and
for the children the bitmap would be "index bitmap". It
also uses another bitmap called "counter bitmap".
Number of the positions of all bitmaps would be the
same, equal to the number of the attributes available for a
resource. In this method, the users requests given to one
of the nodes in the form of these bitmaps which
compared with local bitmaps of every node and if the
related resource available, it reserved for user. Otherwise,
it will be compared with index bitmap and if the
requested resource exists in children, the request will be
sent to all children. If the related resource not exists in its
children, it will be delivered to the parent node in the
tree.
In the previous work [10], we used a footprint resource
discovery tree in which, regarding that the tree edge are
weighted, all resource discovery paths would be unique.
In the current method, resource information gathered
form downward to upward directing into the root of the
tree and every resource makes its footprint in upward
nodes through root. So, when a request sent to one of the
tree nodes, it can directly and without reference to extra
nodes access the desired resource (if available in the
grid).
Our method has more advantages compared to other
methods:
1) Discovery and update costs are lower. The
methods since presented couldn’t able to
simultaneously lower the discovery and update
costs; i.e. have higher update or higher
discovery costs.
2) Coded forms transferred among nodes for
update and discovery is low volume.
In the next section, we will discuss our method with
details.
3. Our resource discovery mechanism
There are different algorithms for resource discovery in
the grid environment. Most of the recent methods have
used tree structure in their algorithms. For example two
methods that proposed in [9] and [10], connect grid
nodes in the format of a tree structure and perform
resource discovery on this tree. Any of these methods
visit some unnecessary and extra nodes in their path to
discovery or updating. The difference of our method with
these methods is that in our method no extra nodes are
visited in discovery and updating phases, and also the
discovery and updating traffic costs would be lower, too.
In our method, any nodes of the grid take a format as a
catalogue (Fig. 1).
Figure 1. An example of catalogue form.
In this form to any attribute of resource (here, an
operating system with attributes XP, Linux, Seven, Unix,
Vista and Mac OS) allocated a unique code. The nodes
use these codes for resource discovery or updating and no
change occurs in them; i.e. the codes are constant
numbers. But for resource discovery, we create a number
of forms in which the nodes reserve the information
related to their local resources and children resources.
However, the forms will change during initialization and
updating phases. Every node creates a form called “local
form” which contains a position to reserve the local
information. The node takes the desired code from
"catalogue form" and places in its local form. Another
form i.e. "children form" created to reserve the
information of children. The number of its positions
would be dependent on the number of the node’s
children; i.e. the information received from any child will
be reserved in the position considered for that special
child.
In our method, if a user wants to request a resource
should make it in the format of a "request form" which in
the size of local form and delivers it to one the nodes
available in the grid. User should extract the code related
to its requested resource from the catalogue form, and
insert in the request form. In the following, we will
discuss how to gather the information of children by
parents and the way the tree forms. Ways of resource
discovery and updating of tree will be discussed, too.
3.1. Tree initialization
Having recorded the local information in local forms
by nodes, they will wait for children to send information
in order to fill their children forms. If a node is the leaf
node (no children), delivers its local form to the parent
node because contains only the local information.
Otherwise (not being a leaf node), beside the local
information, it should send the information related to the
children to parent node.
For example, suppose node D in Fig 2, because it is
not a leaf node, contains children information, too. To
send the perfect information to node A, the mentioned
steps is done. First, the contents of children form taken
from left to right and attached to each other after
changing into binary. Then the code related to local
resource extracted from local form and attached to
former number after being changed from decimal into
binary.
Figure 2. A sample of tree after initialization in our method.
Here, to decrease of volume of sent bits, the number
which has to be sent to the parent node will be searched
and the repeated codes related to similar resources will be
deleted. Finally, the result changes from binary into
decimal and sent to the parent in the format of a advertise
form. Node D, as mentioned above, change its children
form containing numbers (1424) into the binary
equivalence (001,100,010,100), so the contents of the
local form will be attached to these numbers
(001,100,010,100,001). This node, delete the iterated
codes following the search (010,100,001). The mentioned
node changes the result into the equivalent decimal and
sends to its parent node i.e. A (010100001161). In the
receiving part, every node receives information from its
children, reserves the received number in its place in the
children form. As shown in Fig. 2, node A, after
receiving number 161 from child D, reserves it in the
position related to D at its children form. So, information
contained in a node sent to the children nodes through a
number of simple operations or reserves the information
received from children. After that the data transferring
among nodes finished, users can request their wanted
resources in the grid environment and then use them.
Next changes in the available information in nodes occur
by some other forms called “update forms”.
3.2. Resource discovery
Having reserved information in its proper place by
nodes, the user would be able to search a resource in the
grid environment. User should deliver the request in a
particular format to one of the available nodes in the tree.
Also, the user should record the code related to its
requested resource in a form called “request form” and
deliver it to one of the nodes available in the grid.
Receiving the request form, the node compares it with its
local resource. If it was equal, the requested resources
will be reserved for the user and a success message sent
to the user. Otherwise, the request form, compared with
children form, in which information available in every
position related to children changes from decimal into
binary and then the search operation performed in the
binary number to find a match.
If the researched resource found, request form sends to
the related child. Otherwise, compares it with
information related to other children. Finally, if no match
found among its children, request form sends to its
parent. As observed in Fig. 3, user needs a Unix resource.
So, in the request form extracts the code from the
catalogue form (Fig. 1) and writes number 4 in this form.
User delivers the form to node E in Fig. 3. The node
compares this form with its local form and due that they
are not equal and the node is a leaf node, sends the
request form to its parent (node B). Node B compares
request form with its local form and later with positions
of children form. Since no mach found among any
positions, sends it to its parent node i.e. A. Because node
A not found a match in own local form, so, compare it
with children form, except the position received request
form of its related child i.e. B. First, the node changes the
content of position related to child C from decimal into
binary and then searches the resulted code to find a
match. As shown in Fig. 3, the node finds a match from
the information related to node D. So, sends request form
to node D. when node D realizes a resource with the
requested characteristics in its child K, sends it to node
K. Finally, node K discovers and reserves the requested
resource to the user, then sends a success message to the
user. In the current method, the requested resource
discovered without any referral to the unnecessary and
extra nodes.
children and since that it found the code in a position
related to other children (node M), update finish in this
node. As observed, our updating method is a simple one
which visits a few nodes.
4. Simulation result
Figure 3. An example of resource discovery in our method.
3.3. Update
When a resource reserved for a user and he decided to
use it, it can’t be usable by others. So, we should
immediately update our tree in order that always the tree
provides correct information of its resources to the users.
In Fig. 4, suppose that resource Unix (code 4) in node K
discovered to the user and then user decided to use it.
In this section, simulation results given and compare
with recently presented methods including floodingbased, MMO [11, 12], tree method [9] and FRDT [10].
As the results indicate, our method visits fewer nodes in
discovery and updating phases compared to other
methods. We also performed the experiments on trees
with height 4 like [9, 10].
The environment where the simulations performed is
MATLAB environment. Resources available in this grid,
randomly distributed among nodes and also the users
requests randomly distributed in different levels of the
tree.
Some of the experiments compare the visited nodes in
discovery and updating phases in our experiments. While
the other ones related to the traffic.
The first simulation shows the number of nodes visited
and also the number of occupied links in a tree with the
height of 4 for the tree method, FRDT and our method
and compares them. The experiment performed with
different number of nodes. As observed in the
experiments, the nodes visited in our method (Fig. 5) and
also the links occupied are similar to FRDT and lower
than tree method (Fig. 6), because in our method like
FRDT, the request passes a direct path to reach the
destination. The experiment performed with 400
requests.
Tree height 4
FRDT
Our method
Number of nodes
400
259
156
85
40
15
Figure 4. An example of update in our method.
0
In the updating method, node K removes contents of its
local form. Then, place the removed code (code 4) its
update form and sends it to the parent node i.e. D. Node
D finds the code available in this form from the place in
children form (place related to node K) and deletes it.
Then, this node searches for the positions related to other
2000
4000
6000
8000
Number of nodes that queries are forwarded
Figure 5. The number of nodes that queries are forwarded
for 400 requests.
Tree height 4
FRDT
FRDT
Our method
Tree height 4
Our method
Number of nodes
400
259
156
85
40
8000
7000
6000
5000
4000
3000
2000
1000
0
15
Number of occupied linkes in update
3500
3000
2500
2000
1500
1000
500
0
15
Number of linkes that occupied with forwarded
queries
Figure 6. The number of links that occupies with forwarded
queries for 400 requests.
In the second simulation, we compared the update of
our method with tree method and FRDT. In this
experiment, the nodes and the occupied links in update
phase calculated after 400 requests. The results shown in
Fig. 7 and Fig. 8, so, the number of visited nodes (Fig. 7)
and also the occupied links (Fig. 8) in our update method
is lower compared to the two former methods. As a
result, update of our method is optimal compared to other
methods.
FRDT
Tree height 4
40
85
156 259 400
Number of nodes
Figure 8. The number of occupied links in update after 400
requests.
In the next simulation, the number of nodes visited in
resource discovery in five methods of flooding-based,
MMO, tree method, FRDT and our method compared.
This experiment performed for 300 requests. Results
show in Fig 9.
In the last simulation, total of the nodes that visited in
resource discovery and update for tree method, FRDT
and our method calculated on a tree with the height of 4.
Results show in Fig 10. As the results of the experiments
indicate, in our method, fewer numbers of nodes and
links are visited in resource discovery and update phases.
So, would be of higher efficacy.
Our method
flooding-based
MMO
Tree height 4
FRDT
Our method
3500
80000
Number of nodes that queries are
forwarded
Number of visited nodes in update
4000
3000
2500
2000
1500
1000
500
0
15
40
85
156
259
400
70000
60000
50000
40000
30000
20000
10000
0
85
156
259
400
Number of nodes
Number of nodes
Figure 7. The number of visited nodes in update after 400
requests.
Figure 9. The number of nodes that visited in resource
discovery using different methods for 300 requests.
Total number of nodes that visited during discovery
and update
Tree height 4
FRDT
Our method
9000
8000
7000
6000
5000
4000
3000
2000
1000
0
15
40
85
156
259
400
Number of nodes
Figure 10. Total number of nodes that visited during
resource discovery and update on trees with height 4 for 400
requests.
5. Conclusions and future work
In this paper, we presented a method which uses a
number of forms containing codes for resource discovery
in grid. In this method, discovery and updating forms are
very low-volume and the proposed method is also simple
and easy to use. We also can discover similar resources
from different nodes for a request and reserve it for the
user. So, user can choose whatever he wants among the
discovered resources (regarding a number of criteria such
as distance and etc). Despite the previous methods, we
presented a method which is low-cost in both discovery
and updating.
In the future, if we would be able to improve the forms
in such a way that the user can request different resources
with different attributes in the format of these forms, our
algorithm would be more efficient.
6. References
[1] Ian Foster, Carl Kesselman, The Grid 2: Blueprint for a New
Computing Infrastructure, Morgan Kaufmann Publishers
Inc., San Francisco, CA, 2003.
[2] K. Czajkowski, S. Fitzgerald, I. Forster, C. Kesselman, Grid
information services for distributed resource sharing, in:
Proc. 10th IEEE International Symposium on HighPerformance Distributed Computing, HPDC-10, August,
2001, pp. 181_194.
[3] Padmanabhan, A., Ghosh, S., Wang, S.: A Self-Organized
Grouping (SOG) Framework for Efficient Grid Resource
Discovery. Journal of Grid Computing (2009).
[4] K.I. Karaoglanoglou, H.D. Karatza, Resource Discovery in a
dynamical grid based on Re-routing Tables, Simulation
Modelling Practice and Theory 16 (2008) 704–720.
[5] Adriana Iamnitchi, Ian Foster, Daniel C. Nurmi, A peer-topeer approach to resource location in grid enviroments, in:
Proceedings of the 11th Symposium on High Performance
Distributed Computing, Edinburgh, UK, August 2002.
[6] N.A. Al-Dmour, W.J. Teahan, Peer-to-Peer protocols for
resource discovery in the grid, Parallel and Distributed
Computing and Networks, Innsbruck Austria, 2005.
[7] Zhu, C., Liu, Z., Zhang, W., Xiao, W., Xu, Z., Yang, D.:
Decentralized Grid resource discovery based on resource
information community. Journal of Grid Computing 2 (3),
261–277 (2004).
[8] J. Li, Grid resource discovery based on semantically linked
virtual organizations, Future Gener. Comput. Syst. 26 (2010)
361–373.
[9] R.-S. Chang, M.-S. Hu, A resource discovery tree using
bitmap for grids, Future Gener. Comput. Syst. 26 (2010)
29–37.
[10] L.M. Khanli, S. Kargar, FRDT: Footprint Resource
Discovery Tree for grids, Future Gener. Comput. Syst. 27
(2011) 148–156.
[11] M. Marzolla, M. Mordacchini, S. Orlando, Resource
discovery in a dynamic environment, in: Proceedings of the
16th International Workshop on Database and Expert
Systems Applications, DEXA’05, September 3–7, 2005, pp.
356–360.
[12] M. Marzolla, M. Mordacchini, S. Orlando, Peer-to-peer
systems for discovering resources in a dynamic grid,
Parallel Comput. 33 (4–5) (2007) 339–358.