отмечается значительное время их работы при задании для расчётов расчётных сеток с большим количеством
расчётных узлов. Это приводит к трудностям в разработке проектов, имеющих такую особенность –
замедляет разработку проекта, что, в своей очереди немедленно сказывается получаемой от
разработки прибыли – это приводит к её сокращению.
В то же время уже существуют опробованные практически методы решения данной проблемы, которые позволяют
снизить остроту проблемы, применив современную вычислительную технику и методы вычислений.
К сожалению, эти методы и техника не поддерживаются текущими версиями программ, поэтому,
предлагается их внедрить в программные продукты Фирмы Интеграл – УПРЗА «Эколог» и "Эколог-Шум".
Внедрение данных новшеств приведёт к сокращению времени расчётов и, как следствие,
к ускорению процесса разработки больших экологических проектов, росту прибыли проектных организаций
и производителей программ для экологических расчётов, поддерживающих данные возможности.
неспециализированные вычисления на графических процессорах) — техника использования
графического процессора видеокарты, который обычно имеет дело с вычислениями только для
компьютерной графики, чтобы выполнять расчёты,
в приложениях для общих вычислений, которые обычно проводит центральный процессор. Это позволяет
разработчикам программ использовать потоковые процессоры для не графических вычислений [1].
Применение такой технологии в экологических программах значительно ускорит выполняемые вычисления.
Спойлер
выполнимые на графических процессорах ускорителей GeForce восьмого поколения и новее
(GeForce 8 Series, GeForce 9 Series, GeForce 200 Series, GeForce 300 Series, GeForce 400 Series, GeForce 500 Series,
GeForce 600 Series, GeForce 700 Series), Nvidia Quadro и Nvidia Tesla компании Nvidia.
Технология CUDA разработана компанией Nvidia.
• DirectCompute — вычислительный шейдер (англ. Compute Shader).
• OpenCL является языком программирования задач, связанных с параллельными вычислениями
на различных графических и центральных процессорах.
• AMD FireStream — технология GPGPU, позволяющая программистам реализовывать алгоритмы,
выполнимые на графических процессорах ускорителей ATI.
• OpenACC (группа 4 производителей)
• C++ AMP (Microsoft)
реализующие тем или иным способом параллельную обработку данных на многих вычислительных узлах [2].
Например, для быстрой сортировки массива на двухпроцессорной (двухядерной) машине
можно разделить массив (РАСЧЁТНЫХ ТОЧЕК ПРОГРАММ ДЛЯ РАСЧЁТА ШУМА, РАССЕИВАНИЯ)
пополам и сортировать каждую половину на отдельном процессоре.
Учитывая, что современные процессоры – в основном многоядерные, это опять таки приведёт
к ускорению работы с программами УПРЗА и "Эколог-Шум".
Спойлер
• map — выполнение одной и той же функции над каждым элементом массива входных данных,
с получением равного по мощности массива результатов вычисления. Например, расчёты значений шума
или концентрации в каждой точке.
• reduce — выполнение одной и той же функции для добавления вклада каждого элемента
входных данных в одно итоговое значение. Например, расчёты значений ВКЛАДОВ шума или
концентрации в каждой точке.
1.2 Программные инструменты параллельных вычислений
• OpenMP — стандарт интерфейса приложений для параллельных систем с общей памятью.
• POSIX Threads — стандарт реализации потоков (нитей) выполнения.
• Windows API — многопоточные приложения для C++.
• PVM (Parallel Virtual Machine) позволяет объединить разнородный (но связанный сетью)
набор компьютеров в общий вычислительный ресурс.
• MPI (Message Passing Interface) — стандарт систем передачи сообщений между параллельно
исполняемыми процессами.
нескольких компьютеров, чаще всего объединённых в параллельную вычислительную систему [3].
Распределённые вычисления применимы также в распределённых системах управления.
Смысл использования такой системы в том, чтобы задействовать все уже имеющиеся
у организации компьютеры (компьютерный парк организации), объединённые сетью, для расчётов
в программах УПРЗА и "Эколог-Шум", не приобретая дополнительной техники.
Последовательные вычисления в распределённых системах выполняются с учётом одновременного
решения многих задач, что позволит использовать задействованные компьютеры для повседневных задач.
Примеры успешной реализации подобных систем
Наилучшим образом работоспособность идеи доказывается… её практическим воплощением в жизнь,
выполненным кем то другим. В настоящий момент существует множество - десятки проектов, успешно
использующих распределённые вычисления, в том числе и с привлечением добровольцев [4, 5].
Спойлер
2. Параллельные вычислительные системы. [В Интернете] https://ru.wikipedia.org/wiki/%D0%9F%D0 ... 0%B8%D1%8F.
3. General-purpose computing for graphics processing units. [В Интернете] https://ru.wikipedia.org/wiki/GPGPU.
4. BOINC http://www.boinc.ru/projects/project.aspx
5. Добровольные вычисления https://ru.wikipedia.org/wiki/%D0%94%D0 ... 0%B8%D1%8F