Facebook explica o poder computacional por trás da Busca Social
A nova Busca Social do Facebook é um projeto ambicioso, e exige uma potência computacional para fazê-la funcionar. Veja como o Facebook está lidando com este desafio.
A Busca Social está centrada em procurar quatro tipos de coisas: pessoas, fotos, lugares e interesses. Então você digita no novo campo de buscas lá no topo da página: “apps que são usados por amigos de amigos”; “fotos de cachorros de suas amigas que moram em Nova York”; ou “restaurantes que meus amigos do trabalho curtiram”.
Parece bem simples, mas exige muito processamento nos bastidores. O Slashdot tem um artigo detalhado sobre a grande solução do Facebook para isso, chamado de Rack Desagregado. Embora possa soar como um dispositivo elaborado de tortura, na verdade é uma solução inteligente que irá tornar o sistema de busca do Facebook mais flexível e eficiente.
Basicamente, o Facebook está dividindo o seu poder computacional em módulos separados, que podem ser facilmente ligados ou desligados.
O Facebook diz que, inicialmente, a Busca Social terá à sua disposição 320 núcleos de CPU, 3 terabytes de memória RAM e 30 TB de memória flash. Mas isso pode aumentar, é claro.
No começo, ela usará 20 servidores Compute, 8 módulos flash, 2 módulos RAM e um módulo de armazenamento. Estas são as quatro partes do Rack Desagregado:
– Compute: um servidor com dois processadores, 8 ou 16 slots DIMM, sem disco rígido, uma pequena partição flash de boot, e um “NIC grande” com alta taxa de transferência para permitir boot via rede.
– Módulo RAM: o Facebook quer substituir as “folhas” [parte do sistema que contém todos os dados e que consome praticamente toda a RAM] e rodá-las em um RAM sled com entre 128 GB e 512 GB de memória, pagando US$ 500 a US$ 700 por sled. Apenas um CPU básico seria necessário. O número total de consultas (queries) seria de 450.000 a 1 milhão por segundo.
– Armazenamento: a solução do Facebook aqui é baseada em seu design de armazenamento Knox (PDF). As demandas de entrada/saída são baixas: mais ou menos 3.000 IOPS [operações de entrada/saída por segundo], disse Taylor. Mas o Facebook só quer gastar entre US$ 500 a $700 em cada um deles, excluindo o custo dos drives.
– Módulo Flash: o Facebook gostaria de ter entre 500 GB a 8 TB de memória flash, com 600.000 IOPS. Excluindo os custos de flash, o Facebook gostaria que a solução custasse cerca de US$ 500 a US$ 700 cada.
A beleza dessa configuração é que ela vai permitir que o Facebook o atualize facilmente no futuro: agora, por exemplo, a proporção RAM-flash é 1:10, mas vai ter que subir a 1:5 para cumprir as metas futuras.
Em outras palavras, o Facebook será capaz de obter maior desempenho sem se complicar nas atualizações de hardware, e continuar com o trabalho que mais interessa a eles – ser uma rede social. A Busca Social, por enquanto, está disponível apenas para alguns usuários nos EUA, mas pode apostar que ela se expandirá para todo o mundo ao longo do ano. [Slashdot]