Coprocesseur Catalogue
Ce projet a été réalisé lors d'un stage (
Stages.Cluster) et a pour buts :
- de paralléliser le traitement des catalogues sous VizieR (extraction, ...)
- de mettre en oeuvre l'idendification croisée entre les catalogues
Pour satisfaire cela un cluster de 6 PC a été mis en place (AMD 2400+, 1Go, 2x200Go HDD).
Ce cluster dispose de son propre réseau local (switch 100Mbts) pour accroître la sécurité et le temps de réponse.
Pour traiter les requêtes émanants du Web, un dispatcher a été développé. Celui-ci doit répondre aux contraintes suivantes :
- être performant
- résistant en mode dégradé mineur
- supporté une montée en charge importante
Dès l'arrivée d'une requête, ce dispatcher doit choisir le noeud qui dispose du catalogue demandé sur ses disques et lance le processus.
A cause des I/O, 20% du code consomme 80% du temps.
Un des problèmes rencontré lors du développement de ce dispatcher a été le respect de l'orde dans la réception des réponses, celles-ci doivent arriver dans le même ordre où elles ont été lancées.
Pour certain Microsoft SQL Server apparaît comme une solution de facilité mais ce SGBD ne permet pas l'identification croisée.