Esta tesis versa sobre la planificación de aplicaciones dinámicas en arquitecturas reconfigurables multi-contexto. Las aplicaciones de nuestro interés, contrario a las de tipo estático, operan en entornos dinámicos debido a la interacción del usuario y a dependencias de datos. La aplicación debe ser capaz de responder a condiciones de ejecución variables, sabiendo que existen restricciones de tiempo real y consumo de potencia. El comportamiento dinámico de las aplicaciones objetivo hace que tanto las configuraciones como los datos requeridos sólo se conozcan en tiempo de ejecución. Mientras las configuraciones y los datos no estén disponibles en las memorias internas el sistema no puede proceder con la ejecución. Esta tesis busca reducir al máximo las paradas de ejecución mediante una planificación eficiente de las transferencias de configuraciones y datos. Proponemos un entorno de trabajo con una componente en tiempo de compilación que incluye herramientas de modelado, particionamiento y secuenciamiento de la aplicación para un escenario de ejecución tipo, que se estima mediante perfiles de la aplicación; y una componente de tiempo de ejecución que consiste en una técnica de cambio de configuraciones para ajustar la aplicación a las condiciones de ejecución imperantes, y un esquema de carga anticipada de datos guiado por un compromiso de rendimiento y potencia.Los resultados experimentales obtenidos demuestran las bondades de los algoritmos de planificación propuestos. Mediante el uso de los algoritmos de planificación estática, y las técnicas de tiempo de ejecución de cambio de contexto y carga anticipada de datos en aplicaciones reales como ray-tracing basada en octree, es posible lograr un tiempo de ejecución que bastante cercano al tiempo de ejecución obtenido cuando se implementa una precarga perfecta de datos. Para este mismo caso, el consumo de potencia debido a las transferencias de datos después de aplicar nuestras técnicas se reduce en una tercera parte.
This thesis deals with the scheduling of dynamic applications onto a multicontext coarse-grained reconfigurable architecture. The MorphoSys reconfigurable system is used as target architecture. Initially, the problem seemed to be solved because the applications usually implemented had a behavior that can be known at compilation time, and several static compilation frameworks were developed. However, in the last few years, a new class of applications have appeared which operate in dynamically changing scenarios because of user activity and data dependencies. They must be able of reacting to new runtime conditions, and are subjected to real-time constraints, since the user has to be sense of interactivity. Furthermore, reconfigurable platforms are proposed in the last years as part of mobile systems to improve performance,then low-power consumption is becoming relevant.The program flow, that is needed configurations and their associated input data, of these dynamic applications is only known at runtime. If next configurationto process is not immediately available in the on-chip memory of the reconfigurable component, as well as its input data, a computation stall occurs. The dynamic behavior of these new applications demands a modification of the compilation tools developed for multicontext architectures. Compilation framework for dynamic applications should include a context and data pre-fetching technique to hide latencies because of context and data unavailability. There is an additional issue. Concurrent processing of an application on a reconfigurable architecture means that each processing element processes a subset of input data. Following the single instruction stream / multiple data stream (SIMD) style, used in most reconfigurable systems, this concurrent processing leads to a problem when the dynamic behavior of the mapped applications demands the execution of different tasks at the same time. In summary, our goal is to map dynamic applications in order to execute them onto SIMD multicontext reconfigurable architectures, by means of an efficient scheduling of configurations and data, looking for the minimization of both the number of clock cycles and power required to complete the application.
© 2001-2024 Fundación Dialnet · Todos los derechos reservados