<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Схема ¾правый уголок¿ и ее распараллеливание для численного решения уравнения переноса с запаздыванием</article-title>
      </title-group>
      <fpage>318</fpage>
      <lpage>324</lpage>
      <abstract>
        <p>УрФУ (Екатеринбург) Рассматривается уравнение переноса с запаздыванием с одномерной переменной по пространству. В качестве метода для численного решения данного уравнения используется разностная схема ¾правый уголок¿. В работе рассматривается механизм распараллеливания указанной схемы. Для полноты эксперимента рассматриваются различные виды запаздывания: постоянное, переменное и распределенное. Проведен замер эффективности данного метода для последовательной и параллельной версии на разных количествах узлов по пространству и по времени. Предоставлены результаты проведенных экспериментов.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>с краевым условием</p>
      <p>
        = f (x; t; u(x; t); ut(x; ));
6 s 6 0:
(1)
(
        <xref ref-type="bibr" rid="ref1">2</xref>
        )
(
        <xref ref-type="bibr" rid="ref2">3</xref>
        )
2
      </p>
      <p>Дискретизация задачи
Пусть шаг h по переменной x такой, что X=h = N , где N – натуральное, тогда обозначим через xi =
ih 2 [0; X], i = 0 : : : N . Пусть шаг по переменной t такой, что = = m, где m – натуральное, пусть
M = bT = c, обозначим tj = j 2 [ ; T ], j = m : : : M . Сеткой назовем набор пар fxi; tjg. Через uij
обозначим приближенное значение u(xi; tj).</p>
      <p>При всяком фиксированном i = 0; : : : ; N введем дискретную предысторию к моменту tj; j = 0; : : : ; M :
fuikgj = fuik; j m 6 k 6 jg. Оператором интерполяции-экстраполяции назовем оператор, определенный
на множестве всех допустимых предысторий и действующий по правилу I: fuikgj ! vji( ) 2 Q[tj ; tj + ]:
Здесь Q[ ; ] это набор функций u(s), кусочно-непрерывных на [ ; ] с конечным числом точек разрыва
первого рода. В точках разрыва будем считать функцию непрерывной справа. Определим норму Q =
Q[ ; ] как</p>
      <p>ku( )kQ = sm2[a;x ] ju(s)j:
Будем полагать, что, во-первых, оператор интерполяции-экстраполяции липшицев, то есть существует
такая константа LI; что для всех предысторий дискретной модели fuikgj и fykigj выполняется
tj 6t6tj+ jvji(t)
max</p>
      <p>wji (t)j 6 LI j mma6xl6j juli yjij;
где vji( ) = I(fuikgj); wji ( ) = I(fykigj):
Во-вторых, положим, что оператор интерполяции-экстраполяции согласован, то есть
vji(tk) = uik; k = j
m; : : : ; j:
Будем говорить, что оператор интерполяции-экстраполяции имеет порядок p, если существуют
константы C1 и C2 такие, что jvji(t) u(xi; t)j 6 C1 maxj m6k6j juik u(xi; tk)j + C2 p для всех i, j и t 2 [tj ; tj+1]:
Простейший способ интерполяции кусочно-линейная функция. Простейший способ экстраполяции
экстраполяция продолжением (см. [7]). Будем использовать кусочно-линейную интерполяцию с
экстраполяцией продолжением, которая является липшицевым оператором (LI = 2), согласована и имеет порядок
p = 2 (см. [7]).</p>
      <p>Рис. 1: Сетка
3</p>
      <p>Схема ¾Правый уголок¿
Рассмотрим метод:</p>
      <p>
        i
uj+1
uij + a uij+1
h
uij+11 = f (xi; tj; uij; ut(x; ))):
(
        <xref ref-type="bibr" rid="ref3">4</xref>
        )
Каждая производная в (
        <xref ref-type="bibr" rid="ref3">4</xref>
        ) представлена как разность приближенных значений функции в узлах сетки,
