Simulación paralela de un procesador superescalar en sistemas de memoria compartida y memoria distribuida.

Simulación paralela de un procesador superescalar en sistemas de memoria compartida y memoria distribuida

Lorena Santos Espinosa
 

Texto completo de la Tesis     

 


Resumen

El mejoramiento en el rendimiento de los procesadores se debe fundamentalmente a dos aspectos: cambios tecnológicos y cambios arquitecturales. Los cambios tecnológicos se deben fundamental- mente a los avances en la fabricación de semiconductores los cuales permiten desarrollar dispositivos que cambian de estado rápidamente. Los cambios arquitecturales pretenden por un lado realizar las funciones de un procesador de manera diferente y por otro agregar a un procesador cada vez más funciones. Debido a los altos costos de construcción de un procesador, es necesario realizar una simulación antes de implantar un cambio arquitectural. La simulación mediante programas de prueba permite evaluar el rendimiento obtenido con los cambios propuestos. La simulación utiliza un modelo microarquitectural del procesador el cual simula cada una de sus unidades funcionales. En esta tesis se presenta una plataforma de experimentación para la ejecución de un conjunto de tareas de simulación de un procesador superescalar las cuales serán distribuidas dinámicamente entre un conjunto de computadoras. La estrategia de distribución pretende mantener a las com- putadoras con una carga de trabajo similar (balance de carga) y aplica un tipo de migración de procesos cuando el sistema no esta balanceado. Así también, dado que existen tareas de simulación muy costosas computacionalmente, se ha desarrollado un simulador paralelo el cual distribuye el trabajo de una sola tarea de simulación entre varios procesadores. El simulador paralelo asigna un proceso a cada etapa de la arquitectura segmentada (pipeline) del procesador desacoplándolas por cada ciclo de reloj y sincronizándolas mediante la estrategia de reloj global. El procesador utilizado es SimpleScalar el cual es un procesador superescalar diseñado por el Grupo de Arquitectura de Computadoras de la Universidad de Wisconsin.

Abstract

Improvements in computer architecture are mostly based on technological and architectural changes. Technological changes rely on advances in semiconductor fabrication which permit to built faster switching devices. Architectural improvements promote to realize the same functions but in different manner and to add new functions to a microprocessor. Due to high costs in processor fabrication, it is necessary to simulate an architectural change before implementing it. Simulation through benchmarks (test programs) allows to evaluate performance of proposed architectural changes. Simulation uses a processor’s microarchitectural model which describes each of its functional units. In this thesis we present a tool to dynamically distribute different simulation tasks of a superscalar processor among a set of computers. Distribution strategy tries to keep computers with similar loads (load balance) and applies a kind of process migration when the system is not balanced. In addition, since some simulation tasks are computationally intensive, it has been developed a parallel simulator which distributes the simulation work of a single task among several processors. The parallel simulator maps each pipeline stage of the microprocessor to a single process isolating them for each clock cycle and achieving synchronization by a global clock. We used SimpleScalar which is a superscalar processor designed by the Computer Architecture’s Group of University of Wisconsin.