Depuis quelques années, la création d'applications performantes et capables de tirer partie de la capacité de calcul de une à plusieurs (milliers de) machines, traitant et créant des quantités d'informations de plus en plus importantes, est devenue un problème auquel de plus en plus d'industriels et divers corps de métiers font face. Cela va du traditionnel calcul scientifique, au domaine de la finance ou encore de la « business intelligence ».
1. Introduction
Le traitement de grosses masses de données demande de plus en plus de stockage et/ou de capacité de calculs. Pourtant, un disque dur actuel permet de lire et écrire à environ 200Mo/s, de faire environ 200 opérations d'écriture et/ou lecture par seconde ou Input/Output Operations Per Second (IOPS). Les Solid State Drive (SSD) améliorent un peu la donne avec pour les meilleurs d'entre eux un débit d'environ 600Mo/s et 100k IOPS. Un CPU Intel Xeon récent est capable de chiffrer un flux en AES à environ 512Mo/s 1.
Pour comparaison, Google indexe environ 20 milliards de sites par jour [1], une infrastructure de serveurs classiques peut produire jusqu'à plusieurs centaines de Go de fichiers journaux par jour. Ces services ne peuvent pas être assurés par une machine conventionnelle, le parallélisme est au cœur des solutions utilisées, et cela implique d'autres modèles de conceptions et programmation.
Cette article divisé en deux parties présente...
- Accédez à tous les contenus de Connect en illimité
- Découvrez des listes de lecture et des contenus Premium
- Consultez les nouveaux articles en avant-première