<!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>MODELING OF TASK SCHEDULING IN DESKTOP GRID SYSTEMS AT THE INITIAL STAGE OF DEVELOPMENT</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>I.I. Kurochkin</string-name>
          <email>kurochkin@iitp.ru</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>E.A. Gerk</string-name>
          <email>gerkevgeny@gmail.com</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Institute for Information Transmission Problems of Russian Academy of Sciences</institution>
          ,
          <addr-line>Bolshoy Karetny per. 19, build.1, Moscow, 127051</addr-line>
          ,
          <country country="RU">Russia</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>The National University of Science and Technology MISiS</institution>
          ,
          <addr-line>Leninskiy prospekt 4, Moscow, 119049</addr-line>
          ,
          <country country="RU">Russia</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2018</year>
      </pub-date>
      <fpage>293</fpage>
      <lpage>297</lpage>
      <abstract>
        <p>The paper presents an overview of modern methods for task scheduling in desktop grid systems, estimates of the quality of methods, including: the time of execution of all tasks, the level of resource utilization. Heuristic approach to task scheduling is considered, which allows ensuring high performance and reliability of such systems at the early stages of development. A comparative analysis of the results of computational experiments performed with the help of the GridSim high performance computing simulation tool for various desktop grid system configurations is carried out.</p>
      </abstract>
      <kwd-group>
        <kwd>desktop grid</kwd>
        <kwd>grid system</kwd>
        <kwd>task scheduling</kwd>
        <kwd>GridSim</kwd>
        <kwd>simulation of desktop grid</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>The desktop grid is a grid system that unites personal devices (personal computers, laptops,
smartphones, etc.) using telecommunications networks and uses their idle computing resources for
calculations. In the early 2000s, the desktop grid implied the unification of only personal computers.
Today, the desktop grid is a heterogeneous system that combines not only various non-specialized
computing devices, but also multiprocessor computing systems with a large amount of hardware and
software heterogeneity. The idea of recycling idle resources of a large number of personal computers
is extremely attractive. Such a solution, which requires almost no costs, has enormous potential. The
technology of organization desktop grid has the following advantages: ease of deployment; low cost;
high scalability (hundreds of thousands computing nodes); high potential peak performance; low
financial cost of creation and maintenance. But there are also a number of features characteristic of
such grid systems: high hardware and software heterogeneity; lack of information about the
availability of nodes; low reliability of nodes. And the simultaneous provision of energy efficiency,
safety, reliability and high performance is a pressing issue for modern grid systems. These goals
conflict with each other and require increased attention to the problem of scheduling tasks at the
desktop grid.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Overview of existing task scheduling algorithms</title>
      <p>
        In papers [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], a wide range of heuristics and algorithms were proposed for solving separate
scheduling problems in grid systems. These heuristics use additional information, such as reliability
ratings, estimation of availability periods, node failure functions, etc. The MET (Minimum Execution
Time) algorithm proposed in [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] assigns each task in an arbitrary order to the compute node with the
minimum time to complete this task without regard to its availability. Ignoring the availability of a
computational node when assigning tasks (jobs) to it can lead to a load imbalance in the grid system.
In turn, MCT (Minimum Completion Time), also proposed in [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], assigns each task in an arbitrary
order to the compute node with the earliest completion time for this task (the sum of the compute node
ready time and the task execution time at the computation node), thereby taking into account the
current resource load when assigning the next task. This algorithm allows you to balance the load on
the computational nodes of the grid system, but at the same time leads to the execution of tasks on less
fast computational nodes. The Min-min algorithm, described in [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], selects the machine with the
minimum completion time and assigns the task according to the MCT. The main difference between
this algorithm and the MCT algorithm is that Min-min considers all unselected tasks while making an
assignment decision and MCT considers only one randomly selected task. This advantage allows you
to build a more efficient map of task performance, comprehensively assessing the performance of the
MCT algorithm. The Max-min algorithm [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], in contrast to the Min-min algorithm, selects the
machine with the minimum completion time, and the task with the maximum completion time. The
RASA heuristic uses the Min-min algorithm to assign the first task (job), if the number of available
resources is odd, otherwise it uses the Max-min algorithm. Further, sequential alternation of the
specified algorithms is applied when assigning a task to the available nodes of the system. Heuristics
LBMM (Load Balanced Min-Min) allows to reduce the total time to complete all tasks and increase
the degree of utilization of resources.
      </p>
    </sec>
    <sec id="sec-3">
      <title>3. Proposed approach to scheduling tasks</title>
      <p>The proposed approach to scheduling jobs – Sort-Median (SM). The main objective of the
proposed heuristics is to reduce the overall execution time of all tasks and increase the level of
utilization of the resources of the grid system. Let T={ti : i=1, 2, …, n} – a set of computing tasks in
the desktop grid, with each task ti has a length lengthti in FLOP. Let H={hj : j=1, 2, …, m} – a set of
computational nodes, with each node hj have performance powerhj in FLOPS. Then the schedule for
performing the set of tasks T on the set of computing nodes H of the system is determined by the
following expression:
 = {  ∶  ∈  ,  ∈  },

