Navegación

Búsqueda

Búsqueda avanzada

Resource optimization of container orchestration: a case study in multi-cloud microservices-based applications (Summary)

Los microservicios han resultado ser un nuevo paradigma de programación adoptado ampliamente durante los últimos años. Consiste en desarrollar una aplicación mediante un conjunto de servicios ligeros e independientes que pueden desplegarse y escalarse en múltiples proveedores de cloud (multicloud). El uso de múltiples proveedores puede suponer una mayor ventaja en términos de coste y disponibilidad, entre otras, pero también conlleva riesgos asociados con la degradación del servicio. Por ello, el uso de políticas de asignación de recursos es importante para mitigar estos inconvenientes.

Este trabajo propone el uso de un algoritmo genético (Non-dominated Sorting Genetic Algorithm II, NSGA-II) para optimizar la asignación de microservicios a máquinas virtuales de cada uno de los proveedores, de forma que se consiga minimizar las siguientes métricas: el coste de despliegue; los tiempos de comunicación entre los microservicos de una misma aplicación debido a despliegues en distintos proveedores de cloud; y el tiempo medio de recuperación, es decir, el tiempo entre la caída y despliegue de una nueva instancia vuelva a estar operativa.

Mediante la simulación de distintos experimentos, hemos probado que la asignación de recursos con NSGA-II obtiene una mejor minimización de los objetivos evaluados junto a una mayor diversidad de soluciones de asignación de recursos, en comparación con un algoritmo voraz. Por tanto, el trabajo concluye que el uso del algoritmo genético (NSGA-II) es adecuado para mejorar la asignación de microservicios y máquinas virtuales en entornos multicloud.

Predicción del impacto de las transformaciones LLVM en el rendimiento del software

Tradicionalmente ha existido una rápida evolución del hardware de computación que, en los últimos años, se ha visto complementada con la aparición de una gran diversidad de arquitecturas hardware. Modificar el software para que funcione eficientemente en estas nuevas arquitecturas es un proceso muy costoso, pero necesario en muchos casos. Por tanto, es necesario el desarrollo de nuevos métodos que permitan adaptar los programas para ejecutarse eficientemente en cualquier hardware; en poco tiempo y a un bajo coste. Nuestro framework Faevol hace uso de las transformaciones de código de herramienta de compilación LLVM para realizar esta adaptación de forma automática. El impacto de dichas transformaciones en el rendimiento del programa es desconocido, puesto que depende enormemente de las otras transformaciones aplicadas, así como del software a optimizar y del hardware en el que se ejecuta. Esto complica enormemente el proceso. En este trabajo, desarrollamos dos modelos predictivos basados en aprendizaje computacional para estimar de forma precisa el impacto de una secuencia de transformaciones LLVM en el código de un programa software. Adicionalmente, se evalúa el impacto en los resultados de incorporar dichos modelos predictivos en Faevol, logrando mejorar notablemente el tiempo necesario para transformar el código sin impactar negativamente en los resultados obtenidos.

Interactive multi-objective evolutionary optimization of software architectures

While working on a software specification, designers usually need to evaluate different architectural alternatives to be sure that quality criteria are met. Even when these quality aspects could be expressed in terms of multiple software metrics, other qualitative factors cannot be numerically measured, but they are extracted from the engineers know-how and prior experiences. In fact, detecting not only strong but also weak points in the different solutions seems to fit better with the way humans make their decisions. Putting the human in the loop brings new challenges to the search-based software engineering field, especially for those human-centered activities within the early analysis phase. This paper explores how the interactive evolutionary computation can serve as a basis for integrating the humans judgment into the search process. An interactive approach is proposed to discover software architectures, in which both quantitative and qualitative criteria are applied to guide a multi-objective evolutionary algorithm. The obtained feedback is incorporated into the fitness function using architectural preferences allowing the algorithm to discern between promising and poor solutions. Experimentation with real users has revealed that the proposed interaction mechanism can effectively guide the search towards those regions of the search space that are of real interest to the expert.Publicado en: Information Sciences, vol. 463-464, pp. 92-109. 2018. DOI: https://doi.org/10.1016/j.ins.2018.06.034. IF(2017): 4.305 [12/148, Information Systems (Q1)]

Evolutionary composition of QoS-aware web services: A many-objective perspective

Web service based applications often invoke services provided by third-parties in their workflow. The Quality of Service (QoS) provided by the invoked supplier can be expressed in terms of the Service Level Agreement specifying the values contracted for particular aspects like cost or throughput, among others. In this scenario, intelligent systems can support the engineer to scrutinise the service market in order to select those candidates that best fit with the expected composition focusing on different QoS aspects. This search problem, also known as QoS-aware web service composition, is characterised by the presence of many diverse QoS properties to be simultaneously optimised from a multi-objective perspective. Nevertheless, as the number of QoS properties considered during the design phase increases and a larger number of decision factors come into play, it becomes more difficult to find the most suitable candidate solutions, so more sophisticated techniques are required to explore and return diverse, competitive alternatives. With this aim, this paper explores the suitability of many objective evolutionary algorithms for addressing the binding problem of web services on the basis of a real-world benchmark with 9 QoS properties. A complete comparative study demonstrates that these techniques, never before applied to this problem, can achieve a better trade-off between all the QoS properties, or even promote specific QoS properties while keeping high values for the rest. In addition, this search process can be performed within a reasonable computational cost, enabling its adoption by intelligent and decision-support systems in the field of service oriented computation.Publicado en: Expert Systems with Applications, vol. 72, pp.357-370. 2017. DOI: http://dx.doi.org/10.1016/j.eswa.2016.10.047.IF(2016): 3,928 [18/133 Artificial Intelligence] (Q1).