<!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>On parallel algebraic multilevel preconditioner with approximate inversion by basis matrix method </article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>V.O. Boh</string-name>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>V.M. Glushkov Institute of Cybernetics of NAS of Ukraine</institution>
          ,
          <addr-line>Glushkov ave., 40, Kyiv, 03187</addr-line>
          ,
          <country country="UA">Ukraine</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>The paper presents a parallel calculation scheme for distributed memory systems for a modification of the AMLI preconditioner that performs incomplete inversions of matrix blocks by a technique that produces approximate inverse of a matrix by an orthogonalization procedure, referred to as the incomplete basis matrix method. Theoretical estimates of algorithm's performance and the results of its experimental testing are presented. The results of experimental analysis of preconditioner parameters influence on the convergence of the iterative algorithm are given. The characteristics of the proposed algorithm are compared with those of known algorithms implemented in the hypre software package. The tests on the matrices obtained from finite element discretization of soil stress-strain state modelling problem showed that the proposed algorithm has better performance for significantly ill-conditioned linear systems when solving them on a small number of computational resources. </p>
      </abstract>
      <kwd-group>
        <kwd />
        <kwd>parallel algorithm</kwd>
        <kwd>distributed memory systems</kwd>
        <kwd>linear algebraic systems</kwd>
        <kwd>preconditioner</kwd>
        <kwd>algebraic multilevel iteration method </kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>The need to solve linear algebraic systems arises in mathematical modelling of most
physical processes, in particular when modelling soil stress-strain state. In many
cases, linear systems have ill-conditioned sparse matrices of large size. In these
situations, iterative methods, such as conjugate gradient method (CG) or biconjugate
gradient stabilized method (BiCGstab), are most commonly used [1]. </p>
      <p>The main method used to improve the convergence and the accuracy while solving
ill-conditioned linear systems is the use of preconditioners [1, 2] - matrices, whose
multiplication on linear system matrix leads to the decrease of condition number. The
most commonly used methods for constructing preconditioners are incomplete matrix
decomposition (e.g. ILU decomposition [1]), incomplete matrix inversion (e.g.
polynomial preconditioners [3]), Geometric and Algebraic Multigrid (AMG) [4] methods,
the Algebraic Multilevel Iteration method (AMLI) [5,6], and wavelet
preconditioners [7,8]. </p>
      <p>The so-called basis matrix method [9, 10] is one of the methods developed to
analyse ill-conditioned and rectangular linear systems. This method constructs iteratively
the inverse of a given matrix using some orthogonalization procedure. Based on this
method, an incomplete inversion algorithm is created, that can be used as a
preconditioner. Further, it is combined [11] with the AMLI preconditioner and applied for
solving elasticity problems. </p>
      <p>The speed of the AMLI preconditioner, similarly to the multigrid ones, in
particular the AMG, is low comparing to the incomplete decomposition and the incomplete
inversion preconditioners and its application takes most of the time spent to obtain
solutions of linear systems. This makes crucial the development of parallel schemes
for these algorithms. While the AMLI is shown to have good scalability on vector and
parallel-vector machines [12, 13], its parallel implementations on cluster systems are
poorly studied. 
2 Preconditioner on the base of the AMLI and the basis
matrix method
The AMLI preconditioner [5] is based on the representation of an input matrix as
having 2x2 blocks with its subsequent LU factorization:  </p>
      <p> A11
A = 
 A21</p>
      <p>A12   I</p>
      <p> = 
A22   A21 A111
  A11
 
I  </p>
      <p>A12 </p>
      <p>
S 
where S = A22  A21 A111 A12 is the Schur complement of A . </p>
      <p>
        After approximating the Schur complement with a polynomial and the recursive
application of the expansion (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) to the matrix
structing a preconditioner that approximates the matrix A1 is obtained:
A22 , the following algorithm for
con
  I
 M (k ) = 
  A2(1k )  A1(1k ) 1

S (k 1)  A2(2k 1) I  Pv  M (k 1) 1 A2(2k 1) 
 
      </p>
      <p>1</p>
      <p>A of the size dimA = [K * L, K * L] that is divided into L * L
blocks Aij , i, j = 1,..., L of the size dimAij = [K , K ] we have</p>
      <p>
        A1(1k ) = ALk ,Lk , dimA1(1k ) = [K , K ],  
