Download presentation
Presentation is loading. Please wait.
Published byHilda Pauline Logan Modified over 9 years ago
1
Multicriteria Driven Resource Management Strategies in GRMS Krzysztof Kurowski, Jarek Nabrzyski, Ariel Oleksiak, Juliusz Pukacki Poznan Supercomputing and Networking Center, Poland
2
Krzysztof Kurowski The 4th Cracow Grid Workshop -CGW Resource management strategies Grid Computing
3
Krzysztof Kurowski The 4th Cracow Grid Workshop -CGW GRMS Architecture
4
Krzysztof Kurowski The 4th Cracow Grid Workshop -CGW GRMS as a part of the GridLab
5
Krzysztof Kurowski The 4th Cracow Grid Workshop -CGW GRMS as a part of the GridLab
6
Krzysztof Kurowski The 4th Cracow Grid Workshop -CGW Introduction to MC Motivation GRMS is a solution for non-dedicated resources We consider a resource management problem as a multicriteria decision making process with various stakeholders (end-users, administrators, etc.) Different preferences of stakeholders (sets of criteria and their importance) We need to aggregate somehow (negotiation and agreement processes are required) various criteria and stakeholders’ preferences We focus on a compromise solution rather than the optimal one We want to satisfy many stakeholders rather than the particular one Various criteria and constraints depending on available information and scenarios Requirements Flexibility (in terms of criteria and multicriteria methods) Re-use of common functionality (ranking, non-dominated solutions, solutions meeting constraints)
7
Krzysztof Kurowski The 4th Cracow Grid Workshop -CGW Introduction to MC MCEvaluator Implementation of needed multicriteria models and tools Set of classes providing abstraction of entities used in multicriteria models Job description/properties Including user’s and administrator preferences Taking into consideration multiple criteria, their importance, indifference thresholds and constraints Two main efforts Multi-criteria analysis engine – MCEvaluator Including user’s preferences in a job description
8
Krzysztof Kurowski The 4th Cracow Grid Workshop -CGW MCEvaluator - Design
9
Krzysztof Kurowski The 4th Cracow Grid Workshop -CGW MCEvaluator - Model Main entities Criteria (objectives, soft constraints: user is interested in their greatest or lowest possible values) Constraints (hard constraints: if is not satisfied solution is not taken into consideration) Solutions (e.g. resources, schedules etc. along with description parameters) MCEvaluator (decision point) Multi-criteria methods Evaluation function (e.g. weighted sum) Non-dominated solutions Lexicographic order Rule-based systems Other...
10
Krzysztof Kurowski The 4th Cracow Grid Workshop -CGW Memory Storage Memory Storage End user 1End user 2 Application 1 (e.g. Data analysis ) Application 2 (e.g. Data mining) R1 R2 R3 R4 R1 R2 R3 R4 Hard constraints (e.g. RSL… ClassAd, scripts), ??? Simple example
11
Krzysztof Kurowski The 4th Cracow Grid Workshop -CGW Memory Storage MAX Z = 1*Mem + 2*Storage (where z is the objective function) Memory Storage MAX Z = 2*Mem + 1*Storage (where z is the objective function) R1 R2 R3 R4 R1 End user 1End user 2 Application 1 (e.g. Data analysis ) Application 2 (e.g. Data mining) R2 R3 R4 Simple example
12
Krzysztof Kurowski The 4th Cracow Grid Workshop -CGW Job Description Expressing user preferences Criteria (I want as fast CPU as possible) Weights (amount of memory is two times more important than a number of processors) Constraints (amount of free memory must be greater than x) Indifference thresholds (difference of 10MB is not significant)
13
Krzysztof Kurowski The 4th Cracow Grid Workshop -CGW Job Description - Schema 10 1 100 200
14
Krzysztof Kurowski The 4th Cracow Grid Workshop -CGW Examples Selection of the best hosts for a job Based on hosts parameters: CPU load, total memory, free memory, CPU count, CPU speed Selection of the best host or the best queue Based on estimated runtime and queue waiting time (+ estimated errors) taken from the prediction system Selection of the best job to migrate (to release resources for a new job) Based on parameters of the host after job migration and migration costs Selection of the best queue in the local resource management system Based on aggregated historical data taken from the GridLab Adaptive Service (Delphoi)
15
Krzysztof Kurowski The 4th Cracow Grid Workshop -CGW Selection of the best hosts for a job
16
Krzysztof Kurowski The 4th Cracow Grid Workshop -CGW Example 1 (Host Parameters) Criteria CPU load CPU count CPU speed Total memory Free memory Constraints No constraints (resources filtered in the resource discovery phase) Solutions Set on the basis of parameters describing hosts //criteria NumericalCriterion[] criteria = new NumericalCriterion[5]; criteria[0] = new NumericalCriterion("cpuLoad", Criterion.GAIN); criteria[1] = new NumericalCriterion("cpuCount", Criterion.GAIN); criteria[2] = new NumericalCriterion("cpuSpeed", Criterion.GAIN); criteria[3] = new NumericalCriterion("memory", Criterion.GAIN); criteria[4] = new NumericalCriterion("memAvail", Criterion.GAIN); // //weights float[] weights = new float[5]; weights[0] = weightLoad; weights[1] = weightCPUCount; weights[2] = weightCPUSpeed; weights[3] = weightMemory; weights[4] = weightMemAvail; //evaluator mcEvaluators = new Vector(1); mcEvaluators.add(new MCFuncEvaluator("GRMSmatchmaking", criteria, weights, null));
17
Krzysztof Kurowski The 4th Cracow Grid Workshop -CGW Selection of the best host or the best queue
18
Krzysztof Kurowski The 4th Cracow Grid Workshop -CGW Example 2 (Time Prediction) Criteria Time Error Standard Deviation Maximal – minimal time Constraints err <= stdev stdev < time/2 max-min <= time (+- 1 minute) Solutions Set on the basis of information from the prediction system //criteria NumericalCriterion[] criteriaMCT = new NumericalCriterion[4]; criteriaMCT[0] = new NumericalCriterion("time", Criterion.COST); criteriaMCT[0].setIndiffThreshold(1); criteriaMCT[1] = new NumericalCriterion("err", Criterion.COST); criteriaMCT[2] = new NumericalCriterion("stdev", Criterion.COST); criteriaMCT[3] = new NumericalCriterion("max-min", Criterion.COST); criteriaMCT[3].setIndiffThreshold(1); // //weights float[] weightsMCT = new float[4]; weightsMCT[0] = weightTime; weightsMCT[1] = weightErr; weightsMCT[2] = weightStdev; weightsMCT[3] = weightMaxMin; //constraints MetricConstraint[] constraintsMCT = new MetricConstraint[3]; //err <= stdev constraintsMCT[0] = new MetricConstraint("err", MetricConstraint.LE, null); constraintsMCT[0].setOtherMetric("stdev"); //stdev < time/2 constraintsMCT[1] = new MetricConstraint("stdev", MetricConstraint.LS, null); constraintsMCT[1].setOtherMetric("time"); constraintsMCT[1].setOtherMetricFactor(0.5f); //max-min <= time (+- 1) constraintsMCT[2] = new MetricConstraint("max-min", MetricConstraint.LE, null); constraintsMCT[2].setOtherMetric("time"); constraintsMCT[2].setIndiffThreshold(1);
19
Krzysztof Kurowski The 4th Cracow Grid Workshop -CGW Selection of the best job to migrate (to release resources for a new job)
20
Krzysztof Kurowski The 4th Cracow Grid Workshop -CGW Example 3 (Adaptive Service) Criteria avgNumberWaitingJobs avgJobWaitingTime sdJobWaitingTime avgFreeNodes cpuTime maxJobs maxNodes Constraints cpuTime maxJobs maxNodes Solutions Set on the basis of information from the adaptive service // based on historic information (dynamic parameters) criteria[0] = new NumericalCriterion("avgNumberWaitingJobs", Criterion.COST); criteria[1] = new NumericalCriterion("avgJobWaitingTime", Criterion.COST); criteria[2] = new NumericalCriterion("sdJobWaitingTime", Criterion.COST); criteria[3] = new NumericalCriterion("avgFreeNodes", Criterion.GAIN); // based on queue configuration (static parameters) criteria[4] = new NumericalCriterion("cpuTime", Criterion.GAIN); criteria[5] = new NumericalCriterion("cpus", Criterion.GAIN); criteria[6] = new NumericalCriterion("maxJobs", Criterion.GAIN); criteria[7] = new NumericalCriterion("maxMem", Criterion.GAIN); criteria[7] = new NumericalCriterion("maxNodes", Criterion.GAIN);
21
Krzysztof Kurowski The 4th Cracow Grid Workshop -CGW MCEvaluator – Next Steps Development of the engine Implementation of other multi-criteria methods Negotiable constraints Use in another scenarios Use of other decision models (currently the evaluation function) Scheduling with advance reservation Resource co-allocations Other ?
22
Krzysztof Kurowski The 4th Cracow Grid Workshop -CGW Conclusion Flexible engine for criteria and constraints management – various: criteria constraints decision making methods Used in a few scenarios/testbeds Currently multi-criteria evaluation function Job description containing user preferences Criteria (+ their importance) and constraints It would be nice to use Criteria in agreement negotiations Criteria concerning deadlines, runtimes etc.
23
Krzysztof Kurowski The 4th Cracow Grid Workshop -CGW GRMS web page www.gridlab.org/grms/ Thank you!
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.