Большинство современных процессоров (CPU — Central Processor Unit) являются многоядерными, то есть включают в свой состав несколько независимых физических ядер, которые могут работать одновременно. Кроме того, включение технологии «Hyper-threading» позволяет в 2 раза увеличить количество логических ядер, которые определяются операционной системой.
FDS может быть запущена в многопоточном режиме (т. е. с параллельной обработкой данных), когда вся работа разделяется между несколькими ядрами процессора одного компьютера, либо между процессорами нескольких компьютеров, объединенных в одну сеть.
При увеличении числа потоков, как правило (но не всегда), растет производительность и сокращается время выполнения моделирования. Рост производительности может наблюдаться только если количество потоков не превышает число логических ядер.
Есть две технологии, позволяющие запустить FDS в многопоточном режиме, которые могут использоваться совместно:
- OpenMP (Open Multi-Processing). С помощью этой технологии возможно задействовать несколько ядер процессора компьютера, на котором осуществляется моделирование.
- MPI (Message Passing Interface). С помощью этой технологии возможно задействовать несколько ядер процессора компьютера, на котором осуществляется моделирование, или процессоры нескольких компьютеров, находящихся в локальной сети.
Прежде чем перейти к разбору стратегии запуска FDS в Fenix+ 3, необходимо сказать несколько слов о том, как в FDS происходит моделирование.