Hostname: page-component-77f85d65b8-g98kq Total loading time: 0 Render date: 2026-03-28T01:53:00.515Z Has data issue: false hasContentIssue false

Application Placement with Constraint Relaxation

Published online by Cambridge University Press:  12 September 2025

DAMIANO AZZOLINI
Affiliation:
University of Ferrara, Ferrara, Italy (e-mail: damiano.azzolini@unife.it)
MARCO DUCA
Affiliation:
University of Calabria, Calabria, Italy (e-mails: marco.duca02@gmail.com, francescogallo0309@gmail.com, antonio.ielo@unical.it)
FRANCESCO GALLO
Affiliation:
University of Calabria, Calabria, Italy (e-mails: marco.duca02@gmail.com, francescogallo0309@gmail.com, antonio.ielo@unical.it)
ANTONIO IELO
Affiliation:
University of Calabria, Calabria, Italy (e-mails: marco.duca02@gmail.com, francescogallo0309@gmail.com, antonio.ielo@unical.it)
STEFANO FORTI
Affiliation:
University of Pisa, Pisa, Italy (e-mail: stefano.forti@unipi.it)
Rights & Permissions [Opens in a new window]

Abstract

Novel utility computing paradigms rely upon the deployment of multi-service applications to pervasive and highly distributed cloud-edge infrastructure resources. Deciding onto which computational nodes to place services in cloud-edge networks, as per their functional and non-functional constraints, can be formulated as a combinatorial optimisation problem. Most existing solutions in this space are not able to deal with unsatisfiable problem instances, nor preferences, i.e., requirements that DevOps may agree to relax to obtain a solution. In this article, we exploit Answer Set Programming optimisation capabilities to tackle this problem. Experimental results in simulated settings show that our approach is effective on lifelike networks and applications.

Information

Type
Original Article
Creative Commons
Creative Common License - CCCreative Common License - BY
This is an Open Access article, distributed under the terms of the Creative Commons Attribution licence (https://creativecommons.org/licenses/by/4.0/), which permits unrestricted re-use, distribution and reproduction, provided the original article is properly cited.
Copyright
© The Author(s), 2025. Published by Cambridge University Press
Figure 0

Fig. 1. Example application.

Figure 1

Fig. 2. Example infrastructure.

Figure 2

Fig. 3. FlexiPlace main encoding.

Figure 3

Fig. 4. Additions to the main encoding of Figure 3 to address the relaxed problem.

Figure 4

Table 1. Considered node properties. The table does not contain latency since it is a link property. The “Shared” column denotes whether the property is considered shared among all services hosted on the considered nodes. The “Constr” column reports the constraint instantiated for the attribute during the generation process, for each service

Figure 5

Fig. 5. Solvers comparison.

Figure 6

Fig. 6. Left: a point $(x,y)$ denotes that a given problem instance is solved in $x$ seconds using the model-guided and in $y$ seconds using the core-guided algorithm. Right: a point $(x,y)$ denotes that a given problem instance is solved in $x$ seconds using the IDLV and in $y$ seconds using gringo grounder.

Figure 7

Fig. 7. Mean (solid) and standard error (dashed) on execution time to find the first optimal solution over $I(\cdot , \{5,10,15\})$ using BB (left) and USC (right) algorithms.

Figure 8

Fig. 8. Number of timeouts per application size and network size.

Figure 9

Fig. 9. Cumulative runtime of BB and USC algorithms over all instances.

Figure 10

Fig. 10. Execution time over instances of size 350 (blue), 400 (red), 450 (orange), and 500 (green) in (a) $I(\{350, 400, 450, 500\}, 20)$, (b) $I(\{350, 400, 450, 500\}, 25)$, and (c) $I(\{350, 400, 450, 500\}, 30)$. A point $(x,y)$ denotes that the USC algorithm solves an instance in $y$ seconds, while BB solves it in $x$ seconds.

Figure 11

Fig. 11. Temporal distribution of answer sets using the BB algorithm. Each cell reports, in a dotted chart, data about $I(n,k)$ (with label $n$$k$). A point $(x,y)$ denotes that invoking the ASP solver on the $y$-th instance of $I(n,k)$ yields a model at time $x$.