Litcius/Paper detail

Storage-Saving Scheduling Policies for Clusters Running Containers

Ludovico Funari, Luca Petrucci, Andrea Detti

2021IEEE Transactions on Cloud Computing12 citationsDOI

Abstract

Container technology plays an important role in the virtualization landscape today. A container uses its own file system consisting of a stack of layers, which are stored on the execution server's disk. Containers running on the same server share the layers they have in common, and this sharing results in valuable savings in server storage space. Many containers can run on a single server, but when their resource demands grow enough, they are distributed across a cluster of nodes/servers by orchestration systems, such as Kubernetes. In this work, we found that for the same amount of containers to run, the storage required is higher for clusters consisting of a larger number of nodes. The severity of this storage overhead depends on the scheduling policy used to select the nodes that run the containers. By comparing different storage-saving scheduling policies that differ from each other in the depth of storage knowledge they leverage to make decisions, our analysis reveals that only deep, layer-level knowledge can effectively counter the growth in storage demand as the cluster size increases. Policies with coarser-grained knowledge achieve limited benefit because they achieve performance that is nearly equal to that of a random, zero-knowledge policy.

Topics & Concepts

Computer scienceServerScheduling (production processes)Operating systemVirtualizationDistributed computingLeverage (statistics)File serverObject storageConverged storageComputer networkInformation repositoryComputer data storageCloud computingEconomicsOperations managementMachine learningCloud Computing and Resource ManagementAdvanced Data Storage TechnologiesDistributed and Parallel Computing Systems