A1(2k ) = ( ALk ,Lk 1,..., ALk ,L ), dimA1(2k ) = [K , kK ],  
A2(1k ) = ( ALk 1,Lk ,..., AL,Lk ), dimA2(1k ) = [kK , K ],  
(
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) 
(
        <xref ref-type="bibr" rid="ref2">2</xref>
        ) 
 ALk 1,Lk 1
A2(2k ) =  ...
      </p>
      <p> AL,Lk 1
...
...
...</p>
      <p>ALk 1,L 
...  , dimA2(2k ) = [kK , kK ],  </p>
      <p></p>
      <p>ALL 
dimS (k 1) = dimA2(2k ) , S (0) = ALL1, dimM (k ) = [(k  1)K , (k 1)K ], k = 1,..., L 1
and M (L1) is an approximate inverse of A . </p>
      <p>
        The AMLI algorithm can be optimally stabilized by choosing the degree of an
approximating polynomial [12]. However, the applicability of this theory while solving
stress-strain problems described by hyperbolic differential equations wasn't proved.
As such problems are of our specific interest, we consider the simplest case of
Pv (t) = P1 (t) = 1  t . Then, the Schur complement approximation becomes
S (k 1)  M (k 1)
and the recursive scheme (
        <xref ref-type="bibr" rid="ref2">2</xref>
        ) simplifies to
      </p>
      <p> I
M (k ) = 
 A2(1k )  A1(1k ) 1</p>
      <p>xN = A1(1N ) wN , xi = wi  A1(1i) A1(2i) ( xi1 ,..., xN ), i = 0,..., N 1.</p>
      <p>The ``reverse`` part consists in the sequential computation of the resulting vector
 A1(1k ) 1</p>
      <p>
        In the scheme (
        <xref ref-type="bibr" rid="ref3">3</xref>
        ), the matrices can be approximated by incomplete
decomposition methods such as the ILU factorization [14] or incomplete Gram-Schmidt
method [15]. To make the scheme more efficient while solving ill-conditioned linear
systems, we propose to approximate them by the incomplete basis matrix method that
is specifically developed for this case and is described in detail in [16].
      </p>
      <p>
        Summarizing, the sequential computational scheme for the preconditioning
procedure (
        <xref ref-type="bibr" rid="ref3">3</xref>
        ) is as follows. The matrix A is divided into ( N  1)  ( N  1) blocks the
following way:
 A(0)
      </p>
      <p>11
A =  A2(01)1
 ...
 A2(01)N</p>
      <p>A(0)
121
...
...
...</p>
      <p>...</p>
      <p>...</p>
      <p>A(N 1)
11
A2(1PN1)</p>
      <p>A1(20)N 
... 
A1(2NN1)  ,</p>
      <p>
A(N ) 
11 </p>
      <p>A1(2i) =  A1(2i,)i1,..., A1(2i)N  , A2(1i) =  A2(1i),i1,..., A2(1i)N .</p>
      <p>
        Considering the application of the preconditioner (
        <xref ref-type="bibr" rid="ref3">3</xref>
        ) as a solution of the linear
system M (N ) x = b, x = ( x0 ,..., xN ), b = (b0 ,..., bN ) , it can be performed by a two-stage
procedure, V-cycle, consisting of a "direct" and a "reverse" part.
      </p>
      <p>
        On the ``direct`` part of the procedure, values of the following vectors are
sequentially computed:
(
        <xref ref-type="bibr" rid="ref3">3</xref>
        ) 
(
        <xref ref-type="bibr" rid="ref4">4</xref>
        ) 
(
        <xref ref-type="bibr" rid="ref5">5</xref>
        ) 
 1 = max i  AA 
In (
        <xref ref-type="bibr" rid="ref4">4</xref>
        ),(
        <xref ref-type="bibr" rid="ref5">5</xref>
        ), matrices A (i)
      </p>
      <p>11 are the approximates to the corresponding inverse matrices
obtained by the incomplete basis matrix method [16].</p>
      <p>As the initial matrix is sparse, we use the compressed row storage (CSR) scheme
for all the matrices.</p>
      <p>The approximation accuracy is controlled on the iterations of the algorithm by
calculating ii for all the processed rows. When 1 becomes bigger than a
given threshold value, we perform complete inversion. As the resulting matrices aren't
always dense, we also use the CSR storage scheme doing complete inversion.
3</p>
      <p>
        Parallel implementation of the preconditioner
