FACEBOOK’S DIS AGGREGATION ACTION
Disaggregation can be defined as the separation of a whole
system into components. One of the ways to offer operators in a data
center flexibility is to separate the data-center equipment, in particular
servers, into resource components. This increases their chances of covering
times of high demand while ensuring optimal utilization.
An application of disaggregation can be seen in the
way the backend infrastructure that populates a Facebook user’s news feed is
set up. Up until last year, Multifeed, the name of the news feed backend, was
made up of uniform servers, with each having the same amount of memory and CPU
capacity. The query engine that takes data for the news feed, called
Aggregator, uses a lot of CPU power. The storage layer it pulls data from keeps
it in memory, so it can be delivered faster. This layer is called Leaf, and it
uses a lot of memory. The former version of a Multifeed rack contained 20
servers, each running both Aggregator and Leaf. In order to catch up with the
increasing user growth, Facebook engineers continued adding servers and
eventually realized that while CPUs on those servers were being heavily
utilized, a lot of the memory capacity was sitting idle.
No comments:
Post a Comment