Суперкомпьютеры в 3D моделировании разработки нефтяных и газовых месторождений режима реального времени

   Федеральное агентство по образованию  РФ

   _______________ 

   РОССИЙСКИЙ  ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ НЕФТИ И ____________________ГАЗА имени И.М. ГУБКИНА__________________ 

   Кафедра Разработки и эксплуатации нефтяных месторождений 
 
 

   РЕФЕРАТ

на тему: «Суперкомпьютеры в 3D моделировании разработки нефтяных и газовых месторождений режима реального времени» 
 
 
 

 Выполнила: магистрантка гр. НГМ-10-1

                                                                Сыпченко С.И.

                       Проверил:               к.т.н. Еремин Н.А.               
             
             
             
             
             

МОСКВА - 2011

ОГЛАВЛЕНИЕ

ВВЕДЕНИЕ 3

КОМПЬЮТЕРНОЕ МОДЕЛИРОВАНИЕ 5

НЕОБХОДИМОСТЬ СУПЕРКОМПЬЮТЕРНОГО МОДЕЛИРОВАНИЯ В НЕФТЕГАЗОВОЙ ОТРАСЛИ 7

ЭФФЕКТИВНОСТЬ, УСКОРЕНИЕ, МАСШТАБИРУЕМОСТЬ 10

ОБЗОР ВЫЧИСТЛИТЕЛЬНЫХ СИСТЕМ 13

ОСОБЕННОСТИ ПАРАЛЛЕЛЬНЫХ АЛГОРИТМОВ РЕШЕНИЯ ЗАДАЧ ПОДЗЕМНОЙ ФИЛЬТРАЦИИ 15

       Неравномерность загрузки 15

       Решение систем линейных уравнений 17

       Оптимальное разбиение 18

       Другие методы ускорения 20

ВОПРОСЫ ВИЗУАЛИЗАЦИИ 22

ПРАКТИЧЕСКОЕ ПРИМЕНЕНИЕ 24

ЗАКЛЮЧЕНИЕ 25

