Текст песни
Необходимость применения параллельных вычислительных технологий и высокопроизводительных вычислительных систем в области охраны лесов от пожаров диктуется следующими причинами:
Первое. Если речь идет о предотвращении уничтожения государственного лесного фонда и загрязнения атмосферы продуктами пиролиза и горения лесных горючих материалов, то при оценке вероятности возникновения очагов пожаров и выработке прогноза развития лесопожарной обстановки следует учитывать такой критический параметр, как период индукции катастрофы (наступление неблагоприятной лесопожарной обстановки). Чем он больше, тем больше времени у служб охраны лесов провести подготовительные мероприятия и осуществить превентивные меры, направленные на снижение ожидаемого экономического, экологического ущерба и гибели или травмирования населения.
Второе. В случае оценки вероятности перехода лесного пожара на территорию населенного пункта или технологического объекта, расположенного в лесопокрытой зоне, также встает вопрос о запасе ресурса времени для осуществления мероприятий по снижению ущерба. В данном случае периодом индукции катастрофы будет время распространения фронта лесного пожара от очага возгорания до стратегического объекта.
Использование распараллеливания вычислений позволяет оперировать большими объемами анализируемой информации и значительно сократить время выработки прогноза лесопожарной обстановки.
Данный раздел содержит минимально необходимые сведения об аппаратном и программном обеспечении высокопроизводительных вычислений на системах параллельной структуры. При подготовке настоящего раздела помимо печатных источников были использованы материалы Информационно-аналитического центра по параллельным вычислениям www.parallel.ru .
Применение многопроцессорных вычислительных систем позволяет начать решать недоступные до этого времени задачи большого размера, приступить к математическому моделированию сложных физических явлений, химических процессов, технических устройств. Сегодня суперкомпьютеры стали универсальным и незаменимым технологическим инструментом как в научно-исследовательской, так и в практической деятельности.
В настоящее время существует большое количество высокопроизводительных систем, и специалист, работающий в области параллельных вычислений, должен обладать хотя бы минимальными знаниями архитектуры параллельных вычислительных систем. Следует отметить, что использование для программирования нестандартных средств ведет к проблемам при переносе параллельных программ.
Основными чертами параллельного программирования являются высокая эффективность программ, применение специальных приемов и средств программирования, а в результате более высокая трудоемкость программирования, проблемы с переносимостью программ. Эффективность параллельной программы существенно зависит от соотношения времени вычислений и времени коммуникаций между компьютерами. И чем меньше доля времени, затраченного на коммуникации, в общем времени вычислений, тем больше эффективность.
Основным параметром классификации параллельных компьютеров является наличие общей (симметричные мультипроцессорные системы) или распределенной (массивно-параллельные системы) памяти. Нечто среднее между представляют собой NUMA-архитектуры, где память физически распределена, но логически общедоступна. Кластерные системы являются более дешевым вариантом массивно-параллельных систем. Если поддерживаются команды обработки векторных данных, то говорят о векторно-конвейерных процессорах, которые, в свою очередь могут объединяться в системы с использованием общей или распределенной памяти. Кроме того, все большую популярность приобретают идеи комбинирования различных архитектур в одной системе и построения неоднородных систем. При организации распределенных вычислений в глобальных сетях (Интернет) задействованы метакомпьютеры, которые, строго говоря, не представляют из себя параллельных архитектур.
Межрегиональный вычислительный центр Томского государственного университета создан в 2007 году. Установлен суперкомпьютер СКИФ Cyberia.
Для параллельных систем с передачей сообщений оптимальное соотношение между вычислениями и коммуникациями обеспечивают методы так называемого крупнозернистого распараллеливания, когда параллельные алгоритмы строятся из крупных и редко взаимодействующих блоков.
MPMD-модель вычислений. Параллельная программа представляет собой совокупность автономных процессов, функционирующих под управлением своих собственных программ и взаимодействующих посредством стандартного набора библиотечных процедур для передачи и приема сообщений. В самом общем случае параллельная программа реализует MPMD-модель программирования (Multiple Program — Mul¬tiple Data).
SPMD-модель вычислений. Все процессы исполняют в общем случае различные ветви одной и той же программы. Такой подход обусловлен тем обстоятельством, что задача может быть достаточно естественным образом разбита на подзадачи, решаемые по одному алгоритму. На практике чаще всего встречается именно эта модель программирования (Single Program — Multiple Data).
SPMD-модель иначе можно назвать моделью распараллеливания по данным. Суть этого способа заключается в следующем. Исходные данные задачи распределяются по процессам (ветвям параллельного алгоритма), а алгоритм является одним и тем же во всех процессах, но действия его распределяются в соответствии с имеющимися в этих процессах данными. Распределение действий алгоритма заключается, например, в присвоении разных значений переменным одних и тех же циклов в разных ветвях либо в исполнении в разных ветвях разного количества витков одних и тех же циклов и т. п. Иначе говоря, процесс в каждой ветви следует различными путями выполнения на той же самой программе.
В 1994 году был разработан и принят стандартный интерфейс передачи сообщений MPI (Message Passing Interface Standard). MPI — это процедурный интерфейс для языков C и Fortran. Он включает в себя функции, необходимые для организации передачи сообщений точка — точка, для коллективных обменов.
Параллельное приложение состоит из нескольких ветвей, или процессов, или задач, выполняющихся одновременно. Разные процессы могут выполняться как на разных процессорах, так и на одном и том же — для программы это роли не играет, поскольку в обоих случаях механизм обмена данными одинаков.
Интерфейс OpenMP задуман как стандарт для программирования на масштабируемых симметричных мултипроцессорных системах в модели общей памяти. В стандарт OpenMP входят спецификации набора директив компилятора, процедур и переменных среды.
Параллельные вычисления применяются в задачах численного прогноза погоды. Мезомасштабные модели MM5 и WRF используются для решения задач охраны окружающей среды и в исследованиях региональной погоды. Выполнение параллельного программного кода на суперкомпьютере позволяет получать умеренное ускорение численного прогноза.
Распараллеливание вычислительных операций применяется и для моделирования распространения лесного пожара. Симуляция распространения лесного пожара осуществлена с привлечением моделей вычислительной гидродинамики.
В результате вычислительных экспериментов на параллельной системе установлено, что параллельная программа демонстрирует хорошую масштабируемость вплоть до 16 процессоров. При использовании 32 процессоров производительность падает и достигается приблизительно 28-кратное ускорение.
Все вышеупомянутые исследования имеют общую характерную черту — решение поставленных задач требует разработки параллельных программ, в процессе выполнения которых осуществляются обмены информационными пакетами между различными ветвями программы. Как показал анализ результатов вычислительных экспериментов по оценке производительности параллельных программ, это приводит в ряде случаев к заметному падению ускорения с ростом числа задействованных процессоров. Как следствие, возникают некоторые ограничения и проблемы с масштабируемостью таких программ на многопроцессорные вычислительные системы с большим числом процессоров. Увеличение их числа ведет к неоправданному росту накладных расходов на межпроцессорные обмены.
Более привлекательно в плане повышения производительности будет выглядеть параллельная программа, которая в результате вычислений не производит обменов сообщениями между различными узлами суперкомпьютера. Однако не все задачи обладают такими свойствами «естественного» параллелизма. Особым образом можно выделить задачи прогноза лесной пожарной опасности, уровень которой зависит от метеоусловий, антропогенной нагрузки и грозовой активности. Вполне правомочным будет предположение о независимости степени пожарной опасности отдельных участков контролируемой лесной территории. В результате использование высокопроизводительных параллельных технологий при решении задач прогнозирования и мониторинга лесной пожарной опасности даст максимальные эффективность и ускорение параллельных программ.
Основные положения ландшафтного распараллеливания:
1. Математическая постановка должна быть такой, чтобы расчеты для каждого отдельного однородного участка леса не зависели от других участков леса. Другими словами, необходимо разработать математическую постановку, которая бы позволяла вести расчет отдельно по всем выделам.
2. Однородный участок леса должен совпадать с однородными участками леса, принятыми в лесотаксационных описаниях. Отсюда берет свое начало термин ландшафтное распараллеливание.
3. Для обеспечения более или менее равномерной вычислительной загрузки процессорных узлов многопроцессорной вычислительной системы необходимо использовать модель распараллеливания по данным. В MPI, например, может быть использована SPMD-модель вычислений. Хотя равномерная загрузка данными не всегда обеспечивает равномерность вычислительной загрузки.
4. Возможность обеспечивать высокую производительность (быстродействие) параллельной программы на как можно большем количестве многопроцессорных вычислительных систем,
Перевод песни
All of the above studies have a common characteristic feature - the solution of the tasks requires the development of parallel programs, in the process of which the exchange of information packages between different branches of the program is carried out. As the analysis of the results of computational experiments on the assessment of the performance of parallel programs has shown, this leads in some cases to a noticeable drop in acceleration with an increase in the number of processors involved. As a result, there are some restrictions and problems with the scalability of such programs for multiprocessor computing systems with a large number of processors. An increase in their number leads to an unjustified increase in overhead expenses for inter -processor exchange.
A parallel program will look more attractive in terms of increasing productivity, which, as a result of calculations, does not make exchanges of messages between different comprehensive component nodes. However, not all tasks have such properties of “natural” parallelism. In a special way, we can distinguish the tasks of the forecast of forest fire hazard, the level of which depends on weather conditions, anthropogenic load and thunderclivery. The assumption of the independence of the degree of fire hazard of certain sections of the controlled forest area will be quite rightful. As a result, the use of high -performance parallel technologies in solving the tasks of forecasting and monitoring forest fire hazard will give maximum efficiency and acceleration of parallel programs.
The main provisions of landscape parallelization:
1. The mathematical production should be such that the calculations for each individual homogeneous area of the forest do not depend on other parts of the forest. In other words, it is necessary to develop a mathematical setting that would allow the calculation separately for all the strokes.
2. A homogeneous area of the forest should coincide with homogeneous areas of the forest adopted in forestry descriptions. From here, the term landscape parallelization originates from here.
3. To ensure a more or less uniform computing load of the processor units of the multiprocessor computing system, it is necessary to use the parallelization model according to the data. In MPI, for example, a SPMD model of calculations can be used. Although uniform loading with data does not always ensure the uniformity of the computing load.
4. The ability to ensure high performance (speed) of a parallel program on as many multiprocessor computing systems as possible,
Смотрите также: