<!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>Game Theoretic Analysis of Multi-Processor Schedulers: Matrix Multiplication Example</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Oleksii Ignatenko</string-name>
          <email>o.ignatenko@gmail.com</email>
        </contrib>
        <contrib contrib-type="editor">
          <string-name>Key Terms. MathematicalModel, MultiAgentSystem, Infrastructure</string-name>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Institute of Software Systems NAS</institution>
          <country country="UA">Ukraine</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>This paper deals with a game model of users performing parallel computing in a heterogeneous multiprocessor system. The proposed approach is applied to the problem of matrix multiplication on the system with the scheduler of min-min type. The user's action is to choose the size of the blocks into which the matrix is cut. Each user tries to optimize own finish time, which leads to conflict. Using the game theoretic approach, we build game model and found the conditions of Nash equilibrium existence in the scheduling game of two users. We developed simulation model to verify the results.</p>
      </abstract>
      <kwd-group>
        <kwd />
        <kwd>parallel computing</kwd>
        <kwd>schedulers</kwd>
        <kwd>game theory</kwd>
        <kwd>Nash equilibrium</kwd>
        <kwd>Pareto efficiency</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Modern scientific problems require significant computing resources, so the problem
of resource optimization in multiprocessor environments is very important.
Nowadays, computing algorithms operate in complex heterogeneous environments. It is
common to have a distributed computational unit with many simultaneous programs
from different users competing for computing and network resources. In most cases,
the user is unable to control the distribution of resources. The allocation algorithms
may contain defects and inefficiency and this can lead to a significant increase in
processing time. That is why distributed computing requires efficient algorithms
providing a flexible and stable allocation of resources. The problem is to deal with
unfair and uneven access to resources, caused by heterogeneity of users and their
tasks where each user is a rational agent that tries to increase its share of resources.</p>
    </sec>
    <sec id="sec-2">
      <title>This could bring the system to the inefficient equilibrium. A key element is an effi</title>
      <p>cient algorithm for load distribution – scheduler, providing services to users.</p>
    </sec>
    <sec id="sec-3">
      <title>The idea of this work is to apply the game-theoretic approach to the problem of</title>
      <p>scheduling and allocation of computing resources in a dynamic heterogeneous
environment with many competitive users.</p>
      <p>
        In this work we consider heterogeneous multi-processor computing system and
associated constraint set a finite pool of processor resources (for each node), and limited
link capacity. Our goal is to specify work schedule for each node in the way that the
computing time (the time when the latest task is finished) is the smallest. This
schedule also should satisfy all defined constraints. This is the classical multiprocessor
scheduling problem, investigated in many works starting from [1]. It is well known
that this problem is NP-hard. One possible solution is to reduce scheduling
complexity by using fluid model setup [2]. Another approach to this problem is to consider a
game-theoretic approach, which is the current trend in networks and computing
systems [3]. In this work we construct static non-cooperative game for load balancing
problem in single-class job distributed systems. This problem is investigated by many
authors in cooperative (optimal) and game-oriented settings (see [
        <xref ref-type="bibr" rid="ref4 ref5 ref6 ref7">4 - 7</xref>
        ] for
references). Here, we propose a new analysis of scheduler for matrix multiplication
problem in game setup. The proposed approach is applied to the problem of matrix
multiplication on the scheduler of min-min type. The user’s action is to choose the size of
the blocks into which the matrix is cut. Each user tries to optimize own finish time,
which eventually brings the system to an equilibrium state. This equilibrium is
defined by scheduler’s type, so characteristic of equilibrium is important for scheduling
policy analysis.
      </p>
    </sec>
    <sec id="sec-4">
      <title>As a result, we presented conditions for the existence of Nash equlibrium end proved</title>
    </sec>
    <sec id="sec-5">
      <title>Pareto inefficiency. Finally, we implement simulations using CloudSim package [8] and provide experiments on a heterogeneous multi-processor system to verify simulation and theoretic models.</title>
      <p>2</p>
      <sec id="sec-5-1">
        <title>Matrix Multiplication Model</title>
        <p>
          We consider an analytic computational model of parallel matrices multiplication
