A Multi-agent Approach for Semantic Resource...

21
A Multi-agent Approach for Semantic Resource Allocation Jorge Ejarque, Raül Sirvent and Rosa M. Badia Grid Computing and Clusters Group - Barcelona Supercomputing Center (BSC) Artificial Intelligence Research Institute - Spanish National Research Council (IIIA-CSIC) IEEE CloudCom 2010 December 3, 2010 Indianapolis

Transcript of A Multi-agent Approach for Semantic Resource...

Page 1: A Multi-agent Approach for Semantic Resource Allocationsalsahpc.indiana.edu/CloudCom2010/slides/PDF/A... · Based on Grid Resource Ontology Extension to describe basic resource allocation

A Multi-agent Approach for Semantic Resource Allocation

Jorge Ejarque, Raül Sirvent and Rosa M. Badia

Grid Computing and Clusters Group - Barcelona Supercomputing Center (BSC)Artificial Intelligence Research Institute - Spanish National Research Council (IIIA-CSIC)

IEEE CloudCom 2010December 3, 2010 Indianapolis

Page 2: A Multi-agent Approach for Semantic Resource Allocationsalsahpc.indiana.edu/CloudCom2010/slides/PDF/A... · Based on Grid Resource Ontology Extension to describe basic resource allocation

2

Outline

Motivation Previous Work.

– Resource Allocation Ontology– Centralized Semantic Scheduling

Distributed Approach– Multi-agent distribution

Implementation and Evaluation Conclusions and Future Work

Page 3: A Multi-agent Approach for Semantic Resource Allocationsalsahpc.indiana.edu/CloudCom2010/slides/PDF/A... · Based on Grid Resource Ontology Extension to describe basic resource allocation

Motivation

SP has to allocate the user’s tasks in their available resources.

Resources are heterogeneous and can be supplied by different providers.

SP users specify requirements in different SLA terms which must be satisfied.

Users and providers use their own terms. There is a need of semantic interoperability

Service Users

Clouds

Grids

Clusters

Service Provider

3

Page 4: A Multi-agent Approach for Semantic Resource Allocationsalsahpc.indiana.edu/CloudCom2010/slides/PDF/A... · Based on Grid Resource Ontology Extension to describe basic resource allocation

Motivation

SP Infrastructure can change– New resources can be added or removed from the SP

infrastructure

Resource can fail– Performance Degradation

Resource Allocation must be adapted according to customer and provider preferences

Agent technologies provide: – Adaptation to infrastructure changes– Distributed resource allocation according to several

customer and provider preferences

4

Page 5: A Multi-agent Approach for Semantic Resource Allocationsalsahpc.indiana.edu/CloudCom2010/slides/PDF/A... · Based on Grid Resource Ontology Extension to describe basic resource allocation

Previous work

Centralized approach

5

Client Manager

Semantic Metadata Repository

Semantic Scheduler

Resource Manager

0. Resource description registration

1. Get Resource Candidates

2. Schedule Job

3. Get descriptions 4.

Upd

ate

sche

dulin

g5. Execute Job

Client Manager Resource Manager

Manage the customer’s tasks

requests

Stores semantic descriptions of

system elements

Create executions environments,

execute customers tasks

Allocates resources on the different customer’s tasks(semantic descriptions)

Page 6: A Multi-agent Approach for Semantic Resource Allocationsalsahpc.indiana.edu/CloudCom2010/slides/PDF/A... · Based on Grid Resource Ontology Extension to describe basic resource allocation

Resource Allocation Ontology

Based on Grid Resource Ontology Extension to describe basic resource allocation concepts

– Resources properties, Collections, Abstract task (resource requirements, time constraints) and Process (abstract task allocation), Actors, Providers, etc.

6

Page 7: A Multi-agent Approach for Semantic Resource Allocationsalsahpc.indiana.edu/CloudCom2010/slides/PDF/A... · Based on Grid Resource Ontology Extension to describe basic resource allocation

Semantic Scheduler

7

Rule-based semantic scheduling

Page 8: A Multi-agent Approach for Semantic Resource Allocationsalsahpc.indiana.edu/CloudCom2010/slides/PDF/A... · Based on Grid Resource Ontology Extension to describe basic resource allocation

Decentralized motivation

Scalability Reduce single point of failure Customer and providers has different

interests and they should be taken into account in the allocation process.– Different rules depending on the customers and

providers or resource types

8

Page 9: A Multi-agent Approach for Semantic Resource Allocationsalsahpc.indiana.edu/CloudCom2010/slides/PDF/A... · Based on Grid Resource Ontology Extension to describe basic resource allocation

