=Paper= {{Paper |id=Vol-1482/447 |storemode=property |title=Стреловидная декомпозиция для блочно-трехдиагональной СЛАУ (Arrowhead decomposition for a block-tridiagonal system of linear equations) |pdfUrl=https://ceur-ws.org/Vol-1482/447.pdf |volume=Vol-1482 }} ==Стреловидная декомпозиция для блочно-трехдиагональной СЛАУ (Arrowhead decomposition for a block-tridiagonal system of linear equations)== https://ceur-ws.org/Vol-1482/447.pdf
        Суперкомпьютерные дни в России 2015 // Russian Supercomputing Days 2015 // RussianSCDays.org


                    Ñòðåëîâèäíàÿ äåêîìïîçèöèÿ äëÿ
                                                 ∗
                   áëî÷íî-òðåõäèàãîíàëüíîé ÑËÀÓ

                          Ï.À. Áåëîâ, Å.Ð. Íóãóìàíîâ, Ñ.Ë. ßêîâëåâ


                    Ñàíêò-Ïåòåðáóðãñêèé Ãîñóäàðñòâåííûé Óíèâåðñèòåò



           Ïðåäñòàâëåí ìåòîä ñòðåëîâèäíîé äåêîìïîçèöèè îáåñïå÷èâàþùèé ýôôåêòèâíîå
           ïàðàëëåëüíîå ðåøåíèå áëî÷íî-òðåõäèàãîíàëüíîé ñèñòåìû ëèíåéíûõ àëãåáðàè-
           ÷åñêèõ óðàâíåíèé (ÑËÀÓ). Âû÷èñëèòåëüíîå óñêîðåíèå ïî îòíîøåíèþ ê ìåòîäó
           ìàòðè÷íîé ïðîãîíêè îöåíåíî àíàëèòè÷åñêè ïóòåì ó÷åòà ÷èñëà ýëåìåíòàðíûõ îïå-
           ðàöèé óìíîæåíèÿ äëÿ ïàðàëëåëüíûõ è ïîñëåäîâàòåëüíûõ ÷àñòåé ìåòîäà äåêîì-
           ïîçèöèè. Ïîêàçàíî, ÷òî ìàêñèìàëüíîå óñêîðåíèå äîñòèãàåòñÿ ïðè êîíå÷íîì ÷èñ-
           ëå ïàðàëëåëüíûõ ïðîöåññîðîâ. Äëÿ çàäàííîãî ðàçìåðà èñõîäíîé ÑËÀÓ ïîëó÷å-
           íû ïàðàìåòðû âû÷èñëèòåëüíîé ñèñòåìû, ïðè êîòîðûõ äîñòèãàåòñÿ ìàêñèìàëüíîå
           óñêîðåíèå. Âû÷èñëèòåëüíûå ýêñïåðèìåíòû ïîäòâåðæäàþò àíàëèòè÷åñêèå îöåíêè
           âû÷èñëèòåëüíîãî óñêîðåíèÿ.


1. Ââåäåíèå

    Ìíîãèå çàäà÷è ïðèêëàäíîé ìàòåìàòèêè è âû÷èñëèòåëüíîé ôèçèêè ïîñëå äèñêðåòèçà-
öèè ñâîäÿòñÿ ê ñèñòåìå ëèíåéíûõ àëãåáðàè÷åñêèõ óðàâíåíèé (ÑËÀÓ) ñ áëî÷íî-òðåõäèàãî-
íàëüíîé ìàòðèöåé.  êà÷åñòâå ïðîñòåéøåãî ïðèìåðà ìîæíî ïðèâåñòè êîíå÷íî-ðàçíîñòíóþ
àïïðîêñèìàöèþ ãðàíè÷íîé çàäà÷è äëÿ äâóìåðíîãî óðàâíåíèÿ Ïóàññîíà íà ðàâíîìåðíûõ
ñåòêàõ ïî êàæäîé êîîðäèíàòå.  ýòîì ñëó÷àå áëîêè ìàòðèöû áóäóò ðàçðåæåííûìè.  äåé-
ñòâèòåëüíîñòè, ìàòðèöà ÑËÀÓ áóäåò ïÿòèäèàãîíàëüíîé, íî ñ áëî÷íîé ñòðóêòóðîé. Ëåí-
òî÷íûå èëè çàïîëíåííûå áëîêè â òàêîé çàäà÷å ìîæíî ïîëó÷èòü, åñëè ñîâìåñòèòü êîíå÷íî-
ðàçíîñòíóþ äèñêðåòèçàöèþ ïî îäíîé êîîðäèíàòå ñ ðàçëîæåíèåì ïî ñïëàéíàì èëè èíûì
ôóíêöèÿì ïî äðóãîé êîîðäèíàòå.
    Ñðàâíèòåëüíî áûñòðûì àëãîðèòìîì äëÿ ðåøåíèÿ áëî÷íî-òðåõäèàãîíàëüíûõ ñèñòåì ÿâ-
ëÿåòñÿ ìåòîä ìàòðè÷íîé ïðîãîíêè [1]. Äàííûé ìåòîä îáëàäàåò ñâîéñòâîì óñòîé÷èâîñòè äëÿ
áëîêîâ ñ äèàãîíàëüíûì ïðåîáëàäàíèåì. Íåäîñòàòêîì ìåòîäà ÿâëÿåòñÿ åãî ïîñëåäîâàòåëü-
íîñòü è òðóäíîñòü ïàðàëëåëèçàöèè íà ñîâðåìåííûõ ñóïåðêîìïüþòåðíûõ è êëàñòåðíûõ ñè-
ñòåìàõ. Åäèíñòâåííîé âîçìîæíîñòüþ ïàðàëëåëèçàöèè ÿâëÿåòñÿ ïàðàëëåëèçàöèÿ íà óðîâíå
ìàòðè÷íûõ îïåðàöèé óìíîæåíèÿ è îáðàùåíèÿ áëîêîâ.
    Ïàðàëëåëüíûå ìåòîäû ðåøåíèÿ òðåõäèàãîíàëüíûõ ÑËÀÓ ðàçðàáàòûâàëèñü ñ êîíöà øå-
ñòèäåñÿòûõ ãîäîâ äâàäöàòîãî âåêà. Ê äàííûì ìåòîäàì ìîæíî îòíåñòè øèðîêî èçâåñòíûé
ìåòîä öèêëè÷åñêîé ðåäóêöèè [2], à òàêæå ìåòîä Âîíãà [3], êîòîðûé óñïåøíî ïðèìåíÿåòñÿ
â ñîâðåìåííûõ ðàñ÷åòàõ [4]. Äàííûå ìåòîäû áûëè îáîáùåíû äëÿ èñïîëüçîâàíèÿ ñ ëåíòî÷-
íûìè è áëî÷íî-òðåõäèàãîíàëüíûìè ìàòðèöàìè [5]. Ïîìèìî ïåðå÷èñëåííûõ ìåòîäîâ, äëÿ
ðåøåíèÿ òðåõäèàãîíàëüíûõ ÑËÀÓ áûë ðàçðàáîòàí áîëåå ýôôåêòèâíûé àëãîðèòì, îñíîâàí-
íûé íà èíæåíåðíîì ìåòîäå äåêîìïîçèöèè îáëàñòè. Ïðèìåíèòåëüíî ê ÑËÀÓ, îí çàêëþ÷àåòñÿ
â ðàçäåëåíèè ïîëíîé ìàòðèöû íà íåçàâèñèìûå áëîêè è îäèí ñâÿçóþùèé áëîê [6]. Ñõîäíûå
èäåè èñïîëüçóþòñÿ â ñîâðåìåííûõ ðàáîòàõ, íàïðèìåð [7], à äëÿ ëåíòî÷íûõ ìàòðèö  ïðè-
âîäÿòñÿ â òåõíè÷åñêîì îò÷åòå ScaLAPACK [8].
     äàííîé ðàáîòå ìû îáîáùèëè ìåòîä äåêîìïîçèöèè íà ñëó÷àé áëî÷íî-òðåõäèàãîíàëü-
íîé ÑËÀÓ. Ìåòîä ñâîäèòñÿ ê ïðåîáðàçîâàíèþ èñõîäíîé áëî÷íî-òðåõäèàãîíàëüíîé ÑËÀÓ ê
ýêâèâàëåíòíîìó âèäó ñî ñòðåëîâèäíîé ôîðìîé íîâîé ìàòðèöû ïóòåì ïåðåñòàíîâêè áëî÷íûõ
ñòðîê è ñòîëáöîâ èñõîäíîé ñèñòåìû.  ðåçóëüòàòå, ìàòðèöà ñèñòåìû ëîãè÷åñêè ïðèâîäèòñÿ
ê ñòðåëîâèäíîé ôîðìå, âêëþ÷àþùåé êðóïíûå ñóïåð-áëîêè íà äèàãîíàëè, äîïóñêàþùèå ïà-
  ∗                                                 447
      Ðàáîòà ïîääåðæàíà ãðàíòîì ÐÔÔÈ  14-02-00326 è ãðàíòîì ÑÏáÃÓ â ðàìêàõ ïðîåòà  11.38.241.2015.
Âñå âû÷èñëåíèÿ áûëè ïðîâåäåíû íà îáîðóäîâàíèè ðåñóðñíîãî öåíòðà Âû÷èñëèòåëüíûé öåíòð ÑÏáÃÓ.
     Суперкомпьютерные дни в России 2015 // Russian Supercomputing Days 2015 // RussianSCDays.org


ðàëëåëüíîå îáðàùåíèå, ðàçðåæåííûå ñóïåð-áëîêè âäîëü ïðàâîé è íèæíåé ñòîðîí ìàòðèöû
è îäíîãî ñâÿçóþùåãî ñóïåð-áëîêà â ïðàâîì íèæíåì óãëó ìàòðèöû. Ìû ïîêàçûâàåì, ÷òî
äàííàÿ ñòðåëîâèäíàÿ ñèñòåìà äîïóñêàåò ýôôåêòèâíîå ïàðàëëåëüíîå ðåøåíèå [9]. Äëÿ îáðà-
ùåíèÿ ñóïåð-áëîêîâ èñïîëüçóåòñÿ ìåòîä ìàòðè÷íîé ïðîãîíêè. Ìû àíàëèòè÷åñêè ïîëó÷àåì
âû÷èñëèòåëüíîå óñêîðåíèå ìåòîäà îòíîñèòåëüíî ìåòîäà ìàòðè÷íîé ïðîãîíêè. Îíî âû÷èñ-
ëÿåòñÿ èç îöåíêè ÷èñëà ìóëüòèïëèêàòèâíûõ îïåðàöèé íà êàæäîì øàãå ìåòîäà è ñðàâíåíèè
åãî ñ àíàëîãè÷íûìè õàðàêòåðèñòèêàìè ìåòîäà ìàòðè÷íîé ïðîãîíêè. Ðåàëèçîâàííûé ìåòîä
ñòðåëîâèäíîé äåêîìïîçèöèè ïîçâîëèë íàì ïðîâåñòè âû÷èñëèòåëüíûå ýêñïåðèìåíòû è ïîä-
òâåðäèòü àíàëèòè÷åñêèå îöåíêè íà ïðàêòèêå.  êà÷åñòâå òåñòîâîé ÑËÀÓ èñïîëüçîâàëàñü
äèñêðåòèçàöèÿ ãðàíè÷íîé çàäà÷è äëÿ äâóìåðíîãî èíòåãðî-äèôôåðåíöèàëüíîãî óðàâíåíèÿ
Ôàääååâà [10].

2. Ìåòîä ñòðåëîâèäíîé äåêîìïîçèöèè

     ðàáîòå èçó÷àåòñÿ áëî÷íî-òðåõäèàãîíàëüíàÿ ÑËÀÓ, îïèñûâàåìàÿ óðàâíåíèåì

                        Ai Xi−1 + Ci Xi + Bi Xi+1 = Fi ,     A1 = BN = 0,                       (1)

ãäå Ai , Ci , Bi , i = 1, . . . , N áëîêè ðàçìåðà n × n ìàòðèöû ñèñòåìû. Ýëåìåíòû Fi , ðàçìåðà
n×l, ãäå l ≥ 1, â ïðàâîé ÷àñòè  ýòî áëîêè ñóïåðâåêòîðà F~ . Èñêîìûé ñóïåðâåêòîð X  ~ ñîñòîèò
èç áëîêîâ Xi . Ïîëíûé ðàçìåð ìàòðèöû (nN ) × (nN ).
    Íà ðèñóíêå 1 ïîêàçàí ïðèìåð ïðåîáðàçîâàíèÿ èñõîäíîé ìàòðèöû ÑËÀÓ äëÿ N = 15
ê ýêâèâàëåíòíîìó âèäó ñî ñòðåëîâèäíîé ôîðìîé íîâîé ìàòðèöû. Ïðåîáðàçîâàíèå ÑËÀÓ
îñóùåñòâëÿåòñÿ ïåðåñòàíîâêîé áëî÷íûõ-ñòðîê è ñòîëáöîâ. Ïåðåñòàíîâêà ñòðîê ïðèâîäèò ê
ïåðåñòàíîâêå áëîêîâ â ïðàâîé ÷àñòè ñèñòåìû, à ïåðåñòàíîâêà ñòîëáöîâ  ê ïåðåñòàíîâêå
áëîêîâ èñêîìîãî ðåøåíèÿ. Ïîëó÷åííàÿ ñòðåëîâèäíàÿ ÑËÀÓ ìîæåò áûòü êðàòêî çàïèñàíà
â âèäå áëî÷íîé ìàòðèöû 2 × 2
                                                   
                                        S WR   s   Fs 
                                                  =  .                                (2)
                                         WL H        h      Fh

Çäåñü S ñîñòîèò èç íåçàâèñèìûõ ñóïåð-áëîêîâ íà äèàãîíàëè S k , k = 1, . . . , M . Îñòàëüíûå
ýëåìåíòû îáîçíà÷åíû íà ðèñóíêå 1. Ðåøåíèå ñèñòåìû (2) äàåòñÿ ôîðìóëàìè
                   
                   
                    s = S−1 Fs − S−1 WR h
                                                                  .                      (3)
                    h = H − WL S−1 WR −1 Fh − WL S−1 Fs 
                   

Óðàâíåíèå (3) â ïðàâîé ÷àñòè ñîäåðæèò ìàòðè÷íûå óìíîæåíèÿ è îáðàùåíèÿ, êîòîðûå, ïðè
äåòàëüíîì ðàññìîòðåíèè, îáëàäàþò áîëüøîé ñòåïåíüþ ïàðàëëåëèçìà. Íåçàâèñèìîñòü ñóïåð-
áëîêîâ S k ïîçâîëÿåò âû÷èñëÿòü ïðîèçâåäåíèÿ S−1 Fs , S−1 WR ïàðàëëåëüíî. Áîëåå òîãî,
âìåñòî âû÷èñëåíèé îáðàòíûõ ìàòðèö, äîñòàòî÷íî ïðîñòî ðåøèòü íàáîð ÑËÀÓ çíà÷èòåëü-
íî ìåíüøåãî ðàçìåðà. Ââèäó ðàçðåæåííîé ñòðóêòóðû ñóïåð-áëîêîâ WL , WR êîëè÷åñòâî
óìíîæåíèé òàêæå ìíîãîêðàòíî ñîêðàùàåòñÿ.  ñèñòåìå (3) ñíà÷àëà âû÷èñëÿåòñÿ ðåøåíèå
h = (h1 , . . . , hM −1 )T , à ïîòîì îñòàëüíàÿ ÷àñòü s ïîëíîãî ðåøåíèÿ X
                                                                       ~ = (s, h)T íàõîäèòñÿ
ïàðàëëåëüíî ïî ôîðìóëå

                          sk = z k − Z k hk−1 − Z k hk ,   k = 1, . . . , M,                    (4)

ãäå h0 = hM = 0.
     íàøåé ñòàòüå, äëÿ ðåøåíèÿ ñèñòåìû ñ ñóïåð-áëîêîì S k è äëÿ âû÷èñëåíèÿ ÷àñòè ðå-
                                          448 õîòÿ äëÿ ýòèõ îïåðàöèé ìîæíî èñïîëü-
øåíèÿ h ìû èñïîëüçóåì ìåòîä ìàòðè÷íîé ïðîãîíêè,
çîâàòü ìåòîä ñòðåëîâèäíîé äåêîìïîçèöèè âëîæåííî.
     Суперкомпьютерные дни в России 2015 // Russian Supercomputing Days 2015 // RussianSCDays.org




Ðèñ. 1. Ïðèìåð ïðåîáðàçîâàíèÿ ÑËÀÓ â ìåòîäå ñòðåëîâèäíîé äåêîìïîçèöèè. Âåðõíèé ðèñóíîê:
èñõîäíàÿ ÑËÀÓ ñ âûäåëåíèåì áëîêîâ, êîòîðûå áóäóò ïåðåñòàâëåíû. Ñðåäíèé ðèñóíîê: ïðåîáðàçî-
âàííàÿ ÑËÀÓ ñ ìàòðèöåé ñòðåëîâèäíîé ôîðìû. Íèæíèé ðèñóíîê: îáîçíà÷åíèÿ ýëåìåíòîâ ïðåîáðà-
çîâàííîé ÑËÀÓ ñ ìàòðèöåé ñòðåëîâèäíîé ôîðìû, ïðèíÿòûå â äàííîé ñòàòüå.




                                                 449
     Суперкомпьютерные дни в России 2015 // Russian Supercomputing Days 2015 // RussianSCDays.org


3. Âû÷èñëèòåëüíîå óñêîðåíèå

    Âû÷èñëèòåëüíîå óñêîðåíèå ìåòîäà ñòðåëîâèäíîé äåêîìïîçèöèè ïî îòíîøåíèþ ê ïîñëå-
äîâàòåëüíîìó ìåòîäó ìàòðè÷íîé ïðîãîíêè ìîæíî îöåíèòü êàê îòíîøåíèå âðåìåíè âû÷èñëå-
íèÿ ðåøåíèÿ ÑËÀÓ ìåòîäîì ïðîãîíêè ê ñîîòâåòñòâóþùåìó âðåìåíè ìåòîäà äåêîìïîçèöèè.
Âðåìÿ âû÷èñëåíèÿ íåïîñðåäñòâåííî ñâÿçàíî ñ ÷èñëîì ïîñëåäîâàòåëüíûõ îïåðàöèé êàæäîãî
ìåòîäà. Ìû ñîñ÷èòàëè êîëè÷åñòâî ïîñëåäîâàòåëüíûõ ìóëüòèïëèêàòèâíûõ îïåðàöèé ìåòîäà
ñòðåëîâèäíîé äåêîìïîçèöèè è, êàê ñëåäñòâèå, îöåíèëè âû÷èñëèòåëüíîå óñêîðåíèå. Àääè-
òèâíûå îïåðàöèè íå ó÷èòûâàëèñü, ñ÷èòàÿ, ÷òî îíè òðåáóþò çíà÷èòåëüíî ìåíüøåãî êîìïüþ-
òåðíîãî âðåìåíè.
     ñîîòâåòñòâèè ñ [11], ìû ñ÷èòàåì, ÷òî êàê äëÿ óìíîæåíèÿ, òàê è äëÿ îáðàùåíèÿ áëîêà
ðàçìåðà n × n òðåáóåòñÿ ðîâíî n3 ìóëüòèïëèêàòèâíûõ îïåðàöèé. Äàííàÿ îöåíêà ñîãëàñóåò-
ñÿ ñ îöåíêîé êîëè÷åñòâà îïåðàöèé â îáùåïðèíÿòîé ðåàëèçàöèè äàííûõ àëãîðèòìîâ [12], à
èìåííî LAPACK. Òîãäà êîëè÷åñòâî ìóëüòèïëèêàòèâíûõ îïåðàöèé äëÿ ïîñëåäîâàòåëüíîãî
àëãîðèòìà ìàòðè÷íîé ïðîãîíêè

                                  OM S = (3N − 2)(n3 + n2 l).
Äëÿ ìåòîäà äåêîìïîçèöèè ïîëíîå êîëè÷åñòâî îïåðàöèé óìíîæåíèÿ äàåòñÿ ôîðìóëîé
                                                                   
             (4N1 − 1)n3 + (4N1 − 1)n2 l + (6NM − 3)n3 + (4NM − 1)n2 l +
                      MX−1                                                                    (5)
                    +       7Nk n3 + 5Nk n2 l + (3M − 5)(n3 + n2 l),
                          k=2

ãäå Nk , k = 1, . . . , M îáîçíà÷àåò êîëè÷åñòâî áëîêîâ íà äèàãîíàëè ñóïåð-áëîêà S k .  îáùåì
ñëó÷àå Nk ìîãóò áûòü ðàçëè÷íûìè, íî óäîâëåòâîðÿþò ñîîòíîøåíèþ
                                    X
                                    M
                                          Nk = N − (M − 1).
                                    k=1

Ìàêñèìàëüíîå óñêîðåíèå äîñòèãàåòñÿ, êîãäà âðåìÿ ðàáîòû êàæäîãî ïðîöåññîðà ïî ðåøå-
íèþ ñèñòåìû ñ ñóïåð-áëîêîì S k îäèíàêîâî.  ýòîì ñëó÷àå Nk ðàâíû äðóã äðóãó ïðè k =
2, . . . , M − 1, à N1 è NM íåñêîëüêî áîëüøå îñòàëüíûõ. Âûèãðûø â ïðîèçâîäèòåëüíîñòè
ïî ñðàâíåíèþ ñî ñëó÷àåì, êîãäà âñå Nk , k = 1, . . . , M ðàâíû äðóã äðóãó äîñòàòî÷íî ìàë.
Ïîýòîìó, äëÿ ïðîñòîòû, ìû ðàññìîòðèì ñëó÷àé ðàâåíñòâà âñåõ Nk äðóã äðóãó.  ýòîì ñëó-
÷àå, åñëè êîëè÷åñòâî ïàðàëëåëüíûõ ïðîöåññîðîâ ðàâíî ÷èñëó áëîêîâ M íà äèàãîíàëè, òî
ìàêñèìàëüíîå ÷èñëî ïîñëåäîâàòåëüíûõ îïåðàöèé ìåòîäà ñòðåëîâèäíîé äåêîìïîçèöèè áóäåò

                OAD = ((N − M + 1) /M ) (7n3 + 5n2 l) + (3M − 5)(n3 + n2 l)
Òîãäà âû÷èñëèòåëüíîå óñêîðåíèå, êàê îòíîøåíèå S = OM S /OAD , ëåãêî ïîëó÷àåòñÿ:
                                                 3N − 2
                             S=                                       .                      (6)
                                                              N −M +1
                                  3M − 5 + 5 + 1+l/n
                                                 2
                                                                 M

Ëåãêî âèäåòü, ÷òî çàâèñèìîñòü âû÷èñëèòåëüíîãî óñêîðåíèÿ îò îòíîøåíèÿ l/n äîñòàòî÷íî
ñëàáàÿ. Êàê ôóíêöèÿ M , óñêîðåíèå âåäåò ñåáÿ ëèíåéíî S = 3M/7 ïðè M  N . Ãðàôè-
êè âû÷èñëèòåëüíîãî óñêîðåíèÿ ïðè l = 1 è ðàçëè÷íûõ N è n ïðèâåäåíû íà ðèñóíêå 2.
Ïðè äàëüíåéøåì óâåëè÷åíèè M , óñêîðåíèå äîñòèãàåò ñâîåãî ìàêñèìóìà è ïîòîì óáûâàåò.
×èñëî ïàðàëëåëüíûõ ïðîöåññîðîâ, ïðè êîòîðîì âû÷èñëèòåëüíîå óñêîðåíèå äîñòèãàåò ñâîåãî
ìàêñèìóìà äàåòñÿ ôîðìóëîé
                                 s                     
                              ∗    (N + 1)450      2
                           M =               5+           .                       (7)
                                      3         1 + l/n
                                 Суперкомпьютерные дни в России 2015 // Russian Supercomputing Days 2015 // RussianSCDays.org


     Òàêèì îáðàçîì, ïðè èñïîëüçîâàíèè ìåòîäà ñòðåëîâèäíîé äåêîìïîçèöèè âñå ñóïåð-áëîêè íà
     äèàãîíàëè ìîæíî âûáèðàòü îäèíàêîâîãî ðàçìåðà, ò.ê. óìåíüøåíèå óñêîðåíèÿ â ýòîì ñëó÷àå
     íåçíà÷èòåëüíî. Îïòèìàëüíîå êîëè÷åñòâî ïàðàëëåëüíûõ ïðîöåññîðîâ M ∗ äëÿ ôèêñèðîâàí-
     íîãî êîëè÷åñòâà áëîêîâ N íà äèàãîíàëè ÑËÀÓ äàåòñÿ ôîðìóëîé (7).

     4. Ïðàêòè÷åñêèå ðåçóëüòàòû

         Àíàëèòè÷åñêèå îöåíêè, ïðèâåäåííûå â ïðåäûäóùåé ãëàâå, áûëè ïðîâåðåíû â ïðàêòè-
     ÷åñêèõ ðàñ÷åòàõ. Ìåòîä ñòðåëîâèäíîé äåêîìïîçèöèè áûë ðåàëèçîâàí íà ÿçûêå C/C++ ñ
     èñïîëüçîâàíèåì âûçîâîâ ïîäïðîãðàìì äëÿ ðàáîòû ñ ìàòðèöàìè áèáëèîòåêè LAPACK 3.5.0.
     Ïàðàëëåëèçì áûë ðåàëèçîâàí ñ ïîìîùüþ òåõíîëîãèè OpenMP. ×èñëåííûå ýêñïåðèìåíòû
     ïðîâîäèëèñü íà âû÷èñëèòåëüíîé ñèñòåìå ñ îáùåé ïàìÿòüþ (SMP) è 64 ïðîöåññîðàìè Intel
     Xeon.

                                                      N=1535                                                                                N=3071
                            14                                                                                      20
                                                                                                                    18
Computational speedup (S)




                                                                                        Computational speedup (S)
                            12
                                                                                                                    16
                            10                                                                                      14
                            8                                                                                       12
                                                                                                                    10
                            6                                                                                       8
                            4                                                                                       6
                                                Analytical estimation                                               4                Analytical estimation
                            2                  Practical result, n=300                                                              Practical result, n=100
                                                                                                                    2
                                               Practical result, n=500                                                              Practical result, n=400
                                 0   10    20    30      40      50    60     70   80                                    0   20     40        60        80       100   120
                                          Number of parallel processors (M)                                                    Number of parallel processors (M)

     Ðèñ. 2. Àíàëèòè÷åñêàÿ îöåíêà âû÷èñëèòåëüíîãî óñêîðåíèÿ ìåòîäà ñòðåëîâèäíîé äåêîìïîçèöèè ïî
     îòíîøåíèþ ê ìåòîäó ìàòðè÷íîé ïðîãîíêè (ñïëîøíàÿ êðèâàÿ) è ïðàêòè÷åñêèå ðåçóëüòàòû èçìåðåíèÿ
     óñêîðåíèÿ (êâàäðàòèêè è êðóæî÷êè) â çàâèñèìîñòè îò ÷èñëà ïàðàëëåëüíûõ ïðîöåññîðîâ. Ðàçìåðû
     áëîêîâ n = 100 − 500, ÷èñëî áëîêîâ íà äèàãîíàëè N = 1535 (ëåâûé ãðàôèê), N = 3071 (ïðàâûé
     ãðàôèê), èñïîëüçóåòñÿ îäèí âåêòîð â ïðàâîé ÷àñòè.




          êà÷åñòâå òåñòîâîé çàäà÷è ðåøàëàñü ÑËÀÓ, ïîëó÷åííàÿ èç äèñêðåòèçàöèè ãðàíè÷íîé
     çàäà÷è äëÿ èíòåãðî-äèôôåðåíöèàëüíîãî óðàâíåíèÿ Ôàääååâà [13]. Äëÿ ÷èñòîòû ýêñïåðè-
     ìåíòà, íóëåâûå ýëåìåíòû áëîêîâ çàìåíÿëèñü îòíîñèòåëüíî ìàëûìè ñëó÷àéíûìè ÷èñëàìè.
     Ïðàâàÿ ÷àñòü ñîñòîÿëà èç îäíîãî âåêòîðà, ò.å. l = 1.
         Ïîëó÷åííûå ðåçóëüòàòû äëÿ N = 1535, 3071 è n = 100 − 500 ïîêàçàíû íà ðèñóíêå 2.
     Âèäíî, ÷òî ïðàêòè÷åñêèå ðåçóëüòàòû õîðîøî ñîãëàñóþòñÿ ñ àíàëèòè÷åñêèìè îöåíêàìè. Ïðè
     M  N íàáëþäàåòñÿ ëèíåéíîå óñêîðåíèå è îáùèé òðåíä ïîëó÷åííîãî âû÷èñëèòåëüíîãî
     óñêîðåíèÿ òàêæå ñîîòâåòñòâóåò àíàëèòè÷åñêèì ðåçóëüòàòàì. Íåáîëüøèå îòêëîíåíèÿ ìîãóò
     áûòü âûçâàíû íåèäåàëüíîñòüþ ðàáîòû ñ ïàìÿòüþ, à òàêæå ñèñòåìíûìè ïðîöåññàìè, âûïîë-
     íÿþùèìèñÿ ïàðàëëåëüíî. Ïîñëåäíåå áîëüøå âñåãî ïðîÿâëÿåòñÿ ïðè M = 64. Òåì íå ìåíåå,
     àíàëèòè÷åñêèå îöåíêè äëÿ äàííîãî ñëó÷àÿì â öåëîì âåðíû è ñëàáî çàâèñÿò îò n.
         Ìåòîä ñòðåëîâèäíîé äåêîìïîçèöèè èñïîëüçîâàëñÿ äëÿ ÷èñëåííîãî ðåøåíèÿ áëî÷íî-
     òðåõäèàãîíàëüíîé ÑËÀÓ, ïîëó÷åííîé èç ãðàíè÷íîé çàäà÷è â ïîëÿðíûõ êîîðäèíàòàõ {ρ, θ}
     äëÿ èíòåãðî-äèôôåðåíöèàëüíîãî óðàâíåíèÿ Ôàääååâà. Áëî÷íî-òðåõäèàãîíàëüíàÿ ìàòðèöà
     âîçíèêàåò èç êîíå÷íî-ðàçíîñòíîé àïïðîêñèìàöèè âòîðîé ïðîèçâîäíîé ïî ïåðåìåííîé ρ è
     ðàçëîæåíèÿ èñêîìîãî ðåøåíèÿ ãðàíè÷íîé çàäà÷è ïî áàçèñó Ýðìèòîâûõ êóáè÷åñêèõ ñïëàé-
     íîâ ïî ïåðåìåííîé θ [13]. Èç ðåøåíèÿ ãðàíè÷íîé çàäà÷è îïðåäåëÿëèñü àìïëèòóäû ðàññåÿ-
     íèÿ, ñîîòâåòñòâóþùèå çàäà÷å íåéòðîí-äåéòðîííîãî
                                                 451 ðàññåÿíèÿ. Ïðèìåíåíèå äàííîãî ìåòîäà
     ïîçâîëèëî óìåíüøèòü îáùåå âðåìÿ ðåøåíèÿ, âêëþ÷àþùåå ôîðìèðîâàíèå ÑËÀÓ, ðåøåíèå
     Суперкомпьютерные дни в России 2015 // Russian Supercomputing Days 2015 // RussianSCDays.org


ñèñòåìû, ïîëó÷åíèå àìïëèòóä ðàññåÿíèÿ, â 7-10 ðàç.

5. Çàêëþ÷åíèå

    ðàáîòå ïðåäñòàâëåí ìåòîä ñòðåëîâèäíîé äåêîìïîçèöèè äëÿ áëî÷íî-òðåõäèàãîíàëüíîé
ÑËÀÓ. Ïîêàçàíî, ÷òî äàííûé ìåòîä äîïóñêàåò ýôôåêòèâíîå ïàðàëëåëüíîå ðåøåíèå ÑËÀÓ
äàííîãî òèïà. Àíàëèòè÷åñêè ïîëó÷åíî âû÷èñëèòåëüíîå óñêîðåíèå ìåòîäà ïî îòíîøåíèþ
ê ìåòîäó ìàòðè÷íîé ïðîãîíêè. Ðåàëèçîâàííûé ìåòîä ñòðåëîâèäíîé äåêîìïîçèöèè ïîçâî-
ëèë íàì ïðîâåñòè âû÷èñëèòåëüíûå ýêñïåðèìåíòû è ïîäòâåðäèòü àíàëèòè÷åñêèå îöåíêè íà
ïðàêòèêå. Èñïîëüçîâàíèå ìåòîäà ñòðåëîâèäíîé äåêîìïîçèöèè ïîçâîëèëî óìåíüøèòü âðå-
ìÿ ðåøåíèÿ ÑËÀÓ â íåñêîëüêî äåñÿòêîâ ðàç, ÷òî ïðèâåëî ê ñîêðàùåíèþ îáùåãî âðåìåíè
âû÷èñëåíèÿ èñêîìûõ âåëè÷èí ïðèêëàäíîé çàäà÷è â ñåìü-äåñÿòü ðàç.

Ëèòåðàòóðà

 1. Ñàìàðñêèé À.À, Íèêîëàåâ Å.Ñ. Ìåòîäû ðåøåíèÿ ñåòî÷íûõ óðàâíåíèé, Ì.: Íàóêà, 1978.

 2. Hockney R.W. The potential calculation and some applications // Meth. Comput. Phys.
    1970. Vol. 9. P. 136211.

 3. Wang H.H. A parallel method for tridiagonal equations // ACM Trans. Math. Software.
    1981. Vol. 7. P. 170183.

 4. Âîëîõîâà À.Â., Çåìëÿíàÿ Å.Â., Ðèõâèöêèé Â.Ñ. Ïàðàëëåëüíàÿ îïòèìèçàöèÿ ìåòîäà
    ðåøåíèÿ ñèñòåìû óðàâíåíèé ïîëÿðîíà ñ èñïîëüçîâàíèåì àëãîðèòìà ðàçáèåíèé //
    Âû÷èñëèòåëüíûå ìåòîäû è ïðîãðàììèðîâàíèå. 2015. Ò. 16. C. 281289.

 5. Johnsson S.L. Solving narrow banded systems on ensemble architectures // ACM Trans.
    Math. Software. 1985. Vol. 11. P. 271288.

 6. Ortega J.M. Introduction to parallel and vector solution of linear systems,
    New York: Springer, 1988.

 7. Àêèìîâà Å.Í., Áåëîóñîâ Ä.Â., Ìèñèëîâ Â.Å. Àëãîðèòìû ðåøåíèÿ îáðàòíûõ
    ãåîôèçè÷åñêèõ çàäà÷ íà ìíîãîïðîöåññîðíûõ âû÷èñëèòåëüíûõ ñèñòåìàõ // Ñèá. æóðí.
    âû÷èñë. ìàòåì. 2013. Ò. 16. C. 107121.

 8. Cleary A., Dongarra J.J. Implementation in ScaLAPACK of divide-and-conquer algorithms
    for banded and tridiagonal linear systems // Report No. UT-CS-97-358 (LAWN No. 125),
    University of Tennessee, 1997.

 9. Belov P.A., Nugumanov E.R., Yakovlev S.L. Computing binary scattering and breakup in
    three-body system // Nuclear Theory in the Supercomputing Era, 2012, Khabarovsk,
    Russia. Proceedings. Pacic National University. 2013. P. 121134

10. Faddeev L.D., Merkuriev S.P. Quantum scattering theory for several particle systems,
    Dordrecht: Springer, 1993.

11. Ñàìàðñêèé À.À., Ãóëèí À.Â. ×èñëåííûå ìåòîäû, Ì.: Íàóêà, 1989.

12. Dongarra J.J., et al. LINPACK Users' Guide, Philadelphia:SIAM, 1979.

13. Belov P.A., Yakovlev S.L. Asymptotic method for determining the amplitude for
    three-particle breakup: Neutron-deuteron scattering // Phys. Atom. Nucl. 2013. Vol. 76.
    P. 126138.                                452
   Суперкомпьютерные дни в России 2015 // Russian Supercomputing Days 2015 // RussianSCDays.org



Arrowhead decomposition for a block-tridiagonal system of linear
equations
Pavel Belov, Eduard Nugumanov and Sergey Yakovlev
Keywords: arrowhead decomposition method, block-tridiagonal matrix, system of linear
equations, parallel solution, computational speedup, matrix sweeping algorithm
The arrowhead decomposition method which allows efficient parallel solution of a block-
tridiagonal system of linear equations is presented. The computational speedup with respect to
the matrix sweeping algorithm is analytically estimated by taking into account the number of
elementary operations of multiplication for the parallel and serial parts of the decomposition
method. It is shown that the maximal speedup is achieved for the finite number of parallel
processors. For a given size of the initial system of linear equations, the parameters of the
computational system which give the maximal speedup are obtained. Computational
experiments confirm the analytical estimations of the computational speedup.