Наша рабочая группа выпускает настольное приложение, которое имитирует энергоэффективность здания. Это приложение .NET, и когда пользователь запускает много симуляций, они могут занимать довольно много времени. Моделирование полностью распараллеливаемо, и у нас есть несколько очень значительных вычислительных ресурсов HPC в «офисе».
У нас была одна идея - позволить пользователям разгружать модели, которые, как мы знаем, будут работать очень долго (в то время как каждое отдельное моделирование длится около 30-120 секунд, выполнение большого количества симуляций может занять несколько дней). Кто-нибудь делал это раньше? Если да, то использовали ли вы какие-либо библиотеки для облегчения работы? Стоило ли это усилий?
отредактировано, чтобы добавить:
Отдельные задачи для разгрузки симуляции будут
- упаковка файла (около 5 Мб),
- загрузить его на наши серверы,
- Разложение пакета на отдельные симуляции (каждая занимает около 30-120 секунд и полностью распараллеливаемая), количество симуляций является функцией количества опций, выбранных пользователем (изоляция, ориентация здания и т. д.) и наихудшего случая выбора каждый возможный вариант приведет к моделированию 1E50. Запуск от 100 до ~ 1E5 симуляций не неизвестен, но большинство пользователей будут работать менее 10.
- повторная сборка завершенных симуляций и загрузка теперь гораздо большего файла.
Мы не уверены, какой интерфейс использовать, так как наша группа является новичком в этом, и с сокращением бюджета, он может быть завершен вовремя, но его должны легко обслуживать следующие люди (если таковые имеются).
Это приложение уже использует .NET 4 и может расширяться для использования всех ядер, которые есть у пользователя (наши машины для разработки имеют 8 ядер).