Clie

nt M

anag

erAgent Platform

Jobs

Job Agent Container

Scheduler

Jobs

Scheduler

Clie

nt M

anag

er

Jobs

Job Agent Container

Scheduler

Jobs

Scheduler

Scheduler

Res

ourc

e P

rovi

sion

ingRes. Agent Container

Res. Man

Scheduler

Res. Man

Scheduler

Res

ourc

e P

rovi

sion

ingRes. Agent Container

Res. Man

Scheduler

Res. Man

. . . . . .

. . .

. . .

. . .

. . .

Private Clouds

Clusters

Grids

Public CloudsEC2, ...

Semantic Metadata Repository

Distributed Architecture

Resource Allocation Ontology

Resource Allocation Rules

Distributed approach

9

Page 10: A Multi-agent Approach for Semantic Resource Allocationsalsahpc.indiana.edu/CloudCom2010/slides/PDF/A... · Based on Grid Resource Ontology Extension to describe basic resource allocation

System Agents

Distributed resource allocation – Scheduling functionalities distributed across the system

agents – Based on a negotiation between the system agents. (CNP)– Agents platforms can be distributed across multiple hosts

Two parts– Client Management (Job Agents)

Management of jobs Resource selection

– Resource Provisioning (Resource Agents) Management of resources Resource allocation proposals

Belief-Desire-Intention agent modeling– Define data, goals and plans for each agent

10

Page 11: A Multi-agent Approach for Semantic Resource Allocationsalsahpc.indiana.edu/CloudCom2010/slides/PDF/A... · Based on Grid Resource Ontology Extension to describe basic resource allocation

Job Agent Semantic annotation of tasks. Initiate the negotiation and select the best proposal

for the customer interests. Adapt the task allocation to the system events.

(Rescheduling) React to status changes (Fault tolerance)

11

Belief (Status) Goal PlansRequested Get Resources Annotate task description

Negotiate allocation

Scheduled Find Better Allocation Negotiate allocation

Running Monitor execution Check performanceUpdate requirementsIncrease resources

Suspended Recover Suspended Evaluate work doneUpdate requirementsNegotiate allocation

Stopped Recover Stopped Negotiate allocation

Non Scheduled Recover Non Scheduled Negotiate allocation

Cancelled Cancel Job Remove allocation

Page 12: A Multi-agent Approach for Semantic Resource Allocationsalsahpc.indiana.edu/CloudCom2010/slides/PDF/A... · Based on Grid Resource Ontology Extension to describe basic resource allocation

Resource Agent

Semantic annotation of resource descriptions Make proposal according to resource interests Create execution environments and execute tasks

by means of a resource management interface React to resource events (Failures)

12

Belief Goal PlansScheduled Jobs Monitor Scheduled Jobs Check scheduled job

Perform execution

Running Jobs Monitor Running Jobs Check running jobsNotify status changes

Status Failed Recover Failure Try local reschedulingNotify affected jobs agents

Status Running Register Resource Annotate resource description

Page 13: A Multi-agent Approach for Semantic Resource Allocationsalsahpc.indiana.edu/CloudCom2010/slides/PDF/A... · Based on Grid Resource Ontology Extension to describe basic resource allocation

Distributed Resource Allocation

Resource allocation negotiation sequence

13

1. Select candidate resources

2. Send call for resource allocation to selected resource agents

3. Evaluate requirements, discard imposible allocations (resource full, license terms)

and apply other provider's rules

4. Send back proposed resource allocations

5. Apply customer selection rules

6. Accept selected proposal

SELECT DISTINCT ?id ?host WHERE {?host tech:isProvidedBy ?rm .?rm biz:actor_name ?id .?host tech:containsResource ?proc .?proc rdf:type gro:Processing .?proc gro:hasResourceProperty ?memory .?memory rdf:type tech:MemoryCapacity .?memory tech:hasValue ?mem_cap .FILTER (?mem_cap >= 1024ˆˆxsd:int) .?host tech:containsResource ?image .?image rdf:type tech:Image .?image tech:containsResource gro:Software_XX }

[Evaluate_Deadline: (?job rdf:type gro:Execute_Task),(?job gro:hasActionState tech:requested),(?job tech:hasDeadline ?deadline),(?job gro:incarnatedToProcess ?incarnation),(?incarnation gro:hasPlannedEnd ?job_end),lessThan(?deadline, ?job_end),->drop(3,4)]

