A Constraint Language Approach to Grid Resource Selection Chuang Liu, Ian Foster

Download Report

Transcript A Constraint Language Approach to Grid Resource Selection Chuang Liu, Ian Foster

A Constraint Language Approach to Grid Resource Selection

Chuang Liu, Ian Foster Distributed System Lab University of Chicago http://dsl.cs.uchicago.edu

Work performed within the Grid Application Development Software (GrADS) Project of the NSF Next Generation Software Program

Problems

  Selection of resources whose properties are expressed by a feature set or range Co-selection of resources – Description of requirement for a resource set for example, aggregation characteristics of a resource set. – Efficient algorithm to locate resource set 2

Outline

     Problem

Description Language (RedLine)

Matchmaking Applications Summary 3

Description Language

ClassAds

A set of named Expressions called

ClassAds

Limited support for set expression

RedLine description language

A set of constraints on value of attribute called

Description

data type etc.

set

related functions, such as Sum, Cardinality, and Set_Intersection, 4

Description Language

 Use constraints to describe attributes.

resource = [ type="network"; From="s1.uchicago.edu"; T o = "m2.ucsd.edu"; connections = ENUM [ [traffic < 155; cost= 20], [ traffic < 622; cost = 100],

feature set Range

5

Description Language

 resource co-selection request.

1. [user="globus-user"; 2. userGroup="dsl-uc"; 3. comput at ion [t ype="comput at ion"; cpuspeed > 150; accesst ime >18; Set Const ruct Greedy memory]; 4. st orage [ t ype="st orage"; space > 100; accesst ime > 18]; 5.

Foral l x i n com pu tati on

6. x.bandwidt h[st orage.hn] > 30 7.

S u m

(comput at ion.memory) > 300; 8. Search# 1; 9. Dist ribut e FF ] 6

Outline

     Problem Description Language

Matchmaking

Applications Summary 7

Description of Resources and Requests

  Both resources owners and requesters use RedLine syntax to describe their resources or requests The requestor and resource providers must use the same variable name to express a resource attribute and associate common meaning to responding values. 8

Definition of Match

 A constraint C is

satisfiable

if there exists a value assignment to every variable v 

vars(C)

such that C holds. Otherwise, it is

unsatisfiabl

e.

vars(C)

denotes the set of variables occurring in constraint C.

RedLine

defines bilateral match: Two descriptions C1 and C2 match each other if C1  C2 is

satisfiable.

Scope of resource Capability Scope of satisfying Capability 9

Example

resource = [ type ="network"; From ="s1.uchicago.edu"; T o = "m2.ucsd.edu";

conne ctions

[ [traffic < 155; cost= 20], [ traffic < 622; cost = 100], [ traffic < 2400; cost = 300] ] ] request = [ type ="network"; From ="s1.uchicago.edu"; T o ="m2.ucsd.edu"; ] 10

Example

resource = [ type ="network"; From ="s1.uchicago.edu"; T o = "m2.ucsd.edu";

conne ctions

[ [traffic < 155; cost= 20], [ traffic < 622; cost = 100], [ traffic < 2400; cost = 300] ] ] request = [ type ="network"; From ="s1.uchicago.edu"; T o ="m2.ucsd.edu"; ] resource ^ request = [ type="network"; From="s1.uchicago.edu"; T o="m2.ucsd.edu"; connection =ENUM [ [traffic < 622; cost =100], [traffic<2400; cost=300] ]; connection.traffic > 550 ] ] 11

Definition of Match

RedLine

also defines multilateral match: Descriptions D 1 , D 2 , … , D n

match

a description R if D 1 , D 2 , …, D n is an assignment to variables with description or description set type in description R and R is still satisfiable after replacing these variables with their values. 12

Example

Request

1. [user="globus-user"; 2. userGroup="dsl-uc"; 3.

computation

ISA SET[type="computation"; cpuspeed > 150; accesstime >18; SetConstruct Greedy memory]; 4.

storage

ISA [ type="storage"; space > 100; accesstime > 18]; 5. Forall x in computation; 6. x.bandwidth[storage.hn] > 30; 7. Sum(computation.memory) > 300; 8. Search# 1; 9. Distribute FF ]

Resources

R1= [type="computation"; hn="c1.uchicago.edu"; cpuspeed=200; bandwidth= DICTIONARY[ {"s1.uchicago.edu", 20}, {"s2.uchicago.edu", 40} ]; accesstime > 17 ] R2= [type="computation"; hn="c2.uchicago.edu"; cpuspeed=200; bandwidth=DICTIONARY[ {"s1.uchicago.edu", 20}, {"s2.uchicago.edu", 40} ]; accesstime > 17] R3= [type = "storage"; hn="s1.uchicago.edu"; space=100] R4= [type = "storage"; hn="s2.uchicago.edu"; space=200]

computation = [R1, R2] storage= R4

13

Matchmaking Problem as CSP

 A

constraint satisfaction proble

m, or CSP, – A Constraint on variables – Every variable has a finite value domain  Matchmaking as CSP problem – Associate a variable with every requested resource called

resource variable

– Domain of every

resource variable

are available resources 14

Example

1. [user="globus-user"; 2. userGroup="dsl-uc"; 3. comput at ion cpuspeed > 150; accesst ime >18; Set Const ruct Greedy memory]; 4. st orage ISA [ t ype="st orage"; space > 100; accesst ime > 18]; 6. x.bandwidt h[ st orage .hn] > 30; 7. Sum ( comput at ion 8. Search# 1; 9. Dist ribut e FF ] 15

Matchmaking Process as Constraint Solving

  CSP & Constraint solving – Sound theory developed in AI, Logic programming Existing algorithms of constraint solving – systematic search > Backtracking algorithm – heuristic and stochastic algorithms > Hill-Climbing, Min-Coflict and Tabu-Search 16

Performance of Algorithms

  Evaluation of different algorithms – Completion of algorithm – Speed of algorithm User’s controls on matchmaking process – Search# – Distribution – SetConstruct 17

User’s Control on Matchmaking Process

 User controls matchmaking process by predicate 1. [user="globus-user"; 2. userGroup="dsl-uc"; cpuspeed > 150; accesst ime >18; 4. st orage ISA [ t ype="st orage"; space > 100; accesst ime > 18]; 5. Forall x in comput at ion 7. Sum (comput at ion.memory) > 300; 8.

S earch# 1; 9. Distribute FF

] 18

Summary

      Describe resource properties whose value is expressed as a feature set or a range Describe set-based requirement for a resource set Formalize matchmaking problem into a Constraint Satisfaction problem and utilize algorithms developed in CSP area to solve it Future: Service Interface implementation, Organization of descriptions in matchmaker, and study performance of the algorithm in in realistic application settings Thanks to – – NSF Next Generation Software Program Alain Roy, GrADS colleagues http://dsl.cs.uchicago.edu

19

Outline

     Problem Description Language Matchmaking Redline System & Applications Summary 20

RedLine System

 Layered structure Grid Resource Selection Service E-Commerce Searching Engine Other matchmaking Services Matchmaking Engine Satisfaction-check Engine DAML+OIL Defined Vocabulary RedLine Language 21

Applications

 Data Grid Example site1= [ type="site"; name="site1"; space = 100; data=["a", "b", "c"] ] site2= [ type="site"; name="site2"; space = 200; data=["c", "d"] ] site3= [ type="site"; name="site3"; space =300; data=["b" ]] request = [ site ISA [ type="site"; space > 10]; wantedData =["a", "b"]; availableData= Cardinality(Set_Intersection( wantedData, site.data)); Maximize(availableData); Search# 1 ] 22

Applications

 Access Grid Example resource = [ type="displayDevice"; resolution = ENUM [ [pix-x<=640; pix-y<=480; color<= 24], [pix-x<=800; pix-y<=600; color<= 16], [pix-x<=1024; pix-y<768; color<=8] ] ]; request = [ rs ISA [type="displayDevice"]; rs.resolution.pix-x =750; rs.resolution.pix-y=500; rs.resolution.color=4 ] 23

Applications

 Query Example RS= [ cpuspeed = 500; accesstime > 18; user= ENUM[ "globus", "dsl-uc"]] Q1= [ accesstime > 20] Q2= [ cpuspeed > 400 ] query on resource access policy query on resource property 24

Summary

      Describe resource properties whose value is expressed as a feature set or a range Describe set-based requirement for a resource set Formalize matchmaking problem into a Constraint Satisfaction problem and utilize algorithms developed in CSP area to solve it Future: Service Interface implementation, Organization of descriptions in matchmaker, and study performance of the algorithm in in realistic application settings Thanks to – – NSF Next Generation Software Program Alain Roy, GrADS colleagues http://dsl.cs.uchicago.edu

25

Constraint

 A

constraint

C is of the form c1  …  cn where n >= 0 and c1, …, cn are primitive constraints. The symbol  denotes

an

d, so a constraint C holds whenever all of the primitive constraints c1, …, cn hold.  A constraint C is

satisfiable

if there exists a value assignment to every variable v 

vars(C)

such that C holds. Otherwise, it is

unsatisfiabl

e.

vars(C)

denotes the set of variables occurring in constraint C.

26

Resource Selection Service: Framework

27 Resource Request App Result

RSS

Resource Information Set Matcher Resource Monitor Mapper GIIS MDS GRISes NWS