Les serveurs sont devenus l’un des éléments essentiels dans l’infrastructure informatique des sociétés. Dans le schéma traditionnel de l’informatique des entreprises tel qu’on l’a connu jusqu’au milieu de la décennie précédente, l’ordinateur de type « mainframe » centralisait l’information et les connections des stations de travail qui n’étaient autres que des terminaux sans intelligence. L’avènement des stations de travail intelligentes (PC), la diminution rapide des coûts du matériel, la mise en place progressive des architectures distribuées avec le client/serveur et l’évolution d’une informatique de production vers une informatique plus stratégique intégrant le support à la décision ont conduit au concept de serveur. Cette diminution des coûts du matériel a aussi entraîné le passage du serveur multifonction (un même système supportant plusieurs applications portant sur des données communes ou indépendantes) au serveur dédié.
Le propos de cet article est d’introduire et de commenter les différentes options en matière d’architecture de serveur. L’une des fonctions principales des serveurs est le support des bases de données d’une part pour les applications transactionnelles en ligne (On Line Transaction Processing OLTP) et d’autre part pour l’aide à la décision (Decision Support Systems DSS).
Les exigences de ces applications en matière de disponibilité et de performance ont conduit à des solutions adaptées tant au niveau du matériel que du logiciel. En particulier les gestionnaires de bases de données relationnelles (Relational Data Base Management Systems : RDBMS) sont capables d’exploiter le parallélisme. Cet article étudie donc les différentes options d’architecture de serveur en relation avec les architectures des gestionnaires de bases de données relationnelles et compare leurs avantages et inconvénients respectifs. Les architectures multiprocesseurs symétriques (Symmetric MultiProcessing : SMP), les clusters et les machines massivement parallèles (Massively Parallel Processing : MPP) sont examinés ainsi que l eurs évolutions (exemple : architecture CC-NUMA pour les multiprocesseurs symétriques ; § 3.1).