To make the AMLI algorithm combined with matrix blocks incomplete inversions
using the basis matrix method run in parallel on distributed memory systems, the
following data partitioning scheme can be applied. Each of i row blocks  
 A2(01i) ,..., A2(1ii1) , A(i) , A(i)
11 12,i1,..., A1(2i)N 
is distributed on a system of P processes by blocks of rows. Thus, each process
stores blocks of rows of the submatrices A(i) , A(i) , A2(1i)j and can perform
multiplica11 12
tions that arise while applying the preconditioner (
        <xref ref-type="bibr" rid="ref3">3</xref>
        ) in parallel. 
      </p>
      <p>The computational scheme that we use for multiplying a sparse matrix A of size
M  M by a vector v has the following form:</p>
    </sec>
    <sec id="sec-2">
      <title>1. The process p stores the block</title>
      <p>Bp = [rp0,rp1 ], iP=0Bi = [0,..., M ], Bi Bj = , i, j of the matrix A rows and the
corresponding elements of the vector v ; 
2. Denote a set of columns of the matrix A in which non-zero elements are present in
the row block Bp as Cp ; 
3. The process p sends values of the elements of the vector v from the index set
Ci Bp to the processes i, Ci Bp   and receives the values of the elements
from the index set Cp Bj from the processes j, C p Bj   ; 
4. After the synchronization is performed on the step 3, each of the processes
independently multiplies the block of rows of the matrix A by the vector v . The result
of this multiplication has the same partitioning as the vector v has.  </p>
      <p>
        Performing the ``direct`` part (
        <xref ref-type="bibr" rid="ref4">4</xref>
        ) of the AMLI algorithm, when vector
multiplications by the matrices A2(1i) are organized as successive multiplications by the
submatrices A2(1i)j , the synchronizations are done once according to the fill-in pattern of the
matrix A2(1i) . Similarly, when the non-changeable component xi of the result vector x
is multiplied by the submatrices A1(2ji) , j &lt; i during the ``reverse`` part (
        <xref ref-type="bibr" rid="ref5">5</xref>
        ), the
synchronization can be performed only once according to the combined fill-in pattern of
the submatrices A2(1i)i .
      </p>
      <p>The matrices A (i)</p>
      <p>11 can be obtained in parallel the following way:
 The process p handles the sequence k p2 &gt; k  k p1 of the matrices A(k)
11 . The
sequences are constructed to make the processes evenly loaded as far as it is possible.
This is ensured by approximately the same number of non-zero elements in the
matrices A1(1k) that are processed by each of the processes. 
 The processes exchange the values of the elements of the matrices A1(1i) to make the
matrices A1(1k) , k p2 &gt; k  k p1 completely stored in the memory of the process p .
The process p sends row blocks Bp of the matrices A1(1k) , ki2 &gt; k  ki1 to the
processes i, i  p and receives row blocks Bi of the matrices A1(1k) , k p2 &gt; k  k p1 from
them. 
 Each of the processes independently performs a complete or incomplete inversion
of the matrices. 
 The processes exchange the values of the elements of the matrices A (i)
11 to restore
the initial data partitioning. The process p sends row blocks Bi of the matrices
A1(1k) , k p2 &gt; k  k p1 to the processes i, i  p and receives row blocks Bp of</p>
    </sec>
    <sec id="sec-3">
      <title>A1(1k) , ki2 &gt; k  ki1 matrices from them.  </title>
      <p>Since the data partitioning of the blocks of rows within the matrices A1(2i) , A2(1ji) may
differ for the different values of i , an additional synchronization should be performed
when vectors are multiplied by these matrices. Denote a block of rows from the
submatrices A1(2i) , A2(1ji) that is handled by the process p as Bpi . Then, before multiplying
a vector v with the partitioning Bi = (B0i ,..., BPi ) by the matrix A2(1i) , we need to
synchronize its elements to make each of the processes store the block Bpi ...BpN . To
do so, the process p sends the block Bpi Brj of the elements of the vector to the
process r if Bpi Brj  , j  i . Then, the process p receives a corresponding block
from the process r if Bpj Bri  , j  i .</p>
      <p>Similar procedures should be performed when a vector v = (vi1,..., vN ) is
multiplied by the matrix A(i)</p>
      <p>
        12 for each of its components. When the non-changeable
