310 likes | 452 Views
Improved Scheduling Strategies for Agent-Client-Server Middleware. Jack Dongarra Emmanuel Jeannot Keith Seymour Asim Yarkhan INRIA-LORIA-ICL U. Tennessee ICL Nancy, France Knoxville, USA CCGSC 09/13/2006. Outline. Introduction
E N D
Improved Scheduling Strategies for Agent-Client-Server Middleware Jack Dongarra Emmanuel Jeannot Keith Seymour Asim Yarkhan INRIA-LORIA-ICL U. Tennessee ICL Nancy, France Knoxville, USA CCGSC 09/13/2006
Outline • Introduction • Agent-client-server middleware • Scheduling service • Improvement • Preliminary results • Conclusion Improved scheduling strategies for agent-client-server middleware E. Jeannot
Which Architecture Integration Interoperability Applications Middlewares Services-protocols Resources Improved scheduling strategies for agent-client-server middleware E. Jeannot
A grid = resources : Heterogeneous CPU Power Memory Network System Architecture Distributed Optionally : dedicated, dynamic, … Architecture : the resources Improved scheduling strategies for agent-client-server middleware E. Jeannot
Architecture : applications • An application = a task graph : • Come from a program, a workflow, etc. • vertex : a task, • edge : dependency between two tasks, • Communication cost for each edge, • Computation cost on each resource. T1 T2 T3 T5 T6 T4 T7 T9 T8 Improved scheduling strategies for agent-client-server middleware E. Jeannot
Architecture : agent-client-server middleware Request S2 ! A, B, C Answer (C) Client AGENT(s) S3 S4 Op(C, A, B) S1 S2 Improved scheduling strategies for agent-client-server middleware E. Jeannot
Architecture : scheduling service • Allocate one (many) application(s) on the resources • Dynamic context: arrival task of every applications not known in advance. • Many submissions (1 task, a graph). • Time share model: each resource can execute several tasks at a given moment (no resource constraint). Play a key role for performance Improved scheduling strategies for agent-client-server middleware E. Jeannot
Some issues To schedule tasks: • You must estimate their duration • You must estimate the communication duration • You must take into account the perturbation between each task • You must take into account several objectives Improved scheduling strategies for agent-client-server middleware E. Jeannot
Estimating task duration We tackle deterministic services • Benchmark a service • To be done on every server • Sometime hard to interpolate • GridSolve: Complexity model + volume of data + speed of processor • Problem of accuracy • Different implementations lead to the same estimation • Different categories leads to the same estimation Improved scheduling strategies for agent-client-server middleware E. Jeannot
Proposed solution : automatic modeling Take a model of the duration of the service. Compute the coefficients of this model using previous runs: • Store information of the run • Update model coefficients using least square method. Guess the duration of the next submission using the updated model. Improved scheduling strategies for agent-client-server middleware E. Jeannot
Example: matrix multiplication t = α1m + α2n + α3k + α4mn + α5mk + α6nk + α7mnk If m = 1211, n = 429, k = 1862 running time: 2.474.10−3 s Then you store: • 1211 429 1862 519519 2254882 798798 967344378 in a row of matrix A • 2.47410−3 in a vector x Applying a least square on A and x gives you the values of the αi. Note that : • The more runs you store the more precise the model. • You can save the model and retrieve it later. • The model is different for each implementation of the service and each server. Improved scheduling strategies for agent-client-server middleware E. Jeannot
Predicting communication time NetSolve: • The server computes the network speed between the itself and the agent • Assume that it is the same between itself and the client • True only if the client is close to the agent. • Otherwise you can say nothing… GridSolve: • Nothing is done : communication time is not taken into account. Proposed improvement: • When the client is given several servers where it can execute a request • Probe the server sending a short message • Choose a server based on these timings. Note: • Improves the accuracy of the communication time • Favors closer server • Degrades the response time (for small data sizes no probe is performed). Improved scheduling strategies for agent-client-server middleware E. Jeannot
Predicting resource utilization Mandatory for good scheduling decision. Recall: time share context (each resource can execute several tasks at the same time). Precision and quality of each information. Charge variation. Two options : Sensors (NWS, etc…). Non intrusive predictor based on simulation (HTM). Improved scheduling strategies for agent-client-server middleware E. Jeannot
Information precision and quality At time t, S1 and S2 are both executing 1 task. ? Two servers with the same load at time t t S1 S2 Improved scheduling strategies for agent-client-server middleware E. Jeannot
Perturbation • Adding a task on a server slows down those that are already running. • Also call interference (Weismann). Improved scheduling strategies for agent-client-server middleware E. Jeannot
Perturbation example Let us consider the arrival of 3 independent tasks on one server Improved scheduling strategies for agent-client-server middleware E. Jeannot
Perturbation example Perturbation example Perturbation of T1 on T0 Perturbation of T1 on itself Improved scheduling strategies for agent-client-server middleware E. Jeannot
Perturbation example Perturbation example Improved scheduling strategies for agent-client-server middleware E. Jeannot
Historical Trace Manager : HTM • HTM : a Fast and non-intrusive prediction module. • Record each task allocation. • Simulate execution of each task (based on the perturbation model). Allows predicting: • the end of each task execution on its resource, • the perturbation of each allocated tasks on the others, • etc. First proposed by Y. Caniou et al. Improved scheduling strategies for agent-client-server middleware E. Jeannot
Multicriteria scheduling • Agent, client, server: • 3 entities/actors: • Different objectives • Client: • Application duration, • Response-time, • Real-time constraint, • Cost, • Server/provider: • Throughput • Stability • Agent/ressource broker: • Fairness between clients • Fairness between tasks ? • Each criteria correspond to one several metrics (stretch, sumflow, makespan, etc.). Improved scheduling strategies for agent-client-server middleware E. Jeannot
MP: Minimum Perturbation For each server s Compute perturbations Ps Take server that minimize Ps S1 Example: S2 Improved scheduling strategies for agent-client-server middleware E. Jeannot
MP: Minimum Perturbation MP: Minimum Perturbation For each server s Compute perturbations Ps Take server that minimize Ps S1 Example: S2 Improved scheduling strategies for agent-client-server middleware E. Jeannot
MP: Minimum Perturbation MP: Minimum Perturbation For each server s Compute perturbations Ps Take server that minimize Ps S1 Example: S2 Improved scheduling strategies for agent-client-server middleware E. Jeannot
MP: Minimum Perturbation MP: Minimum Perturbation For each server s Compute perturbations Ps Take server that minimize Ps S1 Example: S2 Improved scheduling strategies for agent-client-server middleware E. Jeannot
MSF : Minimum Sum Flow For each server s Compute perturbations Ps Take server that minimize Ps+duration S1 Example: S2 Improved scheduling strategies for agent-client-server middleware E. Jeannot
MSF : Minimum Sum Flow For each server s Compute perturbations Ps Take server that minimize Ps+duration S1 Example: S2 Improved scheduling strategies for agent-client-server middleware E. Jeannot
Results : precision of automatic modeling (1 server) Improved scheduling strategies for agent-client-server middleware E. Jeannot
Results: advantage of the automatic modeling (2 server) 2 servers: 1 with ref.BLAS 1 with opt. BLAS Complexity model: No diff. between diff. Implementation Automatic model: Make diff. Between diff. implementations Improved scheduling strategies for agent-client-server middleware E. Jeannot
Heuristic Improvement : response time Improvement for other metrics (Caniou et al. 2004) Improved scheduling strategies for agent-client-server middleware E. Jeannot
Conclusion • Scheduling : a key to performance • Contributions: • Implementation in GridSolve : • Performance prediction with automatic modeling • Improved communication time prediction • Multicriteria perturbation based heuristics • Encouraging results. Improved scheduling strategies for agent-client-server middleware E. Jeannot
Questions? Improved scheduling strategies for agent-client-server middleware E. Jeannot