Data Dissemination Approaches for Performance Discovery in Grid Computing Systems Muthucumaru Maheswaran Advanced Networking Research Laboratory Department of Computer Science University of Manitoba Winnipeg, MB R3T 2N2, Canada Email:
[email protected]
Abstract A Grid system can be considered as an infrastructure that allows location independent access to the resources and services that are provided by geographically distributed machines and networks. One fundamental operation necessary to support such a system is performance discovery in wide-area networks. Dissemination of resource status information is an important component of any performance discovery algorithm. The data dissemination for performance discovery in Grid systems has several distinct features and requirements that can be exploited to make the process efficient. Recently, several data dissemination algorithms based on a new concept called the “Grid potential” were proposed. This paper introduces a new algorithm for data dissemination and compares it with previously introduced schemes through simulation studies. The results indicate that the new algorithm further improves the performance of data dissemination.
1. Introduction The deployment of faster networking infrastructures and the availability of powerful microprocessors have positioned network computing as a cost-effective alternative to the traditional computing approaches. The Grid is defined as a generalized, large-scale network computing system that is formed by aggregating the services provided several distributed resources [5, 7]. One of the key motivations for constructing Grids is to provide application-level connectivity among the various machines so that resources and services supported by the individual systems can be shared in a global scale. To enable such sharing, it is necessary for the Grid architecture to support several services [5, 9] and
resource discovery is one of them. In a Grid system, the resource discovery service may operate in conjunction with the resource management service. When a client requests service, along with the request it presents a set of attributes that should be satisfied by a candidate resource. The resource discovery process may be responsible for generating a set of best possible candidates for the given set of attributes. The scheduling heuristics that are part of the resource management mechanism may allocate the best resource(s) from the set based on the some criterion. For example, the resource management may solicit bids from the potential candidates and select the resource with the highest bid to serve the request. Along with other services, resource discovery is necessary to support resources going off-line and coming on-line. Generally, resource discovery services use status databases that are maintained by network-wide information services to fulfill the client requests. For scalable implementations, it is essential to organize the status databases in a distributed fashion. With a distributed organization for the status databases, the queries can be executed very efficiently but the updates to the databases may be costly. Most of the update costs are caused by the communication operations performed to disseminate status information across the Grid. This paper focuses on approaches for performing the data dissemination that is necessary to keep the status databases consistent. Recently, data dissemination for resource discovery has been an active research area with applications such as web content management motivating the research [3, 10]. Several research initiatives have examined this issue in the context of Grid computing as well [8, 12]. Resource discovery is defined as the process by which a node or machine in a distributed system becomes aware of the attributes or capabilities of the other nodes that are part of the system. In Grid
systems, the resource discovery process is mainly used by a node to find out the “best” set of candidate resources that can execute a job or provide a specific service. This problem can be considered as a special case of the resource discovery problem and we call it performance discovery. The efficiency of the performance discovery process can be improved by observing that a Grid is likely to consist of a variety of heterogeneous machines and networks and some of the machines will be more significant than others in terms of performance. Therefore, one way of reducing the overhead involved with data dissemination would be reduce the data dissemination overhead by controlling the extent of status dissemination of a machine according to the significance of the machine. In a previous paper [12], we introduced a concept called the Grid potential that encapsulates the relative processing capabilities of the different machines and networks that constitute the Grid. Further, in that paper, we introduced several data dissemination algorithms and some of them used the Grid potential idea. In this paper, we perform further simulation studies to evaluate their performance and introduce another improved data dissemination algorithm that is based on the Grid potential idea. Section 2 presents the resource discovery model that is used in this paper. Section 3 overviews the idea of Grid potential and illustrates how it could be adaptively used to control the data dissemination overhead. Section 4 presents the data dissemination approaches for resource discovery operation in the Grid context. Results from simulation studies that compare the different approaches for data dissemination are presented in Section 5. Section 6 examines the related work in the research literature.
2. Resource Discovery: proaches
lutions for resource discovery can be generalized to multiple domains. In this paper, for the purposes of modeling the resource discovery schemes, we abstract the Grid as a connected graph. A node of the graph corresponds to a resolver and an edge corresponds to a path between two resolvers. The endsystems attach to the resolver that manage them, i.e., each resolver would have a number of endsystems that connect via it to the Grid. To simplify the analysis, we represent a resolver and the associated endsystems using a single node in the graph. For examining resource discovery schemes, this is sufficient because the interactions among the resolvers create the major part of the overhead associated with resource discovery algorithms. Any request originating from an endsystem that cannot be served by the endsystem itself will be routed to its associated resolver. The resolver will use scheduling heuristics in conjunction with the information gathered via resource discovery to decide how to handle the request. The resource discovery related transactions between endsystems and resolvers include basic resource status update and query messages. Because resource discovery is a fundamental operation, this issue has been examined in several areas including digital libraries, Internet searching, mobile computing, and naming systems. We provide a taxonomy of these diverse approaches in Figure 1. In general, a resource discovery scheme can be implemented by maintaining a global status database and querying it to process a given request. We classify the various approaches to resource discovery based on how they address the following questions. What is the organization of the status database? How is the database updated? When is the database updated? The status database can be organized in (a) centralized, (b) decentralized, or (c) hierarchical manner. In the centralized organization, a single global status database is maintained for the entire system resulting in a single point of failure and reduced scalability when compared with decentralized and hierarchical organizations. The decentralized organization may partition and replicate the status database across the network. Consequently, with a decentralized organization, multiple geographically distributed databases will be maintaining status information for a given resource. This increases the communication overhead due to a corresponding increase in the number of messages needed to keep the multiple databases consistent. The decentralized schemes are fault-tolerant and have low query times because queries are local or are processed in a server that is in the same network segment. However, they may not be scalable due to the communication overhead caused by the consistency traffic that can rapidly increase with the network size. The hierarchical organization attempts to merge the low update overhead of the centralized scheme with the
Models and Ap-
The Grid can be considered as a virtual network of various systems that are interconnected by high-speed links. Such systems can be grouped into two categories: endsystems and resolvers [9]. The endsystems provide the resources that the Grid is responsible for managing and the endsystems also present the requests for resources that are fulfilled by the Grid. Therefore, the endsystems can be considered as the producers and consumers of the services that are managed by the Grid. The resolvers are responsible for providing the management capability to the Grid. For example, they may be responsible for scheduling the requests on the appropriate endsystems. For scalability, the Grid can be considered as an interconnection of domains called the Grid domains [9]. Each Grid domain may be made up of endsystems, resolvers, and networks that fall under the same administrative domain. In this paper, we focus on the resource discovery issues in a single Grid domain. The proposed so2
centralized organization
decentralized hierarchical
resource discovery schemes
push method
pull symmetric aperiodic
timing periodic
Figure 1. A taxonomy of resource discovery schemes. low query overhead and fault-tolerance of the decentralized scheme. Independent of its organization the status database can be updated at different instances using different methods. The database could be updated periodically or updated based on some events. These events may include significant changes in the state of managed objects or the arrival of new resource requests. The periodic updates may be occurring even if the status information has not changed sufficiently to warrant an update. Three methods could be adapted for updating the database. First one is pushing updates from the managed objects to the status database. Second one is to pull status information from the sensors in the managed objects towards the status database. This may be accomplished by the resource discovery agents at the destination nodes (nodes that eventually use the information for decision making). The third alternative is to combine the above two schemes in a symmetric method. The agents at the managed object push the updates to intermediate databases and the information is pulled from these databases by agents at the destination nodes. For the rest of this paper, we focus on data dissemination schemes that can be used to maintain consistency in decentralized and hierarchical resource discovery schemes. The dissemination schemes examined here can be adapted to work with the various update methods and timings.
mance) machines differently than the status information of less significant machines. We use the concept of Grid potential [12] to quantify the relative processing power of the various machines. The Grid potential is formally defined in [12]. Informally, the Grid potential at a point in the Grid can be considered as the computing power that can be delivered to an application at that point on the Grid. The computing power that can be delivered to an application depends on the machines that are present in the vicinity and the networks that are used to interconnect them. Consequently, a high-performance machine when connected to the Grid will induce a large Grid potential. This potential, however, will decay as the launch point of the application moves away from the point at which the machine is connected to the Grid. The rate of potential decay depends on the network link capacities. To evaluate the Grid potential, we consider a suite of benchmark codes. For simplicity, only a single code from the suite is considered here. The Grid potential of the machine is defined as the effective rate of execution of the benchmark code. Two potential values are associated with each node (machine): (a) potential that is induced by the local machine’s processing capabilities and (b) potential that is induced at the local node due to remote nodes. The pseudo-code for computing the Grid potential at a node is given in Figure 2. The Grid potential is determined by computing effective execution rate of the chosen benchmark code. As shown in Figure 2, this can be estimated without actually running the benchmark on the machine. The estimation process can be made efficient by determining parameters ts and sn offline. This leaves only average machine queue length, en , to be determined at real time. Figure 3 shows the pseudo-code for computing the potential drop between two nodes on the Grid. Let s be the
3. Grid Potential As mentioned previously, Grid computing systems consist of a variety of machines (both in terms of the performances and diversity of the architectures). Because data dissemination is performed for performance discovery, one way of reducing the communication overhead is to treat the status information of more significant (in terms of perfor3
calc_node_potential( n ) // this function returns the Grid potential of node n // for simplicity, it uses a single benchmark code // let C be the workload of the benchmark code // the workload is measured in terms of the number of operations // let S be the footprint of the benchmark code // the correlation between S and C is assumed to be same as a // typical Grid application (specialized Grid considered here) eS = execution time of benchmark code on a standard machine en = execution time of benchmark code on test machine sn = speed of the test machine ln = load of the test machine (average machine queue length) en = eS * (1 + ln)/sn return C/en end
Figure 2. Pseudo-code for computing the node Grid potential.
source node and d be the destination node, i.e., we want to determine locally induced potential at d due to s. Let ts be the execution time of the benchmark code on s. Because the node potential is the execution rate of the benchmark code, ts = C=ps . The effective processing rate seen at d due to s is given by C=(ts + t ). Therefore, the potential drop from s to d is given by (C t )=(ts (ts + t )). The potential drop is dependent on ts and t , where t is the communication cost from transfering the benchmark code from s to d. An estimate of t may be obtained without actually transferring the benchmark code. Measured values of effective network bandwidth and delay parameters may be used for estimating t .
4. Data Dissemination for Resource Discovery
Neighborhood awareness: The dissemination algorithms in this group propagate status information such that a node learns only about nodes that are less than a fixed distance away from it. Although the approaches in this class limit the dissemination overhead and is scalable to very large network sizes, other components of the resource discovery mechanism should be able to handle the incomplete information. For example, due to the limits imposed on the scopes of data dissemination, a node may not be aware of the status of portions of the Grid. Therefore, this type of data dissemination may be suitable for two-stage resource discovery schemes. The failure of the first stage that is based on a neighborhood search initiates the second-stage of the resource discovery scheme that is based on a universal search.
4.1. Overview
Keeping the various distributed status databases that are maintained by a resource discovery system consistent involves disseminating the status information. Based on the extent of message propagation, the data dissemination schemes can be categorized into three groups [12].
Universal awareness: The data dissemination algorithms in this class distribute the status information such that a node learns about every other node in the Grid. For large network sizes, the approaches in this group cause significant amount of communication due the to large number of message transfers. 4
Distinctive awareness: Because the Grid is a highly heterogeneous system, various nodes on the Grid have different attributes. The nodes with distinct attributes and/or notable values for attributes are more significant. For example, machines with special processing capabilities or high-performance machines can be considered significant when compared with personal computers. The extent of a node status information propagation is controlled by the significance of the node. If all nodes are homogeneous, an algorithm in this group reduces to an algorithm in the neighborhood awareness group.
calc_potential_drop(s, d) // this function returns the Grid potential drop from node s to node d // for simplicity, it uses a single benchmark code // let C be the workload of the benchmark code // the workload is measured in terms of the number of operations // let S be the footprint of the benchmark code // the correlation between S and C is assumed to be same as a // typical Grid application (specialized Grid considered here) ps = Grid potential of node s ts = execution time on node s for the benchmark code tc = communication cost of transfering code from d to s ts = C/ps return (C * tc)/(ts * (tc + ts)) end
Figure 3. Pseudo-code for computing the Grid potential drop.
4.2. Data Dissemination Algorithms
in the neighbor list if the status reporting node is doing so for the first time.
Figures 4, 5, 6, and 7 show pseudo-codes for the various data dissemination algorithms that are examined in this paper. A data dissemination algorithm running on any node of a Grid should perform the following functions: (a) receive the messages that are destined for the node, (b) relay messages that are destined to other nodes, and (c) generate and propagate messages to other nodes on behalf of the node. The pseudo-codes presented in the above figures illustrate how the different algorithms perform these functions. Although all four algorithms provide the three functions, they differ in the way the functions are implemented, i.e., some algorithms are more restrictive than others in accepting, forwarding, and generating messages. They use different criteria for realizing the restrictions. For example, when a scheme that belong to the distinctive awareness class is implemented, the intermediate routers may check the packets for conformance before forwarding them. This is necessary because the network condition can change dynamically and the sender of the message may have been unaware of the change when it sent the message.
Universal algorithm: This is a well studied algorithm that has been used as a baseline in several studies [3, 4, 12]. The pseudo-code in Figure 4 describes the major steps in this algorithm. In this algorithm, a node sends status messages to every node it is knows about, i.e., in its neighbor list. The also relays the messages without any filtering and when it receives a message updates the local database. The update may include a growth 5
Neighborhood algorithm: The pseudo-code for this algorithm is shown in Figure 5. The algorithm limits the extent of dissemination by restricting the message generation to nodes that lie within the given radius. This can be easily implemented because each node maintains a forwarding table with an entry for every other node. Such entries contain the distances along the shortest paths to the corresponding nodes. Fluid algorithm: The pseudo-code for this algorithm is given in Figure 6. The concept behind the Fluid algorithm was first introduced in [12]. In this algorithm, each node maintains two potential values: the self potential (the node’s own Grid potential) and the average value of the remote induced local potential called the average remote potential. For example, a node that is in the vicinity of several machines that are much more powerful itself can have a larger average remote potential than self potential. As each message comes in, the induced potential is computed and the locally kept average remote potential is updated. In the Fluid algorithm, a node sends status messages only if the self potential is greater than the average remote potential. Therefore, we call this the Fluid algorithm because this is analogous to fluid flowing from a high pressure point to a low pressure point. In the Fluid algorithm, a node either disseminates messages or does not disseminate any messages.
Particle algorithm: The pseudo-code for this algorithm is presented in Figure 7. This algorithm uses the Grid potential concept as the Fluid algorithm above. It is different from the Fluid algorithm in that it does not send to all nodes even when the self potential is higher than the remote induced potential. Let the self potential of a node be s and the remote induced potential at the node be r . The node sends status messages with probability p = 1 e (s r )=k to other nodes, where k is a constant. Because each neighboring node is selected with a probability p and each node has n 1 neighboring nodes the expected number of nodes to receive the status message is E (p(n 1)). This algorithm is very similar to the Name-Dropper algorithm in [3] except here the Grid potential is used to control the number of status messages emitted into the network such that more significant nodes transmit more messages than less significant nodes. We call this the Particle algorithm because the movement of messages is non-deterministically related to the potential difference similar to particle movements.
nodes. Let n be the number of nodes in the network and k be the maximum degree. The universal algorithm takes only a single round to complete an iteration because each node sends the status messages to every other node in a single round. The universal algorithm has the highest message complexity and it is equal to n(n 1). Similar to the universal algorithm, the neighborhood algorithm completes an iteration in a single round. Note that in this algorithm each node sends messages to other nodes that are within a fixed network vicinity. Let the diameter of the vicinity be d. We can show that the number of nodes in the network vicinity is upper bounded by k d which is constant because it is not dependent on n. Therefore, the message complexity is O(n) compared to the O(n2 ) complexity of the universal algorithm. The Fluid algorithm also converges in a single round with message complexity in between the universal and neighborhood algorithms. The particle algorithm on the other hand can take more than a round to converge. While we have not yet established a closed form expression for the exact number of iterations, we show below that it converges in at least O(log 2 n) rounds if certain conditions are met. In [3], the Name-Dropper that randomly picks a single neighboring node to send information is shown to converge in O(log 2 n) rounds. In the particle algorithm, we pick E (p(n 1)) nodes to send the status information. Therefore, if E (p(n 1)) > 1 then the particle algorithm will converge with high probability in O(log 2 n) rounds.
4.3. Analysis of Data Dissemination Algorithms We use the approaches presented in [3] to analyze the computational complexity of the algorithms presented above. Instead of providing rigorous proofs for the complexity expressions, we give intuitive explanations. A topology discovery is executed concurrently with the status dissemination algorithm. Because we assume that the topology of the network changes very slowly when compared with the status information, the topology discovery algorithm is executed in longer intervals. Further, we assume that the topology discovery algorithm was executed before the first execution of the status dissemination algorithm. Therefore, each node in the network will know about every other node when the status dissemination algorithm is executed. We estimate the execution time of the dissemination algorithms in terms of the synchronous parallel rounds elapsed for one iteration. In algorithms belonging to universal awareness, an iteration ends when a node completes the status dissemination to every other node in the network. Similarly in neighborhood awareness type algorithms, an iteration ends when a node completes dissemination to every other node in the predefined network vicinity. For distinctive awareness type algorithms, we define an iteration as the time required for a node to receive status messages from all distinctive nodes, i.e., the remote nodes that can impart significant processing power at the local node, have unique processing capabilities, or in a close network vicinity. We define a round as the time needed for every node to contact one or more of its neighboring nodes (depending on the type of dissemination) and exchange or send information to the
5. Simulation Results To evaluate the performance of the various data dissemination schemes we devised the following simulation study. In this simulation study a computational Grid is modeled by a random graph with the nodes denoting the machines. The data dissemination scheme is responsible for updating the status database that is maintained at each node. Depending on the scheme that is under consideration, we might have a complete database at each node or an incomplete database at each node. We define data dissemination efficiency to be 100% if the particular data dissemination algorithm creates local database that is same as an ideal global database. Higher the value of the above parameter is the local database more accurately captures the actual global status picture. In the simulations, we estimate the above parameter by scheduling a stream of jobs onto the Grid using an ideal global database and local database. We use the same scheduling algorithm in both situations and the differences in the decisions taken gives a measure of the difference between the two databases. In addition to the above parameter, we also report another performance measure that is the schedule deviation. This parameter is, however, more de6
// Universal algorithm (1) while (true) { // process incoming messages (2) receive messsage (X) { (3) if (X is meant for local node) (4) update the local status information table // the neighbor list of nodes may grow if the sender is new (5) } else { (6) route the message towards its destination (7) } or timeout (n) (8) (9) (10) (11) (12)
if (currentTime > lastSentTime + n) { lastSentTime = currentTime // get the list of neighboring nodes for current node get the neighbor list Y foreach node in Y send a status update message }
}
Figure 4. Pseudo-code for the Universal data dissemination algorithm.
// Neighborhood algorithm (1) while (true) { // process incoming messages (2) receive messsage (X) { (3) if (X is meant for local node) (4) update the local status information table // the neighbor list of nodes may grow if the sender is new (5) } else { (6) decrement TTL of X (7) if (TTL of X > 0) (8) route the message towards its destination (9) } or timeout (n) (10) (11) (12) (13) (14)
(15)
if (currentTime > lastSentTime + n) { lastSentTime = currentTime // get the list of neighboring nodes for current node get the neighbor list Y foreach node in Y if (dist(node in Y, current Node) < radius) // radius: the extent of dissemination in neighborhood // awareness scheme send a status update message }
}
Figure 5. Pseudo-code for the Neighborhood data dissemination algorithm.
7
// Fluid algorithm (1) while (true) { // process incoming messages (2) receive messsage (X) { (3) compute the local potential that is (4) induced due to remote node in X (5) update the avg. remote potential at local node (6) if (X is meant for local node) (7) update the local status information table // the neighbor list of nodes may grow if the sender is new (8) } else { (9) if (local potential < locally induced remote potential) (10) route the message towards its destination (11) } or timeout (n) (12) (13) (14) (15) (16) (17)
if (currentTime > lastSentTime + n) { lastSentTime = currentTime if (local potential > avg. locally induced remote potential) for current node get the neighbor list Y foreach node in Y send a status update message }
}
Figure 6. Pseudo-code for the Fluid data dissemination algorithm.
8
// Particle algorithm (1) while (true) { // process incoming messages (2) receive messsage (X) { (3) compute the local potential that is (4) induced due to remote node in X (5) update the avg. remote potential at local node (6) if (X is meant for local node) (7) update the local status information table // the neighbor list of nodes may grow if the sender is new (8) } else { (9) route the message towards its destination (10) } or timeout (n) (11) (12) (13) (14) (15) (16) (17)
if (currentTime > lastSentTime + n) { lastSentTime = currentTime for current node get the neighbor list Y foreach node in Y compute the sending probability for the destination // use the probability to decide whether to send status if (send status) send a status update message }
}
Figure 7. Pseudo-code for the Particle data dissemination algorithm.
9
pendent on the scheduling algorithm than the above parameter, i.e., it is dependent on how far the decisions taken by the scheduling algorithm is dependent on the completeness of the status information. Figure 8 shows the variation of the message complexity with network size for the different data dissemination schemes. Figure 9 shows the variation of the efficiency of data dissemination with network size and Figure 10 shows the variation of the schedule deviation with network size. From the above results, it can be observed that the message complexity of the neighborhood and Fluid algorithms are about the same and much less than the universal algorithm. This is expected because in the universal algorithm, each node sends a message to every other node in the network. The particle algorithm outperforms all the other algorithms by a significant margin.
resources providing services and clients requesting service advertise their characteristics and requirements using classified advertisements (classads). A matchmaker service that may be either centralized or distributed uses such classads to match the client requests to the appropriate resources. The matchmaking framework includes several components of a resource discovery mechanism. The classad specification defines the syntax and semantic rules for specifying and evaluating the attributes associated with the characteristics of the resources and requirements of the requests. The advertising protocol lays down the rules for disseminating the advertisements. Our resource discovery scheme differs from their scheme because our scheme groups the attributes into two classes and uses different policies for data dissemination. It may be possible to use the classad language as the specification language in the implementation of our scheme. Gossiping [4] is another alternative to the classic flooding approach. At each node, gossiping forwards data to a randomly selected neighboring node and this may include the node from which it received the data. Because the data is never replicated it is necessary to include the sender in the set of neighboring nodes from which the next node is selected. Otherwise, certain sections of the network may not receive a data object. Gossiping distributes information slowly compared to the flooding approach but this approach reduces the chances of inundating a node with redundant messages. An agent-based resource discovery scheme for Grid like systems is described in [8]. The scheme introduced in the paper is called distributed awareness. The scheme attempts to reduce the communication overhead by piggybacking the status information transfers with the normal message transmissions.
6. Related Work Because resource discovery is a fundamental operation in distributed computer systems it has been examined in a variety of areas including: mobile computing, wireless sensor networks [2], high throughput computing [13], naming systems [1]. Several schemes for resource discovery are examined in [3]. They do not differentiate between the resource discovery schemes and information dissemination mechanisms in [3] as is done in our paper. Their paper presents a new algorithm called the Name-Dropper that is proved to have a better communication complexity compared with three other algorithms. The other algorithms are flooding, swamping, and random pointer jumping, respectively. Based on the taxonomy presented in Section 2, their approaches have a decentralized organization and push method. Further, their approaches are based on universal awareness. At the end of a resource discovery round, each node has the global information locally and subsequent requests by any local process will result in a local lookup. Although our definition for resource discovery is very similar to the one in [3], we differ in the implementation approach. In our approach, the attributes are grouped into two classes (fast varying and slow varying) [12] and the nodes have universal awareness based on the slowly varying class of attributes and have limited awareness based on the fast varying class of attributes. We consider the status data dissemination separately because this different for the two classes of attributes, Our approach uses a symmetric method for resource discovery. The status data dissemination scheme pushes the status information towards the local nodes. Matchmaking [13] is a distributed resource management mechanism developed as part of the Condor [11] project for Grid systems. The matchmaking is based on the idea that
7. Conclusions and Future Work In this paper, we examine various strategies for data dissemination. We introduce a new data dissemination algorithm for Grid systems. The results from the simulation studies show that the new algorithm outperforms the existing approaches by a significant margin. The new algorithm is suitable for “flat” architectures and is relatively simple to implement provided the Grid system supports the Grid potential concept. The Grid potential concept as it is used in this simulation study is suitable for specialized Grids. This is due to the assumptions made regarding the correlation between the computation and communication characteristics of the benchmarks used for determining the Grid potential. Further research is necessary to generalize the concept of Grid potential. 10
message complexity/(# of messages)
1.0E+08 1.0E+07 1.0E+06 1.0E+05 1.0E+04 1.0E+03 1.0E+02 10
50
100
200
300
number of machines fluid algorithm neighborhood algorithm
particle algorithm universal algorithm
Figure 8. Graph of message complexity versus number of machines.
11
120
dissemination efficiency/(%)
100 80 60 40 20 0 10
50
100
200
300
number of machines flow algorithm neighborhood algorithm
particle algorithm universal algorithm
Figure 9. Graph of dissemination efficiency versus number of machines.
12
45 40 35 schedule deviation/(%)
30 25 20 15 10 5 0 -5
10
50
100
200
300
number of machines fluid algorithm neighborhood algorithm
particle algorithm universal algorithm
Figure 10. Graph of schedule deviation versus number of machines.
13
References
Biography
[1] W. Adjie-Winoto, E. Schwartz, H. Balakrishnan, and J. Lilley. The design and implementation of an intentional naming system. Operating Systems Review, 34(5):186–201, Dec. 1999. [2] D. Hensgen, T. Kidd, D. St. John, M. C. Schnaidt, H. J. Siegel, T. D. Braun, M. Maheswaran, S. Ali, J.-K. Kim, C. Irvine, T. Levine, R. F. Freund, M. Kussow, M. Godfrey, A. Duman, P. Carff, S. Kidd, V. Prasanna, P. Bhat, and A. Alhusaini. An overview of MSHN: The management system for heterogeneous networks. In 8th IEEE Heterogeneous Computing Workshop (HCW ’99), pages 184–198, Apr. 1999. [3] M. Harchol-Balter, T. Leighton, and D. Lewin. Resource discovery in distributed networks. In 18th ACM Symposium on Principles of Distributed Computing, pages 229– 237, May 1999. [4] S. Hedetniemi, S. Hedetniemi, and A. Liestman. A survey of gossiping and broadcasting in communication networks. Networks, 18:319–349, 1988. [5] I. Foster and C. Kesselman (eds.). The Grid: Blueprint for a New Computing Infrastructure. Morgan Kaufmann, San Fransisco, CA, 1999. [6] J. Saltzer, D. Reed, and D. Clark. End-to-End Arguments in System Design. ACM Transactions on Computer Systems, 2(4):195–206, 1984. [7] W. W. Johnston, D. Gannon, and B. Nitzberg. Information power Grid implementation plan: Research, development, and testbeds for high performance, widely distributed collaborative, computing and information systems supporting science and engineering. Technical report, NASA Ames Research Center, http://www.nas.nasa.gov/IPG, 1999. [8] K. Jun, L. Boloni, K. Palacz, and D. C. Marinescu. Agentbased resource discovery. In 9th IEEE Heterogeneous Computing Workshop (HCW ’00), Oct. 1999. [9] K. Krauter and M. Maheswaran. Towards a high performance extensible Grid architecture. In 14th Int’l Symposium on High Performance Computing Systems and Applications (HPCS 2000), June 2000. [10] S. Kutten and D. Peleg. Deterministic distributed resource discovery. In 19th ACM Symposium on Principles of Distributed Computing, July 2000. [11] M. Litzkow, M. Livny, and M. W. Mutka. Condor - A hunter of idle workstations. In 8th Int’l Conference of Distributed Computing Systems, June 1988. [12] M. Maheswaran and K. Krauter. A parameter-based approach to resource discovery in Grid computing systems. In 1st IEEE/ACM Int’l Workshop on Grid Computing (Grid ’00), Dec. 2000. [13] R. Raman and M. Livny. Matchmaking: Distributed resource management for high throughput computing. In 7th IEEE Int’l Symposium on High Performance Distributed Computing, July 1998. [14] B. Schneier. Applied Cryptography: Protocols, Algorithms, and Source Code in C. John Wiley, New York, NY, second edition, 1996.
Muthucumaru Maheswaran is an Assistant Professor in the Department of Computer Science at the University of Manitoba, Canada and a Scientist at TRLabs, Winnipeg, Canada. In 1990, he received a BSc degree in electrical and electronic engineering from the University of Peradeniya, Sri Lanka. He received an MSEE degree in 1994 and a PhD degree in 1998, both from the School of Electrical and Computer Engineering at Purdue University. He held a Fulbright scholarship during his tenure as an MSEE student at Purdue University. His research interests include active networking, content delivery and routing, distributed heterogeneous computing, Grid systems, resource management for metacomputing, and Web caching. He has authored or coauthored about 30 technical papers in these and related areas. He is a member of the IEEE.
14