5 research outputs found

    Gestión de recursos en nodos multi-core de memoria compartida

    Get PDF
    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.La gestió de recursos en els processadors multi-core ha guanyat importància amb l'evolució de les aplicacions i arquitectures. Però aquesta gestió és molt complexa. Per exemple, una mateixa aplicació paral·lela executada múltiples vegades amb les mateixes dades d'entrada, en un únic node multi-core, pot tenir temps d'execució molt variables. Hi han múltiples factors del maquinari i programari que afecten el rendiment. La forma en què els recursos del maquinari (còmput i memòria) s'assignen als processos o threads, possiblement de diverses aplicacions que competeixen entre si, és fonamental per determinar aquest rendiment. La diferència entre fer assignació dels recursos sense conèixer la veritable necessitat de l'aplicació, amb una assignació amb un objectiu específic és cada vegada més gran. La millor manera de fer aquesta assignació és automàticament, amb una mínima intervenció del programador. És important destacar que, la forma en que l'aplicació s'executa en una arquitectura, no necessàriament és la més adequada; i aquesta situació pot millorar a través de la gestió adequada dels recursos disponibles. Una apropiada gestió de recursos pot oferir avantatges tant al desenvolupador de les aplicacions, a través d'una correcta abstracció en l'administració d'aquests recursos, així com a l'entorn informàtic on aquesta s'executa, permetent un major nombre d'aplicacions en execució amb la mateixa quantitat de recursos. Així mateix, aquesta gestió dels recursos no requeriria introduir canvis a l'aplicació, o a la seva estratègia operativa. Per tal de proposar polítiques per a la gestió dels recursos, es va analitzar el comportament de aplicacions intensives de còmput i intensives de memòria. Aquest anàlisi es va dur a terme a través de l'estudi dels paràmetres d'ubicació entre els cores, la necessitat d'usar la memòria compartida, la mida de la càrrega d'entrada, la distribució de les dades dins del processador i la granularitat de treball. El nostre objectiu és identificar com aquests paràmetres influeixen en l'eficiència de l'execució, identificar colls d'ampolla i proposar possibles millores. Una altra proposta és adaptar les estratègies ja utilitzades pel Scheduler amb la finalitat d'obtenir millors resultats.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.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

    Multicore XINU

    Get PDF
    Multicore architectures employ multiple processing cores that work together for greater processing power. Shared memory, symmetric multiprocessor (SMP) systems are ubiquitous. All software must be explicitly designed to support SMP processing, including operating systems. XINU is a simple, lightweight, elegant operating system that has existed for several decades and has been ported to many platforms. However, XINU has never been extended to support multicore processing. This project incrementally adds SMP support to the XINU operating system. Core kernel modules, including the scheduler and memory manager, have been successfully extended without overhauling or completely redesigning XINU. A multicore methodology is laid out for the remaining kernel modules

    Large-scale simulator for global data infrastructure optimization

    Get PDF
    Thesis (Ph. D.)--Massachusetts Institute of Technology, Dept. of Civil and Environmental Engineering, February 2012.Cataloged from PDF version of thesis.Includes bibliographical references (p. 165-172).Companies depend on information systems to control their operations. During the last decade, Information Technology (IT) infrastructures have grown in scale and complexity. Any large company runs many enterprise applications that serve data to thousands of users which, in turn, consume this information in different locations concurrently and collaboratively. The understanding by the enterprise of its own systems is often limited. No one person in the organization has a complete picture of the way in which applications share and move data files between data centers. In this dissertation an IT infrastructure simulator is developed to evaluate the performance, availability and reliability of large-scale computer systems. The goal is to provide data center operators with a tool to understand the consequences of infrastructure updates. These alterations can include the deployment of new network topologies, hardware configurations or software applications. The simulator was constructed using a multilayered approach and was optimized for multicore scalability. The results produced by the simulator were validated against the real system of a Fortune 500 company. This work pioneers the simulation of large-scale IT infrastructures. It not only reproduces the behavior of data centers at a macroscopic scale, but allows operators to navigate down to the detail of individual elements, such as processors or network links. The combination of queueing networks representing hardware components with message sequences modeling enterprise software enabled reaching a scale and complexity not available in previous research in this area.by Sergio Herrero-López.Ph.D

    Performance Implications of Cache Affinity on Multicore Processors

    No full text
    corecore