the Next Step ?

Parallélisme

cluster

Un programme parallèle est un programme qui a été conçu pour être exécuté simultanément par plusieurs processeurs. L’intérêt d’un programme parallèle est qu’il est beaucoup plus rapide que son équivalent non parallèle (gain pouvant aller jusqu’à un facteur de 1000). R++ s’intéresse à trois sources de parallélisme, exploitables sur les ordinateurs de bureaux modernes : le multi cœur, la carte graphique et le cloud.

Le multi-cœur est le fait d’utiliser en parallèle tous les cœurs (CPU) d’un ordinateur. Les cartes graphiques (GPU) sont des unités de calculs massivement parallèles (milliers de processeurs). Ces processeurs sont dotés d’une mémoire de très petite taille, ce qui peut être un handicap dans un cadre général, mais qui ne gêne pas dans le cas spécifique de calculs mathématiques comme la résolution de systèmes linéaires. Enfin, le cloud est un réseau d’ordinateurs connectés.

Big Data

Les Big Data sont des données trop grandes pour être traitées de manière classique. Le terme « trop grandes » varie d’un domaine scientifique à l’autre. En statistique, les logiciels proposent généralement de travailler sur des tailles de données de l’ordre de la dizaine de giga. En informatique, Oracle permet de traiter jusqu’à cinquante téra, soit 5 000 fois plus…
Pour arriver à un tel résultat, diverses techniques existent comme l’utilisation du swap ou le stockage spécifique sous format « base de données » (par exemple Oracle ou PostGRES). Mais les outils actuellement disponibles vont rarement au delà de l’analyse univariée (moyenne, variance, quartiles,…) R++ s’intéresse à l’application de ces techniques à des méthodes statistiques plus évoluées (tests statistiques, régression, clustering, ACP, AFP, exploration multi-dimensionnelle,…)

Interaction Homme Machine

L’Interaction Homme Machine a pour objectif d’étudier la manière dont les humains interagissent avec les ordinateurs afin d’ensuite concevoir des outils plus ergonomiques. Pour cela, des séances de brainstorming réunissant utilisateurs (dans notre cas les statisticiens) et informaticiens sont organisées. Dans un premier temps, l’objectif est de définir les tâches qui sont particulièrement ardues ou pénibles à réaliser. Ensuite, des solutions sont collectivement imaginées. Enfin, un prototype vidéo, illustration par l’exemple du problème et de sa solution, est élaboré.

Statistiques et logiciels métiers

Différent logiciels orientés hautes performances permettent de faire des statistiques (Oracle, module statistique pour C,…). Ils présentent généralement de très bonnes performances. Malheureusement :

  • Ils ne proposent à l’utilisateur qu’une fraction des méthodes utilisées par les statisticiens.
  • Ils font des choix que les statisticiens n’approuvent pas toujours, comme par exemple la possibilité de supprimer « facilement » les valeurs manquantes (Pour un expert en bio-statistique, le fait qu’une valeur soit manquante constitue une information importante ; avant d’envisager sa suppression, il faut prendre de nombreuses précautions. Un outil qui permet de « faire disparaître les manquantes en un clic, c’est mal ! »)
  • Ils sont généralement austères et nécessitent de sérieuses compétences en programmation

Afin que R++ soit et reste un logiciel métier, de simples utilisateurs (non informaticiens) participent à la conception du langage.

 

A suivre : l’équipe