В настоящее время моя компания запускает стороннюю симуляцию (моделирование риска стихийных бедствий), которая всасывает гигабайты данных с диска, а затем сжимается в течение нескольких дней для получения результатов. Скоро мне будет предложено переписать это как многопоточное приложение, чтобы оно работало в часах, а не днях. Я ожидаю, что у меня будет около 6 месяцев для завершения преобразования и будет работать соло.
У нас есть 24-процессорное поле для запуска этого. У меня будет доступ к исходнику оригинальной программы (написанной на С++, я думаю), но на данный момент я очень мало знаю о том, как она была разработана.
Мне нужен совет, как справиться с этим. Я опытный программист (~ 30 лет, в настоящее время работает на С# 3.5), но не имеет многопроцессорного/многопоточного опыта. Я готов и желаю изучить новый язык, если это необходимо. Я ищу рекомендации по языкам, учебным ресурсам, книгам, архитектурным рекомендациям. и др.
Требования: ОС Windows. Компилятор коммерческого уровня с большой поддержкой и хорошими учебными ресурсами. Нет необходимости в графическом графическом интерфейсе - он, вероятно, запускается из файла конфигурации и помещает результаты в базу данных SQL Server.
Изменить: текущее приложение - С++, но я почти наверняка не буду использовать этот язык для повторной записи. Я удалил тег С++, который добавил кто-то.