Notre groupe de travail produit une application de bureau qui simule la performance énergétique du bâtiment. Il s'agit d'une application .NET et lorsque l'utilisateur exécute un grand nombre de simulations, elles peuvent prendre beaucoup de temps. Les simulations sont totalement parallélisables, et nous avons des ressources informatiques HPC très importantes au «bureau».
Une idée que nous avons eue est de permettre aux utilisateurs de décharger des simulations dont nous savons qu'elles seront très longues (alors que chaque simulation individuelle dure environ 30 à 120 secondes, l'exécution d'un grand nombre de simulations peut prendre plusieurs jours). Quelqu'un a-t-il déjà fait cela? Si oui, avez-vous utilisé des bibliothèques pour faciliter le travail? Cela en valait-il la peine?
modifié pour ajouter:
Les tâches individuelles de déchargement de la simulation seraient
- empaqueter un fichier (environ 5 Mo),
- le télécharger sur nos serveurs,
- décomposer le package en simulations individuelles (chacune prend environ 30 à 120 secondes et est totalement parallélisable), le nombre de simulations est fonction du nombre d'options sélectionnées par l'utilisateur (isolation, orientation du bâtiment, etc.) et le pire des cas de sélection chaque option possible entraînerait environ 1E50 simulations. L'exécution de 100 à ~ 1E5 simulations n'est pas inconnue, mais la majorité des utilisateurs exécutera moins de 10.
- remonter les simulations terminées et télécharger le fichier désormais beaucoup plus volumineux.
Nous ne savons pas quelle interface utiliser, car notre groupe est nouveau dans ce domaine, et avec les compressions budgétaires, il pourrait être achevé à temps, mais doit être facile pour les prochains (le cas échéant) à maintenir.
Cette application utilise déjà .NET 4 et peut se développer pour utiliser tous les cœurs de l'utilisateur (nos machines de développement ont 8 cœurs).