• No results found

3.2.

Modelado con funciones de distribución

Como ya se ha explicado, los métodos de análisis estático como el STA son inca- paces de caracterizar la variación del tiempo de cómputo de un circuito debida a los datos de entrada. Por tanto, uno de los objetivos del presente trabajo consiste en encontrar un método que caracterice de forma fidedigna la variabilidad de los tiempos de cómputo. Con una caracterización de este tipo sería posible estudiar el rendimiento de circuitos asíncronos complejos teniendo en cuenta la variación del tiempo de cómputo debida a los datos. Estos estudios requieren que la carac- terización se integre en un simulador arquitectónico, de modo que se deberá tener en cuenta este aspecto a la hora de decidir la complejidad de la caracterización.

3.2.1. Problemas del modelado de tiempos de cómputo va-

riables

El estudio del rendimiento de un circuito asíncrono complejo requiere de simula- ciones a nivel arquitectónico2. Este tipo de simulaciones permiten obtener datos

relevantes acerca del rendimiento como, por ejemplo, el tiempo de cómputo pro- medio global. Las simulaciones a nivel arquitectónico resultan complejas puesto que los tiempos de cómputo de cada módulo del circuito varían en función del dato procesado.

Una solución trivial para modelar los tiempos de cómputo variables constaría de los siguientes pasos:

1. Obtener, a través de simulaciones del circuito descrito a nivel de puertas, los tiempos de cómputo de todos los posibles datos de entrada para cada módulo dentro del circuito.

2. Almacenar los tiempos obtenidos en una estructura convenientemente in- dexada para hacer corresponder a cada dato su valor de tiempo asociado. 2

El siguiente capítulo ofrece mayor detalle sobre tipos de simulaciones en el estudio del rendimiento de un circuito.

3. Caracterización de tiempos de cómputo variables 57 3. Utilizar en las simulaciones del circuito asíncrono la estructura que almacena los tiempos de cómputo, haciendo que cada dato tome como retardo su valor real de tiempo de cómputo.

Esta solución no es viable por los siguientes motivos:

Largos tiempos de simulación para las descripciones a bajo nivel: las simu- laciones de circuitos descritos a nivel de puertas son, generalmente, muy lentas. Esta lentitud se debe a la necesidad de incluir y considerar en las simulaciones información sobre los retardos de todos los componentes des- critos.

Elevado número de simulaciones de bajo nivel a realizar: el número de si- mulaciones a ejecutar sobre el circuito descrito a bajo nivel puede ser muy elevado, tanto como posibles combinaciones de bits haya en la entrada del circuito.

Excesivo tamaño en estructuras de datos: serán necesarias enormes estructu- ras donde almacenar los retardos de cada dato de entrada en cada módulo. Como ejemplo se puede considerar un sencillo sumador asíncrono de dos operandos de 16 bits. Este sumador admite 4.294.967.296 pares de valores distintos (216

∗ 216

pares de valores), cuyos tiempos de cómputo se repre- sentarían con números en punto flotante. Según el estándar de IEEE, los números en punto flotante de precisión simple ocupan 4 bytes, por lo que almacenar todos los posibles retardos de este sumador necesitaría de una estructura de datos que ocuparía, como mínimo, 16 Gbytes.

Largos tiempos de simulación para el modelado arquitectónico: la utilización de los retardos en las simulaciones arquitectónicas del circuito bajo estudio probablemente no cumplirá los requisitos de tiempo de simulación. Dada la gran cantidad de retardos que posiblemente se utilizarán y las enormes estructuras de datos que se necesitan para contenerlos, obtener el retardo que cada dato empleó en cada módulo llevará un tiempo nada despreciable. Sumar todos estos tiempos de búsqueda supondrá una excesiva ralentización de las simulaciones del sistema.

58 3.2. Modelado con funciones de distribución Por tanto, es necesaria una alternativa eficiente para la caracterización del tiempo de cómputo de los componentes de un circuito asíncrono, capaz de integrarse en un simulador arquitectónico. En esta tesis se propone, en primer lugar, la utiliza- ción de funciones de distribución de probabilidad como solución a este problema. En segundo lugar se propone su integración en el simulador arquitectónico bajo estudio.

3.2.2. Antecedentes sobre funciones de distribución

Las funciones de distribución de probabilidad (FDPs) son potentes herramien- tas estadísticas capaces de describir la probabilidad que tiene una determinada variable de tomar diferentes valores. Esta propiedad fundamental, por tanto, en- caja perfectamente en la descripción del problema de la caracterización de las variaciones del tiempo de cómputo.

Las FDPs se han utilizado profusamente en diversos campos de la ciencia. De he- cho, muchos fenómenos de la naturaleza se pueden describir a través de FDPs. Por ejemplo, en relación al estado energético de una partícula, se pueden utilizar tres funciones distintas [Bla92]: la distribución de Maxwell-Boltzmann, la distribución de Bose-Einstein y la distribución de Fermi-Dirac. Otras áreas de la ciencia tam- bién confían en las FDPs para el modelado de distintos parámetros que ofrecen variaciones. Sirvan como ejemplo los siguientes trabajos: fluctuaciones en canales de agua [BWZ92], estudio de variaciones en nubes [YCK+94], simulaciones de