показанных на рис. 2. Значение uij+11 может быть выражено из ранее подсчитанных значений, значит,
рассматриваемый метод ¾правый уголок¿ является явным для уравнения (1)–(
        <xref ref-type="bibr" rid="ref2">3</xref>
        ).
      </p>
      <p>Обозначим "ij = u(xi; tj) uij, i = 0; : : : ; N , j = 0; : : : ; M . Будем говорить, что метод сходится, если
"ij ! 0 при h ! 0 и ! 0 для всех i = 0; : : : ; N и j = 0; : : : ; M . Будем говорить, что метод сходится
с порядком hp + q; если существует константа C такая, что j"ijj 6 C(hp + q) для всех i = 0; : : : ; N и
j = 0; : : : ; M: В [4] доказано, что рассматриваемый метод сходится с порядком O( + h). Данная схема
входит в семейство методов, рассмотренных в [6].
4</p>
      <p>Идея параллельного вычисления
В данной схеме для вычисления очередных неизвестных значений используются значения, стоящие
ниже или левее по x и по t, следовательно, мы можем независимо друг от друга вычислять элементы,
находящиеся на одной диагонали (далее будем называть эти ¾диагональные¿ элементы фронтом). Это
дает возможность для параллельного вычисления результирующей функции. Схематичное расположение
¾фронтов¿ для параллельного вычисления показано на рис. 3.</p>
      <p>Рис. 3: Схема ¾Правый уголок¿
Для реализации данного подхода использовалось многопоточное программирование. В качестве языка
было решено использовать C# и платформу .Net, включающую примитивы многопоточного
программирования. При реализации использовалась сборка System.Threading.Tasks, в частности метод Parallel.For,
позволяющий распараллелить выполнение цикла For между потоками. Все вычисление выполнялось
пошагово по диагоналям. На каждом шаге выбиралась следующая диагональ, для узлов которой параллельно
вычислялись искомые значения. Так как элементы на диагонали не зависят друг от друга, то данный
подход является корректным с точки зрения вычислений. На каждом этапе параллельного вычисления
искомых значений в узлах диагонали платформа порождает 8 потоков и распределяет узлы между
ними по мере возможности. Из-за того, что одновременно вычисляется не более 8 потоков и количество
элементов диагонали в большинстве случаев больше 8, эффект ¾узкого фронта распараллеливания¿ был
незначительным, поэтому в большинстве примеров мы рассматривали сетки с одинаковым числом узлов по
осям. Так как целью данной работы является исследование возможности ускорения путем
распараллеливания вычислений, то мы не прибегали к другим приемам программных и алгоритмических оптимизаций
(векторизации, кешированию и др.). В итоге, мы оценивали потенциал ускорения при помощи лишь
многопоточного программирования.
5</p>
      <p>Численные эксперименты
с краевым условием:
с начальным условием:
Точное решение данного уравнения:</p>
      <p>N =
M =
Err
T1
T2
40
40
1.31
0
12
с краевым условием:
с начальным условием:
Точное решение данного уравнения:
u(x; t) = x3 + t3 + 3x2 + 3t2; 0 6 x 6 1;
5.3</p>
      <p>Пример 3. Распределенное запаздывание
с краевым условием:
с начальным условием:
+
= (1 x) sin(t)</p>
      <p>u(x; t + )d ;</p>
      <p>Z 2
0 6 t 6 4; 0 6 x 6 ;
Отметим, что численные эксперименты для примера 3 проводились без использования рекуррентных
соотношений между интегралами по пересекающимся интервалам. Сделано это было для большего
числа вычислений на каждом шаге и анализа эффективности использования параллелизма для численного
решения уравнений рассматриваемых типов.
6 Заключение</p>
      <p>Все вычисления выполнялись на ноутбуке с процессором Intel(R) Core i7 4700MQ 2.4GHz x 4,
