1. Introduction
Multi-resource fair (or efficient) allocation is a fundamental problem in any shared computing system, including cloud computing systems. In a cloud computing system, there are a large number of users with heterogeneous jobs, each containing a bounded number of tasks with the same resource demands [
1]. After submitting their jobs, the system should allocate resources to each user as fairly and efficiently as possible.
As mentioned by Ghodsi et al. [
2], traditional slot-based scheduler frameworks such as Hadoop achieve poor performance, unfairly punishing certain workloads. In response to this challenge, Ghodsi et al. [
2] proposed a compelling alternative, known as dominant resource fairness, which maximizes the minimum dominant share of users, where the dominant share is the maximum share of any resource allocated to that user. Dominant resource fairness (DRF) has been shown to satisfy some desirable fair and efficient properties such as Pareto efficiency, sharing incentive, envy-freeness, and strategy-proofness, and has been implemented in Hadoop for multi-resource fair allocation. Meskar et al. [
3] innovatively proposed the Kalai–Smorodinsky negotiation solution to the problem of multi-resource allocation. Due to the excellent performance of the DRF, some variants have been proposed. Sadok et al. [
4] proposed Stateful DRF to solve the problem of traditional DRF ignoring historical use by introducing a time decay function and historical use weights. Tang et al. [
5] proposed a long-term multi-resource fairness method that, although considering long-term fairness, performs poorly with the complexity of large-scale systems. Parkes et al. [
6] extended DRF to a more general case where the user may have zero demands. Recently, Zhang et al. [
7] generalized the asset fairness mechanism for improving resource utilization. Li et al. [
8] extended DRF to a dynamic scenario, where users can enter and leave the system multiple times. Fallah et al. [
9] studied the fair allocation problem in dynamic mechanism design. They proposed a mechanism that can maintain long-term fairness in a dynamic environment by exploring the incentives for dominant resource fair distribution under dynamic demands. Fikioris et al. [
10] proposed an improved DRF mechanism that prevents users from benefiting from false reporting of their demands. While DRF and its subsequent versions addressed multi-resource fairness with demand heterogeneity, they all have difficulty achieving high resource utilization. For example, Dolev et al. [
11] showed that, although their proposed bottleneck-based fairness (BBF) is better than DRF in many aspects such as algorithm efficiency, both could achieve high resource utilization. Meskar et al. [
12] proposed Task Share Fairness with External Resource (TSF-ER) to balance fairness and high resource utilization in heterogeneous server environments.
Recently, another well-known method, Maxmin share (MMS) fair allocation [
13], has attracted much attention. MMS can guarantee each user a result no worse than the case of receiving its least desirable allocation. Li et al. [
5] extended MMS to a more general case where each job is associated with a release time, deadline, and processing time. Guo et al. [
14] proposed a mechanism through bandwidth demand compression technology to improve the overall efficiency of the system while ensuring fairness, and solved the MMS fair allocation problem of multi-resources considering bandwidth demand compression in cloud-edge collaborative systems. Kurokawa et al. [
15] presented an algorithm that can determine a 2/3-approximation MMS allocation. Guo et al. [
16] proposed an MMS-based dynamic allocation mechanism with elastic demands.
In a real-world cloud computing system, the users have a bounded number of tasks [
1]. Li et al. [
15] proposed a task share fairness in cloud-edge collaborative computing systems (TSF-CE) mechanism to solve the problem of fair allocation of multi-resources in cloud-edge collaborative systems with access constraints. Ghodsi et al. [
17] proposed the Choosy algorithm to solve the problem of fair allocation of resources with constraints in data centers. Wang et al. [
1] studied the multi-resource problem in a heterogeneous computing system with a bounded number of tasks and presented a generalized water-filling algorithm. However, the running time of water-filling is pseudo-polynomial. It would be desirable to design an efficient polynomial-time algorithm. By extending the DRF algorithm, Li et al. [
18] proposed a dynamic multi-resource fair allocation mechanism that takes into account the constraints on the number of bounded tasks. Li et al. [
18] generalized DRF to the case where each user has a limited number of tasks. However, few of the MMS-based mechanisms consider a bounded number of tasks. Therefore, it is necessary to generalize MMS to the bounded case, where users have a finite number of task demands.
When the number of completed tasks is limited, it is difficult to design an efficient mechanism that takes into account both fairness and high resource utilization. To solve this problem, we propose a polynomial-based lexicographical max–min MMS-based (LMM-MMS) fair allocation mechanism.
Table 1 compares our approach and main closely related works in 4 aspects.
In this paper, we consider the multi-resource fair allocation problem in cloud computing systems with a bounded number of tasks. We present a lexicographically max–min MMS-based (LMM-MMS) fair allocation mechanism. Moreover, we design a polynomial-time algorithm to find an LMM-MMS fair allocation and show that LMM-MMS satisfies some desirable fair allocation properties.
The LMM-MMS mechanism can make significant contributions to multi-resource fair allocation in cloud computing systems with bounded task numbers. It innovatively addresses the practical constraint of limited task quantities by introducing the MMS concept, while maintaining critical fairness properties, including strategy-proofness, sharing incentive, envy-freeness, and proportional fairness. The algorithm achieves efficient time complexity, making it applicable to large-scale environments. This mechanism successfully balances efficiency and fairness, providing both theoretical guarantees and practical solutions for resource management in cloud computing environments.
The rest of this paper is organized as follows:
Section 2 presents the system model and some definitions of desirable properties.
Section 3 introduces the MMS-based mechanism for a bounded number of tasks.
Section 4 presents a non-trivial polynomial-time optimal algorithm and analyzes the allocation properties LMM-MMS satisfies.
Section 5 provides experimental results based on real data.
Section 6 concludes the paper and outlines future work.
4. Scheduling Algorithm
The LMM-MMS optimal solution can be computed in an approximate way using the water-filling algorithm [
1], by simulating the ‘water injection’ process, treating resource allocation as the process of injecting water into the container. The user with the lowest share of resources is determined and resources are allocated to that user. When computed using other variants [
13,
16], the running time is quite high. In this section, an efficient scheduling algorithm is designed to find the LMM-MMS optimal solution.
4.1. The LMM-MMS Scheduling Algorithm
Since each user
i will not run more tasks than its task requirements
, the MMS ratios of user
i in any feasible allocation are
Similarly to [
20], for a positive number
, let
be the MMS ratios, where
. We have the following lemma:
Lemma 1. There exists a positive number , where is the LMM-optimal MMS ratio vector.
Proof of Lemma 1. Let
be an LMM-optimal MMS ratio vector, where
. Now suppose a contradictory scenario: if there exists a user
, whose
, we have
and
. Consider another user
, where
. Since
, we have
, and we can construct a new MMS ratio vector
by releasing a small enough number of resources from user
h to user
k, where
Here, and are small enough positive numbers, where and . Clearly, for each resource , which implies that is a feasible MMS ratio vector. Thus, and , . This contradicts the assumption that is an LMM-optimal MMS ratio vector. □
Theorem 2. The LMM-MMS optimal solution can be found within time .
Proof of Theorem 2. According to (9), the max MMS ratio set of all users,
can be computed using the PICK method [
25] to find the median value
in
. Let
and
. Obviously, if the above allocation is feasible, i.e.,
, we have
. Otherwise,
. We distinguish the following two cases: (1)
. In this case, there must be at least half of the users
i satisfying
. Since
, we have
. Based on Lemma 1, we have
, which implies the number of tasks these users can run is the same as their requirement, i.e.,
. Now delete these users
i and decrease the corresponding resources consumed by these users. (2)
. In this case, there must be at least half of the users
i satisfying
and
. Based on Lemma 1, we have
. Thus, it is not feasible for the MMS ratio of these users
i to be
. We merge these users
i with
into a ‘dummy’ user set
. Given a feasible MMS ratio
for each user in
, we have
. Correspondingly, each user
i in
consumes each resource
as
. For convenience, let
and
.
Note that the number of users is reduced by at least half in both of the two cases. Again, use the PICK method [
15] to find the median value
in
i is the remaining user and is not the dummy user}. Then, compare the same two cases of
and
discussed above and delete the users by half correspondingly until there is only one dummy user. Finally, we find the user
k with the biggest
such that
. For each user
i satisfying
, let their LMM-optimal MMS ratio be
. For each dummy user
i satisfying
, after decreasing the resources consumed by these users
i with
, we can obtain the LMM-optimal MMS ratio by solving the following linear program (LP):
The optimal value of the above LP is
For each dummy user , set , and then we obtain the LMM-optimal MMS ratio vector . The scheduling algorithm is described in Algorithm 1.
At each iteration
, at most
users remain, determining whether
can be carried out within
. Thus, the overall running time is
. Since the resource type
m is a bound number in a cloud computing system [
21], the running time is linear in
n, and the time complexity of the entire process is
. □
To express the steps of the algorithm more clearly, we give an example.
Example 2. Consider a scenario in a cloud computing system with three users and two types of resources (CPU and memory). The resource demands and number of requested tasks of three users are (1, 1; 2), (2, 2; 3), and (3, 3; 2), respectively, and the capacity vector of the two resources is (6, 6). By definition of the max–min share, we obtain , , and .
Algorithm 1 LMM-MMS scheduling algorithm |
- 1:
INPUT: , , - 2:
OUTPUT: - 3:
Step 1. Initialization - 4:
- 5:
, - 6:
, - 7:
. - 8:
Step 2. Using PICK method [ 25] to find median in , - 9:
set . - 10:
if then - 11:
; - 12:
; - 13:
else - 14:
; - 15:
; - 16:
; - 17:
end if - 18:
Step 3. - 19:
if then - 20:
go to Step 2; - 21:
else - 22:
for i in do - 23:
; - 24:
end if - 25:
Step 4. Output
|
First, the initialization operation is performed. The of all users is 0, , and is an empty set. According to the definition, we can calculate the set . At the same time, , and any type is also 0, . Next, consider picking out the median value from the set tm by the PICK method, and then all users are compared according to and the largest request task numbers . In this case , the of the three users is . In this setting, due to the median value being selected from , the amount allocated can ensure that some users can reach the bounded number of requested tasks. Here, user 1 is satisfied, , while user 2 and user 3 are not satisfied, so they are removed from the set U and enter the set . The current total allocation of resource j is updated, and the resource is first allocated to the user with a feasible allocation. On the premise of ensuring that the allocation of user 1 does not exceed the resource capacity, user 1 is allowed to allocate resources according to the maximum number of requested tasks that it can complete. The remaining resources are then updated, and user 1 is removed from set U. At this time, U is an empty set, and users in the are considered, and the remaining resources are maximized and allocated to user 2 and user 3. Finally, the number of tasks completed by the three users is (2, 1, ). The total resource consumption is (6, 6), which means that all resources are consumed, due to the assumption that each user has the same demand for the two resources. So the amount of different resources allocated for three users is the same, which is (2, 2), (2, 2), and (2, 2), respectively.
4.2. Allocation Property Analysis
In this section, we analyze the allocation properties of LMM-MMS.
Lemma 2. For any user , if , we have .
Proof of Lemma 2. Considering the contradiction scenario, a user satisfies . Based on (10), we can construct a feasible allocation and , where , and , . It is easy to verify that is lexicographically greater than , which contradicts being the LMM-MMS optimal vector. □
Theorem 3. In a cloud environment with n users and m resource types, there is a clear upper limit on the number of tasks submitted by each user, LMM-MMS satisfies the PE property.
Proof of Theorem 3. Suppose the contradictory scenario that LMM-MMS cannot satisfy PE, i.e., there is another feasible allocation and at least a user i satisfies and , , where is a small enough positive number. Correspondingly, the MMS ratio vector under is , where and , . Clearly, is lexicographically greater than , which contradicts being the LMM-MMS optimal vector. □
Lemma 3. If for any user , then at least one resource is saturated.
Proof of Lemma 3. Suppose the contradictory scenario that no resource is saturated. By Theorem 3, user i with can be allocated more resources to process more tasks, without reducing the other allocation, i.e., , where . Correspondingly, the new MMS ratio vector is , where , and , . Clearly, is lexicographically greater than , which contradicts being the LMM-MMS optimal vector. □
Theorem 4. In a cloud environment with n users and m resource types, there is a clear upper limit on the number of tasks submitted by each user, and LMM-MMS satisfies the SI property.
Proof of Theorem 4. If for every user , then LMM-MMS satisfies the SI property. Otherwise, if there is a user k with , we consider this situation in two cases: (1) For all users , there exists at least one resource j satisfying . In this case, LMM-MMS satisfies the SI property. (2) For a user with and for all resources , satisfying . Since , based on Lemma 3, without loss of generality, assume that resource j is saturated, i.e., . Based on Theorem 3, there must be at least one other user whose allocation is greater than an even allocation, i.e., , and we have , which contradicts Lemma 1. □
Theorem 5. In a cloud environment with n users and m resource types, there is a clear upper limit on the number of tasks submitted by each user, LMM-MMS satisfies the EF property.
Proof of Theorem 5. For any user , if , user i will not envy other users. Now suppose a contradiction scenario in that and user i envies another user . Clearly, we have . Thus, . Based on the definition of MMS ratio, we have . According to Lemma 2, we have . Thus, . A contradiction. Therefore, LMM-MMS satisfies the EF property. □
Theorem 6. In a cloud environment with n users and m resource types, there is a clear upper limit on the number of tasks submitted by each user, LMM-MMS satisfies the GSP property.
Proof of Theorem 6. Let be the LMM-MMS optimal MMS ratio vector when a coalition misreports their demand as . We consider this scenario in two cases:
(1) If for any user . In this case, the user i can not increase its utility by misreporting.
(2) If
for any user
. Based on Lemma 2, we have
Let
be the number of tasks processed vector under the LMM-MMS allocation of misreporting. For user
, we have
. Where
. Meanwhile, for user
, we have
. Now, Suppose the contradictory scenario, where
,
, we have
Based on Lemma 3, since
in the original case, there is at least one resource
j saturated, i.e.,
. When user
misreports its demand, we have
and
. Clearly, at least one user
receives fewer resources than if all users were truthful, i.e.,
, which implies
, and
Since
, based on Lemma 2, we have
combining (11)–(14), we can conclude
. A contradiction. Therefore, no user in a coalition
can increase its utility by demand misreporting. Thus, LMM-MMS satisfies the GSP property. □
5. Experimental Results
The performance of our proposed method is evaluated in this section using trace-driven simulation data provided by Alibaba. In particular, we compare LMM-MMS with DRF and AF. We compare all three mechanisms in terms of performance indicators related to the average resource utilization effectiveness, the completion rate of user jobs, and the sharing degree. Specifically, resource utilization represents the ratio of each resource (CPU, memory) allocated to the user from the system resource capacity. The user job completion rate represents what percentage of task requests (maximum number) submitted by users reach completion status. The sharing incentive property of LMM-MMS, as outlined in
Section 4.2, is assessed through the sharing degree metric. Our simulation setup is described as follows.
5.1. Experimental Setup
To evaluate LMM-MMS at a larger scale, we simulated cluster replay logs from Alibaba clusters. The simulation replicated key characteristics from the original trace, including resource requirements (CPU, memory) for tasks and the quantity of tasks within each job that the users submitted. The simulation settings were as follows:
(1) Alibaba’s trace data provide comprehensive details about user-submitted tasks on a 4000-server cluster spanning an 8-day period. This information is categorized into machine_meta, machine_usage, container_meta, container_usage, batch_instance, and batch_task, as outlined in the scheme [
26]. Our simulation extracted relevant data from batch_task, specifically task_name, plan_cpu, plan_mem, and instance_num.
(2) Each user’s resource requirements included both CPU and memory, generated according to the actual probability distribution of demands found in the batch_task data. For our purposes, we considered plan_cpu and plan_mem as representative of a user’s task resource requirements.
Figure 1 depicts the memory and CPU consumption patterns across the various tasks. The area of each circle is logarithmic to the number of tasks represented within that region.
(3) For system resource capacity, we represent this as a column vector , indicating that the system comprises a total of 100 CPU cores and 100 GB of memory. Furthermore, all requirements were stochastically generated following the actual probability distribution of resource demands observed in the cluster trace. We evaluated the effect of user requirements at different scales on resource utilization.
(4) The task requirements of the users and the number of tasks were extracted according to the probability distribution of the Alibaba cluster dataset. In addition, the dataset was divided into normal task requirements and large task requirements, and quantitative extraction was carried out according to the proportion of large tasks.
(5) In order to simulate the provider specifications in real scenarios, four cloud servers with different specifications (100, 100), (500, 500), (50, 500), and (500, 50) were set up. Each specification corresponded to different CPU and memory capacities, and different experiments were set up for different specifications for comparison.
(6) Each experimental setting involved generating 100 random samples. We used the average of the experimental results to overcome randomness.
(7) We used the following metrics to evaluate the algorithm performance: Resource utilization reflects the efficiency of the mechanism and is a direct indicator for evaluating performance from a system perspective. Task completion rate reflects the effectiveness of the mechanism and is a key indicator for evaluating performance from a user’s perspective. The cumulative distribution function provides an intuitive representation of resource allocation fairness and helps understand the allocation characteristics of the mechanism.
5.2. The Impact of User Requirement Scale on Allocation
We first evaluated the performance of LMM-MMS with respect to the other two mechanisms under the setting of various user requirement scales.
Figure 2 illustrates the resource utilization of LMM-MMS, DRF, and AF.
Figure 2a shows that the LMM-MMS mechanism maintained a CPU resource utilization rate of nearly 100% under all user scales (50–300 users).
Figure 2b shows it also performed well in memory utilization, maintaining around 80–85% for all user scales. When resources were not saturated, LMM-MMS demonstrated superior performance compared to both DRF and AF regarding resource utilization. This advantage stemmed primarily from LMM-MMS’s dual objective: ensuring fair allocation, while simultaneously maximizing efficiency of resource usage.
The experiments revealed that as the number of users grew, the LMM-MMS mechanism maintained stability and high efficiency at all scales, showing good adaptation to different scales. While ensuring fairness, it could achieve high resource utilization, which successfully solves the problem of the inefficiency of traditional fair distribution mechanisms (such as AF).
5.3. The Impact of Resource Capacity on Allocation
Real-world data centers exhibit varying configurations, resulting in disparate capacities across different resource types. Substantial gaps may exist between various resource capacities. For instance, data centers primarily processing computational workloads might feature extensive CPU capacity but limited memory resources. Conversely, data centers focused on data processing tasks may predominantly possess memory-centric configurations.
Our experimental setup involved 100 users across three distinct scenarios with varying resource capacity vectors:
,
, and
to show how capacity variations influenced allocation outcomes.
Figure 3 presents a comparative analysis of the resource utilization across four allocation mechanisms under these different capacity configurations. The results demonstrate that LMM-MMS performed at least as effectively as alternative mechanisms when the resource capacities were balanced. In scenarios with significant capacity differences, LMM-MMS exhibited a performance advantage ranging from 12.3% to 15.59% over the other mechanisms.
These experimental results show the effectiveness of the proposed resource allocation mechanism based on the maximum and minimum share in improving the resource utilization rate of cloud computing environments, and also verify the applicability and advantage of this mechanism under the constraints of bounded tasks.
5.4. The Impact of the User Requirement Workload Type on Allocation
Our experiment showed how varying types of workload requirements affect resource utilization. With a total of 100 user requirements, we established five test scenarios with different proportions of elephant requirements: 0%, 5%, 10%, 20%, and 50%. The resource utilization across these different experimental configurations is illustrated in
Figure 4. The results revealed that LMM-MMS achieved a progressively higher resource utilization as the proportion of elephant requirements increased, compared to alternative mechanisms. Specifically, when the elephant requirements accounted for 50% of the total requirements, the utilization rates exceeded those observed in scenarios with 20%, 10%, and 5% elephant requirements. This result demonstrates the significant influence that elephant requirement ratios exert on overall resource utilization. Notably, LMM-MMS delivered strong performance across all configurations, with particularly impressive results in scenarios characterized by high percentages of large requirements.
The results from these experiments demonstrate the efficacy of our proposed allocation mechanism based on the maximum and minimum share in improving the resource utilization rate of the cloud computing environment, especially in complex scenarios of a bounded number of task constraints and the existence of elephants.
5.5. The Completion Rate of User Jobs Under Different User Scales
To evaluate the efficiency of user task execution under LMM-MMS allocation, this experiment evaluated the user job completion rate under different user sizes, where the user completion rate refers to the ratio of the number of users completing the task to the number of all users.
Figure 5 illustrates that LMM-MMS outperformed DRF and AF for user task completion rate unless the resource was saturated.
The experimental results strongly demonstrate the effectiveness of the proposed max–min share-based resource allocation mechanism in improving the task completion ratio, especially in complex scenarios with bounded task number constraints and a large number of users.
5.6. Sharing Incentive
In our final experiment, we evaluated the sharing incentive property of LMM-MMS. As previously demonstrated in
Section 4.2, LMM-MMS satisfies this property, which ensures that the allocations for each user are at least as favorable as what they would receive through an equal division of the available resources. To achieve this, we calculated task completion under a basic allocation where each user
i received exactly
of every resource from the data center, enabling them to execute
tasks. The completion ratio achieved through this elementary allocation (EA) was then compared against the results obtained using LMM-MMS allocation. The cumulative distribution function (CDF) outcomes from 100 experimental runs with 100 and 300 users are presented in
Figure 6.
Figure 6 demonstrates that allocations via LMM-MMS were consistently preferred by all users when compared to executing tasks within dedicated resource pools. This further validated that LMM-MMS satisfies the sharing incentive property.
The above experimental results show that compared with the other two mechanisms, the LMM-MMS mechanism had significant advantages in sharing degree distribution, see
Figure 6. The experimental results strongly demonstrate the effectiveness of the proposed max–min share-based resource allocation mechanism in improving resource utilization, while maintaining reasonable fairness.
6. Conclusions and Future Work
In this paper, we proposed a polynomial-time lexicographic Maximin Share-based (LMM-MMS) fair allocation mechanism. We showed that LMM-MMS satisfies PE, SI, EF, and GSP properties. Our large-scale simulation, driven by Alibaba, showed that, compared to traditional fair allocation mechanisms such as DRF and AF, LMM-MMS achieved better results for resource utilization and the completion rate of user jobs over other mechanisms. In addition, LMM-MMS satisfied the property of sharing incentive in all cases.
As mentioned in [
23], the MMS-based mechanism can satisfy PE, SI, and EF1 in the indivisible case. It would be interesting to design an efficient mechanism to find a solution satisfying the above three properties with a bounded number and indivisible tasks. In addition, the LMM-MMS mechanism can solve the static fair resource allocation problem, while cloud computing environments typically experience dynamic resource fluctuations due to node failures or elastic scaling. In the future, we will study the dynamic mechanism to solve the fair allocation problem and ensure high task completion rates, while maintaining fairness. Such extensions would further enhance the practical applicability of our approach in real-world cloud computing systems.