820 likes | 827 Views
What can we expect from Game Theory in Scheduling?. Denis Trystram (Grenoble University and INRIA) Collection of results of 3 papers with: Pierre-François Dutot (Grenoble University) Krzysztof Rzadca (Polish-Japanese computing school, Warsaw) Fanny Pascual (LIP6, Paris)
E N D
What can we expect from Game Theory in Scheduling? Denis Trystram (Grenoble University and INRIA) Collection of results of 3 papers with: Pierre-François Dutot (Grenoble University) Krzysztof Rzadca (Polish-Japanese computing school, Warsaw) Fanny Pascual (LIP6, Paris) Erik Saule (Grenoble university) may 23, 2008
Goal The evolution of high-performance execution platforms leads to physical or logical distributed entities (organizations) which have their own « local » rules, each organization is composed of multiple users that compete for the resources, and they aim to optimize their own objectives… Proposal: Construct a framework for studying such problems. Work partially supported by the Coregrid Network of Excellence of the EC.
content Basics in Scheduling (computational) models Multi-users scheduling (1 resource) Multi-users scheduling (m resources) Multi-organizations scheduling (1 objective) Multi-organizations with mixed objectives
Computational model Informally, a set of users have some (parallel) applications to execute on a (parallel) machine. The « machine » belongs or not to multiple organizations. The objectives of the users are not always the same.
Classical Scheduling Informal definition: given a set of n (independent) jobs and m processors, determine an allocation and a date for processing the tasks. ri pi Task i Ci i Objectives: based on completion times Cmax, Ci
Classical Scheduling (Cmax) Complexity results: the central problem is NP-hardit remains NP-hard for independent tasks Algorithms: List-scheduling [Graham 69]: 2-approximation LPT (largest first): 4/3-approximation m≥2
Classical Scheduling (Ci) Algorithm: SPT (shortest first): polynomial for any m
Multi-users optimization • Let us start by a simple case : several users compete for resources belonging to the same organization. • System centered problems (Cmax, load-balancing) • Users centered (minsum, maxstretch, flowtime) • Motivation:Take the diversity of users’ wishes/needs into account
A simple example Blue (4 tasks duration 3,4,4 and 5) has a program to compile (Cmax) Red (3 tasks duration 1,3 and 6) is running experiments (Ci) m=3 (machines) Global LPT schedule Cmax = 9 Ci = 6+8+9 = 23
A simple example Blue (4 tasks duration 3,4,4 and 5) has a program to compile (Cmax) Red (3 tasks duration 1,3 and 6) is running experiments (Ci) m=3 (machines) Global LPT schedule Cmax = 9 Ci = 6+8+9 = 23 SPT schedule for red Cmax = 8 Ci = 1+3+11 = 15
Description of the problem • Instance: k users, user u submit n(u) tasks, processing time of task i belonging to u: pi(u) • Completion time: Ci(u) • Each user can choose his-her objective among: • Cmax(u) = max (Ci(u)) or Ci(u) weighted or not • Multi-user scheduling problem: • MUSP(k’:Ci;k’’:Cmax) where k’+k’’=k
Complexity • [Agnetis et al. 2004], case m=1 • MUSP(2:Ci) is NP-hard in the ordinary sense • MUSP(2:Cmax) and MUSP(1:Ci;1:Cmax) are polynomial • Thus, on m machines, all variants of this problem are NP-hard • We are looking for approximation (multi-objective)
[Baker et al. 2003] (m=1) Linear aggregation: optimize Cmax + Ci User2: Ci User1: Cmax 1. Merge the tasks of user 1 2. Global SPT
[Baker et al. 2003] (m=1) Linear aggregation: optimize Cmax + Ci User2: Ci User1: Cmax 1. Merge the tasks of user 1 2. Global SPT Not truthful: if Blue declares to be interested inCi
Linear aggregation is unfair Two users with Ci (both own three tasks: 1,1,1 and 2,2,2).
MUSP(k:Cmax) • Inapproximability: • no algorithm better than (1,2,…,k) • Proof: consider the instance where each user has • one unit task (pi(u)=1) on one machine (m=1). • Cmax*(u) = 1 and there is no other choice than: • . . .
MUSP(k:Cmax) • Inapproximability: • no algorithm better than (1,2,…,k) • Proof: consider the instance where each user has • one unit task (pi(u)=1) on one machine. • Cmax*(u) = 1 and there is no other choice than: • . . . • Thus, there exists a user u whose Cmax(u) = k
MUSP(k:Cmax) • Algorithm (multiCmax): • Given a -approximation schedule for each user • Cmax(u) ≤ Cmax*(u) • Sort the users by increasing values of Cmax(u) • Analysis: • multiCmax is a (,2, …, k)-approximation.
MUSP(k:Ci) • Inapproximability: no algorithm better than • ((k+1)/2,(k+2)/2,…,k) • Proof: consider the instance where each user has x • Tasks pi(u) = 2i-1. • Optimal schedule: Ci* = 2x+1 - (x+2) • SPT is Pareto Optimal (3 users blue, green and red): • . . . • For all u, CiSPT(u) = k(2x -(x+1)) + (2x -1) u • Ratio to the optimal = (k+u)/2 for large x
MUSP(k:Ci) Algorithm (single machine) Aggreg: Let (u) be the schedule for user u. Construct a schedule by increasing order of Ci((u))
MUSP(k:Ci) • Algorithm (single machine) Aggreg: • Let (u) be the schedule for user u. • Construct a schedule by increasing order of Ci((u))
MUSP(k:Ci) • Algorithm (single machine) Aggreg: • Let (u) be the schedule for user u. • Construct a schedule by increasing order of Ci((u)) • Analysis: Aggreg is (k,k,…,k)-approximation
MUSP(k:Ci) • Algorithm (extension to m machines): • The previous property still holds on each machine (using SPT individually for each user) • Local SPT
MUSP(k:Ci) • Algorithm (extension to m machines): • The previous property still holds on each machine (using SPT individually for each user) • Local SPT • Merge on each machine
MUSP(k:Ci) • Analysis: we obtain the same bound as before.
Mixed caseMUSP(k’:Ci;(k-k’):Cmax) • A similar analysis can be done, see the paper with Erik Saule for more details
Decentralized objective • In the previous analysis, the users had to choose among several objectives (expressed from the completion time). • The scheduling policy was centralized and global. • A natural question is « what happens with exotic objectives or with predefined schedules? »
Context: computational grids m1 machines … Organization O1 … … m2 machines Organization O3 … Organization O2 … … m3 machines Collection of independent clusters managed locally by an « organization ».
Preliminary:single user, multi-organization Independent tasks are submitted locally by single users on « private » organizations:
Preliminary:single user, multi-organization Independent tasks are submitted locally by single users on « private » organizations:
Multi-organization • Problem: each organization has its own objective.We are looking for a centralized mechanism that improves the global behaviour without worsering the local solutions.
Multi-organization with Cmax • Algorithm: iterative load-balancing • The organizations are sorted by increasing load • The load of the more loaded one is balanced usinga simple list algorithm:
Multi-organization with Cmax • Algorithm: iterative load-balancing • The organizations are sorted by increasing load • The load of the more loaded one is balanced usinga simple list algorithm:
Multi-organization with Cmax • Algorithm: iterative load-balancing • The organizations are sorted by increasing load • The load of the more loaded one is balanced usinga simple list algorithm:
Multi-organization with Cmax • Algorithm: iterative load-balancing • The organizations are sorted by increasing load • The load of the more loaded one is balanced usinga simple list algorithm:
Multi-organization with Cmax • Algorithm: iterative load-balancing • The organizations are sorted by increasing load • The load of the more loaded one is balanced usinga simple list algorithm:
Multi-organization with Cmax • Algorithm: iterative load-balancing • The organizations are sorted by increasing load • The load of the more loaded one is balanced usinga simple list algorithm:
Multi-organization with Cmax • Algorithm: iterative load-balancing • The organizations are sorted by increasing load • The load of the more loaded one is balanced usinga simple list algorithm:
Multi-organization with Cmax • Algorithm: iterative load-balancing • The organizations are sorted by increasing load • The load of the more loaded one is balanced usinga simple list algorithm:
Multi-organization with Cmax • Algorithm: iterative load-balancing • The organizations are sorted by increasing load • The load of the more loaded one is balanced usinga simple list algorithm: • Analysis: bound 2-1/m for the global Cmax
Extension to parallel taskssingle resource: cluster Independent applications are submitted locally on a cluster. The are represented by a precedence task graph. An application is viewed as a usual sequential task or as a parallel rigid job (see [Feitelson and Rudolph] for more details and classification).
Cluster Local queue of submitted jobs … J3 J2 J1 … …
overhead Computational area Rigid jobs: the number of processors is fixed.
Runtime pi #of required processors qi
Runtime pi #of required processors qi Useful definitions: high jobs (those which require more than m/2 processors) low jobs (the others).