samedi 15 décembre 2007
Patience!!!
mercredi 7 novembre 2007
Meet the BOSS
Cette course est donc, en quelque sorte, une vitrine technologique, en même temps qu'une expérimentation grandeur nature, qui se situe dans la lignée des grands programmes de robotique autonome (citons en particulier DARTS, dans les années 1990).vendredi 19 octobre 2007
L'Oracle électronique

Le professeur Jerzy Rozenblit de l'Université d'Arizona vient de recevoir une subvention de 2,2 M$ pour son projet ATRAP (Asymmetric Threat Response and Analysis Project). Il s'agit d'un projet que l'on pourrait qualifier de "data mining" sur des données hétérogènes, visant à analyser les données politico-militaires afin de prévoir les situations à risque. Il est développé avec l'aide du Battle Command Battle Laboratory de Ft. Huachuca (Arizona).
La prédiction de menace et la prévision de crises sont depuis très longtemps des activités critiques qui intéressent au plus haut point les services de renseignement. Toutefois, il s'agit d'une recherche rendue complexe par deux aspects :
- L'extraordinaire variété des données devant être considérées (qui pose bien évidemment le problème connu de l'analyse de données volumineuses, et du rapport bruit/silence)
- Le caractère non déterministe du système.
Pour pallier ces deux problèmes, le projet ATRAP utilise une combinaison de techniques à la fois logicielles et matérielles. D'un point de vue logiciel, le projet s'appuie sur la combinaison d'algorithmes bien connus, de deux types: algorithmes évolutionnistes et théorie des jeux. L'approche évolutionniste mêle algorithmes génétiques (une technique bien connue permettant, en faisant "évoluer" une population de réponses à un problème donné, de faire émerger une solution candidate adaptée) et algorithmes de co-évolution. Il s'agit en réalité de faire évoluer une population de situations à risques afin de trouver la meilleure candidate à une menace future. Le système considère ensuite une co-évolution entre les différentes actions (politiques, économiques, sociales, militaires) d'un groupe ou d'une ethnie, et les autres groupes. L'exemple cité par le Pr Rozenblit est le suivant: un groupe gagne de l'influence dans une communauté dans laquelle d'autres ethnies cherchent à conserver leur suprématie ; en retour, ces autres ethnies vont essayer de diminuer l'influence du groupe (il y a donc bien co-évolution entre les solutions possibles au problème de la stabilité de l'influence pour chaque ethnie ou chaque groupe).
Le but est de trouver, in silico, des patterns, donc des motifs caractéristiques, que l'on cherchera à confronter aux observations réelles afin de lever, le cas échéant, des alarmes.
Du point de vue matériel, il s'agit de permettre, computationnellement parlant, une décision rapide à partir des menaces identifiées. Cela nécessite d'utiliser des ressources de calcul importantes; en l'occurrence, il s'agit d'architectures massivement parallèles. Et pour une fois, ce type de techniques n'est pas une réponse générique, mais sans doute une réponse particulièrement appropriée. En effet, les algorithmes évolutionnistes sont intrinsèquement prédisposés à la parallélisation, dans la mesure où le principe même de ces algorithmes est de cribler un espace de recherche en parallèle, par une population de solutions.
A contrario, on peut se poser la question de la parallélisation à outrance de problèmes séquentiels sur des machines parallèles, qui ne sont pas la réponse universelle à tout problème d'allocations de ressource de calcul. Ce sera le sujet d'un autre post.
(Pr Rozenblit, image (c) Jacob Rader)
mardi 9 octobre 2007
Sur le grill...


