Thursday, November 22, 2007

RapidScale ou le scale-out extrême

Fondée en Novembre 2002, Terrascale, développeur Canadien de la solution innovante de stockage TerraGrid, est passé sous la coupe de Rackable Systems (www.rackable.com) fin 2006 qui, dans la foulée, a renommé le produit RapidScale. L'ancien CEO de TerraScale, Gautham Sastri, pilote depuis l'activité RapidScale chez Rackable.

La genèse de la solution TerraGrid est fondée sur la limite des architectures de stockage utilisées dans le milieu du calcul intensif. En effet, malgré le progrés constant des éléments de connectivité, FC à 4Gb aujourd'hui et bientôt à 8Gb et sans parler d'Ethernet, les serveurs et les unités de stockage ne suivent pas les évolutions des structures conçues pour les exigences scientifiques. On est loin aujourd'hui des solutions mono-chassis ou monolithiques qui ont fait la fortune de certains fournisseurs et le bonheur de certains utilisateurs, qui parle encore de Cray ? Où sont les anciens Exemplar ? et Thinking Machine est mort depuis longtemps... L'idée fut donc d'adresser ces limites en optant pour une philosophie horizontale ou scale-out à base de serveurs standards et de Linux (64 bits), ext2/xfs, IP, Ethernet, NFS, SCSI (et iSCSI) et sans changement applicatif dans le but de tendre vers le fameux modèle 3D: Performance, Capacité et Disponibilité. Enfin une bonne application du concept d'Utility Computing... C'est donc vers une architecture Grid que TerraScale s'est dirigée surfant sur le Provisioning fin à la demande et la Virtualisation des ressources (application, réseau, CPU et stockage).

Le concept est donc d'assembler des unités élémentaires redondantes offrant une capacité de stockage et de traitement en agrégeant les espaces de nommage de fichiers entre ces unités formant un pool hautement performant en terme de débit, de capacité et de redondance et de développer un mécanisme de cohérence de cache et de verrou global pour assurer un très fort niveau d'intégrité. Les approches passées dédiées au calcul scientifique souffraient d'un manque de performance malgré un coupage de noeuds importants. Souvenez-vous de la fameuse loi d'Amdahl qui modélise parfaitement le gain et la limite de telles architectures. Une application à 95% parallèle tournant sur 100 unités de calcul fournit une performance équivalente à celle de 18 unités, quelle perte ! C'est un gain important 18:1 mais il faut mettre 100 unités pour l'atteindre !! Imaginons l'analogie avec le stockage dans un mode d'écriture ou de mise-à-jour et la catastrophe arrive, une vraie brouette, c'est notamment la raison pour laquelle les systèmes de fichiers clustérisés ne "scalent" pas et sont de moins en moins positionnés sur ce segment ou seulement avec un nombre de noeuds limités, donc sans intérêt. Des approches alternatives plutôt de type SANFS comme GoogleFS ont été envisagées mais restent très "verticales".

L'innovation des concepteurs réside dans les algorithmes SASS (Shared Access Scheduling Scheme) qui permet de "transformer" un comportent applicatif séquentiel en mode parallèle et dans l'élément logiciel qui implémente une interaction iSCSI entre les clients et les serveurs de stockage. Avec ce SASS, RapidScale propose de lever 2 freins à la performance avec un mode sans Lock Manager ni de communication inter-noeuds avec une utilisation du protocole d'invalidation du cache des autre noeuds, et le mode write-through avec effet de cache en lecture est retenu. Chaque unité est vue comme une target SCSI sur IP donc comme un device bloc avec une particularité de la solution, le fait de proposer une unité bloc sur le réseau construite sur un système de fichier généré dans chaque serveur de stockage, on a donc une approche "bloc sur file system". Un client construit donc un volume logique avec l'outil lvm en validant un parallélisme important grâce au mode striping et génére un file sytem dérivé de SGI XFS. En terme de protection, 2 niveaux de protection sont disponibles: RAID "derrière" chaque serveur de stockage et RAIN entre les serveurs de stockage en mode 2+1, 4+1 ou 8+1. Deux configurations sont possibles: cluster hiérarchiques et "flat" (à plat) avec le code applicatif hébergé sur les clients eux-mêmes ou en mode Cluster NAS. Les performances rendues sont impressionantes: 18 EB pour le file system, 9EB pour un seul fichier, 150Mo/s par unité élémentaire, plus de 4Go/s de débit aggrégé sur Ge et plus de 10Go/s sur InfiniBand. Physiquement, une unité de stockage 2U - le Storage Appliance - arrive avec 2 Cpus Intel Xeon, 2GB de RAM avec 12 disques SATA (74, 250 ou 400Go) pour 3 configurations: 653Go, 2,2To ou 3,5To et depuis ces configurations ont déja évolués pour être encore plus impressionantes. L'aggrégation de telles unités permet donc d'atteindre plusieurs Po !

En terme de concurrence, il semble que seuls Ibrix, Panasas et Lustre puissent contrer Rackable.
Share:

0 commentaires: