Facebook | E5 System Design Interview Question | Menlo Park
Anonymous User
8962

Given a set of processes running on a cluster of hosts, design a system that load balances the hosts through live migrations of the processes. The goal of load balancing is to minimize or prevent resource starvation, a situation in which processes are not allocated the amount of resources they want to consume. In cases where all hosts in the cluster are overloaded, we want to distribute resources evenly across demanding processes. Given an imbalanced cluster, we want to bring it to a balanced state as soon as possible while minimizing the cost.

Assumptions:

  1. To simplify the problem, each migration is the same cost.
  2. Each process is long running with fluctiuating workloads.
  3. Live process migration is carried out by an external service.
Comments (14)