This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

11institutetext: Veer Surendra Sai University of Technology, Burla 768018, India 11email: [email protected]
11email: [email protected]

A New Fairness Model based on User’s Objective for Multi-user Multi-processor Online Scheduling

Debasis Dwibedy 11    Rakesh Mohanty 11
Abstract

Resources of a multi-user system in multi-processor online scheduling are shared by competing users in which fairness is a major performance criterion for resource allocation. Fairness ensures equality in resource sharing among the users. According to our knowledge, fairness based on the user’s objective has neither been comprehensively studied nor a formal fairness model has been well defined in the literature. This motivates us to explore and define a new model to ensure algorithmic fairness with quantitative performance measures based on optimization of the user’s objective. In this paper, we propose a new model for fairness in Multi-user Multi-processor Online Scheduling Problem(MUMPOSP). We introduce and formally define quantitative fairness measures based on user’s objective by optimizing makespan for individual user in our proposed fairness model. We also define the unfairness of deprived users and absolute fairness of an algorithm. We obtain lower bound results for the absolute fairness for mm-identical machines with equal length jobs. We show that our proposed fairness model can serve as a framework for measuring algorithmic fairness by considering various optimality criteria such as flow time and sum of completion times.

Keywords:
Multi-user System Scheduling Makespan Performance Measure Fairness.

1 Introduction

Supercomputers, grids and clusters in High Performance Computing(HPC) and web servers in client-server networking have gained immense practical significance as Service Oriented System(SOS) in modern day computation [1]. Unlike the traditional computing system such as personal computer, the SOS supports multiple users. The users compete for system’s resources for execution of their jobs. The most popular cluster scheduler MAUI [2] and the well-known BOINC platform [3] deal with a number of competing users, where each user submits a set of jobs simultaneously and seeks for a minimum time of completion(makespan) for their respective submissions. A non-trivial challenge for the SOS is to ensure fair scheduling of jobs for multiple users while optimizing their respective makespans.
In this paper, we define and quantify fairness as a performance measure based on user’s objective for any resource allocation algorithm in multi users HPC systems. Particularly, we consider processors as the resources to be shared and makespan as the user’s objective in the Multi-user Multi-processor Online Scheduling Problem(MUMPOSP). We formally define the MUMPOSP as follows.

Multi-user Multi-processor Online Scheduling Problem(MUMPOSP)

  • Inputs: We are given a set of mm identical processors, i.e. MM={M1,M2,..,Mm}\{M_{1},M_{2},..,M_{m}\} and a set of nn jobs, where m2m\geq 2 and n>>>mn>>>m. Let UrU_{r} represents a user, where 1rk1\leq r\leq k and JrJ^{r} is the sequence of jobs requested by user UrU_{r}, where JrJ^{r}=(Jir|1inr)(J^{r}_{i}|1\leq i\leq n_{r}) such that JJ=r=1kJr\bigcup_{r=1}^{k}{J^{r}}, r=1knr\sum_{r=1}^{k}{n_{r}}=nn and JxJyJ^{x}\cap J^{y}=ϕ\phi, where xyx\neq y and 1(x,y)k1\leq(x,y)\leq k. The processing time of job JirJ^{r}_{i} is pirp^{r}_{i}, where pir1p^{r}_{i}\geq 1.

  • Output: Generation of a Schedule(SS) in which makespan for each user (UrU_{r}) is denoted by CmaxrC^{r}_{max}=max{cir|1inr}\max\{c^{r}_{i}|1\leq i\leq n_{r}\}, where circ^{r}_{i} is the completion time of job JirJ^{r}_{i}

  • Objective: Minimize CmaxrC^{r}_{max},   Ur\forall U_{r}.

  • Constraint: The scheduler can receive a batch of at most rr jobs at any time step and the jobs must be irrevocably scheduled before the arrival of next batch of jobs, where 1rk1\leq r\leq k.

  • Assumption. The jobs are independent and are requested from kk parallel users, where k2k\geq 2

Illustration of MUMPOSP. For simplicity and basic understanding of the readers, we illustrate an instance of MUMPOSP for scheduling of nn jobs that are submitted by kk users(UrU_{r}) as shown in Figure 1. Here, M1M_{1}, M2M_{2},…,MmM_{m} represent mm identical machines and U1U_{1}, U2U_{2},…,Uk1U_{k-1}, UkU_{k} denote job sequences for kk users. Here, each user has nk\frac{n}{k} jobs. Jobs are submitted in batches online, where a batch is constructed after receiving exactly one job from each user(as long as an user has an unscheduled job). A batch consists of at least one job. Therefore, we have at least 11 batch, where kk=nn and at most nk+1n-k+1 batches, where any one of the users UrU_{r} has nrn_{r}=nk+1n-k+1 and remaining users have exactly one job each. Each user(UrU_{r}) seeks to obtain a minimum value for its makespan(CmaxrC^{r}_{max}) as the output, rather than the overall makespan(CmaxC_{max}) of the system. Hence, it is indispensable for the scheduler to be fair while optimizing the CmaxrC^{r}_{max} for each user.