developed in papers [
          <xref ref-type="bibr" rid="ref10 ref9">9, 10</xref>
          ]. It is assumed that computation nodes cannot interact and
share data. Every node is connected with scheduler. Scheduler receives computational
tasks from users and sends them to an available processor (according to its resource
allocation algorithm). Every single processor works on its task and returns result. Let
us fix notation. Consider the heterogeneous multi-processor system of m
computational elements, and every element has capacity   ,  = 1, … ,  . Tasks are translated
by network lines, which are assumed to be identical and have capacity  .
        </p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>In this work it is assumed that:</title>
    </sec>
    <sec id="sec-7">
      <title>1. All processors start to work at the same time;</title>
    </sec>
    <sec id="sec-8">
      <title>2. Scheduler makes assignments instantly;</title>
    </sec>
    <sec id="sec-9">
      <title>3. Scheduling is deterministic.</title>
    </sec>
    <sec id="sec-10">
      <title>We will proceed by building simple fluid model for matrices multiplication ignoring transfer delays. Secondly, we provide generalization by including data transfer into model. Finally, we consider discrete model, which is the closest to practice. 2</title>
      <p>2.1</p>
      <sec id="sec-10-1">
        <title>Simplified Fluid Model</title>
      </sec>
    </sec>
    <sec id="sec-11">
      <title>First, let us consider parallel multiplication of two square matrices  ×  . Using</title>
      <p>Block matrix multiplication algorithm user specifies block size  . Let the size of
block  be a natural number such that  =  22 is a natural number too. The algorithm
will produce  tasks, each with the complexity of  ( 2). Let  ( ,  ) be the time
when all user’s tasks are finished. The problem of time optimal matrix multiplication
is the minimization function problem:</p>
      <p>( ,  ) →</p>
    </sec>
    <sec id="sec-12">
      <title>Function  ( ,  ) has in general many local extremes, so searching for global</title>
      <p>minimum could be resource demanding problem.</p>
    </sec>
    <sec id="sec-13">
      <title>Promising direction of research is the fluid model analysis [2]. Let the user</title>
      <p>choose vector  ( ) ∈   with components   ( ), where   ( ) ≥ 0,   ( ) ≤  ,  =
1, … ,  , ∑</p>
      <p>=1   ( ) =  . Denote  ( ) as the set of all vectors  ( ). Every
component   ( ) is the amount of computation designed for execution on i-th processor.</p>
    </sec>
    <sec id="sec-14">
      <title>Firstly, we take into account only multiplication operation. This is a simplification but</title>
      <p>it allows us to understand basic properties of the computation process.</p>
    </sec>
    <sec id="sec-15">
      <title>Finish time was found in [9] and is defined by the following formulae</title>
      <p>( ,  ( )) = max {    2}.
 =1,..,</p>
    </sec>
    <sec id="sec-16">
      <title>The idea of the proposed approach is a fluid approximation to the problem. For the approximation, we assume that work is composed of homogeneous fluid rather than discrete jobs.</title>
    </sec>
    <sec id="sec-17">
      <title>Proposition 1. [9] Minimal task finish time (excluding transmit time) for a fluid</title>
      <p>model with one user is equal  =  3(∑ =1   )−1 and  ( ( )) =
 ( 1, … ,   ).</p>
    </sec>
    <sec id="sec-18">
      <title>In this work we employ general approach using convex analysis functions, which we expect to be a promising direction for future investigation of more complex systems.</title>
      <p>Define Minkowski functional for set  and vector  ∈   as:
  ( ) =  { &gt; 0:  ∈  }.</p>
    </sec>
    <sec id="sec-19">
      <title>It is known that Minkowski functional is convex for convex  . Let us define the</title>
      <p>set of capabilities of the computation system  = { ∈   :   ∈ [0,   ]} and rescale it
as following:  ( ) =</p>
      <p>2
Proposition 2. The following equality is true  ( ,  ( )) =   ( )( ).</p>
      <p>Proof. Consider right-hand side. It is clear that  ( )( ) =  { &gt; 0:  ∈
 ( )}. A Vector  belongs to the set  if and only if max {  } = 1, so   ( )( ) =
 =1,..,  
{ &gt; 0:
max {  } =   2}. This is equivalent to equality  =
 =1,..,  
Note. There is exists minimum  
max {    2}.</p>
      <p>=1,..,  
= min   ( )( ) and this minimum is
 ∈ ( )
unique.
2.2</p>
      <p>General Fluid Model
  ( ,  ( )) =
max
 =1,…,</p>
      <p>{    2
+   ( 2+2
)
}.</p>
      <p />
      <p>To take into account transfer time we note, that block algorithm sends 2  
ements on each node and receives    2 elements. So, summary time is equal to
elProposition 3. There is minimum of   ( ,  ( )) with respect to  ∈  ( )
Proof. X(n) is convex compact. Function Ts(x, X(n)) is continuous and convex,
so there is the minimum point.
2.3</p>
      <sec id="sec-19-1">
        <title>Discrete Model and Schedulers</title>
      </sec>
    </sec>
    <sec id="sec-20">
      <title>Time minimization should be performed on finite net:</title>
      <p>( ) = { ∈   :   ∈ {0,1, … ,  }, ∑   =  ,  = 1, . . ,  }.
It is clear that  ( ) ⊂  ( ).</p>
    </sec>
    <sec id="sec-21">
      <title>Now we consider the notion of a scheduler.</title>
    </sec>
    <sec id="sec-22">
      <title>The user chooses the size of the block  and  ( ). The scheduler is an algorithm</title>
      <p>responsible for specifying concrete point  ∗ ∈  ( ). In this work, we will consider
only simple scheduler of extreme – extreme type and perform simulations and
investigation for min-min scheduler only. The min-min algorithm is quite popular and
simple. The idea of min-min is following.</p>
      <p>1.</p>
      <p>The scheduler receives  tasks, every task has complexity   2;</p>
    </sec>
    <sec id="sec-23">
      <title>2. The scheduler chooses task with minimal computation complexity (in the</title>
      <p>case of equal tasks the choice is random);</p>
    </sec>
    <sec id="sec-24">
      <title>3. The scheduler sends chosen task on the free processor with maximal capaci</title>
      <p>ty or waits in the case of no free resources.</p>
    </sec>
    <sec id="sec-25">
      <title>4. If the queue is not empty then return to 2.</title>
    </sec>
    <sec id="sec-26">
      <title>The result of algorithm is the pair of vector  and finish time (finish time of the last</title>
      <p>task)</p>
    </sec>
    <sec id="sec-27">
      <title>Fix the size of block  and consider finish time.</title>
      <p>Proposition 4. For arbitrary  following inequalities are true:
  ( ) =
min  ( ,  ( )) ≥</p>
      <p>min  ( ,  ( ))
 ∈ ( )</p>
      <p>∈ ( )
( ) ≥   ( )</p>
    </sec>
    <sec id="sec-28">
      <title>Proof. Here we give a sketch of proof. The first inequality is true because</title>
      <p>( ) ⊂  ( ). The second inequality holds since   ( ) is minimum by definition.
3</p>
      <sec id="sec-28-1">
        <title>Non-Cooperative Scheduling Game Formulation</title>
        <p>We will deal with non-cooperative games in strategic or normal form. A
noncooperativeness here does not imply that the players do not cooperate, but it means
that any cooperation must be self-enforcing without any coordination among the
players. The strict definition is as follows.
{ , {  } ∈ , {  } ∈ } , where:
•</p>
        <p>is a finite set of players;
