[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.

[pt] A gestão de recursos nos processadores multi-core ganhou importância com a evolução das aplicações e arquiteturas. Porém esta gestão é muito complexa. Por exemplo, uma mesma aplicação paralela executando muitas vezes com os mesmo dados de entrada, em um único nó multi-core, pode ter tempos de execução muito variáveis. Existem muitos fatores de hardware e software que afetam este rendimento. A forma que os recursos (cômputo e memória) se distribuem entre os processos ou threads, possivelmente de várias aplicações que competem entre si, é fundamental para determinar o seu rendimento. A diferença entre fazer esta distribuição de recursos sem conhecer a verdadeira necessidade da aplicação, por uma distribuição com um objetivo específico é cada vez maior. A melhor maneira de fazer esta distribuição é automaticamente, com uma mínima intervenção do programador. É importante destacar, que a forma em que a aplicação se executa em uma arquitetura não é necessariamente a mais adequada, e está situação pode melhorar através da gestão adequada dos recursos disponíveis. Uma apropriada gestão dos recursos pode oferecer vantagens tanto para o desenvolvedor das aplicações, através de uma correta abstração na administração destes recursos, assim como o ambiente informático onde se executa, permitindo um maior numero de aplicações em execução com a mesma quantidade de recursos. Assim mesmo, esta gestão de recursos não requer introduzir mudanças na aplicação, ou na sua forma de execução. Com a intenção de propor políticas para a gestão de recursos, analisamos o comportamento de aplicações intensivas em cômputo e memória. Está análise foi feita através dos estudos dos parâmetros de localização entre os cores, a necessidade de uso da memória compartilhada, o tamanho da carga de entrada, a distribuição dos dados dentro do processador e a granularidade de trabalho. Nosso objetivo é identificar como estes parâmetros influem na eficiência da execução, identificar gargalos e propor possíveis melhoras. Outra proposta é adaptar a estratégia já utilizada pelo Scheduler com a intenção de obter melhores resultados.