<!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>A Constraint-based Approach to Cyclic Resource-Constrained Scheduling Problem</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Alessio Bonfietti Supervisor: Michela Milano</string-name>
          <email>alessio.bonfietti@unibo.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>DEIS, University of Bologna V.</institution>
          <addr-line>le Risorgimento 2 - 40136 Bologna</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <fpage>10</fpage>
      <lpage>12</lpage>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        The cyclic scheduling problem concerns assigning start times to a set of
activities, to be indefinitely repeated, subject to precedence and resource constraints.
It can be found in many application areas. For instance, it arises in compiler
design implementing loops on parallel architecture[
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], and on data-flow
computations in embedded applications[
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. Moreover, cyclic scheduling can be found
in mass production, such as cyclic shop or Hoist scheduling problems[
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
      </p>
      <p>In cyclic scheduling often the notion of optimality is related to the period of
the schedule. A minimal period corresponds to the highest number of activities
carried out on average over a large time window.</p>
      <p>Optimal cyclic schedulers are lately in great demand, as streaming paradigms
are gaining momentum across a wide spectrum of computing platforms, ranging
from multi-media encoding and decoding in mobile and consumer devices, to
advanced packet processing in network appliances, to high-quality rendering in
game consoles. In stream computing, an application can be abstracted as a set
of tasks that have to be performed on incoming items (frames) of a data stream.
A typical example is video decoding, where a compressed video stream has to
be expanded and rendered. As video compression exploits temporal correlation
between successive frames, decoding is not pure process-and-forward and
computation on the current frame depends on the previously decoded frame. These
dependencies must be taken into account in the scheduling model. In embedded
computing contexts, resource constraints (computational units and buffer
storage) imposed by the underlying hardware platforms are of great importance. In
addition, the computational effort which can be spent to compute an optimal
schedule is often limited by cost and time-to-market considerations.</p>
      <p>
        My research focuses on scheduling periodic application. In particular, in first
place I have worked together with my research group on a Constraint
Programming approach based on modular arithmetic for computing minimum-period
resource-constrained cyclic schedules [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. The solver has several interesting
characteristics: it deals effectively with temporal and resource constraints, it
computes very high quality solutions in a short time, but it can also be pushed
to run complete search. An extensive experimental evaluation on a number of
non-trivial synthetic instances and on a set of realistic industrial instances gave
promising results compared with a state-of-the art ILP-based (Integer Linear
Programming)[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] scheduler and the Swing Modulo Scheduling (SMS)[
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] heuristic
technique. The main innovation of our approach is that while classical modular
approaches fix the modulus and solve the corresponding (non periodic)
scheduling problem, in our technique the bounds for the modulus variables are inferred
from the activity and iteration variables.
      </p>
      <p>The main drawback of this first approach is the underlying hypothesis that
the end times of all activities should be assigned within the modulus. Thanks
to this assumption, we can reuse traditional resource constraints and filtering
algorithms. However the solution quality can be improved by relaxing this
hypothesis.</p>
      <p>
        Therefore, we proposed [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] a Global Cyclic Cumulative Constraint (GCCC)
that indeed relaxes this hypothesis. We have to schedule all the start times within
the modulus λ, but we have no restriction on end times. The resulting problem
is far more complicated, as enlarging the modulus produces a reduction of the
modular end time of the activities. Figure 1 explains the concept. Suppose the
grey activity requires one unit of a resource of capacity 3. If the modulus value
is D, then the activity can be scheduled as usual. If the modulus is reduced to
C, the starting time of the activity is the same, while the “modular end time” is
c and the resource consumption is 2 between 0 and c. If the modulus is further
reduced to B the modular end time increases to b. Finally, if the modulus is
reduced to A, the modular end point becomes a and the resource consumption
is 3 between 0 and a.
      </p>
      <p>
        In [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] we show the advantages in terms of solution quality w.r.t. our previous
approach that was already outperforming state of the art techniques. The
experiments highlight that our approach obtains considerably better results in terms of
solution quality for high capacity values. Moreover, the results show that,
working with acyclic graphs, the GCCC approach obtains an approximately constant
resource idle time.
      </p>
      <p>%
'
&amp;
(
)*+
$
#
"
!</p>
      <p>Further investigation will be devoted to the design of cyclic scheduling
heuristic algorithms and their comparison with complete approaches.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Ayala</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Artigues</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>On integer linear programming formulations for the resource-constrained modulo scheduling problem (</article-title>
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Bhattacharyya</surname>
            ,
            <given-names>S.S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sriram</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Embedded Multiprocessors - Scheduling and Synchronization (Signal Processing and Communications) (2nd Edition)</article-title>
          . CRC Press (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Bonfietti</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lombardi</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Benini</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Milano</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>A Constraint Based Approach to Cyclic RCPSP</article-title>
          .
          <source>In: CP2011</source>
          . pp.
          <fpage>130</fpage>
          -
          <lpage>144</lpage>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Bonfietti</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lombardi</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Benini</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Milano</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Global cyclic cumulative constraint</article-title>
          . In: Beldiceanu,
          <string-name>
            <given-names>N.</given-names>
            ,
            <surname>Jussien</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            ,
            <surname>Pinson</surname>
          </string-name>
          , E. (eds.) 9th International Conference on
          <article-title>Integration of AI and OR Techniques in Constraint Programming for Combinatorial Optimization Problems (CPAIOR'12)</article-title>
          . Lectures Notes in Computer Science, vol.
          <volume>7298</volume>
          , pp.
          <fpage>81</fpage>
          -
          <lpage>96</lpage>
          . Springer Verlag, Nantes, France (
          <year>Jun 2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5. Dupont de Dinechin,
          <string-name>
            <surname>B.:</surname>
          </string-name>
          <article-title>From Machine Scheduling to VLIW Instruction Scheduling (</article-title>
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Hanen</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Study of a NP-hard cyclic scheduling problem: The recurrent job-shop</article-title>
          .
          <source>European Journal of Operational Research</source>
          <volume>72</volume>
          (
          <issue>1</issue>
          ),
          <fpage>82</fpage>
          -
          <lpage>101</lpage>
          (
          <year>1994</year>
          ), http://www.sciencedirect.com/science/article/B6VCT-48NBGY3-226/ 2/e869b267f2deeef5b90a18f742a2e2c4
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Llosa</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gonzalez</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ayguade</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Valero</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Swing modulo scheduling: A lifetime-sensitive approach</article-title>
          . In: pact. pp.
          <fpage>80</fpage>
          -
          <lpage>87</lpage>
          .
          <article-title>Published by the IEEE Computer Society (</article-title>
          <year>1996</year>
          ), http://en.scientificcommons.org/43187025http://www. computer.org/portal/web/csdl/doi/10.1109/PACT.
          <year>1996</year>
          .554030
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>