Archive for January, 2013

Le cold-storage selon Facebook (vous avez dit Exabyte ?)

Thursday, January 24th, 2013

Facebook vient d’annoncer se lancer dans un projet qui peut paraitre « pharaonique » au vus des annonces : construire un Datacenter pour héberger UN EXABYTES de photos (oui vous avez bien lu !!!). Revenons un peu sur cette annonce (faite par Jay Parikh, directeur de l’ingénierie infrastructure chez Facebook) pour comprendre ce que cela implique…

Les chalenges de Facebook

Pour mieux comprendre les chalenges de Facebook, savait vous que Facebook héberge plus de 240 Milliards de photos. Ce qui représente 350 Millions de nouvelles photos par jours mais également 7 Petaoctet de stockage supplémentaire chaque mois !!! Autre point, la plus grosse journée de l’année 2012 pour Facebook c’est Halloween et cela représente entre 1 et 2 milliards de photo sur cette journée. Elément important aussi à noter c’est que 82% du trafic photo n’est généré que par 8% des photos, en reprenant le cas « halloween », en gros après une semaine le milliard de photos ne sera quasiment jamais plus consulté, sic !

le tiered storage

La réponse traditionnelle à ce genre de problématiques est d’utilisé du stockage hiérarchique de style « hot/warm/cold » avec très souvent pour la partie « cold » de la robotique bande. L’objectif étant bien entendu de réduire le cout d’usage tout en trouvant le bon équilibre des différents niveaux.

l’exemple amazon glacier

Depuis quelques mois, Amazon propose une offre positionné sur le segment dit « cold Storage » (en gros le dernier tiers évoqué) avec un tarif très agressif ($0.01$ le Go/mois) et annonce un taux de disponibilité de 99.999999999%. La technologie qui se trouve derrière est peu connues mais parmi les quelques éléments que l’on peut déduire on a comme première info l’usage de matériel ultra standard. Autre point important, pour arriver à de tels coûts il semble obligatoire que les disques et autre serveurs soit éteint la plupart du temps. Cela se confirme en prenant en compte l’usage : on sait que les données versés dedans sont d’abord disponible dans S3, et qu’ensuite un « queue manager » dépile le tout en tenant compte des informations « geolocalisé » des salles machines : nombre de rack, allumé ou éteint, état des disques, consommation électrique , afin d’optimiser les écritures vis-à-vis du coût. Cela se traduit aussi lors des accès en lecture. En effet, Amazon annonce un délai de mise à disposions de 3 à 5 heures, cela corrobore l’idée du système de queue puisque on peut alors penser que notre demande se retrouve dans les files du système et que le gestionnaire choisit le meilleur moment pour la « servir » (à l’occasion d’une écriture par exemple…) et la mettre à disposition pendant 24H00 sur des disques rapides.

les solutions selon Facebook …

Malheureusement, une solution de type « Glacier » ne satisfait pas Facebook, en effet, il ne lui est pas envisageable de dire « vos photos ne sont pas en ligne, merci d’attendre 24h00 pour les visualisées » !!! Du coup, un projet fait son chemin chez eux pour proposer une solution de type « cold storage » mais « rapide », avec comme premier but : le maximum de stockage en minimisant l’énergie !

La première étape de ce système, au plus haut niveau de la pile, est la mise en place d’un logiciel de catégorisation des photos en différents niveau et capable de les déplacer dans les différents containers de stockage définit.

Du coup, on retrouve trois niveaux : un stockage hyperrapide (haystack), un deuxième (le warm) ou les photos sont agrégées et/ou compressées et ou le nombre de réplica diminue (par défaut Facebook stocke un réplica sur chacune de ses quatre régions, bientôt cinq) permettant un gain de place tout en gardant une certains performance. Et dorénavant un troisième niveau (le cold), ou le système va splitter les agrégats précédant en chunk et les placer sur un stockage hyper-optimisé.

Bien sûr, l’élément suivant le plus important pour cela, c’est l’architecture des différents container.

Sub-Zero DC ou les serveurs qui s’allument ou s’éteignent à la demande

Comme on peut le constater à travers l’exemple de Glacier, la grosse difficulté vient du matériel placé dans le Datacenter. A ce titre, Facebook à lancer la construction de deux Datacenter (Prineville et Lulea) dédié à ce projet et d’un troisième (Prineville) plus orienté sauvegarde.

Celui-ci, aussi connus par le nom de code “projet Sub-Zero” vise à avoir une alternative à la sauvegarde sur bande. Facebook gère déjà deux copies de ses données, l’une dite « live » et une autre utilisé uniquement en urgence. L’idée qui fait son chemin est de dire que cette deuxième copie devrait pouvoir être éteinte lorsqu’elle est inutilisée. Facebook travail donc à inventer ce que l’on pourrait qualifier d’un nouveau type de stockage basse consommation avec comme but actuel de réduire celle-ci de 4.5kW par rack à 1.5kW.

“They hope to seriously cut power consumption with Sub-Zero. Right now a rack of Facebook servers burns about 4.5 kilowatts. In the Sub-Zero data center, the goal is to drop this to around 1.5 kWm,”

Le Cold-Storage DC (prineville)

Les deux autres seront clairement dédié au “cold storage”, bâtit sur 5700m^2 avec comme particularité de ne pas avoir de générateur de secours ni UPS et un système de refroidissement standard. Le premier lot sera constitué de 500 racks capables d’accueillir 2Po de données soit un total de 1 Eo (exabyte  ou 1000Po !!) et consommant 1.5MW par salle. De part ces contraintes le logiciel intègre une redondance en gérant lui-même les copies, de même, il est capable d’allouer les différents morceaux sur des racks de différentes chaines électriques.

Mais, Facebook ne va pas s’arrêter là, il envisage déjà d’autres pistes comme celle d’utiliser des mémoires flash déclassées mais aussi de partager une partie de ses technologies dans l’Open Compute Project comme il là déjà fait par le passé.

Source : http://www.datacenterdynamics.com/focus/archive/2012/08/facebook-engineers-dig-deep-overcome-storage-challenges

http://www.opencompute.org/summit-2012/