where N is the set of numbers of computing tasks to be performed on the nodes of the grid
system, according to schedule S, and M is the set of numbers of computational nodes to which these
tasks will be assigned. We will also define a matrix in which we will store estimates for the
completion of tasks (Completion Time, CT):
where eij is the task execution time ti on the hj node, rj is the release time of the hj resource.</p>
      <p>The description of this algorithm can be divided into the following steps:
1. CT matrix initialization — for each task, the execution time on each computing node is estimated;
2. bypassing a set of tasks is performed if it is not empty:
2.1. The CT matrix is sorted and the SCT (Sorted Completion Time) matrix contains the medians
in rows (for each computational task) – this characteristic, unlike the average value, reflects
how “expensive” the miscalculation of a particular task will cost, if it is not counted first;
2.2. assigns the task tk with the maximum median to the computation node hp with the minimum
(1)
(2)
completion time;
2.3. the rp value is updated, as well as the column with the index p of the matrix CT;
2.4. removes the tk task sent for rendering from the set.</p>
      <p>Unlike the previously proposed Min-Min or Min-Max algorithms, this algorithm allows you to
get a comprehensive assessment when assigning tasks to a computational node, namely, to show the
degree of efficiency of calculating a particular task in the first place.</p>
    </sec>
    <sec id="sec-4">
      <title>4. Grid system modeling tools</title>
      <p>
        To model distributed computing systems, a special class of software is used. Depending on the
method of reproducing the processes of functioning of distributed systems, these tools are divided into
two classes: emulators and simulators. Simulators include the following systems: OptorSim [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ],
GridSim [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], WorkflowSim, SimGrid, etc. These systems provide an opportunity to obtain statistical
data on the most important characteristics of the simulated environment. The GridSim platform allows
users to simulate the operation of a grid system
with the ability to simulate the characteristics of
resources and computer networks in various configurations. With the help of GridSim, it is possible to
carry out reproducible experiments that are difficult to implement in the present environment of
dynamic grid systems.
      </p>
    </sec>
    <sec id="sec-5">
      <title>5. Results and discussions</title>
      <p>As part of the studies conducted on the basis of the GridSim software, an application was
developed for modeling the operation of the grid system and testing the tasks scheduling algorithms.
The following modeling scenarios were highlighted (Table 1), the main task of which is to evaluate
the effectiveness of the proposed approach to scheduling in comparison with existing algorithms
according to the above criteria and the behavior of the grid system at the early stages of its
development, when the number of computing nodes is sufficiently small.</p>
      <sec id="sec-5-1">
        <title>Number of</title>
      </sec>
      <sec id="sec-5-2">
        <title>Performance of computational</title>
      </sec>
      <sec id="sec-5-3">
        <title>Number 1 2 3</title>
        <p>Number of
computational nodes
10
50
100
tasks
1000
6000
15000</p>
        <p>For a comparative analysis of the proposed scheduling algorithm with existing ones, we
introduce two quality assessments: the level of utilization of the resources of the grid system (Grid
Utilization, GU) and the total execution time (Makespan). Let the execution time of all tasks:
Then the level of utilization of the resources of the grid system:</p>
        <p>= max{  |∀ 1 ≤  ≤  }.

=
 ×</p>
        <p>∑ =1  
.</p>
        <p>(3)
(4)</p>
        <p>The proposed quality estimates were calculated for the following scheduling algorithms:
MaxMin, Min-Min, RASA, Sort-Median. The diagram of the total task execution time (Figure 1) shows
the advantage of the proposed Sort-Median heuristics for all grid modeling scenarios.
(5)
(6)
(7)
load among all the computational nodes of the system. Despite the fact that the Sort-Median algorithm
has improved the performance of the grid system and increased the level of resource utilization, using
it in the proposed form for scheduling tasks on a real grid system is unacceptable. This approach
allows to take into account the variation in the performance of resources and the complexity of
computing tasks, but does not take into account the possibility of failure of the computational nodes,
as well as their return of erroneous results. These restrictions make it difficult to complete tasks on
time, they require additional time spent on re-execution of tasks. Therefore, it is necessary to modify
the Sort-Median algorithm to ensure the reliability of the calculations. Since the planning of tasks is
considered at the early stages of the development of the grid system, when there are no statistics on the
activity of computational nodes, reputational methods lose their relevance. The use of various
prediction heuristics is also difficult, since it is difficult to estimate the number and reliability of
computational nodes that can join or leave the system at any time. Therefore, premature scheduling of
all tasks on all compute nodes is the wrong approach. It is advisable to use short-term planning: break
up the set of all tasks into small subsets and make a decision about planning a specific subset of tasks
after returning a certain percentage of correct results. This approach will allow assessing the state of
computational nodes set at each scheduling iteration and make a decision on the assignment of tasks.</p>
        <p>Let the size of each subset be equal to the number of nodes in the grid system, and each new
iteration of short-term scheduling occurs when returning 35% of the valid results of the subset. It is
proposed to calculate the delay for each node:</p>
        <p>where aij is the actual time of execution of the task ti on the hj node, and q is the number of