Refer to caption
Figure 1: Illustratopn of MUMPOSP for k Users with Equal Number of Jobs

Representation of MUMPOSP. By following general framework α|β|γ\alpha|\beta|\gamma of Graham et al.[16], we represent MUMPOSP as MUMPOSP(k,Pm|Cmaxr)MUMPOSP(k,P_{m}|C^{r}_{max}), where PmP_{m} denotes mm-identical machines and kk is the number of users.

Perspectives of Fairness. Fairness has been considered as a major performance criterion for the scheduling algorithms in multi-user systems [4, 5]. Fairness has been studied from two perspectives such as allocation of resources to the users and user’s objective. Fairness of an algorithm with respect to resource allocation, guarantees uniform allocation of resources to the competing users [6]. The resources to be shared are application dependent. For example, in client-server networking, the shared resources may be throughput or network delay or specific time quantum [7, 8], whereas in distributed systems, the resources may be processors or memory or time slice [9, 10].
Algorithmic fairness based on user’s objective is evaluated by the objective values achieved for respective users. An equality in the obtained objective values for a user ensures fairness of a scheduling algorithm. It is important for a fairness measure to define the equality for quantifying how far an achieved objective value is far from the defined equality.

Related Work. Fairness as a quantitative performance measure based on resource allocation was comprehensively studied by Jain et al. [6]. A set of properties for an ideal fairness measure was defined and a fairness index F(x)F(x) was proposed for resource allocation schemes. If any scheduling algorithm assigns resources to kk competing users such that rthr^{th} user gets an allocation of xrx_{r}. then F(x)F(x) is defined as follows.

                            F(x)F(x)=[r=1kxr]2r=1kxr2\frac{[{\sum_{r=1}^{k}{x_{r}}}]^{2}}{\sum_{r=1}^{k}{{x_{r}}^{2}}},            where xr0x_{r}\geq 0.

The value of F(x)F(x) is bounded between 0 and 11 to meaningfully show percentage of fairness and discrimination of a resource allocation scheme for each user. Fairness based on sharing of resources such as processors, memory, system clock and system bus in multi-programmed multi-user system was well studied in [9-11]. Some recent works with contributions on algorithmic fairness of online scheduling can be found in [17-18]. According to our knowledge, study of fairness based on user’s objective has not been exhaustively studied in the literature.
In [12-15], stretch matrix has been considered as a user’s objective based fairness measure for resource scheduling algorithms in multi-user system. Stretch(dArd^{r}_{A}) is defined as a degradation factor in the objective value obtained by any algorithm A for each user UrU_{r}. Let us consider VArV^{r}_{A} is the objective value achieved by algorithm A and VOPTrV^{r}_{OPT} is the optimum objective value for respective UrU_{r}. Now, stretch can be defined as
                             dArd^{r}_{A}=VArVOPTr\frac{V^{r}_{A}}{V^{r}_{OPT}}

The objective of any scheduling algorithm is to incur an equal stretch for each UrU_{r} to ensure fairness. Stretch matrix guarantees fairness based on equality in achieved objective values. However, it fails to bound the fairness and unable to show the exact value of fairness per user as well as overall fairness of a scheduling algorithm. Further, the discrimination of any scheduling algorithm for the deprived users can not be captured by the stretch matrix. Therefore, it is quintessential to define a formal fairness measure based on user’s objective.

Our Contribution. In our work, we propose a new model for fairness in Multi-user Multi-processor Online Scheduling Problem(MUMPOSP). We introduce and formally define quantitative fairness measures based on user’s objective by optimizing makespan for individual user in our proposed fairness model. We also define the unfairness of deprived users and absolute fairness of an algorithm. We obtain lower bound results for the absolute fairness for mm-identical machines with equal length jobs. We show that our proposed fairness model can serve as a framework for measuring algorithmic fairness by considering various optimality criteria such as flow time and sum of completion times.

2 Our Proposed Fairness Model

We develop a new fairness model in which, we define five quantitative measures to ensure algorithmic fairness. Instead of considering the resource allocation at the input level, the model considers the achieved value of user’s makespan at the output level to determine the fairness of a scheduling algorithm. The model captures the issues of relative and global parameters for fairness by a Fairness Index(FI). The issues of unfairness is captured by a Discrimination Index(DI). The FI includes fairness measures such as Relative Fairness(RF) and Global Fairness(GF). Higher value of any fairness measure indicates more fair algorithm. The DI includes unfairness measures such as User Discrimination Index(UDI), Global Discrimination Index(GDI) and Relative Discrimination Index(RDI). Lower value of any unfairness measure indicates more fair algorithm. Before defining the fairness measures, we illustrate our proposed fairness model and discuss the characteristics of a good fairness model as follows.

