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
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