polito.it
Politecnico di Torino (logo)

Optimise tasks scheduling in automated builds: an RCPSP application with Buck

Alessandro Patti

Optimise tasks scheduling in automated builds: an RCPSP application with Buck.

Rel. Giovanni Malnati. Politecnico di Torino, Corso di laurea magistrale in Ingegneria Informatica (Computer Engineering), 2019

Abstract:

Build tools have nowadays become a vital part of the software development life-cycle. With a constantly increasing size of the software projects and the spread of continuous integration and automated tests, build tools are required to guarantee both reliability of the build pipeline as well as competitive performance. Parallelise at best the jobs that a build tool performs during the build process awards indisputable benefits to companies in the market of software solutions. Nonetheless, this aspect of the build tools lacks extensive experimentation, as very few and limited optimisation are embedded in these tools. In this dissertation, we present an improved scheduling scheme developed for the Buck build tool at Uber. We do so by studying the evolution of the build tools in terms of design choices and characteristics of the most widely used build tools. We also review the literature on solution methods for the resource-constrained project scheduling problem, as it can be used to model a typical build process. We find that the adoption of a variation of a well-know heuristic is capable of significantly reduce the makespan of the build process with Buck.

Relatori: Giovanni Malnati
Anno accademico: 2018/19
Tipo di pubblicazione: Elettronica
Numero di pagine: 66
Informazioni aggiuntive: Tesi secretata. Fulltext non presente
Soggetti:
Corso di laurea: Corso di laurea magistrale in Ingegneria Informatica (Computer Engineering)
Classe di laurea: Nuovo ordinamento > Laurea magistrale > LM-32 - INGEGNERIA INFORMATICA
Ente in cotutela: EURECOM - Telecom Paris Tech (FRANCIA)
Aziende collaboratrici: NON SPECIFICATO
URI: http://webthesis.biblio.polito.it/id/eprint/11043
Modifica (riservato agli operatori) Modifica (riservato agli operatori)