Illustration of our Proposed Fairness Model. We illustrate our proposed fairness model as shown in Figure 2. The model considers the MUMPOSP and captures the fairness of online scheduling algorithm by considering the makespan(CmaxrC^{r}_{max}) of individual user at the output.


Refer to caption
Figure 2: A Fairness Model based on User’s Objective

2.1 Characteristics of a Good Fairness Model

Motivated by the seminal work of Jain et al. [6] for characterization of a good fairness model, we capture the following essential properties in our model to develop our fairness measures.

  • Independent of Input Size. A model must be applicable to any number of users irrespective of the number of jobs offered by the users and availability of any number of machines.

  • Independent of Scale. The model should be independent of unit or scale of measurement. The model should be able to measure fairness irrespective of the fact that processing time of the jobs are given in seconds or micro-seconds or nano-seconds. The measuring unit must be uniform or inter convertible.

  • Finitely Bounded. The model must bound the value of fairness measure within a finite range, preferably between 0 and 11 such that percentage of fairness for respective users can easily be determined.

  • Consistent. If any change in the scheduling policy results in different makespan for at least one user, then the change in the fairness measure must be reflected to the concerned users as well as to the overall fairness of the policy.

In addition to the above mentioned properties from the literature, we also consider relative and overall fairness as en essential feature to develop our fairness measures. The model must represent relative equality among achieved objective values for the users to show user’s fairness of an algorithm. For example, the users may not seek equal makespan as a gesture of fairness, however, they require to obtain an equal ratio between the desired makespan(optimum value) to the achieved makespan for all users. The value obtained by an algorithm for relative equality leads to relative fairness with respect to each user. Also, the model should show overall fairness of the algorithm with respect to all users.

2.2 Our Proposed Fairness Measures

By considering the above mentioned desirable properties, we now define formal measures of fairness and unfairness for MUMPOSP as follows.
If any algorithm A, schedules jobs of kk competing users on mm parallel machines such that rthr^{th} user obtains a makespan of CArC^{r}_{A}, then we define the following measures.

Definition 1

The Relative Fairness(RF) obtained by algorithm A for any user UrU_{r} is defined by
                                    RF(CAr){RF}(C^{r}_{A})=COPTrCAr\frac{C^{r}_{OPT}}{C^{r}_{A}},          where, COPTrC^{r}_{OPT}=i=1nrpirm\frac{\sum_{i=1}^{n_{r}}{p^{r}_{i}}}{m}       (1)

Corollary 1

The Relative Fairness Percentage(RFP) for any user UrU_{r} obtained by algorithm A is defined by
                                    RFP(CAr){RFP}(C^{r}_{A})=R(CAr)100R(C^{r}_{A})\cdot 100                                  (2)

Definition 2

The Global Fairness(GF) of algorithm A for kk users is defined by
                                    GF(CAr,k){GF}(C^{r}_{A},k)=1kr=1k(RF(CAr))\frac{1}{k}\cdot\sum_{r=1}^{k}{(RF(C^{r}_{A}))}                       (3)

Corollary 2

The Global Fairness Percentage(GFP) of any algorithm A for kk users is defined by
                                    GFP(CAr,k){GFP}(C^{r}_{A},k)=GF(CAr,k)100GF(C^{r}_{A},k)\cdot 100                         (4)

Again, if any algorithm A, schedules jobs of kk competing users such that rthr^{th} user obtains a makespan of CArC^{r}_{A}, then we define Fairness Index for algorithm A represented by 22-tuple with two parameters such as RFRF and GFGF as follows

            FI(CA)FI(C_{A})=<{RF(CAr)|1rk},GF(CAr,k)><\{RF(C^{r}_{A})|1\leq r\leq k\},GF(C^{r}_{A},k)>                           (5)