dimanche 30 septembre 2007
CELL, évolution ou révolution ?
Les innovations du CELL sont de deux ordres :
- l'absence d'une unité d'optimisation du code, qui a pour désavantage de laisser au développeur la lourde tâche de gérer les instructions de manière optimisée, sans compter sur le processeur pour optimiser le code, mais qui a également pour avantage de simplifier l'organisation du circuit, en laissant une place libre considérable.
- du fait de cette nouvelle organisation, la structure du processeur est novatrice. Il comprend un coeur principal, appelé PowerPC Processing Element, et huit processeurs "synergétiques" (SPE), capables de "s'allumer" progressivement à la commande du PPE, afin d'optimiser le traitement des calculs complexes.
Il s'agit donc d'une architecture novatrice, extrêmement efficace (j'ai ainsi eu l'occasion d'assister à une démonstration de mapping d'image en 3D et en temps réel, inaccessible avec des technologies conventionnelles), mais qui pose un problème sérieux. En effet, notamment de par l'absence d'élément d'optimisation du code, la quasi-totalité de la complexité du traitement est laissée à la charge du développeur, qui n'a en général ni les moyens ni la connaissance pour gérer cette complexité.
La rupture technologique espérée est donc fortement ralentie par la difficulté d'accès au processus de développement, ce qui montre bien qu'aujourd'hui, la progression toujours plus impressionnante des processeurs se fait de manière indépendante du logiciel. Il s'agit donc d'une évolution très remarquable dans le domaine des architectures multi-coeurs (même si celle ci n'est pas, à proprement parler, traditionnelle), mais qui nécessite de solides connaissances en développement et en parallélisation pour devenir une réelle révolution.
Pour plus d'informations sur le CELL, je propose notamment la lecture de http://arstechnica.com/articles/paedia/cpu/cell-1.ars (article en deux parties).
vendredi 21 septembre 2007
Vers une nouvelle génération de circuits... et l'informatique alors?
Outre l'originalité de la méthode, consistant à créer des réseaux de nanotubes suspendus entre des 'colonnes' de silicium, cette technique témoigne de la possibilité actuelle de créer des circuits très intégrés, et donc très puissants. Elle témoigne également du fait que l'essentiel de la recherche visant à accroître la puissance des machines est réalisée sous l'angle du hardware: création de "super-circuits", empilement de processeurs dans des architectures multi-coeurs sophistiquées, etc. Pourtant, il existe une voie de recherche considérable consistant à modifier non uniquement le matériel, mais également le logiciel. Car si l'on y réfléchit: en quoi une machine actuelle diffère-t'elle d'un ordinateur des années 60? L'organisation du système de fichiers, le traitement de la mémoire, le stockage des informations n'ont pas été foncièrement modifiés. Il s'agit, finalement toujours de manipuler de la mémoire, de plus en plus rapidement.
Cela est également apparent sous l'angle du développement. Les outils et environnements de développement sont aujourd'hui très performants, et extrêmement complexes. Mais le développeur ne sait plus directement (ou rarement) comment fonctionne le processeur ou la mémoire. Et de ce point de vue, les progrès ne sont pas aussi fulgurants que l'on pourrait le croire.
Cela pose donc la question du progrès en informatique. La loi de Moore est une loi physique et économique. Ce n'est pas un témoin intellectuel reflétant le progrès de la discipline. Car pour pouvoir aujourd'hui réellement profiter des capacités de ces nouvelles architectures, il serait nécessaire de repenser l'informatique dans son ensemble, une tâche considérable qui ne saurait dissocier évolution des processeurs et conception de la programmation.
mercredi 19 septembre 2007
Focus sur... Bionatics
A partir d'une technologie de simulation de la croissance des plantes (un sujet étudié depuis longtemps - cf les L-Systems, mais peu exploité industriellement), Bionatics a eu l'idée de développer et d'industrialiser une gamme de logiciels permettant d'incorporer des végétaux au sein de simulations, et de les faire virtuellement croître de manière réaliste.
Les applications de cette technologie (RealNAT) vont de l'animation à l'architecture (maquettes virtuelles) en passant par la Défense : génération d'une couverture végétale pour des simulateurs de pilotage, la préparation d'opérations pour les forces spéciales, etc... Il ne s'agit pas uniquement de représenter les plantes, mais également de gérer la juste suffisance du niveau de détail (ce que l'on appelle LOD); et tout cela en cohérence avec la nature et la localisation du terrain. Il convient donc d'utiliser des bases géospécifiques, permettant de choisir les espèces adaptées au terrain et climat choisis. Il existe à ce jour 7 catégories de telles bases: Tempéré (Europe), Amérique du Nord, Savane Africaine, Tempéré (Asie), Méditerranée, Tropical & subtropical et plantes communes.

De plus, Bionatics a acquis en 2004 la technologie procédurale Blueberry3D, qui permet, pour des simulations temps réel, d'éditer et visualiser des terrains 3D (voir ci-dessus).
La traduction en français de start-up est "jeune pousse". On ne saurait si bien dire...
lundi 17 septembre 2007
La simulation, technologie de cette nouvelle décade?
Les progrès fulgurants des capacités de calcul modernes ont en effet accéléré l'utilisation de la simulation dans des domaines où elle n'était traditionnellement pas présente. La langue française définit la simulation comme « l’action de feindre, de faire paraître réelle une chose qui ne l'est pas ». En l'occurrence, il s'agit d'une "juste suffisance" : "faire paraitre" lorsque l'on cherche à immerger l'être humain dans un monde de simulacre, ou simuler le monde tel qu'il pourrait être pour s'affranchir des coûts ou de la complexité d'une expérimentation réelle.
Ainsi, les opérations militaires modernes intègrent souvent aujourd'hui une composante de simulation. Celle ci permet de s'entraîner, de répéter des missions, d'aider à la décision. Mais aujourd'hui, la simulation sort de sa "niche" et devient une manière d'appréhender le monde. L'essor d'univers "à la second life" n'est que le reflet de ce mouvement, ainsi que le développement de jeux vidéos qui, loin de reposer uniquement sur des scenarii, incorporent véritablement un "modèle du monde": moteur physique, modélisation du comportement, etc...
Il devient donc maintenant possible d'aller vers une réelle simulation, c'est à dire que l'on généralise partout l'emploi de micro-modèles du monde. Bientôt, les crash-tests automobiles (quelques peu coûteux) seront totalement remplacés par la simulation. Une opération médicale pourra être répétée en simulation (et potentiellement revue en "réalité augmentée" avant intervention.
Cette généralisation de la simulation nécessite des procédures de calcul efficaces, tant du point de vue des algorithmes utilisés, que de l'infrastructure de calcul elle-même. En effet, ce qui différencie la simulation et la scénarisation, c'est bien l'émergence, c'est-à-dire le fait de pouvoir observer un phénomène qui n'est pas directement lié, de manière déterministe, aux paramètres entrés par l'utilisateur. Sinon, quel intérêt? Mais pour ce faire, multiplier les processeurs ne suffit pas, il faut penser de nouveaux algorithmes, de nouvelles architectures, de nouvelles techniques de calcul. C'est à ce prix que la simulation sortira du pré carré des applications actuelles pour se généraliser, comme l'Internet ou la vidéo l'ont fait avant elle.
Pour plus d'informations, je propose égoïstement le site de la société MASA : www.masa-sci.com.