A non-cooperative game in strategic (or normal) form is a triplet  =
•   is the set of admissible strategies for player i.
•   :  →  is the utility (payoff) function for player i.</p>
      </sec>
    </sec>
    <sec id="sec-29">
      <title>A game is said to be static if the players take their actions only once, inde</title>
      <p>pendently of each other. In some sense, a static game is a game without any notion of
time, where no player has any knowledge of the decisions taken by the other players.</p>
      <p>Based on the assumption that all players are rational, the players try to maximize
their payoffs when responding to other players’ strategies. Generally speaking, the
final result is determined by non-cooperative maximization of integrated utility. In
this regard, the most accepted solution concept for a non-cooperative game is Nash
equilibrium [3], introduced by John F. Nash. Loosely speaking, Nash equilibrium is a
state of a non-cooperative game where no player can improve its utility by changing
its strategy if the other players maintain their current strategies. Formally,
purestrategy Nash equilibrium (NE) of a non-cooperative game  is a strategy profile  ∗ ∈
 such that for all  ∈  we have the following:</p>
      <p>( ∗,  −∗ ) ≥   (  ,  −∗ ) for all   ∈   .</p>
      <p>Here  − denotes the vector of strategies of all players except i. In other words, a
strategy profile is a pure-strategy Nash equilibrium if no player has an incentive to
unilaterally deviate to another strategy, given that other players’ strategies remain fixed.</p>
    </sec>
    <sec id="sec-30">
      <title>Let us formulate scheduling game for matrix multiplication problem. Players are</title>
      <p>users of distributed system. Define the set of players as {  } ∈ , where  is set of
indexes. Users have available multi-processors system with  computational elements.
Each element has capacity   ,  = 1, . . ,  . We assume every user has two square
matrices with dimension   ,  ∈  . The set of admissible strategies for player l is a
conjunction of all possible cuts   ∈   , ,  ∈  . After the player chooses his strategy
blocks are translated to a scheduler, which sends them to processors.</p>
      <p>Define finish time for l-th player as the time of finishing of last task   ,  ∈  .</p>
    </sec>
    <sec id="sec-31">
      <title>Every player wants to minimize his finish time.</title>
      <p>In current work we consider problem when:
1. The min-min scheduler is used.
2. The set of admissible sizes {  } =1,.., is sorted in ascending order.</p>
    </sec>
    <sec id="sec-32">
      <title>3. If players choose the same sizes, their finish times are the same. Finish time</title>
      <p>in this case is equal to double individual time for this size.
4. There is unique minimum   (  ),  = 1, … ,  . Denote argminimum index as
 ∗.</p>
    </sec>
    <sec id="sec-33">
      <title>5. There are two players in the system.</title>
    </sec>
    <sec id="sec-34">
      <title>In order to use game theory methods, we build the game matrix, using following</title>
      <p>rules. Let players choose strategies  1,  2. Denote their payoffs as  1( 1,  2) and
 2( 1,  2) respectively.</p>
      <p>1. If  1 &lt;  2, then  1( 1,  2) =   ( 1),  2( 1,  2) =   ( 1) +   ( 2).
