Developpez.com

Le Club des Développeurs et IT Pro

Samsung inscrit un nouveau record mondial dans le tri de données

DeepSort permettrait de traiter jusqu'à 3,7 To de données en 60 secondes

Le 2014-11-28 08:12:42, par Amine Horseman, Expert éminent sénior
Samsung vient de battre le record du tri, avec DeepSort, qui a fini numéro 1 dans la compétition mondiale du tri de données de cette année. Il a réussi à réorganiser 3,7 To de données en 60 secondes, battant ainsi le record précédent qui était à 1,5 To.

Le moteur de tri DeepSort a été testé dans un environnement en réseau composé de 384 nœuds. Chaque nœud est constitué de deux processeurs Intel Xeon hexa-core 2,1 GHz, 64 Go de RAM, huit disques durs de 3 To de 7200 tours/min, avec un système de fichiers ext4, CentOS 6.4 comme système d’exploitation, et un port Ethernet 10 Gbps.

« Ce sont en fait des spécifications modérées par rapport aux autres principaux concurrents de la compétition », affirme le géant coréen dans un communiqué de presse. Samsung aurait délibérément choisi une configuration moyenne afin de mieux évaluer la performance pure de son logiciel. « La plupart des autres compétiteurs avaient opté pour des disques durs SSD », qui permettent d'accélérer grandement le transfert de données, et par conséquent, la quantité de données triées durant ce test.

Pour atteindre ce record, Samsung a misé sur le traitement simultané et le multithreading à tous les niveaux des composantes du programme ; un flux de données qui partage l'espace mémoire limité ; la répartition de la charge entre tous les serveurs et la maximisation d'utilisation de la mémoire cache.

Ce genre de programmes est destiné le plus souvent au traitement des immenses quantités de données, surtout avec l'apparition des objets connectés et du Big Data. Samsung prévoit aussi de l'utiliser dans ses nombreuses applications et services mobiles qui intègrent des fonctionnalités de recherche, améliorant ainsi les performances ainsi que l'expérience utilisateur.

Source : le PDF de présentation de DeepSort

Et vous ?

Que pensez-vous des performances de DeepSort ?
  Discussion forum
8 commentaires
  • _skip
    Expert éminent
    Envoyé par Amine Horseman

    Le moteur de tri DeepSort a été testé dans un environnement en réseau composé de 384 noeuds. Chaque nœud est constitué de deux processeurs Intel Xeon hexa-core 2,1 GHz, 64 Go de RAM, huit disques durs de 3To et 7200 tours/min, avec un système de fichiers ext4, CentOS 6.4, et un port Ethernet 10 Gbps.

    "Ce sont en fait des spécifications modérées par rapport aux autres principaux concurrents de la compétition", affirme le géant Koréen dans un communiqué de presse. Samsung aurait déliberement choisi une configuration moyenne afin de mieux évaluer la performance pure de son logiciel. "La plupart des autres compétiteurs avaient opté pour des disques durs SSD", qui permettent d'accélerer grandement le transfert de données, et par consequent, la quantité de données triées durant ce test.
    C'est une vraie compétition officielle?
    Si tel est le cas, c'est pas curieux que l'évaluation n'ait pas lieu sur le même hardware? Je veux dire, si chacun se ramène avec ce qu'il veut comme machine, les résultats seraient difficilement comparables.
  • Uther
    Expert éminent sénior
    Envoyé par cuicui78
    Je trouve curieux, ils aient préféré jugé l’implémentation plutôt que l'algorithme.
    Je ne suis pas sur de comprendre. Comment tu fais pour tester un algorithme qui n'est pas implémenté?
  • Uther
    Expert éminent sénior
    Je ne dis pas que l'étude d'un algorithme n'est pas intéressante, bien au contraire. C'est certainement plus utile pour un utilisateur qui a besoin de connaitre les force et les faiblesses de la solution qui l’intéresse.
    Cependant, dans le contexte d'un concours, ou l'ont doit s'appuyer sur des valeurs mesurables, ça n'a pas de sens. C'est comme déterminer le vainqueur d'un match de foot en fonction de la cote des bookmakers.
  • Max Lothaire
    Membre confirmé
    Envoyé par Uther
    Je ne suis pas sur de comprendre. Comment tu fais pour tester un algorithme qui n'est pas implémenté?
    Les performances relevées seront différentes d'une implémentation à une autre si celles-ci utilisent des technologies différentes.

    Mais il est également vrai qu'un calcule de complexité n'est pas suffisant.
  • Aiekick
    Membre extrêmement actif
    Je trouve curieux, ils aient préféré jugé l’implémentation plutôt que l'algorithme.
  • dessma
    Membre régulier
    Envoyé par _skip
    C'est une vraie compétition officielle?
    Si tel est le cas, c'est pas curieux que l'évaluation n'ait pas lieu sur le même hardware? Je veux dire, si chacun se ramène avec ce qu'il veut comme machine, les résultats seraient difficilement comparables.
    En effet difficilement comparable mais je crois qu'à ce niveau là c'est inévitable. Exemple quelconque, si un algo capitalise sur la distribution sur un maximum de processeurs faibles via réseau et un autre est designé pour performer sur un seul cpu ultra puissant sur stéroïdes, une même architecture physique favorisera aussi un des deux compétiteurs, indépendamment du coût du matériel.
  • abriotde
    Membre chevronné
    Ils ont dit avoir pris une configuration moyenne, ce qui ne veut pas dire qu'il n'y ait pas de limite dans le possible. C'est certains avec un CPU spécialement conçus pour, une carte mère dédié et 5 Tera de RAM ont peu faire la même chose en 10 secondes (Mais a quels coût? simplement pour gagner un concours). Je suppose qu'il y avait des spécifications imposé. Genre "avec du matériel standard du commerce" cela limite la marge tout en autorisant le SSD. Mais si Samsung savait qu'il pouvait battre le record avec un disque dur classique et qu'avec un SSD il ne gagnait pas grand chose car il utilise que très peu d'écriture disque, il avait tout intérêt a utiliser un disque dur classique pour marquer les esprit et se faire plus de pub.
  • Aiekick
    Membre extrêmement actif
    Envoyé par Uther
    Je ne suis pas sur de comprendre. Comment tu fais pour tester un algorithme qui n'est pas implémenté?
    Je pensais aux calculs de complexité, qui fait qu'on est capable de dire si un algo est supérieur a un autre: => http://fr.wikipedia.org/wiki/Analyse...es_algorithmes

    Ce qui signifie que cet algo est bon quand il est implémenté d'une certaine façon. pour un concours je trouve ça curieux, et inutile.
    Savoir qu'un techno est super rapide, mais seulement avec une certaine config et une implémentation particulier diminue de beaucoup l’intérêt.
    Je suis plutôt du coté de ce qui est fait sur les algo de cryptage ou on juge plutôt la robustesse par l'algorithme en délaissant totalement l’implémentation.
    L'algo de recherche qui a fait le succès de google, montre de par son algorithme toute sa puissance, pas besoin d'aller voir implémentation pour juger

    pour qu'une technologie soie bonne, il faut que l'algo soit bon en 1er lieu et que son implémentation le soit aussi en un second temps.
    Un bon algo et une bonne implémentation seront toujours supérieur a un algo pourri et une bonne implémentation ( ou inversement ).