Паралельна реалізація розщепленої моделі однієї задачі фізики атмосфери

Розглядається методика створення паралельної програмної реалізації для ефективного чисельного розв’язування методом покоординатного розщеплення моделі, що застосовується для чисельного прогнозу погоди. Методика забезпечує кількісні і якісні вдосконалення чисельних розв’язків. Наводяться результати ч...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Datum:2008
Hauptverfasser: Тирчак, Ю.М., Черниш, Р.І.
Format: Artikel
Sprache:Ukrainisch
Veröffentlicht: Інститут програмних систем НАН України 2008
Schlagworte:
Online Zugang:https://nasplib.isofts.kiev.ua/handle/123456789/1439
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Назва журналу:Digital Library of Periodicals of National Academy of Sciences of Ukraine
Zitieren:Паралельна реалізація розщепленої моделі однієї задачі фізики атмосфери / Ю.М. Тирчак, Р.І. Черниш // Пробл. програмув. — 2008. — N 2-3. — С. 133-138. — Бібліогр.: 10 назв. — укp.

Institution

Digital Library of Periodicals of National Academy of Sciences of Ukraine
_version_ 1859685356965724160
author Тирчак, Ю.М.
Черниш, Р.І.
author_facet Тирчак, Ю.М.
Черниш, Р.І.
citation_txt Паралельна реалізація розщепленої моделі однієї задачі фізики атмосфери / Ю.М. Тирчак, Р.І. Черниш // Пробл. програмув. — 2008. — N 2-3. — С. 133-138. — Бібліогр.: 10 назв. — укp.
collection DSpace DC
description Розглядається методика створення паралельної програмної реалізації для ефективного чисельного розв’язування методом покоординатного розщеплення моделі, що застосовується для чисельного прогнозу погоди. Методика забезпечує кількісні і якісні вдосконалення чисельних розв’язків. Наводяться результати чисельного експерименту та їх паралельної реалізації. A technique is considered for efficient numerical solution of per-coordinate splitting of physical model that arise in numeric meteoroligic modeling and air pollution. The technique leads to significant quantitive and qualitative improvements in the behaviour of the numerical solutions. The study shows that the first-order upstream scheme is stable and efficient. The results of a numerical experiment and their parallel implementations are provided.
first_indexed 2025-11-30T22:03:56Z
format Article
fulltext Паралельне програмування. Розподілені системи і мережі © Ю.М. Тирчак, Р.І. Черниш, 2008 ISSN 1727-4907. Проблеми програмування. 2008. № 2-3. Спеціальний випуск 133 УДК 681.3 ПАРАЛЕЛЬНА РЕАЛІЗАЦІЯ РОЗЩЕПЛЕНОЇ МОДЕЛІ ОДНІЄЇ ЗАДАЧІ ФІЗИКИ АТМОСФЕРИ Ю.М. Тирчак, Р.І. Черниш Інститут програмних систем НАН України. 03187, Київ, проспект Академіка Глушкова, 40, корп. 5. E-mail: chacke@gmail.com Український гідрометеорологічний інститут. 03028, Київ, проспект Науки, 37. E-mail: chernysh@uhmi.org.ua Розглядається методика створення паралельної програмної реалізації для ефективного чисельного розв’язування методом покоординатного розщеплення моделі, що застосовується для чисельного прогнозу погоди. Методика забезпечує кількісні і якісні вдосконалення чисельних розв’язків. Наводяться результати чисельного експерименту та їх паралельної реалізації. A technique is considered for efficient numerical solution of per-coordinate splitting of physical model that arise in numeric meteoroligic modeling and air pollution. The technique leads to significant quantitive and qualitative improvements in the behaviour of the numerical solutions. The study shows that the first-order upstream scheme is stable and efficient. The results of a numerical experiment and their parallel implementations are provided. Вступ Для математичного моделювання фізичних процесів, що відбуваються в атмосфері Землі, як правило, використовують гідродинамічні моделі, в основу яких покладено рівняння Нав’є–Стокса із залученням для замкнення системи рівнянь стану, тепло- та масопереносу [1–3]. Складність фізичного механізму процесів руху в атмосфері зумовлює структурну складність системи рівнянь. Це нелінійні диференційні рівняння в частинних похідних другого порядку з малими параметрами біля старших похідних. Нелінійний характер рівнянь сприяє появі у розв’язку нестійкості, вузьких перехідних зон з великими градієнтами функцій та досить складних просторово-часових структур. Завдяки наявності малого параметра біля старших похідних ці рівняння можуть змінювати свій тип (параболічний, гіперболічний чи еліптичний) в залежності від режиму руху в атмосфері. До того ж, суттєвими є складнощі з постановкою додаткових умов для модельних рівнянь [4]. Сучасні екологічні та метеорологічні завдання, котрі постають перед науковцями вимагають збільшення точності, а головне детальності прогнозу, що неминуче веде до різкого збільшення кількості обчислень. Попри постійне збільшення продуктивності процесорів такі задачі є нерозв’язними на персональному комп’ютері в реальному часі. На зміну приходять інші технологічні рішення – суперкомп’ютери, обчислювальні кластери та мережі розподілених обчислень, де вирішенням задач зайняті багато процесорів. Написання програм для вирішення зазначених задач на „паралельній” платформі практично завжди вимагає проектування алгоритму відмінного від „послідовного”. Найбільш універсальним підходом є крупноблочне розпаралелювання, суть якого полягає у розбитті задачі на великі інформаційно-незалежні блоки обчислень і розподілення їх між процесами для паралельної обробки [5–7]. Досить часті випадки, коли далеко не найкращі послідовні алгоритми виявляються найбільш ефективними в паралельній реалізації. Розпаралелювання з розбиттям області даних на фрагменти ставить перед проектувальником нову проблему, а саме постановку крайових умов для кожного фрагменту. До того ж це накладає додаткове обмеження на точність прогнозу. У зв’язку з цим, до розгляду пропонується покоординатне розщеплення системи рівнянь з подальшим обчисленням на окремих вузлах. Така модель містить часті обміни даних, тому за цільову платформу обрано кластер та суперкомп’ютер зі спільною пам’яттю. 1. Математична модель та побудова різницевого методу Зважаючи на всю складність повної задачі моделювання фізичних процесів в атмосфері, обмежимося лише розглядом атмосферного руху за умови, що відомі кількісні характеристики решти процесів та додаткові умови для рівнянь руху. Звісно, така постановка проблеми є дуже спрощеною та не може бути використана з метою застосування у практичній діяльності. Але вона є цілком прийнятною для проведення чисельних експериментів, які випробовують ті чи інші чисельні схеми щодо придатності їх для розв’язання моделі в цілому, оскільки в такій постановці зберігаються головні особливості повної моделі. Як відомо [1], закон зміни кількості руху в моделі циркуляції атмосфери має такий запис у векторній формі (рівняння руху): Паралельне програмування. Розподілені системи і мережі 134 DGVpgrad dt dV ++×Θ− ρ −= 2 1 , а закон збереження маси виражається рівнянням нерозривності ( ) 0=ρ+ ∂ ρ∂ Vdiv t , де ρ – густина повітря, p – атмосферний тиск, ( )wvuV ,,= – вектор швидкості (вітер), ( )gG −= ,0,0 – вектор сили гравітації, ( )ϕϕ sin,cos,0 ΩΩ=Θ – вектор обертової швидкості Землі, D – вектор сил дисипації, що діють в атмосфері. Для подальшої чисельної реалізації розглянемо модель руху у вільній атмосфері (висоти понад 2 км) та зробимо припущення, що атмосфера є нестисливим середовищем ( 0=divV ). Тоді початкова модель руху спроститься та в сферичній системі координат набуде вигляду ( ) −      ∂ ∂ ρ µ ∂ ∂+      ∂ϕ ∂ ρ µ ∂ϕ ∂+       ∂λ ∂ ϕρ µ ∂λ ∂= ∂ ∂+ ∂ϕ ∂+ ∂λ ∂ ϕ + ∂ ∂ z u z u a u az u w u a vu a u t u vhh 22coscos ϕ ϕ ϕ ϕ∂λ ∂ ϕρ cos2 cos sin2 cos 1       Ω+−      Ω++− a u w a u v p a cos , (1) ( ) −      ∂ ∂ ρ µ ∂ ∂+      ∂ϕ ∂ ρ µ ∂ϕ ∂+       ∂λ ∂ ϕρ µ ∂λ ∂= ∂ ∂+ ∂ϕ ∂+ ∂λ ∂ ϕ + ∂ ∂ z v z v a v az v w v a vv a u t v vhh 22coscos a wv a u u p a −ϕ      Ω+ ϕ − ∂ϕ ∂ ρ − sin2 cos 1 , (2) ϕ= ∂ϕ ∂+ ∂λ ∂ ϕ + ∂ ∂ tg z vv z u zz w 11 cos , (3) де λ – довгота; ϕ – широта; z – висота над рівнем моря; u – горизонтальна складова вітру, що направлена вздовж довготи; v – горизонтальна складова вітру, що направлена вздовж широти; w – вертикальна складова вітру; a – середній радіус Землі; Ω – кутова швидкість обертання Землі; ρ – густина повітря; hµ – коефіцієнт горизонтальної турбулентної дифузії; vµ – коефіцієнт вертикальної турбулентної дифузії. Оберемо просторову область розв’язання задачі в межах території, де наявні дані об’єктивного аналізу: [ ]90;0∈λ , [ ]90;0∈ϕ . Щоб запобігти ускладненню моделі (1) – (3) урахуванням впливу рельєфу земної поверхні, а також її типу (тверда поверхня чи вода) будемо розглядати висоти [ ]18000;8000∈z , де ці впливи є несуттєвими. За часовий проміжок інтегрування задачі оберемо одну добу: [ ]360024;0 ⋅∈t . Для задання початкових та крайових умов для wvu ,, будемо використовувати архівні дані об’єктивного аналізу відповідних метеовеличин із подальшою їх часовою та просторовою інтерполяцією на відповідні сітки. Зрозуміло, що модель (1) – (3) із таким заданням додаткових умов не є замкненою. Тому задання поля тиску для всієї області розв’язання в проміжні моменти часу будемо також здійснювати шляхом інтерполяції архівних даних об’єктивного аналізу. Зробимо кілька зауважень, що стосуються інтерполяції тиску та швидкості вітру. Будемо використовувати найпростішу інтерполяцію – лінійну. Для інтерполяції тиску за часом та за горизонтальними напрямками (на сталих висотах) використовується безпосередньо значення p . Для інтерполяції тиску за вертикаллю слід лінійно інтерполювати значення pln , бо саме ця величина є лінійно розподіленою з висотою. Слід зауважити, що швидкість вітру – векторна величина. До того ж, її компоненти vu, на два порядки більші за компоненту w . Тому можна розглядати як вектор лише компоненти vu, , а w – як деяку скалярну величину. Так, w інтерполюється лінійно за простором та часом. Векторну величину vu, інтерполюємо лінійно за модулем та кутом повороту. Перейдемо до чисельного розв’язання задачі (1) – (3). Спочатку застосуємо розщеплення за напрямками для рівнянь (1), (2) та отримаємо таку сукупність одновимірних задач: Паралельне програмування. Розподілені системи і мережі 135 ( ) ∂λ ∂ ϕρ −        ∂λ ∂ ϕρ µ ∂λ ∂= ∂λ ∂ ϕ + ∂ ∂ p a u a u a u t u h coscoscos 11 2 11 , ϕ      Ω+ ϕ +      ∂ϕ ∂ ρ µ ∂ϕ ∂= ∂ϕ ∂ + ∂ ∂ sin2 cos 2 2 22 a u v u a u a v t u h , (4) ϕ      Ω+ ϕ −      ∂ ∂ ρ µ ∂ ∂= ∂ ∂ + ∂ ∂ cos2 cos 333 a u w z u zz u w t u v , nnnn uuuu === 321 , ( ) 33 3 3 2 3 1 1 ++++ ++= nnnn uuuu , ( ) ϕ      Ω+ ϕ −        ∂λ ∂ ϕρ µ ∂λ ∂= ∂λ ∂ ϕ + ∂ ∂ sin2 cos 1 2 11 a u u v a v a u t v h coscos , ∂ϕ ∂ ρ −      ∂ϕ ∂ ρ µ ∂ϕ ∂= ∂ϕ ∂ + ∂ ∂ p a v a v a v t v h 12 2 22 , (5) a vw z v zz v w t v v −      ∂ ∂ ρ µ ∂ ∂= ∂ ∂ + ∂ ∂ 333 , nnnn vvvv === 321 , ( ) 33 3 3 2 3 1 1 ++++ ++= nnnn vvvv , де n – індекс часового шару, ( ) ( )( )( )22222 0 cos08.0 dch DDaks +ϕ∆+ϕλ∆+=µ , ϕ− ϕ∂ ∂− λ∂ ∂ ϕ = vtg vu Dc cos 1 , ϕ+ ϕ∂ ∂+ λ∂ ∂ ϕ = utg uv Dd cos 1 , 22       ∂ ∂+      ∂ ∂=µ z v z u bv , λ∆ , ϕ∆ – кроки відповідних сіток, s – параметр варіації рівня дисипації в моделі, b , 0k – сталі величини. Параметризація коефіцієнтів дифузії обрана згідно [2, 3, 8]. Таке розщеплення рівнянь (1), (2) дозволяє обчислювати їх складові паралельно, оскільки всі три одновимірні задачі з (4), (5) не потребують обмінів даними в процесі обробки. Для розв’язання отриманої системи рівнянь задачі конвективної дифузії використаємо метод, що запропонований в [4, 9]. Слід зауважити, що розв’язання всіх одновимірних задач здійснюється із часовим кроком τ3 , де τ – крок розв’язання багатовимірної задачі. Тому крайові умови для цих підзадач слід ставити також на момент часу τ3+nt . Інтегрування діагностичного рівняння (3) із застосуванням правила трапецій, дає рекурентну формулу для обчислення w ( )( ) a LLzz ww mmmmn m n m 2 111 1 1 −−+ − + +− −= , (6) де 1 cos 1 +       − ∂ ∂+ ∂ ∂= n m m vtg vu L ϕ ϕλϕ , m – номер вертикального рівня. Зрозуміло, що для використання формули (6) необхідне задання лише крайової умови на нижній межі області розв’язання, тобто 1 0 +nw . Паралельне програмування. Розподілені системи і мережі 136 2. Проектування паралельного алгоритму Прогнозування за моделлю (4) – (6) здійснюється шляхом обчислення її параметрів з маленьким часовим кроком, щоразу використовуючи дані кроку попереднього та крайові умови. Так, основна частина алгоритму становить цикл (рис 1.), котрий складається з наступних обчислювальних блоків, розділених синхронізацією: 1. Знаходження крайових умов для поточного кроку шляхом інтерполяції значень тиску P для всього об’єму та значень горизонтальних швидкостей U та V для меж області. Розпаралелювання цієї частини не є ефективним, оскільки занадто великі затрати на синхронізацію, що додатково виникнуть при цьому; 2. Визначення покоординатних складових швидкостей 1 u , 2 u , 3 u , 1 v , 2 v , 3 v . Обчислення їх для всього об’єму не потребує обмінів даних і може здійснюватись паралельно. Всього таких блоків у нас 6, що вводить обмеження на максимальну кількість задіяних процесорів на цьому етапі (а оскільки це чи не найбільший блок, то й на модель вцілому). Якщо задача підчас обчислення використовує два процесори, то з раціональних міркувань на одному з них слід обчислювати покоординатні складові однієї швидкості, на другому іншої. У такому разі немає необхідності у синхронізації після цього блоку. У випадку запуску задачі на трьох процесорах, розподіл завдань слід проводити за індексами покоординатних складових (на одному вузлі обчислюються значення 1 u та 1 v , на другому 2 u та 2 v , на третьому 3 u та 3 v ). У відповідних рівняннях з систем (4) та (5) перші два коефіцієнта співпадають, тому запропоноване розбиття дозволить трішки скоротити обсяг обчислень на вузлах; 3. Знаходження швидкостей на поточному кроці шляхом сумування його покоординатних складових. Допускається використання двох паралельних процесів для цього блоку; 4. Обчислення вертикальної складової швидкості W. Може виконуватись паралельно без обмежень на кількість задіяних процесорів, проте обчислювальна вага блоку невелика і не має бути визначальною у виборі кількості процесорів задіяних для всієї моделі. Рис. 1. Схема паралельного алгоритму Паралельне програмування. Розподілені системи і мережі 137 3. Результати та висновки Запуски задач проводились на СКІТ-3 (третьому кластері суперкомп’ютерного комплексу Інституту Кібернетики НАН України), конфігурація якого на момент запуску складалась з 75 вузлів на двохядерних процесорах Intel Xeon 5160, оперативна пам’ять вузла 4GB, зв’язаних комунікаційною мережею Infiniband [10]. Підчас експерименту було підготовлено дві реалізації запропонованого алгоритму. Перша розрахована на виконання на кластері і комунікаційні функції реалізовувались за допомогою бібліотеки MPI (рис. 2). Інша збірка застосовує передбачений стандартом POSIX і реалізований в Linux механізм використання різними процесами сегментів спільної пам’яті та семафори (рис. 3). За їх допомогою реалізоване керування доступом до спільних даних. Звичайно, виконуватись така реалізація може тільки на машині зі спільною пам’яттю (у випадку обчислювального кластера СКІТ-3 – не більше одного вузла). 1 2 3 6 0:00:00 1:12:00 2:24:00 3:36:00 4:48:00 6:00:00 61x61x21 101x101x51 201x201x101 0 0,2 0,4 0,6 0,8 1 1,2 1 2 3 6 61x61x21 101x101x51 201x201x101 а б Рис. 2. Результати реалізації алгоритму з використанням MPI: а) час виконання; б) прискорення 1 2 3 0:00:00 0:28:48 0:57:36 1:26:24 1:55:12 2:24:00 2:52:48 3:21:36 3:50:24 61x61x21 101x101x51 201x201x101 0 0,5 1 1,5 2 2,5 3 1 2 3 61x61x21 101x101x51 201x201x101 а б Рис. 3. Результати реалізації алгоритму без MPI: а) час виконання; б) прискорення Запуски MPI-задачі не дали очікуваного результату і показали негативне прискорення. Слід зазначити, що вона виконувалась за однаковий час як на процесорах одного вузла так і на різних. Це вказує на те, що MPI використовує мережевий інтерфейс для обміну даними навіть між процесорами одного вузла. Така взаємодія очевидно не є ефективною. Реалізація зі спільною пам’яттю навпаки показала дуже непоганий результат, причому має місце тенденція до зростання ефективності при збільшенні кількості вузлів сітки прогнозу. Щодо моделі вцілому, вона виявилась придатною для машин зі спільною пам’яттю. При цьому, специфіка її побудови вказує на обмежену масштабованість, ефективно вона може використовувати тільки до шести процесорів (щоправда, через обмеженість технічної платформи чотирма процесорами нам не вдалось це підтвердити практично). Подальше доповнення початкової моделі дасть більше можливостей для масштабування і не виключено, що поверне перспективу використання MPI для обмінів даними між обчислювальними вузлами зі спільною пам’яттю, якщо інформаційна залежність буде більш слабкою. Паралельне програмування. Розподілені системи і мережі 138 1. Белов П.Н. Практические методы численного прогноза погоды. – Л.: Гидрометеорологическое издательство, 1967. – 336 с. 2. Прусов В.А., Дорошенко А.Ю. Моделювання природних і техногенних процесів в атмосфері. – К.: Наук. Думка, 2006. – 542 с. 3. Марчук Г.И., Дымников В.П., Залесный В.Б., Лыкосов В.Н., Галин В.Я. Математическое моделирование общей циркуляции атмосферы и океана. – Л.: Гидрометеоиздат, 1984. – 320 с. 4. Прусов В.А., Дорошенко А.Е., Черныш Р.И., Гук Л.Н. Эффективная разностная схема численного решения задачи конвективной диффузии // Кибернетика и системный анализ. – 2007. – № 3. – С. 64 – 74. 5. Дорошенко А.Е. Математические модели и методы организации высокопроизводительных параллельных вычислений. Алгебродинамический подход. – Киев: Наук. думка, 2000. – 177 с. 6. Прусов В.А., Дорошенко А.Е., Приходько С.В., Тырчак Ю.М., Черныш Р.И. Методы эффективного решения задач моделирования и прогнозирования региональных атмосферных процессов // Проблемы программирования. – 2004. – № 2-3. – С. 556–559. 7. Дорошенко А.Ю.,Тирчак Ю.М. Ефективне розпаралелювання обчислень для задач фізики атмосфери. // Пр. Між нар. конф. "Теоретичні та прикладні аспекти побудови програмних систем”. – 5–8 жовтня 2004. – К.; НаУКМА.− С. 325–329. 8. Doroshenko A.Yu., Prusov V.A. Methods of efficient modeling and forecasting regional atmospheric processes, in I. Faragó, Á. Havasi, K. Georgiev (editors) „Advances in Air Pollution Modeling for Environmental Security”, NATO Science Series, 54, Springer Verlag, 406 p. – 2005, Р. 143 – 152. 9. Prusov V.A., Doroshenko A.Yu., On efficient numerical solution of one-dimensional convection-diffusion equations in modeling atmospheric processes // International J. of Environment and Pollution, 2006. 10. http://cluster.icyb.kiev.ua – сайт, присвячений архітектурі кластерів Інституту кібернетики ім. В.М. Глушкова НАН України СКІТ-1 та СКІТ-2.
id nasplib_isofts_kiev_ua-123456789-1439
institution Digital Library of Periodicals of National Academy of Sciences of Ukraine
issn 1727-4907
language Ukrainian
last_indexed 2025-11-30T22:03:56Z
publishDate 2008
publisher Інститут програмних систем НАН України
record_format dspace
spelling Тирчак, Ю.М.
Черниш, Р.І.
2008-07-31T10:22:25Z
2008-07-31T10:22:25Z
2008
Паралельна реалізація розщепленої моделі однієї задачі фізики атмосфери / Ю.М. Тирчак, Р.І. Черниш // Пробл. програмув. — 2008. — N 2-3. — С. 133-138. — Бібліогр.: 10 назв. — укp.
1727-4907
https://nasplib.isofts.kiev.ua/handle/123456789/1439
681.3
Розглядається методика створення паралельної програмної реалізації для ефективного чисельного розв’язування методом покоординатного розщеплення моделі, що застосовується для чисельного прогнозу погоди. Методика забезпечує кількісні і якісні вдосконалення чисельних розв’язків. Наводяться результати чисельного експерименту та їх паралельної реалізації.
A technique is considered for efficient numerical solution of per-coordinate splitting of physical model that arise in numeric meteoroligic modeling and air pollution. The technique leads to significant quantitive and qualitative improvements in the behaviour of the numerical solutions. The study shows that the first-order upstream scheme is stable and efficient. The results of a numerical experiment and their parallel implementations are provided.
uk
Інститут програмних систем НАН України
Паралельне програмування
Розподілені системи та мережі
Паралельна реалізація розщепленої моделі однієї задачі фізики атмосфери
Effective parallel computation of per-coordinate splitting of a meteorological physical model
Article
published earlier
spellingShingle Паралельна реалізація розщепленої моделі однієї задачі фізики атмосфери
Тирчак, Ю.М.
Черниш, Р.І.
Паралельне програмування
Розподілені системи та мережі
title Паралельна реалізація розщепленої моделі однієї задачі фізики атмосфери
title_alt Effective parallel computation of per-coordinate splitting of a meteorological physical model
title_full Паралельна реалізація розщепленої моделі однієї задачі фізики атмосфери
title_fullStr Паралельна реалізація розщепленої моделі однієї задачі фізики атмосфери
title_full_unstemmed Паралельна реалізація розщепленої моделі однієї задачі фізики атмосфери
title_short Паралельна реалізація розщепленої моделі однієї задачі фізики атмосфери
title_sort паралельна реалізація розщепленої моделі однієї задачі фізики атмосфери
topic Паралельне програмування
Розподілені системи та мережі
topic_facet Паралельне програмування
Розподілені системи та мережі
url https://nasplib.isofts.kiev.ua/handle/123456789/1439
work_keys_str_mv AT tirčakûm paralelʹnarealízacíârozŝeplenoímodelíodníêízadačífízikiatmosferi
AT černišrí paralelʹnarealízacíârozŝeplenoímodelíodníêízadačífízikiatmosferi
AT tirčakûm effectiveparallelcomputationofpercoordinatesplittingofameteorologicalphysicalmodel
AT černišrí effectiveparallelcomputationofpercoordinatesplittingofameteorologicalphysicalmodel