поддерживающем одновременное выполнение 8 потоков. Для чистоты эксперимента все вычисления проводились в
максимально ¾стерильных условиях¿ (на компьютере запущены только необходимые приложения), однако
операционная система и фоновые процессы в любом случае влияют на время вычислений, поэтому в
примерах указано среднее время выполнения среди десяти запусков. Также можно заметить сильное замедление
параллельной программы на малом количестве узлов по сравнению с последовательной версией. Это
вызвано временем, которое уходит у платформы на подготовку многопоточной экосистемы и переключение
между потоками. Последовательная программа лишена данных недостатков. В качестве эффективности
в данной работе рассматривается отношение времени выполнения параллельной программы ко времени
выполнения последовательной. В дальнейшем планируется более глубокий анализ алгоритмов
параллельного вычисления решений описанных выше уравнений: с учетом различных показателей эффективности,
таких как слабая и сильная масштабируемость.</p>
      <p>Временны´ е результаты вычислений на сетках с небольшим количеством узлов обусловлены тем, что
рассмотренная в статье параллельная версия правого уголка тратит много времени на подготовку потоков
и переключение между ними. Однако с увеличением количества узлов видно, что параллельный
алгоритм становится быстрее последовательного. Так как наибольший интерес с практической точки зрения
представляют более точные вычисления на мелкой сетке, то можем сделать вывод, что полученные
преимущества при распараллеливании подсчетов можем считать основанием для применения рассмотренного
алгоритма на практике и для ускорения аналогичных явных разностных схем.
Список литературы</p>
      <p>Работа поддержана программой ППК (постановление Правительства РФ № 211 от 16.03.2013).
[1] J. Wu. Theory and Application of Partial Functional Differential Equations. Springer-Verlag, New York,
1996.
[12] S.I. Solodushkin, A.A. Sagoyan, I.F. Iumanova. One parallel method for solving the multidimensional
transfer equation with aftereffect. Lecture Notes in Computer Science (including subseries Lecture Notes in
Artificial Intelligence and Lecture Notes in Bioinformatics), 10187:617–624, 2017.</p>
      <p>Parallelization of ¾the right corner¿ scheme for numerical solution of
an advection equation with delay</p>
      <p>Eugene S. Elkin, Sergey V. Sviridov
