Comment utiliser au mieux la puissance informatique des serveurs actuels ? C’est l’objectif de Tredzone, un outil de programmation servant à développer des logiciels économes en énergie tout en étant exceptionnellement véloces. But : des performances très élevées qui ne dépendent plus des volumes traités.
Attention ralentissement
Tredzone s’éloigne du modèle de programmation usuel. Pour les fondateurs de cette startup, on constate de grosses pertes de rendement quand le modèle classique de développement combine des traitements complexes et des données fréquemment mises à jour, de l’ordre de plus de 1000 fois par seconde.
Les utilisateurs voient alors les logiciels ralentir quand le volume d’opérations augmente. Les latences deviennent aléatoires car elles dépendent des circonstances et de l’environnement singulier des logiciels.
Autre constat de Tredzone : ces phénomènes s’amplifient même avec l’accroissement du nombre de cœurs des microprocesseurs modernes. Or la croissance de la capacité des machines ne s’appuie plus maintenant que sur l’accroissement du nombre de cœurs.
Un framework de nouvelle générationTredzone fournit un cadriciel, un « framework de développement », c’est à dire un logiciel qui permet de développer des logiciels. De nombreuses applications sont écrites de telle manière qu’elles ne s’exécutent que sur un seul cœur des microprocesseurs, même si le processeur en possède plusieurs.
Coder une application pour utiliser plusieurs cœurs est beaucoup plus compliqué que de simplement utiliser un seul noyau, et même virtuellement impossible car le nombre de cœurs à utiliser va dépendre de l’environnement lors de l’exécution (notamment des autres applications). Or les configurations matérielles sont aujourd’hui si variées qu’un développeur ne peut pas savoir à l’avance laquelle sera utilisée pour accueillir son produit.
Oublier l’environnement
Tredzone permet au développeur de créer son application sans avoir à se soucier de l’environnement dans lequel elle sera utilisée. La plateforme fournit les outils de mise en œuvre de l’application.
L’ensemble est compatible avec tous les matériels, tous les systèmes d’exploitation, et les applications ainsi développées peuvent coopérer avec toutes les applications classiques développées en Java, C, C++, C#, .net, etc.