Resource Selector Chuang Liu. What do we want to do? A smart Resource Selector App R S Resource requirement.

Slides:



Advertisements
Similar presentations
Dynamic Replica Placement for Scalable Content Delivery Yan Chen, Randy H. Katz, John D. Kubiatowicz {yanchen, randy, EECS Department.
Advertisements

CS Section 600 CS Section 002 Dr. Angela Guercio Spring 2010.
MCS 312: NP Completeness and Approximation algorithms Instructor Neelima Gupta
Greedy Algorithms.
Basic I/O Relationship Knowledge-based: "Tell me what fits based on my needs"
Fast Algorithms For Hierarchical Range Histogram Constructions
Knapsack Problem: Greedy vs. Brute Force pp (Section 7.6)
Comp 122, Spring 2004 Greedy Algorithms. greedy - 2 Lin / Devi Comp 122, Fall 2003 Overview  Like dynamic programming, used to solve optimization problems.
Chapter 5 Fundamental Algorithm Design Techniques.
Greedy Algorithms Clayton Andrews 2/26/08. What is an algorithm? “An algorithm is any well-defined computational procedure that takes some value, or set.
CS216: Program and Data Representation University of Virginia Computer Science Spring 2006 David Evans Lecture 7: Greedy Algorithms
Cs333/cutler Greedy1 Introduction to Greedy Algorithms The greedy technique Problems explored –The coin changing problem –Activity selection.
Greedy vs Dynamic Programming Approach
Workload Management Workpackage Massimo Sgaravatto INFN Padova.
Dynamic Programming1. 2 Outline and Reading Matrix Chain-Product (§5.3.1) The General Technique (§5.3.2) 0-1 Knapsack Problem (§5.3.3)
1 Draft of a Matchmaking Service Chuang liu. 2 Matchmaking Service Matchmaking Service is a service to help service providers to advertising their service.
Academic Advisor: Prof. Ronen Brafman Team Members: Ran Isenberg Mirit Markovich Noa Aharon Alon Furman.
CSC401 – Analysis of Algorithms Lecture Notes 12 Dynamic Programming
Greedy Algorithms CIS 606 Spring Greedy Algorithms Similar to dynamic programming. Used for optimization problems. Idea – When we have a choice.
Query Biased Snippet Generation in XML Search Yi Chen Yu Huang, Ziyang Liu, Yi Chen Arizona State University.
KNAPSACK PROBLEM A dynamic approach. Knapsack Problem  Given a sack, able to hold K kg  Given a list of objects  Each has a weight and a value  Try.
Design and Evaluation of a Resource Selection Framework for Grid Applications University of Chicago.
On Fairness, Optimizing Replica Selection in Data Grids Husni Hamad E. AL-Mistarihi and Chan Huah Yong IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS,
1 The Greedy Method CSC401 – Analysis of Algorithms Lecture Notes 10 The Greedy Method Objectives Introduce the Greedy Method Use the greedy method to.
CPSC 411, Fall 2008: Set 4 1 CPSC 411 Design and Analysis of Algorithms Set 4: Greedy Algorithms Prof. Jennifer Welch Fall 2008.
Chapter 6: Transform and Conquer Genetic Algorithms The Design and Analysis of Algorithms.
Evaluation of the Globus GRAM Service Massimo Sgaravatto INFN Padova.
Dave Risch. Project Specifications There is a “knapsack” that you want to fill with the most valuable items that are available to you. Each item has a.
Resource Management Reading: “A Resource Management Architecture for Metacomputing Systems”
Win8 on Intel Programming Course The challenge Paul Guermonprez Intel Software
WP9 Resource Management Current status and plans for future Juliusz Pukacki Krzysztof Kurowski Poznan Supercomputing.
A. Cavalli - F. Semeria INFN Experience With Globus GIS 1 A. Cavalli - F. Semeria INFN First INFN Grid Workshop Catania, 9-11 April 2001 INFN Experience.
1 Global Routing Method for 2-Layer Ball Grid Array Packages Yukiko Kubo*, Atsushi Takahashi** * The University of Kitakyushu ** Tokyo Institute of Technology.
Y. Kotani · F. Ino · K. Hagihara Springer Science + Business Media B.V Reporter: 李長霖.
Grid Workload Management & Condor Massimo Sgaravatto INFN Padova.
DataGrid WP1 Massimo Sgaravatto INFN Padova. WP1 (Grid Workload Management) Objective of the first DataGrid workpackage is (according to the project "Technical.
SE: CHAPTER 7 Writing The Program
CSC 413/513: Intro to Algorithms Greedy Algorithms.
CSC 172 P, NP, Etc. “Computer Science is a science of abstraction – creating the right model for thinking about a problem and devising the appropriate.
CSC401: Analysis of Algorithms CSC401 – Analysis of Algorithms Chapter Dynamic Programming Objectives: Present the Dynamic Programming paradigm.
Introduction to Algorithms Chapter 16: Greedy Algorithms.
Honors Track: Competitive Programming & Problem Solving Optimization Problems Kevin Verbeek.
UI Team Code Review Reviewed by Grid Team. Priorities *****Major Problem ****Important Suggestion ***Normal **Less important idea *Minor idea/Code aesthetics.
Greedy Algorithms. What is “Greedy Algorithm” Optimization problem usually goes through a sequence of steps A greedy algorithm makes the choice looks.
Rook Polynomial Relaxation Labeling Ofir Cohen Shay Horonchik.
Hunter Gear Optimization Team Alt + F4 Michael Barbour; Joshua Law son; Michael Lee.
International Symposium on Grid Computing (ISGC-07), Taipei - March 26-29, 2007 Of 16 1 A Novel Grid Resource Broker Cum Meta Scheduler - Asvija B System.
Review of Parnas’ Criteria for Decomposing Systems into Modules Zheng Wang, Yuan Zhang Michigan State University 04/19/2002.
A Constraint Language Approach to Grid Resource Selection Chuang Liu, Ian Foster Distributed System Lab University of Chicago
Top-K Generation of Integrated Schemas Based on Directed and Weighted Correspondences by Ahmed Radwan, Lucian Popa, Ioana R. Stanoi, Akmal Younis Presented.
Scheduling & Resource Management in Distributed Systems Rajesh Rajamani, May 2001.
Dynamic Programming1. 2 Outline and Reading Matrix Chain-Product (§5.3.1) The General Technique (§5.3.2) 0-1 Knapsack Problem (§5.3.3)
CPS Computational problems, algorithms, runtime, hardness (a ridiculously brief introduction to theoretical computer science) Vincent Conitzer.
Nicholas Coleman Computer Sciences Department University of Wisconsin-Madison Distributed Policy Management.
2/19/ ITCS 6114 Dynamic programming 0-1 Knapsack problem.
Douglas Thain, John Bent Andrea Arpaci-Dusseau, Remzi Arpaci-Dusseau, Miron Livny Computer Sciences Department, UW-Madison Gathering at the Well: Creating.
Spring 2008The Greedy Method1. Spring 2008The Greedy Method2 Outline and Reading The Greedy Method Technique (§5.1) Fractional Knapsack Problem (§5.1.1)
Duke CPS Programming Heuristics l Identify the aspects of your application that vary and separate them from what stays the same ä Take what varies.
Resource Selection Services for a Single Job Execution Soonwook Hwang National Institute of Informatics/NAREGI OGSA F2F RSS Session Sunnyvale, CA, US Aug.
SCHOOL OF ENGINEERING AND ADVANCED TECHNOLOGY Engineering Project Routing in Small-World Networks.
Spanning Trees Dijkstra (Unit 10) SOL: DM.2 Classwork worksheet Homework (day 70) Worksheet Quiz next block.
Exhaustive search Exhaustive search is simply a brute- force approach to combinatorial problems. It suggests generating each and every element of the problem.
Introduction to Algorithms: Brute-Force Algorithms.
Chuang Liu, Lingyun Yang, Dave Angulo, Ian Foster
A Distributed Policy Scenario
Basic Grid Projects – Condor (Part I)
Operating systems Process scheduling.
Greedy Algorithms.
Dynamic Programming Dynamic Programming 1/18/ :45 AM
Privacy Protection for Social Network Services
Presentation transcript:

Resource Selector Chuang Liu

What do we want to do? A smart Resource Selector App R S Resource requirement

What do we want to do? App R S These Resources seem fit your requirement best

Goal A Resource Selector for general purpose Matching between application’s requirement and a set of resources Adaptability to dynamic status of distributed environment Support ownership of resource Support performance model of application The interface between application and RS should be simple

RS--Structure Resourc e Selector GRI S GIIS MDS Ap p RS MatchMaker Requirement Resource A subset of resource App

Challenges How to specify resource and request and how to match request with resource. Consistency of data in RS and system status. How to choose N resources from M available resources. (N <=M)

Challenges How to specify the request and resource and how to match the request with resource Consistency of data in RS and system status. How to choose N resources from M available resources. (N <=M)

ClassAd— Mechanism to specify resources and request The classad mechanism is a language for expressing and evaluating attribute A classad is a set of named expressions Each named expression is called an attribute Expression similar to those found in C/C++

ClassAd : example(resource) [ OpSys=“LINUX”; Name= “trapezius.cs.uchicago.edu”; LoadAvg= 0.03; Friends = (“foster”, “dave”); Untrusted = (“evil”, “rival”); Constraints= !member(other.Owner, Untrusted) && (LoadAvg < 0.3); ]

ClassAd : example(request) [ Owner=“chliu”; Requirements= other.LoadAvg < 0.3 && other.opSys=“LINUX”; Rank = 1/other.LoadAvg; ]

Challenges How to specify the resource and request and how to match the request with resource. Consistency of data in RS and system status. How to choose N resources from M available resources. (N <=M)

Consistency Several threads in RS update information about system status based TTL value. –Update information about available resource by access GIIS – Update information about status of every resource by access GRIS or GIIS Tradeoff between Performance and Consistency

Challenges How to specify the resource and request and how to match the request with resource. Consistency of data in RS and system status. How to choose N resources from M available resources which fit application’s requirement best. (N <=M)

Resource Selection How to select N resource from M available resources efficiently. How to judge which one is best among several matched results

Resource Selection How to select N resource from M available resources efficiently. How to judge which one is best among several matched results

Criteria to judge the desirability of resource Performance model –F(resource Info, application info) –[ minCPUSpeed > 10 MIPS – minMemSize > 100 MB – Rank= minCPUSpeed * NumOfResource –] –Embed a program or function call in Classad ? Classad don’t support function call in expression.

Resource Selection How to Select N resources from M available resources How to judge which one is best among several matched results

Bilateral match- Clique Organize all available resources into several cliques. Classads for resource Classads for clique Classads for requirement Match maker

Clique- How to organize clique Methods to organize clique –Manually –Automatically –Pros: Easy and useful –Cons: Not flexibility

Clique- Naive Naive method –For example: Resource: { a, b, c} Cliques {a}, {b}, {c}, {a, b}, {b,c}, {a,c}, {a, b, c} –Cons The number of clique is 2 to N

Gang Match Gang Matching 1  N Classads for resource Classads for requirement Match maker

Gang match- Greedy Algorithm Greedy Algorithm –Clique, candidate = null – Match the requirement with every resource –Choose resource with highest ranking as the first number of clique –For(;;) { – If (clique match requirement) and (performance of application increase) – Candidate=clique – Match the requirement with resource which is not in clique – Add node with highest ranking in the left nodes to clique – Else – Return Candidate –}

Gang match- Greedy Algorithm Pros: –High performance –Give pretty good optimal result to loosely coupled application Cons: –Locally optimal choice does not always lead to globally optimal solution

Gang match- Port and docking Ports and docking [ Ports = { [ Label = Host1; Requirements= MemorySize > 17.2M; Constraint = Host1.Arch == "INTEL" && Host1.OpSys == "LINUX"; Rank = Host1.MIPS ], [ Label = Host2; Requirements= MemoryReqs > 18 M; Constraint = Host2.Arch == "INTEL" && Host2.OpSys == "LINUX" && Host1.Subnet == Host2.Subnet Rank = Host2.KFlops ] Rank = 1 * Host1.MIPS + 8 * Host2.Kflops; } ]

Gang match- Port and docking Pros: –Internal mechanism provided by Classad –? Available in Classad package Cons: –Match performance –Application need to specify how many nodes it wanted

Gang match- Dynamic programming Limited resource use –System administrator control how many resources user can use –User’s requirement [ performance > threadhold value && number of resource is as little as possible] –Application’s requirement App specify how many CPU it wanted in request A 4 X 4 X 4 Grid calculation, numOfCPU < 64

Gang match Dynamic programming Multi-dimensions knapsack problem –Knapsack problem : “There are M items, every item has a Weight and a Value. Try to choose items from these items such that their value is maximum and their total weight is less than W.”

Gang match- Dynamic programming Pros: –More flexible –Always provide good resource to application –polynomial time algorithm o(N) Cons: –Performance is bad than greedy algorithm

Project Status A RS is running, but not smart enough. –Two match strateges have been implemented Clique Greedy algorithm

Open problem How well does RS work? –Performance of application on selected resource –Cost of RS Evaluate different strategy in match making

Welcome comment and suggestion Thank you!