Options
Saber, Takfarinas
Preferred name
Saber, Takfarinas
Official Name
Saber, Takfarinas
Research Output
Now showing 1 - 10 of 12
- PublicationMulti-objective Virtual Machine Reassignment for Large Data CentresData centres are large IT facilities composed of an intricate collection of interconnected and virtualised computers, connected services, and complex service-level agreements. Optimising data centres, often attempted by reassigning virtual machines to servers, is both desirable and challenging. It is desirable as it could save a large amount of money: using servers better would lead to decommissioning unused ones and organising services better would increase reliability and maintenance. It is also challenging as the search space is very large and very constrained, which makes the solutions difficult to find. Moreover, in practice assignments can be evaluated from different perspectives, such as electricity cost, overall reliability, migration overhead and cloud cost. Managers in data centres then make complex decisions and need to manipulate possible solutions favouring different objectives to find the right balance. Another element I consider in the context of this work is that organisations hosting large IT facilities are often geographically distributed – which means these organisations are composed of a number of hosting departments which have different preferences on what to host and where to host it, and a certain degree of autonomy. The problem is even more challenging as companies can now choose from a pool of public cloud services to host some of their virtual machines.In this thesis, I address the problem of multi-objective virtual machine (VM) reassignment for large data centres from three realistic and challenging perspectives.• First, I demonstrate how intractable is the exact resolution of the problem in a centralised context: I perform a thorough performance evaluation of classical solvers and metaheuristics, and I propose a novel hybrid algorithm which outperforms them.• Second, I design a two-level system addressing multi-objective VM reassignment for large decentralised data centres. My system takes care of both the reassignment of VMs and their placement within the hosting departments and I propose algorithms that optimise each of the levels.• Third, I extend my work to the hybrid cloud world – i.e., when companies can decide to use their own internal resources or pay for public clouds computing resources. The problem becomes now more dynamic (as prices evolve) and challenging, and I propose a novel algorithm that takes all these elements into account.
549 - PublicationA Hybrid Algorithm for Multi-objective Test Case Selection(IEEE, 2018-07-13)
; ; ; ; Testing is crucial to ensure the quality of software systems – but testing is an expensive process, so test managers try to minimise the set of tests to run to save computing resources and speed up the testing process and analysis. One problem is that there are different perspectives on what is a good test and it is usually not possible to compare these dimensions. This is a perfect example of a multi-objective optimisation problem, which is hard — especially given the scale of the search space here. In this paper, we propose a novel hybrid algorithm to address this problem. Our method is composed of three steps: a greedy algorithm to find quickly some good solutions, a genetic algorithm to increase the search space covered and a local search algorithm to refine the solutions. We demonstrate through a large scale empirical evaluation that our method is more reliable (better whatever the time budget) and more robust (better whatever the number of dimensions considered) – in the scenario with 4 objectives and a default execution time, we are 178% better in hypervolume on average than the state-of-the-art algorithms.153 - PublicationA Hybrid Algorithm for Multi-objective Test Case Selection(IEEE, 2018-10-04)
; ; ; ; Testing is crucial to ensure the quality of software systems-but testing is an expensive process, so test managers try to minimise the set of tests to run to save computing resources and speed up the testing process and analysis. One problem is that there are different perspectives on what is a good test and it is usually not possible to compare these dimensions. This is a perfect example of a multi-objective optimisation problem, which is hard-especially given the scale of the search space here. In this paper, we propose a novel hybrid algorithm to address this problem. Our method is composed of three steps: a greedy algorithm to find quickly some good solutions, a genetic algorithm to increase the search space covered and a local search algorithm to refine the solutions. We demonstrate through a large scale empirical evaluation that our method is more reliable (better whatever the time budget) and more robust (better whatever the number of dimensions considered)-in the scenario with 4 objectives and a default execution time, we are 178% better in hypervolume on average than the state-of-the-art algorithms.357Scopus© Citations 15 - PublicationVM reassignment in hybrid clouds for large decentralised companies: A multi-objective challengeOptimising the data centres of large IT organisations is complex as (i) they are composed of various hosting departments with their own preferences and (ii) reassignment solutions can be evaluated from various independent dimensions. But in reality, the problem is even more challenging as companies can now choose from a pool of cloud services to host some of their workloads. This hybrid search space seems intractable, as each workload placement decision (seen as running in a virtual machine on a server) is required to answer many questions: can we host it internally? In which hosting department? Are the capital allocators of this hosting department ok with this placement? How much does it save us and is it safe? Is there a better option in the Cloud? Etc. In this paper, we define the multi-objective VM reassignment problem for hybrid and decentralised data centres. We also propose H2¿D2, a solution that uses a multi-layer architecture and a metaheuristic algorithm to suggest reassignment solutions that are evaluated by the various hosting departments (according to their preferences). We compare H2¿D2 against state-of-the-art multi-objective algorithms and find that H2¿D2 outperforms them both in terms of quantity (approx 30% more than the second-best algorithm on average) and quality of solutions (19% better than the second-best on average).
366Scopus© Citations 29 - PublicationIs seeding a good strategy in multi-objective feature selection when feature models evolve?Context: When software architects or engineers are given a list of all the features and their interactions (i.e., a Feature Model or FM) together with stakeholders 'preferences' their task is to find a set of potential products to suggest the decision makers. Software Product Lines Engineering (SPLE) consists in optimising those large and highly constrained search spaces according to multiple objectives reflecting the preference of the different stakeholders. SPLE is known to be extremely skill- and labour-intensive and it has been a popular topic of research in the past years.Objective: This paper presents the first thorough description and evaluation of the related problem of evolving software product lines. While change and evolution of software systems is the common case in the industry, to the best of our knowledge this element has been overlooked in the literature. In particular, we evaluate whether seeding previous solutions to genetic algorithms (that work well on the general problem) would help them to find better/faster solutions.Method: We describe in this paper a benchmark of large scale evolving FMs, consisting of 5 popular FMs and their evolutions – synthetically generated following an experimental study of FM evolution. We then study the performance of a state-of-the-art algorithm for multi-objective FM selection (SATIBEA) when seeded with former solutions.Results: Our experiments show that we can improve both the execution time and the quality of SATIBEA by feeding it with previous configurations. In particular, SATIBEA with seeds proves to converge an order of magnitude faster than SATIBEA alone.Conclusion: We show in this paper that evolution of FMs is not a trivial task and that seeding previous solutions can be used as a first step in the optimisation - unless the difference between former and current FMs is high, where seeding has a limited impact.
348Scopus© Citations 11 - PublicationTowards a Multi-Objective VM Reassignment for Large Decentralised Data Centres(Conference Publishing Services, 2015-12-10)
; ; ; ; Optimising the IT infrastructure of large, often geographically distributed, organisations goes beyond the classical virtual machine reassignment problem, for two reasons: (i) the data centres of these organisations are composed of a number of hosting departments which have different preferences on what to host and where to host it; (ii) the top-level managers in these data centres make complex decisions and need to manipulate possible solutions favouring different objectives to find the right balance. This challenge has not yet been comprehensively addressed in the literature and in this paper we demonstrate that a multi-objective VM reassignment is feasible for large decentralised data centres. We show on a realistic data set that our solution outperforms other classical multi-objective algorithms for VM reassignment in terms of quantity of solutions (by about 15% on average) and quality of the solutions set (by over 6% on average).465Scopus© Citations 10 - PublicationMILPIBEA: Algorithm for Multi-objective Features Selection in (Evolving) Software Product Lines(Springer International Publishing, 2020-04-09)
; ; ; Software Product Lines Engineering (SPLE) proposes techniques to model, create and improve groups of related software systems in a systematic way, with different alternatives formally expressed, e.g., as Feature Models. Selecting the 'best' software system(s) turns into a problem of improving the quality of selected subsets of software features (components) from feature models, or as it is widely known, Feature Configuration. When there are different independent dimensions to assess how good a software product is, the problem becomes even more challenging- it is then a multi-objective optimisation problem. Another big issue for software systems is evolution where software components change. This is common in the industry but, as far as we know, there is no algorithm designed to the particular case of multi-objective optimisation of evolving software product lines. In this paper we present MILPIBEA, a novel hybrid algorithm which combines the scalability of a genetic algorithm (IBEA) with the accuracy of a mixed-integer linear programming solver (IBM ILOG CPLEX). We also study the behaviour of our solution (MILPIBEA) in contrast with SATIBEA, a state-of-the-art algorithm in static software product lines. We demonstrate that MILPIBEA outperforms SATIBEA on average, especially for the most challenging problem instances, and that MILPIBEA is the one that continues to improve the quality of the solutions when SATIBEA stagnates (in the evolving context).205Scopus© Citations 4 - PublicationROThAr: Real-time On-line Traffic Assignment with Load Estimation(Institute of Electrical and Electronic Engineers (IEEE), 2013-11-01)
; ; More and more drivers use on-board units to help them navigate in the increasing urbanised environment they live and work in. These system (e.g., routing applications on smart phones) are now very often on-line, and use information from the traffic situation (e.g., accidents, congestion) to get the best route. We can now envisage a world where all trips are assigned and updated by such an on-line system, making the best routing decisions based on traffic conditions. The problem is that current systems consider only 'local' elements (e.g., driver preference and current traffic condition) and do not make routing decisions from a global perspective. This can lead to a lot of similar routing assignments that could lead to further traffic congestion. The objective of the next generation on-line navigation systems is then to come up with a 'smart', real-time route assignment, which balances the load between the different road segments and offers the best quality to the drivers. However, every routing decision made has an impact on the traffic conditions (one more vehicle on the road segments selected) and computing the load induced by the trips is a computationally heavy problem. This paper addresses this question of real-time on-line traffic assignment, and shows that under certain conditions it is possible to have (i) an accurate estimation of the load and travel time on every road segment and (ii) an optimised traffic assignment that adapts to divergence and evolutions (e.g., accidents) of the system.331Scopus© Citations 9 - PublicationPreliminary Study of Multi-objective Features Selection for Evolving Software Product LinesWhen dealing with software-intensive systems, it is often beneficial to consider families of similar systems together. A common task is then to identify the particular product that best fulfils a given set of desired product properties. Software Product Lines Engineering (SPLE) provides techniques to design, implement and evolve families of similar systems in a systematic fashion, with variability choices explicitly represented, e.g., as Feature Models. The problem of picking the 'best' product then becomes a question of optimising the Feature Configuration. When considering multiple properties at the same time, we have to deal with multi-objective optimisation, which is even more challenging. While change and evolution of software systems is the common case, to the best of our knowledge there has been no evaluation of the problem of multi-objective optimisation of evolving Software Product Lines. In this paper we present a benchmark of large scale evolving Feature Models and we study the behaviour of the state-of-the-art algorithm (SATIBEA). In particular, we show that we can improve both the execution time and the quality of SATIBEA by feeding it with the previous configurations: our solution converges nearly 10 times faster and gets an 113% improvement after one generation of genetic algorithm.
364Scopus© Citations 2 - PublicationMILP for the Multi-objective VM Reassignment Problem(IEEE, 2015-11-11)
; ; ; ; Machine Reassignment is a challenging problem for constraint programming (CP) and mixed integer linear pro- gramming (MILP) approaches, especially given the size of data centres. The multi-objective version of the Machine Reassignment Problem is even more challenging and it seems unlikely for CP or MILP to obtain good results in this context. As a result, the first approaches to address this problem have been based on other optimisation methods, including metaheuristics. In this paper we study under which conditions a mixed integer optimisation solver, such as IBM ILOG CPLEX, can be used for the Multi-objective Machine Reassignment Problem. We show that it is useful only for small or medium scale data centres and with some relaxations, such as an optimality tolerance gap and a limited number of directions explored in the search space. Building on this study, we also investigate a hybrid approach, feeding a metaheuristic with the results of CPLEX, and we show that the gains are important in terms of quality of the set of Pareto solutions (+126.9% against the metaheuristic alone and +17.8% against CPLEX alone) and number of solutions (8.9 times more than CPLEX), while the processing time increases only by 6% in comparison to CPLEX for execution times larger than 100 seconds.549Scopus© Citations 13