construcciones [FKS99] y validación de satélites con sistemas sensores remotos [LL06]. En el campo de la Informática, las FDPs se han utilizado, por ejem- plo, para modelar el comportamiento del tráfico de paquetes en redes TCP/IP [GW00, CHAG05, FCFW05].

El análisis del rendimiento de sistemas asíncronos también se ha beneficiado de la utilización de técnicas probabilísticas. A continuación se analizan brevemente, en orden cronológico, algunos antecedentes relacionados con el presente trabajo. Xie y Beerel estudiaron técnicas de análisis simbólico del rendimiento de sis- temas asíncronos en [XB00, XKB99, XB97]. En estos artículos, los autores trabajan con representaciones de alto nivel de abstracción de los circuitos

3. Caracterización de tiempos de cómputo variables 59 analizados. Estas representaciones van desde máquinas de estados finitas probabilistas hasta lo que los autores denominan redes de Petri estocásti- cas (STPN, STochastic Petri Nets). Estas STPN son redes de Petri donde las transiciones incluyen valores de retardo y probabilidades asociadas. Las descripciones de los circuitos que utilizan son de muy alto nivel. A estas descripciones se les asocian expresiones simbólicas para las FDPs, de mo- do que es necesario obtener estas expresiones para cada nodo del circuito. Este requisito es la principal desventaja de la técnica propuesta, puesto que representar las FDPs con fórmulas se puede convertir en un problema considerable en circuitos complejos.

Chakraborty y Anglish presentan en [CA02] un análisis probabilista del re- tardo para sistemas asíncronos. En este análisis se utilizan grafos marcados (marked graphs) para la descripción de los circuitos a analizar. El análisis consiste en aplicar simulaciones de tipo Montecarlo a los valores de media y varianza que caracterizan el comportamiento de cada elemento de un siste- ma. El resultado obtenido es un intervalo de posibilidades para la media y varianza del circuito en conjunto. El objetivo de este análisis probabilista, por tanto, no es determinar el rendimiento sino verificar la temporización de los circuitos. Como principal inconveniente se destaca la necesidad de realizar gran número de simulaciones debido a la utilización del método de Montecarlo.

En [MNCJ05], McGee et al. describen un método de análisis del rendimiento asintótico de sistemas asíncronos modelados a través de grafos marcados. En este caso, los grafos marcados corresponden a una subclase de redes de Petri que capturan la concurrencia y las relaciones de dependencia entre compo- nentes en sistemas libres de decisiones (decision-free systems) [CHEP71]. Las variaciones en los tiempos de llegada de los datos de entrada y en los tiempos de cómputo de los componentes del sistema se modelan utilizan- do FDPs. Este método de análisis, sin embargo, tiene dos restricciones. En primer lugar, sólo permite la utilización de distribuciones exponenciales pa- ra los retardos, inadecuadas para describir el comportamiento de multitud de circuitos asíncronos. En segundo lugar, el método se ciñe a los sistemas asíncronos libres de decisiones, lo que dificulta su extensión a microarqui-

60 3.2. Modelado con funciones de distribución tecturas complejas, según se explica en el propio trabajo.

Resumiendo, las FDPs se han utilizado fundamentalmente en descripciones de alto nivel de circuitos asíncronos, no en estudios del rendimiento de circuitos complejos. Además, habitualmente se ha utilizado la expresión simbólica que describe la propia FDP para caracterizar el tiempo de cómputo variable. Este requisito impide la particularización de las FDPs, por ejemplo, con funciones discretas.

3.2.3. Resumen de la propuesta

Una vez analizado el problema, se intuye que la utilización de FDPs en la ca- racterización del tiempo de cómputo de los circuitos asíncronos también puede ser una solución eficiente y viable en simuladores a nivel arquitectónico. La pro- puesta realizada en este capítulo consiste, por tanto, en caracterizar el tiempo de cómputo de los módulos de un circuito asíncrono utilizando FDPs. Las premisas de esta propuesta son las siguientes:

El tiempo de cómputo de cada módulo del circuito se caracterizará con una FDP.

Las FDPs se describirán como listas de retardos con una probabilidad aso- ciada. No se utilizarán fórmulas o expresiones simbólicas para las FDPs. Para cada dato procesado, el simulador arquitectónico propondrá un tiempo de cómputo en base a la FDP asociada al módulo.

El retardo que el simulador propondrá para cada dato probablemente no se corresponderá con su tiempo de cómputo real. Sin embargo, los tiempos de cómputo con mayor probabilidad se asignarán a más datos que aquellos tiempos de cómputo con menor probabilidad, y viceversa.

Como resultado de esta propuesta, el comportamiento de cada módulo seguirá el patrón marcado por la FDP a lo largo de la ejecución de la simulación. Este resultado, por tanto, será análogo al obtenido con la solución trivial descrita anteriormente.

3. Caracterización de tiempos de cómputo variables 61

Related documents