Example 1: Let us consider 33 users U1U_{1}, U2U_{2} and U3U_{3} with jobs U1U_{1}={J11/1,J21/2}\{J^{1}_{1}/1,J^{1}_{2}/2\}, U2U_{2}={J12/3,J22/4}\{J^{2}_{1}/3,J^{2}_{2}/4\} and U3U_{3}={J13/5,J23/6}\{J^{3}_{1}/5,J^{3}_{2}/6\} respectively. Suppose any algorithm A schedules the jobs of U1U_{1}, U2U_{2} and U3U_{3} such that CA1C^{1}_{A}=1111, CA2C^{2}_{A}=99 and CA3C^{3}_{A}=1010, then we have, RF(CA1){RF}(C^{1}_{A})=1.511\frac{1.5}{11}=0.130.13 and RFP(CA1){RFP}(C^{1}_{A})=13%13\%, RF(CA2){RF}(C^{2}_{A})=3.59\frac{3.5}{9}=0.380.38 and RFP(CA2){RFP}(C^{2}_{A})=38%38\%, RF(CA3){RF}(C^{3}_{A})=5.510\frac{5.5}{10}=0.550.55 and RFP(CA3){RFP}(C^{3}_{A})=55%55\%. Therefore, we have GF(CAr,3){GF}(C^{r}_{A},3)=0.350.35 and GFP(CAr,3){GFP}(C^{r}_{A},3)=35%35\%.

Definition 3

The Unfairness of any algorithm A for MUMPOSP with respect to each user UrU_{r} is defined by User Discrimination Index as
             UDIAr{UDI}_{A}^{r}=1RF(CAr)1-{RF}(C^{r}_{A})                                                             (6)

Definition 4

The Overall Unfairness of algorithm A for kk users is defined by Global Discrimination Index as
             GDI(CAr,k){GDI}(C^{r}_{A},k)=1GF(CAr,k)1-{GF}(C^{r}_{A},k)                                                 (7)

Definition 5

The Realtive Discrimination Index(RDI) of any algorithm A for MUMPOSP with respect to each user UrU_{r} is defined as
            RDIAr{RDI}_{A}^{r}=GF(CAr,k)RF(CAr){GF}(C^{r}_{A},k)-{RF}(C^{r}_{A}), if RF(CAr)<GF(CAr,k){RF}(C^{r}_{A})<{GF}(C^{r}_{A},k)
            RDIAr{RDI}_{A}^{r}=0,       otherwise                                                      (8)

Again, if any algorithm A, schedules jobs of kk competing users such that rthr^{th} user obtains a makespan of CArC^{r}_{A}, then we define Discrimination Index for algorithm A as 33-tuple with three parameters such as UDIUDI, GDIGDI and RDIRDI as follows.

            DI(CA){DI}(C_{A})=<{UDIAr|1rk},GDI(CAr,k),{RDIAr|1rk}><\{{UDI}^{r}_{A}|1\leq r\leq k\},{GDI}(C^{r}_{A},k),\{{RDI}_{A}^{r}|1\leq r\leq k\}>   (9)

Example 2: Let us consider any algorithm A results relative fairness for U1U_{1}, U2U_{2}, U3U_{3} and U4U_{4} as 0.60.6, 0.60.6, 0.60.6 and 0.20.2 respectively. We now have GF(CAr,4){GF}(C^{r}_{A},4)=0.50.5. Therefore,UDIA1{UDI}_{A}^{1}=10.61-0.6=0.40.4, UDIA2{UDI}_{A}^{2}=10.61-0.6=0.40.4, UDIA3{UDI}_{A}^{3}=10.61-0.6=0.40.4, UDIA4{UDI}_{A}^{4}=10.21-0.2=0.80.8, GDI(CAr,k){GDI}(C^{r}_{A},k)=10.51-0.5=0.50.5 and RDIA4{RDI}_{A}^{4}=0.50.20.5-0.2=0.30.3.

3 Absolute Fairness and Lower Bound Results

We define absolute fairness as a quantitative measure and provide lower bound results for characterization of the same as follows.

Definition 6

Any algorithm A achieves Absolute Fairness if RF(CAr){RF}(C^{r}_{A}) is the same Ur\forall U_{r}.

Lemma 1. If any algorithm A incurs RDIAr{RDI}^{r}_{A}=0, Ur\forall U_{r}, then it achieves absolute fairness.
Proof.
If RDIAr{RDI}^{r}_{A}=0, Ur\forall U_{r}, then by Eq. (8), we have
            RF(CAr)GF(CAr){RF}(C^{r}_{A})\geq{GF}(C^{r}_{A})                                                             (10)
By Eqs. (3) and (10), we can infer that RF(CAr){RF}(C^{r}_{A})=GF(CAr){GF}(C^{r}_{A}), Ur\forall U_{r}
Therefore Lemma 1 holds true. \Box

Definition 7

Any Algorithm A is bb-fair, if it achieves RF(CAr){RF}(C^{r}_{A})=bb for all UrU_{r}, where 0<b10<b\leq 1.

