An Efficient Grid Resource Discovery Mechanism Based on Tree Structure Leyli Mohammad khanli Assistance Professor CS Department University of Tabriz E-mail address: l-khanli@tabrizu.ac.ir Ali Kazemi Niari M.S. student Islamic Azad University Tabriz Branch E-mail address: a.kazemi.n@gmail.com Saeed Kargar M.S. student Islamic Azad University Tabriz Branch E-mail address: saeed.kargar@gmail.com 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 (010100001161). 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.
© Copyright 2025 Paperzz