Dans un système informatique partagé, un utilisateur peut accéder à la puissance de traitement de tout un réseau d’ordinateurs.
Imaginez qu’on vous ait confié la tâche de pousser une voiture très lourde sur une colline. Vous êtes autorisé à recruter des personnes qui ne font rien d’autre que vous aider à déplacer la voiture. Vous avez deux choix : vous pouvez chercher une personne assez grande et assez forte pour tout faire par elle-même, ou vous pouvez faire appel à plusieurs personnes moyennes pour pousser ensemble.
Bien que vous puissiez éventuellement trouver quelqu’un d’assez grand pour pousser seul la voiture, la plupart du temps, il sera plus facile de rassembler simplement un groupe de personnes de taille moyenne. Cela peut sembler étrange, mais les systèmes informatiques partagés utilisent le même principe.
Lorsqu’un problème de calcul est vraiment complexe, le traitement d’un seul ordinateur peut prendre beaucoup de temps, voire des millions de jours, dans certains cas. Même les supercalculateurs ont des limitations de traitement. Ils sont également rares et chers. De nombreuses installations de recherche nécessitent beaucoup de puissance de calcul, mais n’ont pas accès à un supercalculateur. Pour ces entreprises, l’informatique partagée est souvent une alternative intéressante aux supercalculateurs.
Comprendre l’informatique partagé
L’informatique partagée est une sorte de calcul haute performance. Un système informatique partagé est un réseau d’ordinateurs qui travaillent ensemble pour accomplir une tâche spécifique. Chaque ordinateur donne une partie de sa puissance de traitement, et parfois d’autres ressources, pour aider à atteindre un objectif. En mettant en réseau des milliers d’ordinateurs, un système informatique partagé peut égaler ou même dépasser la puissance de traitement d’un supercalculateur.
La plupart du temps, votre ordinateur n’utilise pas toutes ses ressources de calcul. A certains moments, votre ordinateur peut être allumé, mais vous ne l’utilisez pas réellement. Un système informatique partagé tire parti de ces ressources qui, autrement, resteraient inutilisées.
Les systèmes informatiques partagés sont parfaits pour certains problèmes complexes, mais ne sont pas utiles pour d’autres. Ils peuvent être compliqués à concevoir et à administrer. Alors que plusieurs informaticiens travaillent sur un moyen de normaliser les systèmes informatiques partagés, de nombreux systèmes existants reposent sur un matériel, des logiciels et une architecture uniques.
Quels éléments composent un système informatique partagé typique ? Continuez à lire pour le savoir.
- Systèmes informatiques partagés
- Architecture informatique partagée
- Applications informatiques partagées
- Préoccupations concernant l’informatique partagée
Systèmes informatiques partagés
Dans un système informatique traditionnel à hautes performances, tous les ordinateurs sont du même modèle et fonctionnent sur le même système d’exploitation. La plupart du temps, chaque application exécutée sur le système possède son propre serveur dédié. Parfois, l’ensemble du réseau repose sur des connexions câblées, ce qui signifie que tous les éléments du système se connectent les uns aux autres via divers concentrateurs. L’ensemble du système est efficace et élégant.
Un système informatique partagé peut être tout aussi efficace, mais il n’a pas nécessairement l’air très élégant. Un système informatique partagé n’est limité que par le logiciel sur lequel il s’appuie pour connecter les ordinateurs entre eux.
Avec le bon logiciel, un système informatique partagé peut fonctionner sur différents types d’ordinateurs qui fonctionnent sur différents systèmes d’exploitation. Les connexions réseau peuvent exister sur des réseaux câblés, des réseaux locaux (LAN), des réseaux sans fil (WAN) ou Internet. Le plus grand avantage d’un système informatique partagé par rapport aux systèmes HPC traditionnels est qu’il est plus facile d’ajouter plus de ressources à un système informatique partagé. Toute personne disposant d’un ordinateur capable d’exécuter le logiciel du système peut participer.
Que fait le logiciel du système ?
Le logiciel du système lui donne accès à la puissance de traitement inutilisée de chaque ordinateur. Tous les ordinateurs connectés au système doivent avoir ce logiciel installé pour participer. Il n’y a pas de kit logiciel de calcul partagé définitif, mais en général, le logiciel doit faire ce qui suit :
- Contacter le serveur administratif du système pour obtenir un morceau de données
- Surveiller l’utilisation du processeur de l’ordinateur hôte et utiliser la puissance de traitement chaque fois qu’elle est disponible
- Renvoyer les données analysées au serveur administratif en échange de nouvelles données
Les systèmes informatiques partagés ont une utilisation relativement restreinte. Ils sont parfaits pour résoudre de gros problèmes de calcul que les scientifiques peuvent décomposer en sections plus petites. Si diviser le problème en plus petits morceaux est particulièrement simple, cela s’appelle un problème parallèle embarrassant.
Pour les petits problèmes de calcul ou les problèmes qui ne sont pas faciles à décomposer, les systèmes informatiques partagés sont moins utiles. L’intérêt du système est de réduire le temps nécessaire pour terminer des calculs complexes. Cela n’augmentera pas nécessairement la vitesse des calculs simples sur le réseau.
Quelles sont les différentes parties d’un système informatique partagé ? Continuez à lire pour le savoir.
Étant donné que les systèmes informatiques partagés utilisent la puissance de traitement inactive de centaines ou de milliers d’ordinateurs, il porte également les noms de nettoyage du processeur, de nettoyage de cycle et de vol de cycle. Chaque nom fait référence à la manière dont un système informatique partagé puise dans les processeurs de tous les ordinateurs appartenant à son réseau.
Architecture informatique partagée
Contrairement aux systèmes de calcul en grille – qui en théorie peuvent avoir autant de points d’interface réseau qu’il y a d’utilisateurs – un système informatique partagé n’a généralement que quelques points de contrôle. C’est parce que la plupart des systèmes informatiques partagés ont des objectifs spécifiques et ne sont pas des utilitaires généraux.
Il est utile d’imaginer un système informatique partagé typique comme avoir un front-end et un back-end. Sur le front-end se trouvent tous les ordinateurs qui offrent des ressources CPU au projet. Sur le back-end, il y a les ordinateurs et les serveurs qui gèrent le projet global et divisent la tâche principale en petits morceaux. Ils communiquent avec les ordinateurs du front-end et stockent les informations que les ordinateurs front-end envoient après avoir terminé une analyse.
En général, la tâche de diviser le problème de calcul en morceaux plus petits revient à un programme sur un ordinateur principal, généralement un serveur. Cet ordinateur utilise un logiciel spécifique pour diviser la tâche en parties plus petites qui sont plus faciles à gérer pour un système informatique moyen. Lorsqu’il est contacté par le logiciel compagnon installé sur un ordinateur front-end, le serveur enverra des données sur le réseau pour l’analyse. À la réception d’un travail d’analyse terminé, le serveur dirigera les données vers une base de données appropriée.
Le but du système informatique partagé
En général, les administrateurs du système utilisent un autre ordinateur pour reconstituer les analyses terminées. Le but final est de parvenir à une solution d’un très gros problème en le résolvant en petits morceaux. Dans de nombreux cas, les administrateurs du système publieront les résultats afin que d’autres puissent bénéficier des informations.
Si cette description de l’architecture semble un peu vague, c’est parce qu’il n’y a pas de moyen unique de créer et d’administrer un système informatique partagé. Chaque système possède son propre logiciel et architecture. Dans la plupart des cas, un programmeur personnalise le logiciel pour les objectifs spécifiques du système. Bien que deux systèmes informatiques partagés différents puissent fonctionner de la même manière en général, une fois que vous creusez dans les détails, ils peuvent être très différents.
Quelles sont les applications informatiques partagées et pourquoi ont-elles besoin de logiciels spécialisés ? Découvrez dans la section suivante.
Certains systèmes informatiques partagés utilisent des serveurs virtuels. Pour créer des serveurs virtuels, un ingénieur installe un logiciel spécial sur un seul serveur physique. Le logiciel divise le serveur en plusieurs plateformes exclusives, chacune pouvant exécuter un système d’exploitation indépendamment des autres.
Pourquoi faire ceci ? Tout comme le propriétaire d’un ordinateur moyen utilise rarement toute la puissance de traitement de son ordinateur, il est rare que le serveur moyen fonctionne à pleine capacité. Utiliser des serveurs virtuels signifie qu’un seul serveur physique est plus proche de son plein potentiel. Cela réduit le besoin de matériel supplémentaire.
Pour les serveurs virtuels, consultez les hébergements Web tels que le cloud VPS.
Applications informatiques partagées
Les scientifiques utilisent des systèmes informatiques partagés pour analyser des problèmes de calcul complexes.
Il existe des dizaines de projets de systèmes informatiques partagés actifs, chacun avec ses propres réseaux et tâches de calcul. Certains de ces réseaux se chevauchent. En effet, il est possible pour un utilisateur de participer à plusieurs réseaux, même si cela signifie que différents projets doivent répartir les ressources inactives. En conséquence, chaque tâche individuelle prend un peu plus de temps.
Le Grid Laboratory of Wisconsin (GLOW) est un exemple de système informatique partagé. L’Université du Wisconsin-Madison utilise GLOW pour plusieurs projets, ce qui, à certains égards, la distingue de la plupart des systèmes informatiques partagés. Un projet utilise le réseau GLOW pour étudier le génome humain. Un autre profite des ressources de GLOW pour rechercher des traitements potentiels contre le cancer. Contrairement aux systèmes informatiques partagés dédiés à une seule tâche, GLOW peut accueillir plusieurs projets.
Le logiciel qui rend GLOW possible s’appelle Condor. C’est le travail de Condor de rechercher des processeurs inactifs au sein du réseau GLOW et de les utiliser pour travailler sur des projets individuels. Lorsqu’un projet est inactif, Condor emprunte ses ressources pour les autres projets. Cependant, si un projet précédemment inactif revient en ligne, Condor libère les processeurs des ordinateurs respectifs.
Exemples de système informatique partagé
Certains autres systèmes informatiques partagés comprennent :
- SETI@home : Un projet qui analyse les données des radiotélescopes à la recherche d’une vie extraterrestre intelligente.
- Africa@home : Ce projet consacre la puissance informatique à des programmes de recherche conçus pour améliorer la qualité de vie en Afrique. Il met l’accent sur les initiatives de lutte contre le paludisme.
- Proteins@home, Predictor@home, Rosetta@home et Folding@home : chacun de ces projets étudie les protéines de différentes manières.
- Einstein@home, Cosmology@home, Milkyway@home et Orbit@home : ces projets étudient les données astronomiques.
D’autres projets étudient tout, de la physique de la dynamique des fluides aux environnements de nanotechnologie simulés.
Les systèmes informatiques partagés peuvent donc être vraiment utiles, mais y a-t-il des dangers ? Continuez à lire, si vous n’avez pas peur.
IBM, une entreprise qui investit des millions de dollars dans la recherche en informatique, a publié un rapport en janvier 2008 sur un projet appelé « Kittyhawk ». Le but du projet est de construire un système informatique global partagé qui est si grand et puissant qu’il pourra héberger Internet en tant qu’application. En d’autres termes, le système serait comme un énorme ordinateur et Internet ne serait qu’un programme dessus.
Les préoccupations concernant l’informatique partagée
Chaque fois qu’un système permet à un ordinateur d’accéder aux ressources d’un autre ordinateur, des questions se posent sur la sécurité et la confidentialité. Qu’est-ce qui empêche les administrateurs du programme de fouiner dans l’ordinateur d’un utilisateur particulier ? Si les administrateurs peuvent exploiter la puissance du processeur, peuvent-ils également accéder aux fichiers et aux données sensibles ?
La réponse simple à cette question est que cela dépend du logiciel que l’ordinateur participant doit installer pour faire partie du système. Tout ce qu’un système informatique partagé peut faire avec un ordinateur individuel dépend de cette application logicielle. La plupart du temps, le logiciel ne permet à personne d’accéder directement au contenu de l’ordinateur hôte. Tout est automatisé et seule la puissance de traitement du CPU est accessible.
Système informatique zombie
Il y a cependant des exceptions. Un système informatique zombie ou botnet est un exemple de système informatique partagé malveillant. Dirigé par un hacker, un système informatique zombie transforme des propriétaires d’ordinateurs innocents en victimes.
Tout d’abord, la victime doit installer un logiciel spécifique sur son ordinateur avant qu’un pirate ne puisse y accéder. Habituellement, une telle application logicielle est déguisée en programme inoffensif. Une fois installé, le pirate informatique peut accéder à l’ordinateur de la victime pour effectuer des tâches malveillantes comme une attaque par déni de service direct (DDoS) ou envoyer des quantités massives de spam. Un botnet peut s’étendre sur des centaines ou des milliers d’ordinateurs, le tout sans que les victimes soient au courant de ce qui se passe.
Les systèmes informatiques partagés ont également besoin d’un plan en place pour les moments où un ordinateur particulier est hors ligne ou devient indisponible pendant une période prolongée. La plupart des systèmes ont une procédure en place qui limite le temps à chaque tâche. Si l’ordinateur du participant ne termine pas la tâche dans un certain laps de temps, le serveur de contrôle annulera la tâche de cet ordinateur et affectera la tâche à un nouvel ordinateur.
Les inconvénients du système informatique partagé
Une critique de l’informatique partagée est que, même si elle capitalise sur les processeurs inactifs, elle augmente la consommation d’énergie et la production de chaleur. Comme les ordinateurs utilisent davantage leur puissance de traitement, ils nécessitent plus d’électricité.
Certains administrateurs de systèmes informatiques partagés exhortent les participants à laisser leur ordinateur allumé en permanence afin que le système ait un accès constant aux ressources. Parfois, une initiative de système informatique partagé entre en conflit avec des initiatives vertes, qui mettent l’accent sur la conservation de l’énergie.
Peut-être que la plus grande critique des systèmes informatiques partagés est qu’ils ne sont pas assez complets. Bien qu’ils mettent en commun les ressources de puissance de traitement, ils ne tirent pas parti d’autres ressources telles que le stockage.
Pour cette raison, de nombreuses entreprises envisagent de mettre en œuvre des systèmes de calcul en grille. Ceux-ci tirent parti de plus de ressources et permettent à une plus grande variété d’applications d’exploiter les réseaux.
Les systèmes informatiques partagés sont-ils l’avenir ou les systèmes informatiques en grille prendront-ils leur place ? Au fur et à mesure que les deux modèles deviennent plus courants, nous verrons quel système l’emportera.
Pour des applications beaucoup plus sécurité, lisez cet article sur les 5 meilleures plateformes de sécurité sans serveur pour vos applications.
Un système informatique partagé est une sorte de système informatique en grille limitée. Les systèmes informatiques partagés distribuent des morceaux de données pour une tâche particulière sur un réseau d’ordinateurs. Ils exploitent la puissance du processeur inutilisée.
Dans un système informatique en grille, les ordinateurs du réseau partagent plusieurs ressources, notamment la puissance de traitement, la mémoire et l’espace de stockage. Un système informatique partagé a généralement un objectif spécifique. Une fois cet objectif atteint, le système n’est plus nécessaire. Les futurs systèmes de calcul en grille seront orientés organisation, ce qui signifie qu’ils seront utilisés comme un actif général pour les organisations et les entreprises et ne seront pas dédiés à un seul objectif spécifique.