Theorem 1. Any algorithm that achieves absolute fairness for MUMPOSP(k,P2|Cmaxr)MUMPOSP(k,P_{2}|C^{r}_{max}) must be at least (1k)(\frac{1}{k})-fair, where k2k\geq 2 and 1rk1\leq r\leq k.
Proof. Let us consider an instance of MUMPOSP(k,P2|Cmaxr)MUMPOSP(k,P_{2}|C^{r}_{max}), where kk=22. We analyze two cases based on nrn_{r} as follows.
Case 11: n1n2n_{1}\neq n_{2}.
Case 11.(a): If the first job pair(J11,J12J^{1}_{1},J^{2}_{1}) are scheduled on different machines. Let us consider the following instance U1:<J21/2,J11/1>U_{1}:<J^{1}_{2}/2,J^{1}_{1}/1>, U2:<J12/1>U_{2}:<J^{2}_{1}/1>, where each job is specified by its processing time. Assigning J11/1J^{1}_{1}/1 and J12/1J^{2}_{1}/1 to machines M1M_{1} and M2M_{2} respectively followed by the assignment of J21/2J^{1}_{2}/2 to either of the machines such that CA1C^{1}_{A}=33 and CA2C^{2}_{A}=11, where COPT11.5C^{1}_{OPT}\geq 1.5 and COPT20.5C^{2}_{OPT}\geq 0.5. Therefore, we have COPT1CA112\frac{C^{1}_{OPT}}{C^{1}_{A}}\geq\frac{1}{2} and COPT2CA212\frac{C^{2}_{OPT}}{C^{2}_{A}}\geq\frac{1}{2}
Case 11.(b): If the first job pair(J11,J12J^{1}_{1},J^{2}_{1}) are scheduled on the same machine. Let us consider the following instance U1:<J31/2,J21/1,J11/1>U_{1}:<J^{1}_{3}/2,J^{1}_{2}/1,J^{1}_{1}/1>, U2:<J22/2,J12/1>U_{2}:<J^{2}_{2}/2,J^{2}_{1}/1>. If the first job pair(J11/1,J12/1J^{1}_{1}/1,J^{2}_{1}/1) are scheduled either on machine M1M_{1} or on M2M_{2}, then by assigning the next pair of jobs (J21,J22J^{1}_{2},J^{2}_{2}) to the same or different machines, followed by the assignment of job J31/2J^{1}_{3}/2 such that CA1C^{1}_{A}=44 and CA2C^{2}_{A}=33, where COPT12C^{1}_{OPT}\geq 2 and COPT21.5C^{2}_{OPT}\geq 1.5. Therefore, we have COPT1CA112\frac{C^{1}_{OPT}}{C^{1}_{A}}\geq\frac{1}{2} and COPT2CA212\frac{C^{2}_{OPT}}{C^{2}_{A}}\geq\frac{1}{2}.
Case 2: n1n_{1}=n2n_{2}.
Case 2.(a): If the first job pair(J11,J12J^{1}_{1},J^{2}_{1}) are scheduled on different machines. Let us consider the following instance U1:<J31/2,J21/1,J11/1>U_{1}:<J^{1}_{3}/2,J^{1}_{2}/1,J^{1}_{1}/1>, U2:<J32/2,J22/2,J12/1>U_{2}:<J^{2}_{3}/2,J^{2}_{2}/2,J^{2}_{1}/1>. Assigning jobs J11/1J^{1}_{1}/1 and J12/1J^{2}_{1}/1 to machines M1M_{1} and M2M_{2} respectively, followed by the assignment of the subsequent jobs as shown in Figure 3.(a), such that CA1C^{1}_{A}=44 and CA2C^{2}_{A}=55, where COPT12C^{1}_{OPT}\geq 2 and COPT22.5C^{2}_{OPT}\geq 2.5. Therefore, we have COPT1CA112\frac{C^{1}_{OPT}}{C^{1}_{A}}\geq\frac{1}{2} and COPT2CA212\frac{C^{2}_{OPT}}{C^{2}_{A}}\geq\frac{1}{2}.
Case 2.(b): If the first job pair(J11,J12J^{1}_{1},J^{2}_{1}) are assigned to the same machine. We consider the same instance of Case 2.(a). Assigning J11/1J^{1}_{1}/1 and J12J^{2}_{1} on either machine M1M_{1} or on M2M_{2}, followed by the assignment of the subsequent jobs as shown in Figure3.(b) such that CA1C^{1}_{A}=44 and CA2C^{2}_{A}=55. Therefore, we have COPT1CA112\frac{C^{1}_{OPT}}{C^{1}_{A}}\geq\frac{1}{2} and COPT2CA212\frac{C^{2}_{OPT}}{C^{2}_{A}}\geq\frac{1}{2}. \Box

Refer to caption
Figure 3: Illustration of Case 2

3.1 Results on Absolute Fairness in MUMPOSP with mm Identical Machines for Equal Length Jobs

