%0 Thesis %A Pellicer Lafuente, Diego %A Chen, Yikang %T Análisis del potencial del particionado de cache en sistemas multinúcleo para garantizar aislamiento entre aplicaciones y calidad de servicio en la nube %D 2024 %U https://hdl.handle.net/20.500.14352/106045 %X Los procesadores multinúcleo (CMPs) constituyen actualmente la arquitectura dominante en sistemas de propósito general, y están presentes en un amplio espectro de productos comerciales, desde dispositivos móviles a servidores en centros de datos. Maximizar la utilización del número creciente de núcleos de estas arquitecturas es crucial para incrementar los beneficios económicos, especialmente en centros de datos en la nube. Para abordar este desafío, los proveedores de cloud ejecutan múltiples servicios y aplicaciones de uno o varios clientes en el mismo servidor físico. Esto se combina con el lanzamiento cargas de trabajo propias de los proveedores de cloud durante períodos de baja demanda para maximizar la utilización de recursos.Lamentablemente, la ejecución simultánea de diversas aplicaciones en un sistema CMP a menudo provoca una degradación de rendimiento desigual y difícil de predecir en las aplicaciones debido a la contención de recursos compartidos. Esta contención surge porque los núcleos de los sistemas CMP típicamente comparten recursos críticos como la caché de último nivel o el ancho de banda de memoria. No arbitrar explícitamente la competición por estos recursos entre aplicaciones provoca la degradación sistemática del rendimiento y de la justicia en el sistema, y puede afectar de forma muy negativa a parámetros críticos del funcionamiento de los servicios en la nube, como la latencia observada. Para hacer frente a estos problemas, los principales fabricantes de procesadores han optado en los últimos años por la inclusión en sus productos comerciales de una serie de extensiones hardware como, por ejemplo, el soporte para particionado de la caché de último nivel.El objetivo principal de este trabajo es realizar evaluaciones experimentales para analizar el potencial del particionado de caché como mecanismo de aislamiento entre aplicaciones en un servidor multinúcleo. Las conclusiones de este análisis buscan sentar las bases para la construcción de un gestor de recursos implementado dentro del kernel del sistema operativo, particularmente en el kernel Linux. Para llevar a cabo nuestro análisis ha sido necesario realizar extensiones en una serie de herramientas, y con ello posibilitar el lanzamiento y monitorización de cargas de trabajo formadas por aplicaciones en contenedores. %X Multi-core processors (CMPs) are currently the dominant architecture in general-purpose systems, and are present in a wide range of commercial products, from mobile devices to servers in data centers. Maximizing the utilization of the growing number of cores in these architectures is crucial to increase economic benefits, especially in cloud data centers. To address this challenge, cloud providers run multiple services and applications from one or more clients on the same physical server. This is combined with launching cloud providers’ own workloads during periods of low demand to maximize resource utilization.Unfortunately, concurrent execution of multiple applications on a CMP system often results in uneven and hard-to-predict application performance degradation due to shared resource contention. This contention arises because the cores of CMP systems typically share critical resources such as last-level cache or memory bandwidth. Failure to explicitly arbitrate competition for these resources between applications leads to systematic performance and fairness degradation in the system, and can strongly negatively affect critical cloud service performance metrics such as observed latency. To address these problems, major processor manufacturers have in recent years opted for the inclusion in their commercial products of a number of hardware extensions, such as, for example, support for last-level cache partitioning.The main objective of this work is to perform experimental evaluations to analyze the potential of cache partitioning as an isolation mechanism between applications in a multicore server. The conclusions of this analysis seek to lay the foundations for the construction of a resource manager implemented within the operating system kernel, particularly in the Linux kernel. In order to carry out our analysis it has been necessary to make extensions to a number of tools, and thus enable the launching and monitoring of workloads consisting of containerized applications. %~