Workflow-based applications performance and execution cost optimization on cloud infrastructures
Cloud computing is increasingly exploited to tackle the computing challenges raised in both science and industry. Clouds provide computing, network and storage resources on demand to satisfy the needs of large-scale distributed applications. To adapt to the diversity of cloud infrastructures and usage, new tools and models are needed. Estimating the amount of resources consumed by each application in particular is a difficult problem, both for end users who aim at minimizing their cost and infrastructure providers who aim at controlling their resources allocation. Although a quasi-unlimited amount of resources may be allocated, a trade-off has to be found between (i) the allocated infrastructure cost, (ii) the expected performance and (iii) the optimal performance achievable that depends on the level of parallelization of the application. Focusing on medical image analysis, a scientific domain representative of the large class of data intensive distributed applications, this thesis proposes a fine-grained cost function model relying on the expertise captured from the application. Based on this cost function model, four resources allocation strategies are proposed. Taking into account both computing and network resources, these strategies help users to determine the amount of resources to reserve and compose their execution environment. In addition, the data transfer overhead and the low reliability level, which are well-known problems of large-scale distributed systems impacting application performance and infrastructure usage cost, are also considered. The experiments reported in this thesis were carried out on the Aladdin/Grid'5000 infrastructure, using the HIPerNet virtualization middleware. This virtual platform manager enables the joint virtualization of computing and network resources. A real medical image analysis application was considered for all experimental validations. The experimental results assess the validity of the approach in terms of infrastructure cost and application performance control. Our contributions both facilitate the exploitation of cloud infrastructures, delivering a higher quality of services to end users, and help the planning of cloud resources delivery.