For ease of understanding, we analyze the lower bound of absolute fairness for any algorithm in a generic MUMPOSP setting, where each user has equal number of jobs and all jobs have equal processing time of xx unit, where x1x\geq 1. The objective of each user is to obtain a minimum CmaxrC^{r}_{max}. We formally denote the problem as MUMPOSP(k,Pm|pirk,P_{m}|p^{r}_{i}=x|Cmaxrx|C^{r}_{max}).

Lemma 2. In MUMPOSP(k,Pm|pirk,P_{m}|p^{r}_{i}=x|Cmaxrx|C^{r}_{max}) with kk=bmb\cdot m, any algorithm A obtains CArbi=1nrpirC^{r}_{A}\leq b\cdot\sum_{i=1}^{n_{r}}{p^{r}_{i}}, for each UrU_{r} respectively, where 1rk1\leq r\leq k, m2m\geq 2 and b1b\geq 1.
Proof.
We proof Lemma 2 by method of induction on number of jobs per user (nrn_{r}) as follows.
Induction Basis: Let us consider kk=mm=22, n1n_{1}=n2n_{2}=11 and p11p^{1}_{1}=p12p^{2}_{1}=11. Clearly, CArC^{r}_{A}=1b111\leq b\cdot 1\cdot 1, where rr=1,21,2 and b1b\geq 1.
Induction Hypothesis: Let us consider kk=(bm)(b\cdot m), nrn_{r}=nk\frac{n}{k}=yy, where y1y\geq 1, b1b\geq 1 and nn=r=1knr\sum_{r=1}^{k}{n_{r}}
We assume that CArbi=1nrpirbxyC^{r}_{A}\leq b\cdot\sum_{i=1}^{n_{r}}{p^{r}_{i}}\leq b\cdot x\cdot y                                             (11) Inductive Step: For nrn_{r}=y+1y+1 with pirp^{r}_{i}=xx, Jir\forall J^{r}_{i}. We have to show that CAr(y+1)bxC^{r}_{A}\leq(y+1)\cdot b\cdot x.
By Eq. (11), we have CArC^{r}_{A}=ybxy\cdot b\cdot x with nrn_{r}=yy. When we add extra one job to each user, we have by Induction Basis CArC^{r}_{A}=bxy+(bx)b\cdot x\cdot y+(b\cdot x)=(y+1)bx(y+1)\cdot b\cdot x. Therefore, Lemma 2 holds true. \Box

Lemma 3. Any algorithm A is 1k\frac{1}{k}-fair for MUMPOSP(Pm|pirP_{m}|p^{r}_{i}=x|Cmaxrx|C^{r}_{max}) with kk=bmb\cdot m, where m2m\geq 2 and b1b\geq 1.
Proof. By Lemma 2, we have CArbi=1nrpirC^{r}_{A}\leq b\cdot\sum_{i=1}^{n_{r}}{p^{r}_{i}}, Ur\forall U_{r}                              (12)
We have the fair optimum bound as COPTri=1nrpirmC^{r}_{OPT}\geq\frac{\sum_{i=1}^{n_{r}}{p^{r}_{i}}}{m},            Ur\forall U_{r}            (13)
By Eqs. (12) and (13), we have COPTrCAr1k\frac{C^{r}_{OPT}}{C^{r}_{A}}\geq\frac{1}{k},  Ur\forall U_{r}.
Therefore, Lemma 3 holds true. \Box

Lemma 4. In MUMPOSP(Pm|pirP_{m}|p^{r}_{i}=x|Cmaxrx|C^{r}_{max}) with k>mk>m, any algorithm A obtains CArnmxC^{r}_{A}\leq\lceil\frac{n}{m}\rceil\cdot x, for each UrU_{r} respectively, where kmbk\neq m\cdot b for b1b\geq 1.
Proof.
The correctness of Lemma 4 is shown by method of induction on nrn_{r} as follows.
Induction Basis: Let us consider mm=22, kk=33, nrn_{r}=11 and pirp^{r}_{i}=11. Now, we have nn=nrkn_{r}\cdot k=33. Clearly, CAr2C^{r}_{A}\leq 2=n21\lceil\frac{n}{2}\rceil\cdot 1
Induction Hypothesis: Let us consider nrn_{r}=nk\frac{n}{k}=yy, pirp^{r}_{i}=xx and k>mk>m with kmbk\neq m\cdot b for b1b\geq 1. We assume that CArnmxC^{r}_{A}\leq\lceil\frac{n}{m}\rceil\cdot x, Ur\forall U_{r}.
Inductive Step: We show that CArn+kmxC^{r}_{A}\leq\lceil\frac{n+k}{m}\rceil\cdot x for nrn_{r}=y+1y+1, Ur\forall U_{r}.
By our Induction Basis, for one extra job of each user UrU_{r}, where 1rk1\leq r\leq k, algorithm A incurs an additional time of kmx\lceil\frac{k}{m}\rceil\cdot x for each UrU_{r}.
Therefore, CArnmx+kmxn+kmxC^{r}_{A}\leq\lceil\frac{n}{m}\rceil\cdot x+\lceil\frac{k}{m}\rceil\cdot x\leq\lceil\frac{n+k}{m}\rceil\cdot x
Thus, Lemma 4 holds true. \Box

