Trier un tableau d’un Téra en 68 secondes (record battu)

Les équipes de Google viennent d’annoncer qu’ils avaient batu le record du benchmark Terabyte. Ce test consiste à trier un TéraOctet de données le plus rapidement possible. Cela représente le tri de mille millions de lignes, et cette performance a été réalisée en 68 secondes.

Depuis 1998 nous sommes donc passés de plus de 2 heures, à 30 minutes en 2004, 3 minutes en 2007 et enfin 68 secondes cette année. Le précédent record, obtenu par Yahoo en utilisant le couple Java/Hadoop était de 209 secondes sur ce cluster :

  • 910 nodes
  • 2 quad core Xeons @ 2.0ghz per a node
  • 4 SATA disks per a node
  • 8G RAM per a node
  • 1 gigabit ethernet on each node
  • 40 nodes per a rack
  • 8 gigabit ethernet uplinks from each rack to the core
  • Red Hat Enterprise Linux Server Release 5.1 (kernel 2.6.18)
  • Sun Java JDK 1.6.0_05-b13

Cette année Google à réalisé ses calculs sur 1000 serveurs. Ils ont utilisé le programme MapReduce. Nous apprenons également dans ce document que pour stocker ces données triées, Google utilisent son système de fichier partagé GFS. Les volumétries sont tellement importantes que le stockage se fait sur des dizaines de milliers de disque dur en même temps (48 000 pour être précis).

Résultat : Pendant les six heures de calcul nécessaires au tri d’un PétaByte il y a au moins un disque dur qui défaille. Du coup GFS est configurer pour écrire ses données sur au moins 3 disques différents. Si cette technique vous intéresse vous pouvez étudiez HDFS, c’est un système libre comparable :

On me demande parfois de justifier l’intérêt des Clouds ou plus généralement de l’utilisation massive de  serveurs en parallèle. Je pense que cet exemple est une bonne illustration de ce que l’on peut réaliser en mutualisant un millier de CPU et des dizaines de  milliers de disques dur. Enfin, concernant les applicatifs ils sont nombreux, chez Google par exemple, pour trier des urls, des mots ou encore les tarifs des enchères sur les mots clefs du moteur via AdWords.

Sources :

Sur le même thème :

Leave a Reply