СПИСОК ЛИТЕРАТУРЫ 26 

 

   ВВЕДЕНИЕ

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

   Нефть и природный газ являются важнейшими источниками энергии и сырьем для химической промышленности. Энергию  и материалы, производимые из нефти  и газа, ежедневно используют миллиарды  людей по всему миру. Ежедневно  по всему земному шару добывается более 80 миллионов баррелей нефти  в сутки. Россия среди стран производителей этого углеводородного сырья  занимает одно из первых мест. После  сильного спада добычи в 1990-е годы, связанного с экономическим кризисом в РФ и низкими ценами на нефть, которые в отдельные годы не превышали 15 долларов США за баррель, наступил период резкого подъема мировых  цен на нефть. В связи с этим Россия в последние годы наращивает уровень добычи нефти год от года. За 2005 год было добыто 469,6 миллиона тонн нефти, а за 2006 год - 480 миллиона тонн нефти.

   Россия  располагает одними из богатейших запасов  нефти в мире и в дальнейшем собирается продолжать наращивание  ее добычи. Однако извлекать нефть  из большинства месторождений становится все сложнее. В процессе добычи нефти  в пласт необходимо закачивать воду и специальные составы для  вытеснения углеводородного сырья. С увеличением срока службы месторождения  воды и реагентов закачивается все  больше. Уже в 1990 году обводненность  продукции нефтяных месторождений  в среднем по стране достигла 76%, а на некоторых превысила 90%. В  последние полтора десятилетия  ситуация не улучшилась, так как  вложения в разведку новых месторождений  были незначительными, и в настоящее  время компании продолжают эксплуатировать  истощенные залежи, обнаруженные еще  в Советском Союзе.

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

   КОМПЬЮТЕРНОЕ  МОДЕЛИРОВАНИЕ

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

   Созданием программного обеспечения для моделирования  нефтяных и газовых месторождений  занимаются многие фирмы. Одни из самых  мощных пакетов разрабатывают крупнейшие энергетические сервисные компании Schlumberger (пакеты GeoFrame, Eclipse и другие) и Halliburton (продукты марки Landmark). Среди поставщиков ПО также можно отметить активно работающую в России компанию Roxar (пакеты IRAP RMS, TEMPEST и др.) и фирму CMG (продукты IMEX, STARS и др.). Многие крупные нефтяные компании используют пакеты собственной разработки.

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

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

   До  последнего времени для создания кластеров использовались преимущественно  решения на основе Unix-подобных ОС (Linux, AIX и т.д.) и разработанных для  них пакетов для кластерных вычислений. Данные решения поддерживаются разработчиками ПО для нефтегазовой отрасли и  неплохо себя зарекомендовали. Однако в некоторых случаях пользователи сталкиваются со сложностью конфигурирования и администрирования, а компании - с необходимостью в большом числе  ИТ-специалистов, обслуживающих систему. 
 
 
 
 
 
 
 
 
 

   НЕОБХОДИМОСТЬ СУПЕРКОМПЬЮТЕРНОГО МОДЕЛИРОВАНИЯ В  НЕФТЕГАЗОВОЙ ОТРАСЛИ

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

   Уровень развития вычислительной техники сегодня  во многом определяет темпы технического прогресса и успехи в решении  фундаментальных научных задач, среди которых общепризнанным является класс проблем Grand challenges: это фундаментальные  научные или инженерные задачи с широкой областью применения, эффективное решение которых возможно только с использованием мощных (суперкомпьютерных) вычислительных ресурсов, с производительностью сотен Gflops (~1012 операций в секунду) и выше. Одна из таких задач —  моделирование  оптимальной стратегии разработки  месторождений  нефти и газа, создание и использование постоянно действующих геолого-технологических моделей для управления разработкой  месторождений  нефти и газа, требующих обработки огромных массивов информации.

   Все мировые  нефтегазовые  компании в той или иной мере уже используют численное  моделирование  при разработке новых  месторождений  и определении оптимального метода извлечения ресурсов.  Нефтегазовая  отрасль сейчас становится одним из лидеров по потреблению высокопроизводительных ресурсов — рост вычислительных мощностей в этом сегменте составляет до 100% в год. В общей сложности 10%  суперкомпьютеров  из мирового рейтинга ТОП 500 используются для задач геофизики. Роль высокопроизводительных вычислений в  нефтегазовом  секторе растет с каждым годом, ведь средние показатели выработки  месторождений  снижаются, а требования к эффективности их использования становятся все более жесткими из-за вовлечения в разработку всё более трудноизвлекаемых запасов.

   Успех поисково-разведочных работ повышается за счет высокопроизводительной обработки  и интерпретации сейсмических данных, а эффективность недропользования увеличивается за счет высокоточного  гидродинамического  моделирования. В частности, на старых, истощенных месторождениях эти методы позволяют существенно повысить коэффициент нефтеизвлечения. По данным энергетического консалтингового агентства CERA (США), в ближайшие 3–5 лет использование суперкомпьютерных расчетов обеспечит:

  • рост количества добываемой из месторождения нефти на 2–7%;
  • сокращение расходов на нефтедобычу на 10–25%;
  • повышение нормы выработки на 2–4%.

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

   Геологические модели месторождений, получаемые на основе каротажных исследований, из сейсмических данных, путём геостатистического  моделирования, на 1–2 порядка детальнее, чем осреднённые гидродинамические модели, на которых проводится расчёт. К примеру, типичные геологические модели имеют размер до десяти миллионов ячеек, тогда как размер стандартной гидродинамической модели составляет порядка нескольких сотен тысяч ячеек. Осреднение моделей, также называемое ремасштабированием, нельзя проводить в сколь угодно больших масштабах: на определённом этапе укрупнения картина течения перестаёт отражать реальную ситуацию и полностью искажается.

   В последнее время начали создаваться  гигантские гидродинамические модели, размеры которых выходят далеко за рамки возможностей обычных персональных компьютеров. Модель, описывающая месторождения  со сложным геологическим строением, разломами, трещиноватостью, может  быть задана на сложной нестыкованной  сетке и содержать несколько  тысяч скважин. История разработки месторождения может насчитывать 20, 50 лет и более. В качестве примера можно назвать модель Талинской площади Красноленинского месторождения, проведение качественного построения которой на обычном компьютере за приемлемое время не представляется возможным.

   Немаловажным  моментом также является необходимость  расчёта усложнённых моделей, в  которых требуется учесть ряд  специфических физических эффектов:

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

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

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

    Необходимость проведения ресурсоёмких расчётов за короткое время приводит к необходимости распараллеливания  — ускорения решения за счет разбиения  на подзадачи с одновременным  их выполнением в параллельном режиме в виде нескольких процессов. В задачах гидродинамического моделирования большая сложная модель разбивается на множество небольших, рассматриваемых каждая в своей подобласти. При этом каждая подобласть рассчитывается одновременно независимо и связно — параллельно — в своём процессе (рис. 1).

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

   ЭФФЕКТИВНОСТЬ, УСКОРЕНИЕ, МАСШТАБИРУЕМОСТЬ

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

   Здесь  — число процессов,  — время выполнения последовательного алгоритма,  — время выполнения параллельного алгоритма на процессах.

   Эффективность определяется формулой 

   Далеко  не всякую задачу можно разбить на произвольное число совершенно независимых  подзадач, что определяет отличие  получаемого ускорения от идеального. Среди причин замедления отметим  следующие:

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

    2.     Важной проблемой при распараллеливании алгоритмов является доля кода, которая не поддаётся параллелизации. Это является критичным, поскольку время выполнения такой части программы не может быть снижено путём увеличения процессорных мощностей и определяет теоретический предел возможного ускорения программы, который носит название закона Густафсона. Пусть имеется p процессов, а также известно, что доля от общего объема вычислений, получаемая исключительно последовательными расчетами, составляет α, а может быть распараллелена идеально, тогда предел ускорения выражается формулой: .

    Более общим соотношением является закон Амдала: .

    Здесь  — доля кода, которая может быть ускорена или замедлена,  — множитель ускорения или замедления, k — номер условно разделённого участка кода.

    Степень близости получаемого при расчетах ускорения к теоретическому пределу (верхняя кривая, рис. 2) говорит об эффективности параллельного алгоритма. Можно видеть, что даже незначительная доля алгоритма, не поддающаяся распараллеливанию, существенно снижает максимально достижимое ускорение.

    3.     Замедление происходит также при неравномерной загрузке, когда производительность каждого из процессов в точности неодинакова (например, из-за использования в кластере узлов с различными процессорами), см. рис. 3. Важно, чтобы подзадачи обладали примерно одинаковой сложностью (т.е. требовали для своего решения примерно одинакового количества ресурсов). Соблюдение последнего правила называется балансировкой нагрузки.

   Решение указанных проблем является основной задачей при разработке параллельного  программного обеспечения.

   В параллельных вычислениях также  выделяют понятие масштабируемости, характеризующее способность системы увеличивать свою производительность при добавлении ресурсов. Система называется масштабируемой, если она способна увеличивать производительность пропорционально дополнительным ресурсам. Масштабируемость можно оценить через отношение прироста производительности системы к приросту используемых ею ресурсов. Чем ближе это отношение к единице, тем лучше.

   Следует отметить, что масштабируемость зависит  как от алгоритма, так и от входных  данных. В частности, масштабируемость при моделировании разработки месторождений обычно зависит от размеров и сложности модели и часто снижается при использовании стандартных подходов. Важным критерием, определяющим масштабируемость задачи расчёта модели, является баланс загрузки вычислительных мощностей, на который непосредственно влияет разбиение области моделирования на расчетные подобласти.

   

   Рис. 2. Иллюстрация к закону Амдала

    

   Рис. 3. Балансировка загрузки

   ОБЗОР ВЫЧИСТЛИТЕЛЬНЫХ  СИСТЕМ

   Параллельные  вычислительные системы можно разделить  на системы с общей памятью и системы с распределенной памятью (табл. 1). Системы с общей памятью хороши тем, что доступ к данным соседней подзадачи можно осуществить непосредственно. Это позволяет избежать дополнительных расходов, связанных с пересылкой информации по локальной сети. Примером систем с распределённой памятью являются кластеры — несколько компьютеров объединенных друг с другом через локальную сеть. Производительность такой системы сильно зависит от типа и качества используемой коммуникационной среды. Сегодня это могут быть Ethernet, Myrinet, или сравнительно новая и развивающаяся InfiniBand.

   
   Общая память    Распределённая  память
   Сервер    Кластер
   8 процессорных ядер, ОЗУ 16 Гб    128 процессорных  ядер, ОЗУ 128 Гб и выше
   Нет прямых обменов    Есть  прямые обмены
   OpenMP — директивы компилятора    MPI — функции обмена

   Табл. 1. Характеристики стандартных параллельных вычислительных систем

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

   Представители систем с общей памятью — обычные  рабочие станции с современными многоядерными процессорами. При проведении расчетов используют рабочие станции повышенной производительности с увеличенными ресурсами, их в дальнейшем будем называть серверами.

   Каждый  тип систем имеет свои преимущества при проведении расчётов. Модель, если она подойдёт для сервера по ресурсам памяти, пойдёт на счет с той скоростью, с которой позволят процессорные ресурсы.

   Использование кластеров — систем с распределённой памятью — позволяет полностью  преодолеть ограничения на размер памяти и производительность персонального компьютера и провести расчёт модели практически неограниченных размеров.

   В настоящий момент фактическим стандартом среди инструментов обмена, предназначенных  для вычислительных систем с распределенной памятью, является библиотека MPI, которая имеет реализации под платформы Windows и Linux. Она представляет собой набор процедур для пересылки данных и синхронизации. Использование в качестве функций обмена стандарта MPI позволяет скомпилировать и запустить программу как на кластере, так и машинах, объединённых в обычную локальную сеть, или просто отдельных рабочих станциях. Таким образом, программы, написанные на MPI, являются универсальными, однако для класса систем с общей памятью более подходят специальные средства распараллеливания, такие как директивы компилятора OpenMP.

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

     Пример такой системы —  суперкомпьютер  «СКИФ» в НИВЦ МГУ с пиковой производительностью 60 TFlops, ставший на момент выхода в 2007 г. самым мощным в странах СНГ и Восточной Европы и занявший 22 место в мировом списке Топ-500, был построен именно на основе кластерных технологий.

   Помимо  «СКИФ» МГУ в России сейчас доступны другие современные мощные кластеры научных институтов или кластеры сервисных компаний. Помимо кластерных комплексов весьма эффективно могут  быть использованы и многоядерные системы  с общей памятью для расчетов средних и небольших серий  моделей. 
 
 
 
 
 
 

   ОСОБЕННОСТИ ПАРАЛЛЕЛЬНЫХ АЛГОРИТМОВ РЕШЕНИЯ ЗАДАЧ  ПОДЗЕМНОЙ ФИЛЬТРАЦИИ

   Неравномерность загрузки

   Как известно, гидродинамическая модель задаётся на трёхмерной регулярной, вообще говоря, нестыкованной сетке (рис. 4). Часть ячеек может соответствовать непроницаемой породе, в этом случае они объявляются неактивными и исключаются из рассмотрения, в результате чего число содержательных ячеек сокращается на 10%–80 %. Вместе с тем, современные модели, получаемые путём всё более точных измерений, содержат всё более подробные расчётные сетки.

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

     

   Рис. 4. Пример модели. Вертикальный разрез нестыкованной сетки

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

   Параллельные  вычисления предполагают разбиение  заданной области на расчётные подобласти. В силу того, что, как правило, скважины (рис. 5) преимущественно располагаются вертикально или почти вертикально, расчётная сетка разбивается на прямоугольные в плане участки. На границах между процессами устраивается обмен расчётными данными. Очевидно, необходимо разделить область так, чтобы как можно более равномерно распределить активные ячейки и тем самым оптимально распределить загрузку ядра процессора. Очень важно также равномерно распределить обмены между процессами, также учитывая распределение активных ячеек. Сразу отметим, что возможность сразу и автоматически оптимально разбить область и использовать разбиение на произвольном числе подобластей создаёт предпосылки для масштабируемости программы. Как показывают практические расчёты, при правильном разбиении области можно достичь приемлемого баланса загрузки задачи для произвольного числа вычислительных ядер.  

   

   Рис. 5. Пример модели. Скважины отмечены вертикальными  линиями

   В качестве показателя равномерности  загрузки можно ввести параметр                                          

   ,

   где  — общее число активных ячеек,  — число активных ячеек в подобласти,  — число процессов. Число - представляет собой максимальное ускорение за счёт параллельности, которое можно достичь при данном разбиении. Например, если баланс загрузки 80% для задачи на пять процессов, то максимальное ускорение за счёт параллельности составит не больше 4, если не учитывать ускорение, даваемое кэш-памятью процессора. На самом деле реальное ускорение будет существенно меньше. Поэтому необходимо следить за этим параметром, особенно при вычислениях на кластерах с «неоднородными» узлами.

Суперкомпьютеры в 3D моделировании разработки нефтяных и газовых месторождений режима реального времени