component x j is multiplied by the matrices A1(2i) during the ``reverse`` part (
        <xref ref-type="bibr" rid="ref5">5</xref>
        ) of the
AMLI algorithm, the synchronization can be performed once before calculating the
result of the first multiplication operation.
      </p>
      <p>When the preconditioner is used with an iterative method for solving a linear
alge
braic system, we perform a calculation of the matrices A11 and the sets of the
elements that need synchronization once on the first iteration. The execution of these
operations will be further denoted as ``initialization procedure''.
4</p>
      <p>Estimation of algorithms performance
We estimate the performance of the considered algorithms on the base of the
following assumptions: 
 the matrices A1(1i) have the same fill-in factor k11 , and the matrices A1(2i)j , A2(1i)j - the
same fill-in factor k2 which does not dependent on the block size; 
 A percentage k f of the matrices A(i)</p>
      <p>11 for which the full inversion procedure is
applied does not depend on the block size; 
 The inverse matrices of A1(1i) are completely filled; 
 The number of elements that each of the processes must synchronize before
performing a parallel multiplication is considered proportional (with the coefficient of
proportionality equal to ks ) to the number of non-zero elements in the block of
matrix rows. We assume that each of the processes performs only one pair of data
exchange operations doing the synchronization; 
 The submatrices are considered evenly distributed across the system. </p>
      <p>
        Under these assumptions, the time sequential algorithm spend to perform
calculations on (
        <xref ref-type="bibr" rid="ref4">4</xref>
        ), (
        <xref ref-type="bibr" rid="ref5">5</xref>
        ) can be estimated as
      </p>
      <p>2
