научная статья по теме Применение параллельных многоядерных систем для эффективного гидродинамического моделирования пластов Геофизика

Текст научной статьи на тему «Применение параллельных многоядерных систем для эффективного гидродинамического моделирования пластов»

УДК 681.518 © К. Ю. Богачев, В. Г. Шелков, 2006

Применение параллельных многоядерных систем для эффективного гидродинамического моделирования пластов

К.Ю. Богачев

(Московский гос. университет), В.Г. Шелков

(«Рок Флоу Динамикс»)

Изменение стратегии увеличения производительности компьютеров

По мнению многих экспертов в области вычислительной техники, в 2006 г. произойдет принципиальная смена стратегии увеличения производительности микропроцессорных платформ: от общей тенденции повышения тактовой частоты к параллелиза-ции внутренней структуры процессора и переходу к так называемой «многоядерной» архитектуре. Хотя многоядерные процессоры использовались и до 2006 г., появление на рынке двухядерных процессоров Pentium D и Core Duo компании Intel впервые сделало эту технологию доступной для массового пользователя. Согласно планам, объявленным компаниями Intel и AMD, уже в 2007 - 2008 гг. на рынке появятся первые четырехядерные процессоры. На их основе планируется создавать 4-8-ядерные персональные компьютеры и 8-16-ядерные серверные платформы.

Изменения стратегии увеличения производительности программных приложений

Очевидно, что для ускорения математического моделирования течения в пласте недостаточно просто приобрести многоядерный компьютер. Необходим переход на программное обеспечение, использующее все структурные возможности этого нового оборудования. В связи с быстрым и всеобщим переходом на параллельные архитектуры микропроцессоров эффективная производительность классических гидродинамических симуля-торов, рассчитанных на одно расчетное ядро, стремительно снижается. Вполне возможна парадоксальная ситуация: переход к новому, более совершенному компьютерному оборудованию с меньшей тактовой частотой одного ядра, но с большим числом ядер, будет вести не к увеличению, а к потере производительности симуляторов.

Разделяемая и распределенная память в вычислительных системах

Рассматриваемые многоядерные системы, содержащие один или два двухядерных (в настоящее время) процессора, относятся к так называемым системам с общей памятью1, в которых каждое из процессорных ядер может обращаться к любому участку оперативной памяти. По цене и удобству работы пользователя такие системы соответствуют персональному компьютеру.

В то же время, кластерные системы, традиционно используемые для параллельных расчетов, относятся к так называемым

Using parallel multicore computer platforms for effective hydrodynamic simulations of underground reservoirs

K.Yu. Bogachev(Moscow State University), V.G. Shelkov (Rock Flow Dynamics)

Ongoing multi-core revolution in processor chip architectures allows moving parallel hydrodynamic simulations from distributed CPU farms to a single server. The combination of the compact size, low cost and energy consumption of a typical server with the power of a distributed parallel cluster makes multi-core systems an attractive option with a potential to redefine the way we run hydrodynamic calculations. Since most such calculations require intensive CPU and memory usage, one need to verify that on the one hand the multi-core hardware architecture is efficient for this kind of requirements, and on the other hand the software performance scales well with number of cores.

системам с распределенной памятью и представляют собой множество одно- или двухпроцессорных систем (узлов кластера), объединенных быстродействующим коммуникационным каналом. У этой группы компьютеров есть выделенная управляющая машина, принимающая задания от пользователя и ставящая их в очередь на исполнение. Кластерная система требует размещения в аппаратной с достаточным охлаждением из-за высокого энергопотребления и уровня шума при работе, имеет высокую стоимость как оборудования, так и владения (расходы на электроэнергию и системное администрирование).

Типичная схема инженерных расчетов на кластере выглядит следующим образом:

- подготовка данных на персональных компьютере (обычно под управлением MS Windows);

- копирование данных на управляющую машину кластера;

- вход по сети на управляющую машину кластера (обычно под управлением операционной системы Linux) и постановка задания в очередь заданий;

- копирование результатов по сети с управляющей машины кластера на персональный компьютер (после того, как дойдет очередь на исполнение и завершится расчет);

1Богачев К.Ю. Основы параллельного программирования. - М.: Изд-во «ФИЗМАТЛИТ». - 2003. - 342 с.

- запуск средств визуализации расчета на персональном компьютере.

Часто при наличии кластерной системы инженеры предпочитают расчеты на персональном компьютере из-за большой очереди заданий при коллективном использовании (время ожидания в очереди плюс время расчета могут оказаться сравнимыми со временем расчета на персональном компьютере); неудобства описанной процедуры при ежедневном использовании; наличия в симуляторе удобного графического средства мониторинга расчета на персональном компьютере (расчет при адаптации модели может быть остановлен досрочно, что значительно сокращает время адаптации). Поэтому задача сочетания удобства персонального компьютера и вычислительной мощности кластера достаточно актуальна.