Theorem 2. Any Algorithm A is 1k\frac{1}{k}-fair for MUMPOSP(k,Pm|pirk,P_{m}|p^{r}_{i}=x|Cmaxrx|C^{r}_{max}), where kmk\geq m and m2m\geq 2.
Proof. Theorem 2 holds true by Lemma 3 for kk=mbm\cdot b, where b1b\geq 1.
By Lemma 4, we have CArnmxC^{r}_{A}\leq\lceil\frac{n}{m}\rceil\cdot x                                                     (14)
By Eq. (13), we have COPTrnkxmC^{r}_{OPT}\geq\frac{\frac{n}{k}\cdot x}{m}
Implies                         COPTrnxkmC^{r}_{OPT}\geq\frac{n\cdot x}{k\cdot m}                                                (15)
By Eqs. (14) and (15), we have COPTrCArnxkmnxm\frac{C^{r}_{OPT}}{C^{r}_{A}}\geq\frac{\frac{n\cdot x}{k\cdot m}}{\frac{n\cdot x}{m}}
                                                  nxmnkmx1k\geq\frac{n\cdot x\cdot m}{n\cdot k\cdot m\cdot x}\geq\frac{1}{k} \Box

4 Fairness Measure using Flow Time and Completion Time as User’s Objective

We show that our proposed Fairness Index can be served as a framework for measuring fairness of any algorithm based on well-known user’s objectives such as sum of completion times(SrS^{r}) or weighted sum of completion times(WrW^{r}) or sum of flow times(SFrSF^{r}). Selection of an user’s objective is application dependent. For instance, users of interactive systems require optimized value for respective flow time frf^{r}, where firf^{r}_{i} of any JirJ^{r}_{i} is the difference between its completion time circ^{r}_{i} and arrival time(tirt^{r}_{i}). We now define relative fairness measures based on the above mentioned user’s objectives respectively by our proposed FI.

  • Sum of Completion Times(SrS^{r}): Here, the objective for each UrU_{r} is to obtain a minimum SrS^{r}=i=1nrcir\sum_{i=1}^{n_{r}}{c^{r}_{i}}. The relative fairness for any UrU_{r}, obtained by any algorithm A based on SrS^{r} is defined as
               RA(SAr)R_{A}(S^{r}_{A})=SOPTrSAr\frac{S^{r}_{OPT}}{S^{r}_{A}},          where SOPTrS^{r}_{OPT} is the optimum value for SrS^{r}.

  • Weighted Sum of Completion Times(WrW^{r}): Here, the circ^{r}_{i} is associated with certain positive weight wirw^{r}_{i}. The objective for each UrU_{r} is to obtain a minimum WrW^{r}=i=1nrwircir\sum_{i=1}^{n_{r}}{w^{r}_{i}\cdot c^{r}_{i}}. The relative fairness for any UrU_{r} obtained by algorithm A based on WrW^{r} is defined as
               RA(WAr)R_{A}(W^{r}_{A})=WOPTrWAr\frac{W^{r}_{OPT}}{W^{r}_{A}}           where, WOPTrW^{r}_{OPT} is the optimum value for WrW^{r}.

  • Sum of Flow Times(SFr{SF}^{r}): Here, each UrU_{r} wants a minimum value for respective SFr{SF}^{r}=i=1nrfir\sum_{i=1}^{n_{r}}{f^{r}_{i}}, where firf^{*r}_{i} is the desired value of firf^{r}_{i} and SFOPTr{SF}^{r}_{OPT}=i=1nrfir\sum_{i=1}^{n_{r}}{f^{*r}_{i}}. The relative fairness for any UrU_{r} obtained by algorithm A based on SFr{SF}^{r} is defined as
                                 RA(SFAr)R_{A}({SF}^{r}_{A})=SFOPTrSFAr\frac{{SF}^{r}_{OPT}}{{SF}^{r}_{A}}.

5 Concluding Remarks and Scope of Future Work