2. If  1 =  2, then  1( 1,  1) =  2( 1,  1) = 2  ( 1).</p>
      <p>Proposition 5. If there is exists  ∗ such that inequality 2  (  ∗) ≤
  (  ∗−1) holds, then (  ∗,   ∗) – Nash equilibrium.</p>
      <p>Proof. By definition (  ∗,   ∗) is Nash equilibrium if:</p>
      <p>1(  ∗,   ∗) ≤  1(  ∗−1,   ∗),  2(  ∗,   ∗) ≤  2(  ∗,   ∗−1).</p>
    </sec>
    <sec id="sec-35">
      <title>Using rules, defined above we obtain: 5</title>
      <p>1(  ∗,   ∗) = 2  (  ∗),  1(  ∗−1,   ∗) =   (  ∗−1).</p>
      <p>The same is valid for the second player. If inequality 2  (  ∗) ≤
  (  ∗−1) holds, (  ∗,   ∗) – Nash equilibrium.</p>
      <p>Proposition 6. If there is exists  ∗ such that inequality 2  (  ∗) ≥
  (  ∗−1) holds, then (  ∗−1,   ∗−1) – Nash equilibrium.</p>
      <p>Proof. By definition (  ∗−1,   ∗−1) is Nash equilibrium if:</p>
      <p>1(  ∗,   ∗) ≥  1(  ∗−1,   ∗),  2(  ∗,   ∗) ≥  2(  ∗,   ∗−1).</p>
    </sec>
    <sec id="sec-36">
      <title>Using rules, defined above we obtain:</title>
      <p>1(  ∗,   ∗−1) =   (  ∗−1) +   (  ∗),  1(  ∗−1,   ∗−1) = 2  (  ∗−1).</p>
      <p>The same is valid for the second player. If inequality 2  (  ∗) ≥
  (  ∗−1) holds, then  1(  ∗,   ∗−1) ≥  1(  ∗−1,   ∗) and (  ∗−1,   ∗−1) – Nash
equilibrium.</p>
    </sec>
    <sec id="sec-37">
      <title>Note. Nash equilibrium is always Pareto-inefficient, in other words</title>
      <p>1(  ∗,   ∗) ≤  1(  ∗−1,   ∗),  2(  ∗,   ∗) ≤  2(  ∗−1,   ∗). This is common situation
in games of considered type.
4</p>
      <sec id="sec-37-1">
        <title>Simulations</title>
      </sec>
    </sec>
    <sec id="sec-38">
      <title>We have implemented simulations using CloudSim package and real multi</title>
      <p>processing system of Institute of Software Systems NAS Ukraine. The experiments
were designed to optimize finish time for one user. Matrices of 1200 on 1200
dimension were used. The experiment was performed on the node with two processors Quad</p>
    </sec>
    <sec id="sec-39">
      <title>Core Intel Xeon E5405 2GHz and 16 GB DDR2 @667 Mhz RAM (making 7 slave servers and 1 scheduler node).</title>
    </sec>
    <sec id="sec-40">
      <title>The graph of Time-Size dependency is shown in the Fig. 1. Fig. 1. Finish time – size of task graph 6</title>
    </sec>
    <sec id="sec-41">
      <title>Using estimation of the main parameters from experiments we have built the simu</title>
      <p>lation model for scheduling game with two players (1200x1200 matrix, strategies –
size of tasks) and min-min scheduler. Results are shown in the Fig 2.</p>
      <p>In this paper, we have presented the approach to deal with problems of scheduling
and load balancing using a game-theoretic framework. The general objective was to
identify and address the efficiency problems, where game theory can be applied to the
model and evaluate user conflicts problems and consequently to design efficient
solution. We consider the fluid model of computations to calculate the "ideal" finish time,
which gives the lower bound of possible real time. We propose the game model of
user's interaction on the example of matrix multiplication problem. We use simulation
environment GridSim to obtain experimental data and validate theoretical results.</p>
      <p>We investigate the interaction model's users performing parallel computing in a