n 2(k f  (1  k f )k11 )  (N 1)k2   4n  n(N 1)]</p>
      <p>T1(n, N ) = k p[ N
where k p is the performance coefficient. </p>
      <p>The minimal time is achieved here for the number of blocks</p>
      <p>N = Nm = 2 k f  (1  k f )k11   k2  n.</p>
      <p>The time spent on computation of the matrices with an assumption that the
computational complexity of one step of the incomplete basis matrix method is
proportional to the maximal number of non-zero elements in the rows of the matrices
A(k)
11 can be estimated as follows:
A (k)
11
 n3 n2 
Ti1(n, N ) = Nk p2  k f N 3  k11 N 2 </p>
      <p>
        
where k p2 is the performance coefficient. 
(
        <xref ref-type="bibr" rid="ref6">6</xref>
        ) 
(
        <xref ref-type="bibr" rid="ref7">7</xref>
        ) 
(
        <xref ref-type="bibr" rid="ref8">8</xref>
        ) 
where ke is the bandwidth, n is the data size, ka is the latency. 
      </p>
      <p>
        Taking into account (
        <xref ref-type="bibr" rid="ref9">9</xref>
        ), the total time spent by the parallel algorithm on
performing calculations on (
        <xref ref-type="bibr" rid="ref4">4</xref>
        ), (
        <xref ref-type="bibr" rid="ref5">5</xref>
        ) can be estimated as
      </p>
      <p>TP (n, N ) = P1 T1(n, N )  2 n  ks ((1  k f )k11 
ke  P</p>
      <p>N 1</p>
      <p>N
k2 ) </p>
      <p>P 1</p>
      <p>P</p>
      <p>
k f  

(2N (2  k f P  2k f )  2)ka
where P is the number of processes. </p>
      <p>
        The minimal time spent on data exchanges for a fixed N is achieved when the
number of processes is equal to
(
        <xref ref-type="bibr" rid="ref9">9</xref>
        ) 
(
        <xref ref-type="bibr" rid="ref10">10</xref>
        ) 
(
        <xref ref-type="bibr" rid="ref11">11</xref>
        ) 
      </p>
      <p>We evaluate the computation time of the parallel algorithm using the linear model
of a pairwise data exchange operation:</p>
      <p>Ts (n) = n/ke  ka
Pm (N ) =
2nks ((1  k f )k11 
2kekak f N</p>
      <p>N 1</p>
      <p>N
k2 )
.</p>
      <p>When doing parallel computations, the time spent to calculate the matrices A (k)
11
can be estimated with the assumption that each of the processes performs incomplete</p>
      <p>
        N
or complete inversion of P submatrices (we consider this number to be integer) as
TiP (n, N ) = P1 Ti1(n, N )  NP (P 1)( Nk121Pnk2e  ka    (1 k f )k11  k f  N 2nP2 ke  ka ).
(
        <xref ref-type="bibr" rid="ref12">12</xref>
        ) 
5
      </p>
      <p>Experimental analysis of the algorithm’s performance
We apply the proposed parallel modification of the preconditioner to solve linear
systems arising while modelling stress-strain state of the soil under a dam using the
model of dynamic consolidation of saturated soils as described in [11]. </p>
      <p>The two-dimensional model has the form of the hyperbolic differential equations'
system with respect to 8 unknown function - the horizontal and the vertical
components uw , vw , usk , vsk of water and soil skeleton displacement vectors and their first
derivatives. The used boundary and the initial conditions, solution domain, and
parameter values are given in [11]. The problem was discretised by the Galerkin finite
element method on a rectangular mesh with respect to the space variables and by the
Crank-Nicolson scheme with respect to the time variable.</p>
      <p>While forming linear systems, their rows were ordered to form blocks related to a
single unknown function. To minimize a number of synchronizations we use the
Cuthill-McKee ordering of mesh nodes. Performing the diagonal scaling of rows we
obtain matrices that have the following properties: non-symmetricity; loosely coupled
block structure; high fill-in factor; high condition number due to different speeds of
the simulated processes. As in the considered model of soil stress-strain state we have
8 unknown functions, the matrices can be easily represented as 2x2 block matrices.
Such properties of matrices make them an appropriate testing case for the AMLI
preconditioner that is built upon the idea of block matrix subdivision and thus can be
efficient working with matrices that have loosely coupled diagonal blocks in their
structure. The usage of the incomplete basis matrix method here is beneficial because
matrices contain significantly ill-conditioned blocks and other methods like
incomplete LU decomposition can be unstable in this case.</p>
      <p>The performance and the convergence of the considered algorithm were
experimentally studied on the SCIT-3 cluster of the Institute of Cybernetics of National
Academy of Sciences of Ukraine. The eight-core nodes based on Intel Xeon 5345
processors with 2GB RAM per core were used.</p>
      <p>The algorithm was tested on the matrix which arises on the first time step with a
length  = 2hours . This matrix of this linear system, further denoted as SD, has the
size equal to 107856 107856 with an average number of non-zero elements in a row
equal to 23.42 . Its condition number estimated by the LSMR algorithm [17] has an
order of 1012 .</p>
      <p>Linear system was solved using the BiCGStab [1] algorithm with the proposed
modification of the AMLI preconditioner. The BiCGStab was used because of
nonsymmetric nature of the matrix. The submatrices A1(1k) were completely inverted when
 1 &lt; 0.05 . This resulted in the complete inversion of : 50% of the submatrices. The
acceptable accuracy of the calculations (here and further - the value below which the
residual has to be reduced on BiCGStab iterations) was equal to 109 .</p>
      <p>The use of the BiCGStab algorithm itself, or with the procedure of a diagonal
scaling of rows, did not allow obtaining solutions of the required accuracy. The
computation time when the BiCGStab was used without the usage of any preconditioner was
equal to 140 ms per iteration.</p>
      <p>
        To experimentally assess the accuracy of the estimates (
        <xref ref-type="bibr" rid="ref6">6</xref>
        ) and (
        <xref ref-type="bibr" rid="ref7">7</xref>
        ) of single
preconditioner application execution time on a single processor core without the
initialization procedure, the linear system SD was solved with the variable size of blocks on
which the matrix is split. The values of the estimates’ coefficients were, here and
further, found using the least squares method on the base of the measured execution
time. The block size which minimizes the computation time was between 125 and
500, which corresponds to the calculated value of the theoretical estimate (
        <xref ref-type="bibr" rid="ref7">7</xref>
        ) equal to
179. The obtained experimental data confirm the properties of the algorithm reflected
in the estimate (
        <xref ref-type="bibr" rid="ref6">6</xref>
        ) whose accuracy was not worse than 25%.
      </p>
      <p>
        The performance estimate (
        <xref ref-type="bibr" rid="ref10">10</xref>
        ) in the similar case for the parallel algorithm was
verified measuring the time spent on data exchanges between processes. The
estimation error here remains within 30% for the block size ranging from 250 to 3000 and
the number of processes ranging from 12 to 24. In other cases, the error increases. For
a fixed block size, the optimal number of processes, that ensures the minimal time
spent on exchanges, in most cases, was slightly lower than the values calculated by
the estimate (
        <xref ref-type="bibr" rid="ref11">11</xref>
        ).
      </p>
      <p>A (k)</p>
      <p>
        The time spent on the calculations of the matrices 11 (initialization procedure)
depending on the block size in the case of the sequential algorithm was measured for
the block size ranging from 125 to 4000. Then, the time was assessed by the estimate
(
        <xref ref-type="bibr" rid="ref8">8</xref>
        ). The accuracy of the estimate was within 12% for the block size less than 3000,
while the block size increase leads to the increase of the error. These inaccuracies
may be caused by a change in the percentage of fully inverted submatrices. In the case
of the parallel algorithm, the corresponding time was measured and estimated by (
        <xref ref-type="bibr" rid="ref12">12</xref>
        ).
The general behaviour of the estimate (
        <xref ref-type="bibr" rid="ref12">12</xref>
        ) coincides with the measured time (Fig.1)
but the estimation errors were high.
 
Fig. 1. Time, ms, spent on the calculations of A1(1k) matrices and its estimate in the case of the
parallel algorithm
      </p>
      <p>Further, we studied an influence of the size of blocks on which the matrix is split
on the iterative method’s convergence. The number of iterations required to achieve
109 order of accuracy was measured along with the overall time spent by the
BiCGstab algorithm and the proposed preconditioner running on a single processor core.
Here, an increase of the block size leads to a decrease of the fill-in factor of the
matrices A(k)</p>
      <p>11 . As the incomplete basis matrix method performs better in terms of accuracy
on highly filled sparse matrices, the decrease of the fill-in factor results in the increase
of the number of completely inverted matrices. This accelerates the convergence of
the iterative algorithm (Fig. 2) along with the significant increase of its running time.
The block size for which the required accuracy is reached in the minimal time was in
the range from 75 to 125 elements.</p>
      <p>A(k)</p>
      <p>
        The decrease of the number of fully inverted submatrices 11 reduces the time
spent on preconditioner initialization and thus significantly decreases the running time
the parallel algorithm in the case when a small number of computational resources are
used. On the other hand, the speed-up of the initialization operation is higher for the
k
higher values of f , so the time spent on initialization becomes close to equal for the
k
different values of f when the number of processes increase. The time spent on the
parallel calculations on (
        <xref ref-type="bibr" rid="ref4">4</xref>
        ), (
        <xref ref-type="bibr" rid="ref5">5</xref>
        ) behaves likewise. The smaller number of completely
inverted submatrices, in general, accelerates this operation, but the speed-up decreases
with the increase of the number of computing resources involved. All this, given that
convergence is faster for a larger number of completely inverted submatrices, leads to
k
the situation when f reduction is effective only when a small number of processes
are involved.
 
      </p>
      <p>The efficiency of the proposed parallel preconditioner was compared with the
efficiency of known algorithms implemented in the hypre software package v.2.10.0b
[18]. The only combination of an iterative method and a preconditioner implemented
in the hypre which allowed obtaining solutions of 109 accuracy order was the Gmres
[1] and the AMG preconditioner [3] (we will further denote this pair as the
Gmres+AMG). The total time needed to obtain the solution of the linear system SD
with 109 order of accuracy is given in Fig. 3. Here the proposed parallel
preconditioner was used with the block size equal to 250 and 500. It was faster than the
Gmres+AMG when the number of processes was less than 20 with the block size
equal to 500. However, the scalability of the proposed parallel algorithm was lower
comparing with the Gmres+AMG.
 
The parallel computation scheme was constructed for the AMLI preconditioner with
incomplete inversion of matrix blocks using the so-called basis matrix method and the
theoretical estimates of its performance were obtained and experimentally verified. </p>
      <p>For the linear system obtained while modelling stress-strain state of soil which has
the size equal to 107856 107856 , the condition number of 1012 order, the maximal
achieved speed-up was 24% when scaling the algorithm on 8 processes for the block
size equal to 500 elements. The low scalability of the algorithm here can be explained
by the large number of data exchange operations that must be performed before each
matrix-vector multiplication.</p>
      <p>We compared the characteristics of the proposed preconditioner with the AMG
used as preconditioner in the Gmres algorithm implemented in the hypre software
package. The scalability of the proposed algorithm was generally worse, but it had
better performance for the considered significantly ill-conditioned linear system when
solving it on less than 20 processor cores.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Saad</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          :
          <article-title>Iterative methods for sparse linear systems, 2 edition</article-title>
          .
          <source>Society for Industrial and Applied Mathematics</source>
          (
          <year>2003</year>
          ).
          <source>doi: 10.1137/1</source>
          .9780898718003
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Chen</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <source>Matrix Preconditioning Techniques and Applications</source>
          . Cambridge University Press (
          <year>2005</year>
          ). doi:
          <volume>10</volume>
          .1017/CBO9780511543258
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Saad</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          :
          <article-title>Practical use of polynomial preconditionings for the conjugate gradient method</article-title>
          .
          <source>SIAM J. Sci. Stat</source>
          . Comp.
          <volume>6</volume>
          ,
          <fpage>865</fpage>
          -
          <lpage>881</lpage>
          (
          <year>1985</year>
          ).
          <source>doi:10.1137/0906059</source>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Shapira</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          :
          <source>Matrix-Based Multigrid: Theory and Applications</source>
          . Springer Science &amp; Business
          <string-name>
            <surname>Media</surname>
          </string-name>
          (
          <year>2003</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Mense</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nabben</surname>
          </string-name>
          , R.:
          <article-title>On algebraic multilevel methods for non-symmetric systems - convergence results</article-title>
          .
          <source>Electron. Trans. Numer. Anal</source>
          .
          <volume>30</volume>
          ,
          <fpage>323</fpage>
          -
          <lpage>345</lpage>
          (
          <year>2008</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Bayramov</surname>
            ,
            <given-names>N.R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kraus</surname>
            ,
            <given-names>J.K.</given-names>
          </string-name>
          :
          <article-title>Multigrid methods for convection-diffusion problems discretized by a monotone scheme</article-title>
          .
          <source>Comput. Method. Appl</source>
          . M.
          <volume>317</volume>
          ,
          <fpage>723</fpage>
          -
          <lpage>745</lpage>
          (
          <year>2017</year>
          ). doi:
          <volume>10</volume>
          .1016/j.cma.
          <year>2017</year>
          .
          <volume>01</volume>
          .004
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Chan</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tang</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wan</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          :
          <article-title>Wavelet sparse approximate inverse preconditioners</article-title>
          .
          <source>BIT Numerical Mathematics</source>
          <volume>37</volume>
          ,
          <fpage>644</fpage>
          -
          <lpage>660</lpage>
          (
          <year>1997</year>
          ). doi:
          <volume>10</volume>
          .1007/BF02510244
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Bianchi</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Buccini</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Generalized Structure Preserving Preconditioners for FrameBased Image Deblurring</article-title>
          .
          <source>Mathematics</source>
          <volume>8</volume>
          (
          <issue>4</issue>
          ),
          <volume>468</volume>
          (
          <year>2020</year>
          ). doi:
          <volume>10</volume>
          .3390/math8040468
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Kudin</surname>
            ,
            <given-names>V.I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Liashko</surname>
            ,
            <given-names>S.I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kharytonenko</surname>
            ,
            <given-names>N.V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Iatsenko</surname>
            ,
            <given-names>Iu.P.</given-names>
          </string-name>
          :
          <article-title>Analysis of the properties of a linear system using the method of artificial basis matrices</article-title>
          .
          <source>Cybernetics and Systems Analysis</source>
          <volume>43</volume>
          (
          <issue>4</issue>
          ),
          <fpage>563</fpage>
          -
          <lpage>570</lpage>
          (
          <year>2007</year>
          ).
          <source>doi:10.1007/s10559-007-0081-3</source>
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Bogaienko</surname>
            ,
            <given-names>V.O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kudin</surname>
            :
            <given-names>V.I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Skopetsky</surname>
            ,
            <given-names>V.V.</given-names>
          </string-name>
          :
          <article-title>Aspects of the organization of computations using the basis-matrix method</article-title>
          .
          <source>Cybernetics and Systems Analysis</source>
          <volume>48</volume>
          (
          <issue>4</issue>
          ),
          <fpage>30</fpage>
          -
          <lpage>34</lpage>
          (
          <year>2012</year>
          ).
          <source>doi:10.1007/s10559-012-9441-8</source>
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Bohaienko</surname>
            ,
            <given-names>V.O.</given-names>
          </string-name>
          :
          <article-title>Using Basis Matrix Method with AMLI Preconditioner for Solving Elasticity Problems</article-title>
          .
          <source>In: Proceedings of the 4th International Scientific Conference of Students and Young Scientists ``Theoretical and Applied Aspects of Cybernetics</source>
          ``; Kyiv, Ukraine, pp.
          <fpage>24</fpage>
          -
          <lpage>28</lpage>
          (
          <year>2014</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Axelsson</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Barker</surname>
            ,
            <given-names>V.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Neytcheva</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Polman</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>Solving the Stokes Problem on a Massively Parallel Computer</article-title>
          .
          <source>Math Model Anal. 6</source>
          ,
          <fpage>7</fpage>
          -
          <lpage>27</lpage>
          (
          <year>2001</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Li</surname>
            ,
            <given-names>Zh.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wu</surname>
          </string-name>
          , Sh.,
          <string-name>
            <surname>Xu</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          , Zhang, Ch.:
          <string-name>
            <surname>Toward</surname>
          </string-name>
          Cost-Effective
          <source>Reservoir Simulation Solvers on GPUs. Adv. Appl. Math. Mech</source>
          .
          <volume>8</volume>
          (
          <issue>6</issue>
          ),
          <fpage>971</fpage>
          -
          <lpage>991</lpage>
          (
          <year>2016</year>
          ). doi:
          <volume>10</volume>
          .4208/aamm.
          <year>2015</year>
          .m1138
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Saad</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          :
          <article-title>Schur Complement Preconditioners for Distributed General Sparse Linear Systems</article-title>
          .
          <source>In: Domain Decomposition Methods in Science and Engineering XVI, Lecture Notes in Computational Science and Engineering</source>
          ,
          <volume>55</volume>
          , pp.
          <fpage>127</fpage>
          -
          <lpage>138</lpage>
          (
          <year>2007</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Liu</surname>
            ,
            <given-names>Q.H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zhang</surname>
          </string-name>
          , F.D.:
          <article-title>Incomplete hyperbolic Gram-Schmidt-based preconditioners for the solution of large indefinite least squares problems</article-title>
          .
          <source>J. Comput. Appl</source>
          . Math.
          <volume>250</volume>
          ,
          <fpage>210</fpage>
          -
          <lpage>216</lpage>
          (
          <year>2013</year>
          ). doi:
          <volume>10</volume>
          .1016/j.cam.
          <year>2013</year>
          .
          <volume>02</volume>
          .016
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Bohaienko</surname>
            ,
            <given-names>V.O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kudin</surname>
            ,
            <given-names>V.I.</given-names>
          </string-name>
          :
          <article-title>Building preconditioners using basis matrix method</article-title>
          .
          <source>International Journal ``Information Content and Processing`` 1</source>
          (
          <issue>2</issue>
          ),
          <fpage>182</fpage>
          -
          <lpage>187</lpage>
          (
          <year>2014</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Fong</surname>
          </string-name>
          , D.C.-L.,
          <string-name>
            <surname>Saunders</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>LSMR: An Iterative Algorithm for Sparse Least-Squares Problems</article-title>
          .
          <source>SIAM J. Sci. Comput</source>
          .
          <volume>33</volume>
          (
          <issue>5</issue>
          ),
          <fpage>2950</fpage>
          -
          <lpage>2971</lpage>
          (
          <year>2011</year>
          ). doi:
          <volume>10</volume>
          .1137/10079687X
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Falgout</surname>
            ,
            <given-names>R.D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yang</surname>
          </string-name>
          , U.M.
          <article-title>: hypre: A Library of High Performance Preconditioners</article-title>
          . In:
          <string-name>
            <surname>Sloot</surname>
            <given-names>PMA</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hoekstra</surname>
            <given-names>AG</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tan</surname>
            <given-names>CJK</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dongarra</surname>
            <given-names>JJ</given-names>
          </string-name>
          (editors).
          <source>Lecture Notes in Computer Science</source>
          , vol
          <volume>2331</volume>
          , Wien: Springer Verlag, pp.
          <fpage>632</fpage>
          -
          <lpage>641</lpage>
          (
          <year>2002</year>
          ).
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>