CRAM: a Container Resource Allocation Mechanism for Big Data Streaming Applications
Olubisi Runsewe, Nancy Samaan · 2019
Containerization provides a lightweight alternative to the use of virtual machines for potentially reducing service cost and improving cloud resource utilization. A key challenge is how to allocate container resources to multiple competing streaming applications with varying QoS demands running on a heterogeneous cluster of hosts. In this paper, we focus on workload distribution for optimal resource allocation to meet the real-time demands of competing containerized big data streaming applications. We propose a container resource allocation mechanism (CRAM) based on game theory and formulate the problem as an n-player non-cooperative game among a set of heterogeneous containerized streaming applications. From our analysis, we obtain the optimal Nash Equilibrium state where no player can further improve its performance without impairing others. Experimental results demonstrate the effectiveness of our approach, which attempts to equally satisfy each containerized streaming application's request as compared to existing techniques that may treat some applications unfairly.