grid computing grid systems and scheduling grid computing april 20 th, 2009

Download Grid Computing Grid Systems and scheduling Grid Computing April 20 th, 2009

Post on 19-Dec-2015




2 download

Embed Size (px)


  • Slide 1
  • Grid Computing Grid Systems and scheduling Grid Computing April 20 th, 2009
  • Slide 2
  • 2 Grid systems Many!!! Classification: (depends on the author) Computational grid: distributed supercomputing (parallel application execution on multiple machines) high throughput (stream of jobs) Data grid: provides the way to solve large scale data management problems Service grid: systems that provide services that are not provided by any single local machine. on demand: aggregate resources to enable new services Collaborative: connect users and applications via a virtual workspace Multimedia: infrastructure for real-time multimedia applications
  • Slide 3
  • 3 Taxonomy of Applications Distributed supercomputing consume CPU cycles and memory High-Throughput Computing unused processor cycles On-Demand Computing meet short-term requirements for resources that cannot be cost-effectively or conveniently located locally. Data-Intensive Computing Collaborative Computing enabling and enhancing human-to-human interactions (eg: CAVE5D system supports remote, collaborative exploration of large geophysical data sets and the models that generated them )
  • Slide 4
  • 4 Alternative classification independent tasks loosely-coupled tasks tightly-coupled tasks
  • Slide 5
  • 5 Application Management Description Partitioning Mapping Allocation partitioning mapping allocation grid node B Application grid node A management
  • Slide 6
  • 6 Description Use a grid application description language Grid-ADL and GEL One can take advantage of loop construct to use compilation mechanisms for vectorization
  • Slide 7
  • 7 Grid-ADL Traditional systems alternative systems 1 6 25 1 6 25..
  • Slide 8
  • 8 Partitioning/Clustering Application represented as a graph Nodes: job Edges: precedence Graph partitioning techniques: Minimize communication Increase throughput or speedup Need good heuristics Clustering
  • Slide 9
  • 9 Graph Partitioning Optimally allocating the components of a distributed program over several machines Communication between machines is assumed to be the major factor in application performance NP-hard for case of 3 or more terminals
  • Slide 10
  • 10 Collapse the graph Given G = {N, E, M} N is the set of Nodes E is the set of Edges M is the set of machine nodes
  • Slide 11
  • 11 Dominant Edge Take node n and its heaviest edge e Edges e 1,e 2,e r with opposite end nodes not in M Edges e 1,e 2,e k with opposite end nodes in M If w(e) Sum(w(e i )) + max(w(e 1 ),,w(e k )) Then the min-cut does not contain e So e can be collapsed
  • Slide 12
  • 12 Machine Cut Let machine cut M i be the set of all edges between a machine m i and non- machine nodes N Let W i be the sum of the weights of all edges in the machine cut Mi Wis are sorted so W 1 W 2 Any edge that has a weight greater than W 2 cannot be part of the min- cut
  • Slide 13
  • 13 Zeroing Assume that node n has edges to each of the m machines in M with weights w 1 w 2 w m Reducing the weights of each of the m edges from n to machines M by w 1 doesnt change the assignment of nodes for the min-cut It reduces the cost of the minimum cut by (m-1)w 1
  • Slide 14
  • 14 Order of Application If the previous 3 techniques are repeatedly applied on a graph until none of them are applicable: Then the resulting reduced graph is independent of the order of application of the techniques
  • Slide 15
  • 15 Output List of nodes collapsed into each of the machine nodes Weight of edges connecting the machine nodes Source: Graph Cutting Algorithms for Distributed Applications Partitioning, Karin Hogstedt, Doug Kimelman, VT Rajan, Tova Roth, and Mark Wegman, 2001
  • Slide 16
  • 16 Graph partitioning Hendrickson and Kolda, 2000: edge cuts: are not proportional to the total communication volume try to (approximately) minimize the total volume but not the total number of messages do not minimize the maximum volume and/or number of messages handled by any single processor do not consider distance between processors (number of switches the message passes through, for example) undirected graph model can only express symmetric data dependencies.
  • Slide 17
  • 17 Graph partitioning To avoid message contention and improve the overall throughput of the message traffic, it is preferable to have communication restricted to processors which are near to each other But, edge-cut is appropriate to applications whose graph has locality and few neighbors
  • Slide 18
  • 18 Kwok and Ahmad, 1999: multiprocessor scheduling taxonomy
  • Slide 19
  • 19 List Scheduling make an ordered list of processes by assigning them some priorities repeatedly execute the following two steps until a valid schedule is obtained: Select from the list, the process with the highest priority for scheduling. Select a resource to accommodate this process. priorities are determined statically before the scheduling process begins. The first step chooses the process with the highest priority, the second step selects the best possible resource. Some known list scheduling strategies: Highest Level First algorithm or HLF Longest Path algorithm or LP Longest Processing Time Critical Path Method List scheduling algorithms only produce good results for coarse- grained applications
  • Slide 20
  • 20 Static scheduling task precedence graph DSC: Dominance Sequence Clustering Yang and Gerasoulis, 1994: two step method for scheduling with communication:(focus on the critical path) 1)schedule an unbounded number of completely connected processors (cluster of tasks); 2)if the number of clusters is larger than the number of available processors, then merge the clusters until it gets the number of real processors, considering the network topology (merging step).
  • Slide 21
  • 21 Graph partitioning Kumar and Biswas, 2002: MiniMax multilevel graph partitioning scheme Grid-aware consider two weighted undirected graphs: a work-load graph (to model the problem domain) a system graph (to model the heterogeneous system)
  • Slide 22
  • 22 Resource Management Source: P. K. V. Mangan, Ph.D. Thesis, 2006 (1988)
  • Slide 23
  • 23 Resource Management The scheduling algorithm has four components: transfer policy: when a node can take part of a task transfer; selection policy: which task must be transferred; location policy: which node to transfer to; information policy: when to collect system state information.
  • Slide 24
  • 24 Resource Management Location policy: Sender-initiated Receiver-initiated Symmetrically-initiated
  • Slide 25
  • 25 Scheduling mechanisms for grid Berman, 1998 (ext. by Kayser, 2006): Job scheduler Resource scheduler Application scheduler Meta-scheduler
  • Slide 26
  • 26 Scheduling mechanisms for grid Legion University of Virginia (Grimshaw, 1993) Supercomputing 1997 Currently Avaki commercial product
  • Slide 27
  • 27 Legion is an object oriented infrastructure for grid environments layered on top of existing software services. uses the existing operating systems, resource management tools, and security mechanisms at host sites to implement higher level system-wide services design is based on a set of core objects
  • Slide 28
  • 28 Legion resource management is a negotiation between resources and active objects that represent the distributed application three steps to allocate resources for a task: Decision: considers tasks characteristics and requirements, resources properties and policies, and users preferences Enactment: the class object receives an activation request; if the placement is acceptable, start the task Monitoring: ensures that the task is operating correctly
  • Slide 29
  • 29 Globus Toolkit with a set of components that implement basic services: Security resource location resource management data management resource reservation Communication
  • Slide 30
  • 30 Globus From version 1.0 in 1998 to the 2.0 release in 2002 and the latest 3.0, the emphasis is to provide a set of components that can be used either independently or together to develop applications The Globus Toolkit version 2 (GT2) design is highly related to the architecture proposed by Foster et al. The Globus Toolkit version 3 (GT3) design is based on grid services, which are quite similar to web services. GT3 implements the Open Grid Service Infrastructure (OGSI). The current version, GT4, is also based on grid services, but with some changes in the standard
  • Slide 31
  • 31 Globus: scheduling GRAM: Globus Resource Allocation Manager Each GRAM responsible for a set of resources operating under the same site-specific allocation policy, often implemented by a local resource management GRAM provides an abstraction for remote process queuing and execution with several powerful features such as strong security and file transfer It does not provide scheduling or resource brokering capabilities but it can be used to start programs on remote resources, despite local heterogeneity due to the standard API and protocol.
  • Slide 32
  • 32 Globus: scheduling Resource Specificati


View more >