Bonjour,
Il y a peu, l'IDAV (Institute for Data Analysis and Visualization), a publié un article sur l'utilisation des cartes graphiques pour accélérer le traitement des bases de données (
http://www.idav.ucdavis.edu/publicat...pub?pub_id=960).
En effet, les GPU possèdent de nombreuses unités de calcul, 240 coeurs pour la GeForce GTX 285, carte graphique grand-public. Ces unités de calcul sont donc beaucoup plus nombreuses que celles d'un CPU, qui n'en comporte encore que 4 dans le meilleur des cas pour le grand-public.
Cependant, les SGBD actuels sont prévus pour utiliser des CPU, avec donc très peu d'unités de calcul : il faut repenser l'intégralité des algorithmes actuels pour pouvoir tirer parti d'une architecture aussi parallèle.
Ce document propose une nouvelle structure d'indexation, parallèle, complètement pensée pour ces nouveaux processeurs aux multiples unités de calcul. De plus, elle permet d'éviter de consommer trop de mémoire, ce qui est crucial sur les GPU, où il n'est pas aussi facile d'ajouter de la mémoire.
L'implémentation pour GPU reste beaucoup plus efficace que celle pour CPU, mais faut-il rappeler qu'elle est prévue pour un grand nombre d'unités de calcul, que les CPU ne peuvent pas encore fournir.
Le GPGPU semble donc promis à un grand avenir dans le domaine des bases de données.
Cette structure sera-t-elle utilisée dans des SGBD répandus et opensource, comme MySQL ou PostgreSQL, ou bien sera-t-elle plutôt réservée au marché du propriétaire, comme SQL Server ou Oracle ?
Serait-il envisageable de l'utiliser à grande échelle, pour des services comme Google ?
Qu'en est-il à plus petite échelle ? Serait-ce vraiment utile pour un petit forum ou un CMS, ou bien cela risque-t-il de plutôt en abaisser les performances ?
Les gains espérés pourraient-ils arriver à un remplacement complet du parc de serveurs ?
Partager