[en] Resource management in Multi-core processors has become more important with the evolution of applications and architectures. However, this management is very complex. For example, the same parallel application running several times with the same input data in a single multi-core node, can have variable times of execution. There are many hardware and software factors that affect performance. The way that resources (computation and memory) are distributed among the processes or threads, possibly belonging to multiple applications that compete with each other, is crucial to determine its performance. The difference between doing this distribution of resources without knowing real application requirements and the distribution with a specific purpose is increasing. The best way to do this distribution is automatically, with minimal intervention from the programmer. It is important to emphasize that the way an application is executed on an architecture, is not necessarily the best and this situation can be improved by appropriate management of available resources. A proper management of resources can offer advantages to application developers, through a correct abstraction in the administration of these resources, as well as the computing environment where it runs, allowing a greater number of applications running with the same quantity of resources. Therefore, this resource management does not require changes in the application or in its execution. With the intention to propose policies for resource management, the behavior of intensive applications in computation and memory was analyzed. This analysis was done through the study of parameters location between the cores, necessity of using shared memory, the size of the load input, the distribution of data within the processor and the granularity of work. Our purpose is to identify how these parameters affect the efficiency of implementation, identify bottlenecks and propose possible improvements. Another proposal is to adapt the strategy already used by the Scheduler with the intention to obtain better results.

[es] La gestión de recursos en los procesadores multi-core ha ganado importancia con la evolución de las aplicaciones y arquitecturas. Pero esta gestión es muy compleja. Por ejemplo, una misma aplicación paralela ejecutada múltiples veces con los mismos datos de entrada, en un único nodo multi-core, puede tener tiempos de ejecución muy variables. Hay múltiples factores hardware y software que afectan al rendimiento. La forma en que los recursos hardware (cómputo y memoria) se asignan a los procesos o threads, posiblemente de varias aplicaciones que compiten entre sí, es fundamental para determinar este rendimiento. La diferencia entre hacer la asignación de recursos sin conocer la verdadera necesidad de la aplicación, frente a asignación con una meta específica es cada vez mayor. La mejor manera de realizar esta asignación és automáticamente, con una mínima intervención del programador. Es importante destacar, que la forma en que la aplicación se ejecuta en una arquitectura no necesariamente es la más adecuada, y esta situación puede mejorarse a través de la gestión adecuada de los recursos disponibles. Una apropiada gestión de recursos puede ofrecer ventajas tanto al desarrollador de las aplicaciones, como al entorno informático donde ésta se ejecuta, permitiendo un mayor número de aplicaciones en ejecución con la misma cantidad de recursos. Así mismo, esta gestión de recursos no requeriría introducir cambios a la aplicación, o a su estrategia operativa. A fin de proponer políticas para la gestión de los recursos, se analizó el comportamiento de aplicaciones intensivas de cómputo e intensivas de memoria. Este análisis se llevó a cabo a través del estudio de los parámetros de ubicación entre los cores, la necesidad de usar la memoria compartida, el tamaño de la carga de entrada, la distribución de los datos dentro del procesador y la granularidad de trabajo. Nuestro objetivo es identificar cómo estos parámetros influyen en la eficiencia de la ejecución, identificar cuellos de botella y proponer posibles mejoras. Otra propuesta es adaptar las estrategias ya utilizadas por el Scheduler con el fin de obtener mejores resultados.