Ural Federal University (Yekaterinburg, Russia)</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>N. N.</given-names>
            <surname>Kalitkin</surname>
          </string-name>
          .
          <article-title>Numerical methods. Second edition</article-title>
          . BHV-Peterburg, Sankt-Peterburg,
          <year>2011</year>
          (in Russian).
          <source>= Н. Н. Калиткин. Численные методы</source>
          . 2
          <article-title>-е издание</article-title>
          .
          <source>БХВ-Петербург, Санкт-Петербург</source>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>A. A.</given-names>
            <surname>Samarsky</surname>
          </string-name>
          .
          <article-title>Theory of differencial schemes</article-title>
          .
          <source>Third edition. Nauka</source>
          , Moscow,
          <year>1989</year>
          (in Russian).
          <source>= А. А. Самарский. Теория разностных схем</source>
          . 3
          <article-title>-е издание</article-title>
          . Наука, Москва,
          <year>1989</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>V. G.</given-names>
            <surname>Pimenov</surname>
          </string-name>
          .
          <article-title>Differencial methods for solution of functional equations with delay</article-title>
          .
          <source>Ural</source>
          State University, Ekaterinburg,
          <year>2014</year>
          (in Russian).
          <source>= В. Г. Пименов</source>
          .
          <article-title>Разностные методы решения уравнений в частных производных с наследственностью</article-title>
          .
          <source>Издательство уральского университета, Екатеринбург</source>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>I. B.</given-names>
            <surname>Petrov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. I.</given-names>
            <surname>Lobanov</surname>
          </string-name>
          .
          <source>Lectures on computational mathematics. Binom</source>
          , Moscow,
          <year>2006</year>
          (in Russian).
          <source>= И. Б. Петров</source>
          , А. И. Лобанов.
          <article-title>Лекции по вычислительной математике</article-title>
          . Бином, Москва,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>L. S.</given-names>
            <surname>Volkanin</surname>
          </string-name>
          .
          <article-title>Numerical solution of an advection equation with delay. Teoriya upravlenija i matematicheskoe modelirovanie</article-title>
          .
          <source>Conference proceedings. Izhevsk</source>
          ,
          <volume>12</volume>
          -
          <fpage>13</fpage>
          ,
          <year>2012</year>
          (in Russian).
          <source>= Л</source>
          . С.
          <article-title>Вол- канин. Численное решение уравнения переноса с эффектом наследственности. Теория управления и математическое моделирование</article-title>
          .
          <source>Тезисы конференции. Ижевск</source>
          ,
          <volume>12</volume>
          -
          <fpage>13</fpage>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>A. V.</given-names>
            <surname>Kim</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V. G.</given-names>
            <surname>Pimenov.</surname>
          </string-name>
          i
          <article-title>-smooth analysis and a numerical methods for solving of a functional-differential equations)</article-title>
          .
          <source>RCD</source>
          , Moscow-Izhevsk,
          <year>2004</year>
          (in Russian).
          <source>= А. В. Ким</source>
          , В. Г.
          <article-title>Пименов. i-гладкий анализ и численные методы решения функционально-дифференциальных уравнений</article-title>
          . РХД,
          <string-name>
            <surname>Москва-Ижевск</surname>
          </string-name>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>V. G.</given-names>
            <surname>Pimenov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. V.</given-names>
            <surname>Sviridov</surname>
          </string-name>
          .
          <article-title>Grid methods for solving of an advection equation with delay</article-title>
          .
          <source>Vestnik Udmurtskogo Universiteta. Matematika. Mehanika. Kompyuternye nauki</source>
          ,
          <volume>3</volume>
          :
          <fpage>59</fpage>
          -
          <lpage>74</lpage>
          ,
          <year>2014</year>
          (in Russian).
          <source>= В. Г. Пименов</source>
          , С. В. Свиридов.
          <article-title>Сеточные методы решения уравнения переноса с запаздыванием. Вестник Удмуртского университета</article-title>
          .
          <source>Математика. Механика. Компьютерные науки</source>
          ,
          <volume>3</volume>
          :
          <fpage>59</fpage>
          -
          <lpage>74</lpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [9]
          <string-name>
            <surname>S.I. Solodushkin.</surname>
          </string-name>
          <article-title>One difference scheme for numerical solving of advection equation with aftereffect</article-title>
          .
          <source>Proceedings of 8th Conference on Applied Mathematics and Scientific Computing</source>
          , Sibenik, Croatia,
          <fpage>10</fpage>
          -
          <lpage>14</lpage>
          June,
          <fpage>54</fpage>
          -
          <lpage>55</lpage>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>S.I.</given-names>
            <surname>Solodushkin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>I.F.</given-names>
            <surname>Yumanova</surname>
          </string-name>
          ,
          <string-name>
            <surname>R.H. De Staelen</surname>
          </string-name>
          .
          <article-title>A difference scheme for multidimensional transfer equations with time delay</article-title>
          .
          <source>Journal of Computational and Applied Mathematics</source>
          ,
          <volume>318</volume>
          :
          <fpage>580</fpage>
          -
          <lpage>590</lpage>
          ,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>S.I.</given-names>
            <surname>Solodushkin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.A.</given-names>
            <surname>Sagoyan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>I.F.</given-names>
            <surname>Iumanova</surname>
          </string-name>
          .
          <article-title>Parallel variant of numerical algorithm for solving a multidimensional advection equation with time delay</article-title>
          .
          <source>CEUR Workshop Proceedings</source>
          ,
          <volume>1662</volume>
          :
          <fpage>315</fpage>
          -
          <lpage>325</lpage>
          ,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>