[Used_Hosts_First: (?job rdf:type gro:Execute_Task),(?job gro:hasActionState tech:requested),(?job gro:incarnatedToProcess ?incarnationA),(?incarnationA gro:usesResource ?candidateA),(?candidateA gro:containsResources ?HostA),hasValue(?HostA gro:isUsedBy),(?job gro:incarnatedToProcess ?incarnationB),(?incarnationB gro:usesResource ?candidateB),(?candidateB gro:containsResources ?HostB),noValue(?HostB, gro:isUsedBy)-> drop(6,7)]

[Earliest_Start_Date:(?job rdf:type gro:Execute_Task),(?job gro:hasActionState tech:requested),(?job gro:incarnatedToProcess ?incarnationA),(?incarnationA gro:hasPlannedStart ?stDateA),(?job gro:incarnatedToProcess ?incarnationB),(?incarnationB gro:hasPlannedStart ?stDateB),lessEqual(?stDateA, ?stDateB),->remove(4,5)]

[Priority_AtoB:(?job rdf:type gro:Execute_Task),(?job gro:hasActionState tech:requested),(?job gro:incarnatedToProcess ?incarnationA),(?incarnationA gro:usesResource ?candidateA),(?candidateA gro:containsResources ?resourceA),(?resourceA tech:isProvidedBy biz:ResourceProviderA),(?job gro:incarnatedToProcess ?incarnationB),(?incarnationB gro:usesResource ?candidateB),(?candidateB gro:containsResources ?resourceB),(?resourceB tech:isProvidedBy biz:ResourceProviderB)->remove(6,7)]

Page 14: A Multi-agent Approach for Semantic Resource Allocationsalsahpc.indiana.edu/CloudCom2010/slides/PDF/A... · Based on Grid Resource Ontology Extension to describe basic resource allocation

Implementation

System agents: Jadex BDI Engine Semantic Capabilities: Jena 2

Framework – RDF, OWL APIs– Jena Rule Engine (Scheduler Module)– SPARQL queries

14

Page 15: A Multi-agent Approach for Semantic Resource Allocationsalsahpc.indiana.edu/CloudCom2010/slides/PDF/A... · Based on Grid Resource Ontology Extension to describe basic resource allocation

Evaluation

Qualitative evaluation– BDI Agents facilitate coordination of complex tasks (job

and resource management) – Resource Allocation Classes mapped to different schemas

EC2 – Instances -> Host Class– Instance Storage, Memory, ECU -> Storage, Processing

Resource GLUE schema

– ComputeElementType -> Host Class– CE properties -> Storage, Processing Resource

properties Ganglia schema

– HostType-> Host Class– Ganglia metrics -> Resource properties

15

Page 16: A Multi-agent Approach for Semantic Resource Allocationsalsahpc.indiana.edu/CloudCom2010/slides/PDF/A... · Based on Grid Resource Ontology Extension to describe basic resource allocation

Evaluation

Centralized vs Decentralized allocation time

16

Page 17: A Multi-agent Approach for Semantic Resource Allocationsalsahpc.indiana.edu/CloudCom2010/slides/PDF/A... · Based on Grid Resource Ontology Extension to describe basic resource allocation

Evaluation

17

Centralized vs. Distributed

Page 18: A Multi-agent Approach for Semantic Resource Allocationsalsahpc.indiana.edu/CloudCom2010/slides/PDF/A... · Based on Grid Resource Ontology Extension to describe basic resource allocation

Evaluation

Different agent deployment configuration

18

Page 19: A Multi-agent Approach for Semantic Resource Allocationsalsahpc.indiana.edu/CloudCom2010/slides/PDF/A... · Based on Grid Resource Ontology Extension to describe basic resource allocation

Conclusions

Resource allocation framework which combines several technologies – Semantics for unifying data sources– Multi-agents for adapting to a changing environment– Rule scheduling promising approach

Negotiation combines customer and providers preferences– Different rule examples

Evaluation– Annotations from different schemas– Agents introduce a negotiation overhead– Trade-off between number of resources per agent

and agents per machine.19

Page 20: A Multi-agent Approach for Semantic Resource Allocationsalsahpc.indiana.edu/CloudCom2010/slides/PDF/A... · Based on Grid Resource Ontology Extension to describe basic resource allocation

Future Work

Improve performance reducing overheads

Exploit the benefits of rule-based resource allocation– Dynamic scheduling policies with rules

Introduce semantics in the resource management interface interoperability– Not only in the resource description

20

Page 21: A Multi-agent Approach for Semantic Resource Allocationsalsahpc.indiana.edu/CloudCom2010/slides/PDF/A... · Based on Grid Resource Ontology Extension to describe basic resource allocation

Thank you for your attention.Questions?

[email protected]