Многопоточное и MPI программирование

Программирование систем с общей памятью может быть основано на потоках (threads), когда в рамках одного вычислительного процесса запускается сразу несколько потоков исполнения, распределяемых операционной системой на разные процессорные ядра. При этом потоки исполнения могут обращаться к любому участку памяти, и необходимо только позаботиться об их взаимной синхронизации.

Программирование систем с распределенной памятью (кластеров) обычно основано на Message Passing Interface (MPI). При этом необходимо обеспечить как передачу данных между запущенными на каждом узле кластера процессами, так и их взаимную синхронизацию. Отметим, что интерфейс MPI может быть использован для программирования систем с общей памятью, однако по сравнению с многопоточными программированием появляются дополнительные накладные расходы на пересылку данных, в том числе находящихся в общей памяти; требуется установка дополнительного программного обеспечения для поддержки MPI.

Особенности гидродинамических расчетов

Гидродинамический симулятор большую часть времени решает сложную систему линейных уравнений с разреженной матрицей. Из этого вытекают следующие основные особенности моделирования пласта:

- потребность в высокой пропускной способности подсистемы памяти; специфика операций с разреженной матрицей такова, что увеличение размера процессорного кэша существенно не влияет на скорость расчета; повышение же тактовой частоты памяти пропорционально ускоряет расчет;

- потребность в быстродействующей арифметике с плавающей точкой, поскольку именно такие операции составляют большинство;

- трудность в распараллеливании алгоритмов решения, так как самые быстрые алгоритмы решения систем с разреженными матрицами - существенно последовательные.

Потребность в высокой пропускной способности подсистемы памяти приводила к тому, что предыдущие поколения двухпроцессорных архитектур от Intel не находили широкого применения в гидродинамических расчетах, так как оба процессора разделяли одну шину доступа к памяти и постоянно вступали в конфликт из-за нее. В новых архитектурах на процессорах Dempsey и Woodcrest каждый из процессоров своей шиной подключен к коммутатору памяти, состоящему из двух двухканальных кон-

троллеров памяти, что в 2 раза увеличивает пропускную способность памяти и позволяет этим процессорам работать с данными параллельно. Конфликт из-за доступа к памяти возникает теперь только между ядрами одного физического процессора.

Отметим, что двухпроцессорная система с двухядерными процессорами не является симметричной по отношению к доступу к памяти. Если расчет вести параллельным симулятором двумя потоками исполнения, то, очевидно, скорость будет различна, если эти два потока будут распланированы операционной системой на два разных физических процессора или на два ядра одного процессора.

Визуализация и интерактивность в гидродинамических симуляторах

Графическая визуализация процесса расчета позволяет значительно сократить время адаптации модели (history matching). Визуализация карт физических свойств, трубок тока, давлений на забое и дебитов скважин позволяет приостановить расчет при значительном расхождении с историческими данными или физической картиной течения в пласте. Интерактивность симу-лятора дает возможность своевременно изменить свойства модели, режимы работы скважин и продолжить расчет.

Реализация визуализации и интерактивности в симуляторе возможна без потери производительности только для систем с общей памятью. В кластерных системах это сложно с программной точки зрения и требует пересылки по сети значительных объемов данных.

Современный гидродинамический симулятор

Из изложенного можно сделать вывод о том, что современный симулятор должен использовать все возможности многоядерных систем, реализовывать параллельность работы за счет многопо-точности и обеспечивать графическую визуализацию и интерактивное взаимодействие с процессом расчета.

Такой программой моделирования является параллельный гидродинамический симулятор tNavigator, разработанный российской компанией «Рок Флоу Динамикс», который был использован для изучения потенциала многоядерных систем. Симулятор tNavigator - это один из первых полнофункциональных трехфазных симуляторов, эффективно использующий многоядерные системы с общей памятью. Вычисления выполняются по полностью неявной схеме и могут быть разбиты на произвольное число параллельных потоков расчета в зависимости от числа самостоятельных ядер системы и необходимости в том или ином уровне распараллеливания расчета (рис. 1). Это позволяет использовать симулятор tNavi-gator как в одно- и двухядерном, так и в суперкомпьютерном (многоядерном) варианте.

Тестовые примеры

Для проведения экспериментов были использованы четыре модели реальных месторождений.

1. Двухфазная модель черной нефти с 31923 активными блоками и 417 скважинам

Для дальнейшего прочтения статьи необходимо приобрести полный текст. Статьи высылаются в формате PDF на указанную при оплате почту. Время доставки составляет менее 10 минут. Стоимость одной статьи — 150 рублей.

Показать целиком