correctly calculated tasks by the hj node. Then we introduce two types of penalties for each node: for
delay and for failure (failure or incorrect answer). The size of the penalty for failure for each
computing node is determined by the expression:</p>
        <p>∑
  =  =1(</p>
        <p>−  ),

  =
∑</p>
        <p>=1   ,</p>
        <p>=   +  (  +   ),
where g is the number of failures and incorrect answers for the hj node. Define the resulting
matrix as a weighted sum:</p>
        <p>The weighting factor w is the proportion of correct calculated results from all tasks.
Accordingly, as the number of tasks not counted decreases, the importance of the above penalties
increases during planning. The modified heuristics of the algorithm Sort-Median called PSM (Penalty
Sort-Median). Let us determine the characteristics of scenarios with the presence of failures in the
operation of the grid system for comparing the heuristics of Sort-Median and PSM. The simulated
percentage of failover computing nodes will vary from 20 to 35. The results show a significant
decrease in the total runtime of the script (about 60%) when using short-term planning and the PSM
algorithm in comparison with the Sort-Median algorithm. The main disadvantage of this solution is a
decrease in the level of utilization of resources due to an increase in their idle time.</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>6. Conclusion</title>
      <p>An approach using Sort-Median heuristics for scheduling tasks in desktop grid is proposed. A
comparative analysis of the algorithms showed the advantage of the proposed approach. Sort-Median
utilizes more than 99% of the grid system's resources in all cases, and also improves the performance
of the grid system by 3%. Penalty Sort-Median (PSM) heuristic was also proposed using short-term
scheduling, which is important for desktop grids at the early stages of their development.</p>
    </sec>
    <sec id="sec-7">
      <title>7. Acknowledgement</title>
      <p>This work was supported by the Russian Foundation for Basic Research (grants No.
18-2903264, 18-57-06003).</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>Casanova</surname>
            <given-names>H. F.</given-names>
          </string-name>
          <string-name>
            <surname>Dufossé</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          <string-name>
            <surname>Robert</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          <string-name>
            <surname>Vivien</surname>
          </string-name>
          .
          <source>Scheduling parallel iterative applications on volatile resources // Parallel &amp; Distributed Processing Symposium (IPDPS)</source>
          ,
          <source>2011 IEEE International. - IEEE</source>
          ,
          <year>2011</year>
          . - pp.
          <fpage>1012</fpage>
          -
          <lpage>1023</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>Wang</surname>
            <given-names>X.</given-names>
          </string-name>
          <string-name>
            <surname>Ch</surname>
          </string-name>
          . Sh.
          <string-name>
            <surname>Yeo</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          <string-name>
            <surname>Buyya</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Su</surname>
          </string-name>
          .
          <article-title>Optimizing the makespan and reliability for workflow applications with reputation and a look-ahead genetic algorithm // Future Generation Computer Systems</article-title>
          . - 2011. - Vol.
          <volume>27</volume>
          . -
          <fpage>№</fpage>
          8. - pp.
          <fpage>1124</fpage>
          -
          <lpage>1134</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <surname>Freund</surname>
            <given-names>R. F.</given-names>
          </string-name>
          <article-title>Scheduling resources in multi-user, heterogeneous, computing environments</article-title>
          with SmartNet //Heterogeneous Computing Workshop,
          <year>1998</year>
          .
          <source>(HCW 98) Proceedings. 1998 Seventh. - IEEE</source>
          ,
          <year>1998</year>
          . - pp.
          <fpage>184</fpage>
          -
          <lpage>199</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <surname>Anousha</surname>
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ahmadi</surname>
            <given-names>M.</given-names>
          </string-name>
          <article-title>An improved Min-Min task scheduling</article-title>
          algorithm in grid computing // International Conference on Grid and
          <string-name>
            <given-names>Pervasive</given-names>
            <surname>Computing</surname>
          </string-name>
          . - Springer, Berlin, Heidelberg,
          <year>2013</year>
          . - pp.
          <fpage>103</fpage>
          -
          <lpage>113</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <surname>Korenkov</surname>
            ,
            <given-names>V. V.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Nechaevskiy</surname>
            ,
            <given-names>A. V.</given-names>
          </string-name>
          (
          <year>2009</year>
          ).
          <article-title>DataGrid simulation packages</article-title>
          .
          <source>System Analysi s in Science and Education (Online)</source>
          ,
          <source>ISSN</source>
          ,
          <year>2071</year>
          -
          <fpage>9612</fpage>
          , pp.
          <fpage>21</fpage>
          -
          <lpage>35</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <surname>Buyya</surname>
            <given-names>R.</given-names>
          </string-name>
          <string-name>
            <surname>Gridsim</surname>
          </string-name>
          <article-title>- Toolkit for the modeling and simulation of distributed resource management and scheduling for grid computing</article-title>
          / R. Buyya, M. Murshed // Сoncurrency and computation:
          <source>practice and experience. - 2002</source>
          . - Vol.
          <volume>14</volume>
          . - pp.
          <fpage>1175</fpage>
          -
          <lpage>1220</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>