Aviso: para depositar documentos, por favor, inicia sesión e identifícate con tu cuenta de correo institucional de la UCM con el botón MI CUENTA UCM. No emplees la opción AUTENTICACIÓN CON CONTRASEÑA Disculpen las molestias.
 

Soporte de sistema operativo y runtime system para explotación de maleabilidad en procesadores multinúcleo

dc.contributor.advisorSáez Alcaide, Juan Carlos
dc.contributor.authorRubio Moreno, Javier
dc.date.accessioned2024-05-23T13:45:47Z
dc.date.available2024-05-23T13:45:47Z
dc.date.issued2023
dc.degree.titleGrado en Desarrollo de Videojuegos
dc.descriptionTrabajo de Fin de Grado en Desarrollo de Videojuegos, Facultad de Informática UCM, Departamento de Arquitectura de Computadores y Automática, Curso 2022/2023.
dc.description.abstractLos procesadores multinúcleo, que integran múltiples cores de procesamiento en el mismo chip, constituyen actualmente la arquitectura dominante de propósito general. La tendencia de integración de un cada vez mayor número de núcleos, especialmente en procesadores del segmento de servidores, supone una gran oportunidad para la aceleración de aplicaciones que emplean múltiples hilos para el reparto del trabajo a realizar. Sin embargo, los cuellos de botella presentes de forma inherente en las aplicaciones paralelas –p.ej., fragmentos de código secuencial–, unido a los habituales problemas de contención en los recursos compartidos entre núcleos –como el ancho de banda con memoria–, pueden limitar de forma sustancial la escalabilidad de muchas aplicaciones, impidiendo la utilización efectiva de todos los núcleos de la plataforma. Para hacer frente a este problema, e incrementar el grado de utilización del procesador, en este TFG se ha desarrollado un sistema que otorga núcleos extra a aplicaciones maleables –con capacidad de cambiar dinámicamente su número de hilos–, cuando otras aplicaciones no maleables que se ejecutan simultáneamente en el sistema dejan núcleos inactivos. El sistema requiere la modificación del kernel del sistema operativo y del runtime system, que interactúan para hacer un uso muy eficiente de los núcleos inactivos. Esto permite trasladar automáticamente los beneficios de nuestro sistema a las aplicaciones sin requerir la modificación de las mismas. Como prueba de concepto, se ha desarrollado un prototipo del sistema sobre el kernel Linux y la implementación de GNU del runtime system de OpenMP, en la cual se ha introducido soporte de maleabilidad para aplicaciones basadas en bucles paralelos. Nuestros resultados revelan que el sistema desarrollado permite incrementar sustancialmente el rendimiento global en cargas de trabajo multiprogramadas.
dc.description.abstractMulti-core processors, which integrate multiple processing cores on the same chip, are currently the dominant general-purpose architecture. The trend of integrating an increasing number of cores, especially in processors in the server segment, represents a great opportunity for the acceleration of applications that use multiple threads to distribute work. However, the inherent bottlenecks in parallel applications –e.g., sequential code fragments– coupled with the usual contention problems in shared resources between cores –such as memory bandwidth– can substantially limit the scalability of many applications, preventing the effective utilization of all cores on the platform. To address this problem, and increase the degree of processor utilization, this TFG presents a system that grants extra cores to malleable applications –with the ability to dynamically change their number of threads–, when other non-malleable applications running simultaneously on the system leave idle cores. The system requires modification of the operating system kernel and runtime system, which interact to make very efficient use of idle cores. This allows the benefits of our system to be automatically transferred to the applications without requiring modification of the applications themselves. As a proof of concept, a prototype has been developed on the Linux kernel and the GNU implementation of the OpenMP runtime system, in which malleability support for parallel loop-based applications has been introduced. Our results reveal that the system allows to substantially increase the overall performance in multiprogrammed workloads.
dc.description.departmentDepto. de Arquitectura de Computadores y Automática
dc.description.facultyFac. de Informática
dc.description.refereedTRUE
dc.description.statuspub
dc.identifier.urihttps://hdl.handle.net/20.500.14352/104373
dc.language.isospa
dc.page.total76
dc.rightsAttribution-NonCommercial-NoDerivatives 4.0 Internationalen
dc.rights.accessRightsopen access
dc.rights.urihttp://creativecommons.org/licenses/by-nc-nd/4.0/
dc.subject.cdu004(043.3)
dc.subject.keywordProcesadores multinúcleo
dc.subject.keywordKernel Linux
dc.subject.keywordMaleabilidad
dc.subject.keywordOpenMP
dc.subject.keywordSistemas operativos
dc.subject.keywordRendimiento
dc.subject.keywordPMCSched
dc.subject.keywordParalelismo
dc.subject.keywordMulticore processors
dc.subject.keywordLinux kernel
dc.subject.keywordMalleability
dc.subject.keywordOperating systems
dc.subject.keywordPerformance
dc.subject.keywordParallelism
dc.subject.ucmInformática (Informática)
dc.subject.unesco33 Ciencias Tecnológicas
dc.titleSoporte de sistema operativo y runtime system para explotación de maleabilidad en procesadores multinúcleo
dc.title.alternativeOperating system and runtime system support for exploiting malleability on multicore processors
dc.typebachelor thesis
dc.type.hasVersionAM
dspace.entity.typePublication
relation.isAdvisorOfPublication5a9b186f-f010-47e3-b598-040d7f5dc5ba
relation.isAdvisorOfPublication.latestForDiscovery5a9b186f-f010-47e3-b598-040d7f5dc5ba

Download

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
2166779697 - JAVIER RUBIO MORENO - 87252_JAVIER_RUBIO_MORENO_Soporte_de_sistema_operativo_y_runtime_system_para_explotacion_de_maleabilidad_en_procesadores_mul.pdf
Size:
1020.84 KB
Format:
Adobe Portable Document Format