Chaque personne qui commence à utiliser Internet s’est au moins une fois posé la question «Est-ce que l’on peut faire un ordinateur plus puissant si l’on en branche plein de petits?» C’est un rêve que les réseaux d’aujourd’hui permettent de concrétiser. Un autre fantasme plus ambitieux surgit, ce «grand cerveau» va-t-il se réveiller et devenir conscient. Servira-t-il l’humanité ou la menacera-t-elle?
Aujourd’hui le rêve d’un «super-ordinateur» et le partage des ressources est déjà concrétisé sous plusieurs approches.
Qu’est ce que cela peut signifier de partager les outils et ressources?
Selon webopedia en général, n’importe quel élément qui peut être utilisé représente les ressources. Les dispositifs comme les imprimantes et les disques durs sont des ressources, ainsi que la mémoire
Quand on parle de partage on pense à une action spécifique entre deux ou plusieurs personnes ou machines.
Selon le langage informatique ça peut s’ interpréterer comme ça:
monordi: Je demande une connexion sur l’ordinateur « bleue1 » sur le protocole 3321
bleue1: Bienvenue Je t’écoute sur le port 3321
monordi: Je demande telle et telle information
bleue1: Je traite ta demande, ok je te donne la permission
monordi: Je commence le transfert, je ferme le protocole l’opération terminée
Derrière cette opération on peut reconnaître: partage des outils, des ressources, musique, de vidéo ou autre chose mais pour l’ordinateur le sens des informations n’a aucune importance. Il traite tous les types d’ informations de la même manière. Nos demandes se transforment en leur langage formel et après il cherche certaines informations sur un autre ordinateur. Le résultat et la façon d’obtenir l’information est toujours identique, mais dans notre langage une même fonction peut vouloir dire plusieurs choses:
ex. Partager, cambrioler, jouer, espionner, contrôler sur la distance, chater,… (tous les thèmes utilisent la même fonction numérique)
C’est très important quelle noms on va donner à une fonction numérique cos un mot sur notre langue peut complètement changer notre vision (partager et cambrioler peuvent utiliser la même fonction numérique)
Donc dès la première connexion entre deux ordinateurs on trouve les racines des tous logiciels et services qui sont nés plus tard et qui exploitent la même idée.
Les browsers d’Internet sont de plus importants outils qui nous permettent l’échange entre deux ou plusieurs ordinateurs (Netscape, Opera,…). Deuxième exemple sont les jeux vidéo(Counter strike, duke neukem 3D, Civilisation III, …) On trouve des logiciels qui s’utilisent pour le contrôle à distance, puis les logiciels peer to peer (limewire, kazaa, edonkey, direct connect), les logiciels d’échange et des contactes personnels (Mirc, Icq, Javachat machines,…), logiciels pour multiprocessing (Pooch, 3dStudioMax, etc.), etc.
Dans ce groupe, les logiciels pour le contrôle à distances sont spécialement intéressants.
Les logiciels pour le contrôle à distance
Même si très peu de personnes les utilisent je pense qu’ avec eux on peut facilement comprendre (et avoir un regard décalé) ce qu’est le partage des informations, des ressources, le contrôle des autres machines etc.
Il y a deux types de logiciels pour le contrôle à distance:
Productifs qui sont presque toujours shareware (ex. service payant sur Yahoo) et
Destructifs qui sont toujours gratuits mais qui entrent dans la catégorie des trojan virus (ex. Sub7, BackOriffice, netBus,…)
Ces logiciels servent pour commander à la distance. Il s’agit de logiciels qui permettent l’ acces à l’ordinateur qui est branché dans le resau, depuis n’importe quelle place dans le monde. C’est un logiciel qui nous permet tout et rien en particulier. C’est une des raisons qui explique qu’ ils n’ont jamais eu grande popularité. Nous avons pu télécharger le mp3 fichiers bien avant les premiers logiciels comme napster etc. Mais personne n’a fait ça avec ce type de logiciels (Je parle de période quand j’ai testé un logiciel pour le contrôle à distance il y a 4 ans)
Le principe reste le même, tous les logiciels modernes peer to peer sont similaires aux logiciels pour le contrôle à distance.
Deuxième catégorie de ces logiciels sont des trojan virus qui sont malheureusement conçus pour la destruction et le vol mais ils peuvent être très productifs. J’ai utilisé des trojan virus pour aider des amis de résoudre certains problèmes sur leurs ordinateurs à distance.
Avec ces logiciels nous regardons à travers notre écran, l’écran d’un autre. On peut commander comme chez nous, on peut télécharger des informations depuis, ou vers l’autre ordinateur etc.
Le télétravail nous donne une image d’ordinateur complètement différente de celle que nous avons aujourd’hui. On ne perçoit plus notre machine comme un objet dans notre maison à côté de nous. On le voit comme un element d’un système composé de deux ordinateurs reliés par réseau. L’ordinateur cesse d’être un objet, il devient un element du réseau et le resau avec tous les ordinateurs devient doucement un objet.
Sub7 est un logiciel où l’on peut bien ressentir cette impression que nous avons dépassé la frontière « physique » de notre ordinateur. Il se passe la même chose quand on télécharge des mp3 depuis l’ordinateur de quelqu’un d’autre mais ce n’est pas très evident.
En tout cas l’ordinateur devient moins personnel et plus collectif.
Exemple de deux logiciels qui ont une base similaire mais dont le but est complètement opposé:
NeoModus’ Direct Connect est un programme de partage de fichiers sur Internet avec une recherche intégrée www.telecharger.fr
Troj/Sub7-21Bon est un cheval de Troie de porte dérobée. Lorsque le programme serveur est installé, l’ordinateur est exposé à des attaques de sécurité à partir d’emplacements distants. Une fois la connexion établie, l’attaquant peut obtenir des informations sensibles telles que les mots de passe et prendre le contrôle de l’ordinateur infecté. www.sophos.fr
Multiprocessing comme technique de partage des ressources
Les calculs parallèles ou multi processing (paralel processing) sont des données partagées entre plusieurs ordinateurs afin d’augmenter la vitesse de calcul. Si l’on imagine le réseau de quatre ordinateurs et une image dans Photoshop sur laquelle il faut appliquer un filtre, le multi processing va tout d’abord partagé l’image en 4 morceaux et envoyer un morceau à chaque ordinateur avec les instructions nécessaires au traitement. Quand les quatre ordinateurs ont fini de traiter leur morceau d’image, ils collectent les morceaux sur un ordinateur principale afin de former le résultat. Ainsi, nous il y a presque 3 fois plus sur la vitesse de calcule d’une image. Les universités et les centres de recherche utilisent le multi processing pour des calculs extrêmement complexes comme les simulations des explosions nucléaires, les prévisions météorologiques (pour plusieurs d’années), les géocalculs, etc. Un bel exemple est le programme SETI qui cherche des extraterrestres dans le spectre de rayonnement cosmique. Pour l’analyse du rayonnement cosmique, des super-ordinateurs très puissants ne peuvent pas être la seule solution. En recherche de ressources supplémentaires, SETI a lancé un petit logiciel qui permet de télécharger et installer pour immerger notre ordinateur dans les analyses complexes quand on ne travaille pas.
En ce qui concerne le partage des ressources, les grandes universités et centres de recherche sont beaucoup plus avancés. Ils ont développé des réseaux où les ordinateurs font des calculs parallèles.
Qui a besoin le multi processing?
Le multi processing est intéressant pour des calculs extrêmement longs et complexes. Il n’est pas intéressant pour les calculs petits. Le Multi Processing s’utilise beaucoup dans les sciences et dans le traitement d’image de synthèse. Les seuls logiciels commerciaux qui utilisent le multi processing sont destines à l’animation et au rendu 3D (3DStudioMax, Lightwave, …). Les logiciels scientifiques sont spécialement développés pour certains usages et il y a très peu d’exploitation commerciale. Reste une catégorie grande consommatrice de logiciels de multi processing: les jeux en réseaux. Hors logiciels de divertissement, il n’y a pas de logiciels commerciaux qui sont designer comme les jeux. Décalée la stratégie des jeux dans un champ professionnel fonctionnant sur le travail de groupe ou le travail à distance me paraît intéressant. Par exemple, on peut travailler en groupe en partageant les ressources pour construire des modèles numérique très complexes et ainsi les manipuler en temps réel. Des idées traitants du travaille de groupe et à distance sont déjà développées sous la forme de forums. Aujourd’hui, des scientifiques, des créateurs d’images numériques et des personnes qui travaillent en vidéo ont besoin de multi processing. Les autres grands utilisateurs de multi processing sont les grandes bases de donnés sur Internet, moteurs de recherche et fournisseurs des informations.
En fait le multiprocessing n’est rien d’autre qu’une approche et une façon de travailler. La stratégie du multiprocessing propose de lier plusieurs oridinateurs et de partager des ressources pour résoudre des problèmes divers. En changeant la stratégie des logiciels d’aujourd’hui, il est possible d’élargir le champ d’utilisation du mutiprocessing. Je pense qu’avec le multi processing, il est possible d’imaginer de nouveaux services et outils pour la création collective, la communication, le partage de savoirs mais aussi la construction d’ environnements de travail plus élastiques dans le monde virtuel etc…
Un très bel exemple est le jeu Civilisation II ou III. C’est un jeu qui simule l’évolution des grandes civilisations dans l’histoire. Chaque joueur représente une civilisation est le jeu devient très intéressant quand on joue en réseau. On peut aller plus loin et dire que Civ est un prototype de travail collectif ou chacun fait sa partie et entre en collaboration avec quelqu’un d’autre. Toutes les informations créées par les joueurs entrent dans le process complexe de simulation.
En réalité on retrouve ce concept de travail dans les instituts de recherche. Cern est le plus grand laboratoire de physique de particules du monde. Même son enorme infrastructure informatique n’a pas satisfisait les demandes des scientifiques. Ainsi, Cern a décidé de lancer le projet DATAGRID qui est un resau où vont se retrouver les plus grands instituts de recherche pour partager leurs ressources.
Le Cern a pour but deux objectifs:
fonctionnel (étudier de nouveaux problèmes et plus vastes) et
performance (réduire le temps global de calcul)
temps = f(Tcalcul, Ttransfert)
Ttransfert = Volume / débit
Les informations sur le Datagridprojet
Lancer 7 logiciels dans 6 organisations virtuelles,
11 organisations dans plus de 15 pays,
40 sites en Europe,
pour plus d’informations : http://ccwp7.in2p3.fr
Bricoler votre superordinateur
Pour bricoler un système de multi processing il faut un logiciel qui va permettre des opérations multiprocess. Le célèbre logiciel pour les Macintoshs est POOCH (www.pooch.com). Il est gratuit et il travaille sur les Mac os X et 9. Il est possible de lier les deux systèmes sans difficulté. Dans le multi processing il y a toujours un ordre donné par l’ordinateur principal et des exécutants. Les ordinateurs peuvent se trouver à n’importe quelle endroit sur terre et exécuter les opérations grâce aux liaisons Internet. Il n’est pas nécessaire d’avoir les mêmes logiciels installés sur tous les ordinateurs dans le réseaux car POOCH va télécharger dans la mémoire des autres ordinateurs toutes les instructions des logiciels qui entrent dans le multi processing. POOCH permet le multitasking (travail parallèle dans plusieurs logiciels sur une seule machine) grâce à cela il n’arrête pas le process si quelqu’un débute un travail sur le poste (en travaillant sur un autre logiciel, on partage la puissance de l’ordinateur).
Les logiciels pour multi processing
L’architecture des logiciels pour multi processing sont très proches des logiciels déjà existants pour le dual processing (ordinateur à deux ‘têtes’ soit les ordinateurs qui ont deux processeurs sur leur carte-mère). L’exemple est Photoshop pour Mac os X. Malheureusement, il n’y a pas de logiciels pour multi processing commercialisés. Il y a quelques logiciels sur le site de POOCH qui peuvent servir pour tester le multi processing. Sur le site de POOCH on peut aussi trouver les instructions pour programmer les logiciels pour multi processing. Le grand problème qui fait que les logiciels ne supportent pas le multi processing ne réside pas dans le difficulté de les programmer, le problème est dans la stratégie. Les logiciels aujourd’hui support la centralisation (mon l’ordinateur fait tous seule) au contraire dans la stratégie du multi processing qui est un stratégie de décentralisation de la puissance de calculs. Le logiciel pour multi processing n’est pas plus difficile à faire qu’un logiciel pour dual processing. Je pense qu’un environnement ouvert comme par ex. linux peut premièrement permettre le développement des logiciels multiprocess mais aussi faire découvrir son utilité au sein du travail.
Qu’est-ce mon l’ordinateur fabrique?
Le logiciel POOCH sur les écrans des ‘exécutants’ montre les logiciels qui s’exécutent dans le multi processing et même les résultats. Il est donc possible de vérifier dans quel but notre ordinateur est utilisé. POOCH est plutôt un logiciel qui s’utilise au sein d’un groupe de personnes qui travaillent ensemble et cela pour des questions de sécurité. Si je travaille, par exemple, sur des effets spéciaux d’un nouveau film il est certain que je ne veux pas que le résultat soit connu avant le première. C’est pour cela que les logiciels qui offrent un partage de ressources ne permettent pas de connaître qui sont les utilisateurs et quelle utilisation est faite. « En effet, les projets pour le calcul distribué ne travaillent pas toujours pour le bienfait de l’humanité; sous ce prétexte philanthropique alléchant pour les particuliers, des entreprises américaines et canadiennes, comme Entropia, United Devices…, mobilisent une partie de la puissance fournie par les particuliers pour le compte des clients dans le cadre de contrats commerciaux standards. » (Sciences & Vie – Déc 2002)
Réferences:
www.webopedia.com
www.cern.ch
www.cyberarmy.com
http://ccwp7.in2p3.fr
www.seti.com
www.pooch.com
www.sophos.fr