Sparc M7 d’Oracle, un processeur aux multiples facettes

Chiffrement, décompression, et même SQL, exécutés directement au cœur du processeur: de quoi accélérer les performances In-Memory et augmenter le niveau de sécurité sans impact. L’aube d’une révolution?

La focalisation sur le cloud ne doit pas faire oublier qu’Oracle propose aussi ses processeurs Sparc, et investit fortement en R&D.

John Fowler, Oracle
John Fowler, Oracle

Après la démarche Engineered Systems où le matériel et le logiciel (système d’exploitation, mais aussi progiciels et middleware) sont développés et optimisés ensemble, le processeur Sparc M7 intègre des fonctions logicielles exécutées dans le processeur, donc à très grande vitesse.
Comme nous l’annoncions la semaine dernière, le denier né de processeurs de la famille Sparc, le M7 est gravé en 20 nm, regroupe 32 cœurs cadencés à 4,13 GHz, soit 256 threads et 64 Mo de cache de niveau 3. Excusez du peu ! Les mainframes n’ont qu’à bien se tenir. Plusieurs serveurs ont donc logiquement été annoncés.

Toute la semaine, plusieurs intervenants sont revenus sur les particularités de ce processeur, qui embarque finalement beaucoup de traitements et même des moteurs SQL “directement sur le silicium (on silicon)”.
Dans cette approche “Software in silicon”, le Sparc M7 assure trois types de tâches: Capacity in Silicon, SQL in Silicon et Security in Silicon. «Il s’agit bien d’algorithmes On-Memory implémentés nativement dans le slicium,» insiste John Fowler, vice-président exécutif Systems chez Oracle. «Outre la révolution d’un processeur à 32 cœurs, nous avons intégré des fonctions logicielles directement dans le silicium!»

32 accélérateurs et 15 algorithmes de chiffrement
32 accélérateurs et 15 algorithmes de chiffrement

Et si le chiffrement intégral devenait réalité ?

Avec le cloud et l’informatique distribuée, le chiffrement des données stockées, mais pendant leur transfert devient incontournable.
C’est pourquoi Oracle a intégré à chacun de 32 nœuds du processeur un “accélérateur d’instruction de chiffrement” (Crypto Instruction Accelerator), une approche baptisée “Encryption in Silicon”.

Chaque moteur supporte 15 algorithmes standards de chiffrement (voir illustration), et la génération de nombre aléatoire. Ces mécanismes sont supportés via le système d’exploitation Solaris, mais Oracle assure l’ouvrir aux éditeurs intéressés. Cette architecture matérielle permet de tout chiffrer, et avec quasiment aucun impact sur les performances. Finis les choix cornéliens entre les performances et la sécurité.

 La sécurité de toutes les couleurs
La sécurité de toutes les couleurs

Mémoire blindée contre les erreurs et les cyberattaques

Le processeur SPARC M7 intègre huit accélérateurs (Data Analytics Accelerator ou DAX) pour délester la mémoire de certaines requêtes des bases de données In-Memory et assurer la décompression des données. Intégré sur chacun des 32 nœuds, un composant accélérateur de chiffrement prend en charge le chiffrement. La combinaison de ces éléments est à même d’assurer plusieurs accélérations sensibles, dont les suivantes.

La “Silicon Secured Memory” propose une protection renforcée de la mémoire pour des applications plus robustes et moins de possibilités de piratage.
Chaque fois qu’un pointeur applicatif utilise une zone mémoire, il est “coloré” de façon invisible de la même couleur que la zone mémoire. Et si une autre instruction tente d’accéder à cette zone, elle sera rejetée n’étant pas « colorée » de la bonne couleur (voir illustration). «Les applications deviennent plus robustes, sans impact sur les performances (vitesse du processeur) et les anomalies applicatives sont détectées pour le plus grand bonheur des développeurs,» explique John Fowler. «Par ailleurs, un grand nombre de cyberattaques, comme HeartBleed ou Venom, deviennent ainsi impossibles.»

Du SQL accéléré et exécuté dans le processeur
Du SQL accéléré et exécuté dans le processeur

Décompression et SQL sur silicium

Les huit Data Analytics Accelerators (ou DAX) prennent en charge la décompression et les instructions SQL à la vitesse du processeur. Ainsi, Oracle Database 12c peut supporter les transactions en lignes ou les colonnes analytiques avec sa technologie In-Memory. Chaque moteur DAX peut charger des valeurs en colonne de la mémoire vers ses registres dédiés et appliquer des instructions SQL : Select pour réduire une colonne, Scan pour la recherche (clause “where”), Extract pour décompresser et Translate afin de boucler en vue d’accélérer les jointures “big-to-small”. Et tous les DAX et cœurs peuvent collaborer…

Autre tâche prise en charge par les DAX, la décompression à la volée. Avec l’explosion du In-Memory, la compression des données devient primordiale pour placer les informations dans la mémoire. Et même dès le départ pour les stocker sur les disques durs. Contrepartie au gain de place, la vitesse de décompression s’avère cruciale pour les bases de données. Or, si la vitesse de la décompression réalisée par les processeurs semble suffisante pour le stockage sur disque, elle génère des goulets d’étranglement pour les traitements In-Memory et le stockage en mémoire flash. D’où la fonction de décompression dans le DAX lors du processus de requêtage (SQL In Silicon): décompression et exécution de la requête en une seule étape, économisant ainsi de nombreuses opérations de lecture/écriture.

Cette décompression à la volée et à la vitesse de la mémoire (plus de 120 giga-octets par seconde –et pas gigabits….) n’impacte pas les performances globales du processeur.
Cela rappelle quelque peu l’approche des moteurs spécialisés ZiiP et ZaaP chez IBM (voir notre article). «Cette technologie est intéressante,» reconnait John Fowler. «Toutefois, avec le Sparc M7, il s’agit bien de réaliser des traitements directement dans le processeur, donc une approche différente, en rupture, et à une vitesse bien supérieure.»

A lire aussi :

Oracle compte sur ses puces Sparc pour doper son In-Memory

Sparc M7 : Oracle vient titiller la puissance du mainframe

Crédit Photo : Oracle PR