In our work, we addressed the non-trivial research challenge of defining a new fairness model with quantitative measures of algorithmic fairness for Multi-users Multi-processor Online Scheduling Problem(MUMPOSP) based on user’s objective. We formally presented the MUMPOSP with an illustration followed by perspectives on fairness. We proposed a new fairness model and defined five quantitative measures to ensure algorithmic fairness by considering minimization of makespan as the user objective. By considering the properties of a good fairness model, our fairness measures were formally defined. We defined absolute fairness and obtained lower bound results for MUMPOSP with identical machines for equal length jobs. We show that our proposed fairness measure can serve as a framework for measuring algorithmic fairness based on other well-known user’s objective such as flow time and completion time.
Scope of Future Work. We assumed a theoretical bound for the value of COPTrC^{r}_{OPT} for each UrU_{r}. It is still open to find a realistic bound for the value of COPTrC^{r}_{OPT}. It is a non-trivial research challenge to compare the fairness of any two algorithms AA and BB, when global fairness of algorithm AA and algorithm BB are same and the relative fairness of AA is more than the relative fairness of BB for some users or vice versa. In this scenario, it is interesting to make a trade-off by considering the number of users and individual relative fairness of each user for comparison of fairness of two different algorithms.

References

  • [1] Emmott, S. and Rison, S.: Towards 2020 science. Working Group Reserach. Microsoft Research Cambridge, Tech. Rep., (2006).
  • [2] Jackson, D., Snell, Q. and Clement, M.: Core Algorithms of the maui scheduler. In: Feitelson, D. G., Rudolph, I. (eds.) 7th7^{th} International Workshop JSSPP, (2001), LNCS, vol. 2221, Springer, Heidelberg (2001).
  • [3] Anderson, D. P.: “Boinc: A system for public-resource computing and storage. In 5th5^{th} IEEE/ACM International Workshop on Grid Computing, (2004), pp. 4–-10.
  • [4] Jaffe, J. M.: A Decentralized optimal multiple user flow control algorithm. In Proc. International Conference Computer Communications (1980), Atlanta, GA.
  • [5] Jaffe, J. M.: Bottleneck Flow control. IEEE Transactions on Communications, COM-29, (1981), 7, 954–962.
  • [6] Jain, R. K., Chiu, D. M. W., and Hawe, W. R.: A Quantitative Measure of Fairness and Discrimination for Resource Allocation in Shared Computer Systems. Eastern Research Laboratory, Digital Equipment Corporation, Hudson, MA, TR-301, (1984).
  • [7] Bharath-Kumar, K., and Jaffe, J. M.: A New Approach to Performance -oriented Flow control. IEEE Transactions on Communications, COM-29, (1981), 4, 427–435.
  • [8] Sauve, J. P., Wong, J. W., and Field, J. A.: On Fairness in packet switching networks. In Proc. 21st{21}^{st} IEEE Computer Society International Conference, COMPCon 80 (1980), Washington, D. C, pp. 466–470.
  • [9] Kay, J., and Lauder, P.: A Fair Share Scheduler. Communications of the ACM, (1988), 31(1): 44–55.
  • [10] Feitelson, D. G. Job scheduling in Multi-programmed Parallel systems(Extended Version). IBM Research Report, RC19790(87657), Second Revision, (1997).
  • [11] Vandierendonck, H., Seznec, A.: Fairness Metrics for Multi-Threaded Processors. IEEE Computer Architecture Letters, (2011), 10(1):4–7.
  • [12] Bender, M. A., Muthukrishnan, S., and Rajaraman, R.: Improved algorithms for stretch scheduling. In Proc. 13th{13}^{th} Annual ACM-SIAM Symposium on Discrete Algorithms(SoDA), (2002), pp. 762–771.
  • [13] Legrand, A., Su, A., and Vivien, F.: Minimizing the stretch when scheduling flows of biological requests. In Symposium on Parallelism in Algorithms and Architectures(SPAA), (2006).
  • [14] Saule, E., and Trystram D.: Multi users scheduling in parallel systems. In Proc. of IEEE International Parallel and Distributed Processing Symposium, (2009), Washington, DC, USA, pp. 1–9.
  • [15] Pinheiro, V. G.: The management of multiple submissions in parallel systems: the fair scheduling approach. PhD Thesis, Institute of Mathematics and Statistics, University of Sao Paulo, Brazil, (2014).
  • [16] Graham, R. L., Lawer, E. L., Lenstra, J. K., and Rinnooy kan A. H. : Optimization and approximation in deterministic sequencing and scheduling: A Survey. Annals of Discrete Mathematics, (1979), 5:287–326.
  • [17] Sun, H., Hsu, W. J., and Cao, Y.: Competitive online adaptive scheduling for sets of parallel jobs with fairness and efficiency. Journal of Parallel and Distributed Computing, (2014), 74(3):2180–2192.
  • [18] Bian, S., Huang, X., and Shao, Z.: Online task scheduling for fog computing with multi-resource fairness. In Proc. of the 90th{90}^{th} IEEE Vehicular Technology Conference, (2019), Honolulu, HI, USA, pp. 1–5.