Apache Mesos, a two-level resource scheduler, provides resource sharing across multiple users in a multi-tenant cluster environment. Computational resources (i.e., CPU, memory, disk, etc. ) are distributed according to the Dominant Resource Fairness (DRF) policy. Mesos frameworks (users) receive resources based on their current usage and are responsible for scheduling their tasks within the allocation. We have observed that multiple frameworks can cause fairness imbalance in a multiuser environment. For example, a greedy framework consuming more than its fair share of resources can deny resource fairness to others. The user with the least Dominant Share is considered first by the DRF module to get its resource allocation. However, the default DRF implementation, in Apache Mesos' Master allocation module, does not consider the overall resource demands of the tasks in the queue for each user/framework. This lack of awareness can result in users without any pending task receiving more resource offers while users with a queue of pending tasks starve due to their high dominant shares. We have developed a policy-driven queue manager, Tromino, for an Apache Mesos cluster where tasks for individual frameworks can be scheduled based on each framework's overall resource demands and current resource consumption. Dominant Share and demand awareness of Tromino and scheduling based on these attributes can reduce (1) the impact of unfairness due to a framework specific configuration, and (2) unfair waiting time due to higher resource demand in a pending task queue. In the best case, Tromino can significantly reduce the average waiting time of a framework by using the proposed Demand-DRF aware policy.
翻译:Apache Mesos 是一个双层资源调度程序, 它在多租赁组群环境中为多个用户提供共享资源。 计算资源( 即 CPU、 内存、 磁盘等) 是根据支配性资源公平( DRF) 政策分配的。 Mesos 框架( 用户) 根据其当前使用情况接收资源, 并负责在分配中安排任务。 我们发现, 多用户环境中的多个框架可能造成公平性不平衡。 例如, 贪婪框架消耗多于其公平资源份额, 可能会剥夺他人的资源公平性。 DRF 模块首先考虑拥有最小份额的用户( 即 CPU 、 内存存储量最少的用户, 以获得资源分配分配。 然而, 在Apache Mes 总体分配模块中, 默认的 DRFS 实施默认资源配置( ) 并不考虑每个用户/ 框架中的任务的总体资源需求的总体资源需求需求需求。 这种缺乏认识可能导致用户在未完成任何任务后收到更多的资源, 而等待任务积压的任务则因其高支配性比例框架而饥饿。 我们开发了一个政策驱动的排队列经理管理者,,, 将开发一个不力管理者,,, 用于对当前任务中, 最不透明需求 将大量任务 的 的 的 的 的 将 将 的 的 成本 成本 成本 的 的 的 的 的 的 的 的 的 的 的 的 的 比例 以 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 以 以 以 以 的 的 的 的 的 以 的 的 的 的 的 的 的 和 的 的 的 以 的 以 的 的 的 以 的 的 以 以 以 以 的 的 的 的 以 以 以 的 的 的 的 的 的 的 的 以 的 的 以 以 以 的 以 以 的 的 的 的 的 的