heterogeneous multiprocessor system. The proposed hike is applied to the problem of
matrix multiplication using the scheduler min-min. Resolving this case is the size of
the blocks into which the matrix is cut. The experimental system characteristics have
been used to adjust the simulation model, allowing to measure the time estimate for
completion of all possible combinations of partitioning tasks to processors and end
time to build finish time surface for each user. The findings were substantiated and
summarized based on the game approach, in particular, found the conditions of Nash
equilibrium point existence in the game interaction between two users.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          <string-name>
            <surname>Srinivasa Prasanna</surname>
            <given-names>G.N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Musicus</surname>
            <given-names>B</given-names>
          </string-name>
          .
          <source>Generalized Multiprocessor Scheduling Using Optimal Control // Proc. SPAA</source>
          . - 1991, P.
          <fpage>216</fpage>
          -
          <lpage>228</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <string-name>
            <given-names>Nazarathy Y.</given-names>
            ,
            <surname>Weiss G</surname>
          </string-name>
          . A Fluid Approach to Large Volume Job Shop Scheduling // Journal of Scheduling,
          <volume>13</volume>
          (
          <issue>5</issue>
          ),
          <fpage>509</fpage>
          -
          <lpage>529</lpage>
          , (
          <year>2010</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <string-name>
            <surname>Han</surname>
          </string-name>
          ,
          <string-name>
            <surname>Zhu</surname>
          </string-name>
          , et al.
          <article-title>Game theory in wireless and communication networks</article-title>
          . Cambridge University Press,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>S.</given-names>
            <surname>Penmatsa</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. T.</given-names>
            <surname>Chronopoulos</surname>
          </string-name>
          .
          <article-title>Game-theoretic static load balancing for distributed systems</article-title>
          .
          <source>Journal of Parallel and Distributed Computing</source>
          <volume>71</volume>
          , no.
          <issue>4</issue>
          (
          <year>2011</year>
          ):
          <fpage>537</fpage>
          -
          <lpage>555</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Wei</surname>
          </string-name>
          ,
          <string-name>
            <surname>Guiyi</surname>
          </string-name>
          , et al.
          <article-title>A game-theoretic method of fair resource allocation for cloud computing services</article-title>
          .
          <source>The journal of supercomputing 54.2</source>
          (
          <year>2010</year>
          ):
          <fpage>252</fpage>
          -
          <lpage>269</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Siar</surname>
            , Hajar,
            <given-names>Kourosh</given-names>
          </string-name>
          <string-name>
            <surname>Kiani</surname>
          </string-name>
          , and
          <string-name>
            <surname>Anthony</surname>
            <given-names>T.</given-names>
          </string-name>
          <string-name>
            <surname>Chronopoulos</surname>
          </string-name>
          .
          <article-title>An effective game theoretic static load balancing applied to distributed computing</article-title>
          .
          <source>Cluster Computing 18.4</source>
          (
          <year>2015</year>
          ):
          <fpage>1609</fpage>
          -
          <lpage>1623</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Li</surname>
            , Kai,
            <given-names>Yong</given-names>
          </string-name>
          <string-name>
            <surname>Wang</surname>
            , and
            <given-names>Meilin</given-names>
          </string-name>
          <string-name>
            <surname>Liu</surname>
          </string-name>
          .
          <article-title>A non-cooperative game model for reliability-based task scheduling in cloud computing</article-title>
          .
          <source>arXiv preprint arXiv:1403.5012</source>
          (
          <year>2014</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>8. https://en.wikipedia.org/wiki/CloudSim</mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Anatoly</surname>
            , Doroshenko,
            <given-names>Ignatenko</given-names>
          </string-name>
          <string-name>
            <surname>Oleksii</surname>
            , and
            <given-names>Ivanenko</given-names>
          </string-name>
          <string-name>
            <surname>Pavlo</surname>
          </string-name>
          .
          <article-title>One model of optimal resource allocation in homogeneous multiprocessor system // Problems in programming 1 (</article-title>
          <year>2011</year>
          ):
          <fpage>29</fpage>
          -
          <lpage>39</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Andon</surname>
            ,
            <given-names>F. I.</given-names>
          </string-name>
          , and
          <string-name>
            <given-names>O. P.</given-names>
            <surname>Ignatenko</surname>
          </string-name>
          .
          <article-title>"Modeling conflict processes on the internet</article-title>
          .
          <source>" Cybernetics and Systems Analysis 49.4</source>
          (
          <year>2013</year>
          ):
          <fpage>616</fpage>
          -
          <lpage>623</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Ignatenko</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Synetskyi</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          (
          <year>2014</year>
          ).
          <article-title>Evolutionary Game of N Competing AIMD Connections</article-title>
          . In Information and Communication Technologies in Education, Research, and Industrial Applications (pp.
          <fpage>325</fpage>
          -
          <lpage>342</lpage>
          ). Springer International Publishing.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>