Thesis: Implementación de aceleradores de cómputo en lógica reconfigurable para aplicaciones de control predictivo por modelo utilizando síntesis de alto nivel
Date
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract
El Control Predictivo por Modelo es una técnica de control automático que se caracteriza por predecir el comportamiento de la planta para determinar una secuencia de actuaciones y seguir una referencia a lo largo de un horizonte de tiempo. Al formularse como un problema de optimización, el MPC puede utilizarse en plantas con múltiples entradas y considerar intrínsecamente las restricciones del sistema; sin embargo, el costo computacional de resolver la optimización es significativo y aumenta con la dimensión del modelo, el número de restricciones y el horizonte de tiempo, lo que representa un desafío para su ejecución en tiempo de operación de la planta en un gran número de aplicaciones. Las Field Programmable Gate Arrays se han utilizado para disminuir la latencia de secciones del procesamiento de MPC; no obstante, aun usando una FPGA puede ser necesario un procesador de propósito general (CPU) para implementar el lazo de control completo, lo que implica la utilización de arquitecturas heterogéneas. Las plataformas que combinan CPU con FPGA ofrecen la posibilidad de ejecutar las partes seriales de un algoritmo en software y las partes paralelizables en lógica programable; sin embargo, al distribuir la ejecución de un algoritmo entre la CPU y la FPGA, también debe tenerse en cuenta la latencia de la comunicación entre ambas partes. Asimismo, debe considerarse la complejidad de implementar ciertos elementos del lazo de control, como las interfaces con sensores, actuadores, con el usuario o con otros sistemas. La integración de lógica programable junto a procesadores de propósito general resulta entonces en nuevos compromisos que no han sido explorados en la literatura, pero que son relevantes para alcanzar objetivos de latencia usando sistemas heterogéneos. Por otro lado, se han desarrollado flujos alternativos al diseño convencional utilizando lenguajes de descripción de hardware para el diseño de aceleradores en FPGA, y herramientas modernas, como la Síntesis de Alto Nivel, permiten reducir el uso de estos lenguajes, facilitando la verificación del diseño y potencialmente reduciendo el tiempo de diseño; trabajos recientes han explorado el uso de herramientas de alto nivel para la aceleración del Control Predictivo por Modelo. El trabajo propuesto pretende analizar la implementación de sistemas digitales con aceleradores en FPGA, explorando el uso de arquitecturas heterogéneas y de Síntesis de Alto Nivel para la implementación de sistemas que integren procesamiento en CPU y en hardware. La implementación de Control Predictivo por Modelo se considera relevante para evaluar las capacidades y limitaciones actuales de la Síntesis de Alto Nivel y de los sistemas heterogéneos, por tratarse de un algoritmo computacionalmente demandante y paralelizable.
Model Predictive Control (MPC) is an automatic control technique characterized by predicting plant behavior to determine a sequence of actions and follow a reference over a time horizon. Formulated as an optimization problem, MPC can be used in plants with multiple inputs and inherently considers system constraints; however, the computational cost of solving the optimization is significant and increases with the model's size, the number of constraints, and the time horizon, posing a challenge for its execution during plant operation in many applications. Field Programmable Gate Arrays (FPGAs) have been used to reduce the latency of sections of MPC processing; however, even using an FPGA, a general-purpose processor (CPU) may be necessary to implement the complete control loop, implying the use of heterogeneous architectures. Platforms that combine CPUs with FPGAs offer the possibility of executing the serial parts of an algorithm in software and the parallelizable parts in programmable logic. However, when distributing algorithm execution between the CPU and the FPGA, the communication latency between the two must also be considered. Likewise, the complexity of implementing certain elements of the control loop, such as interfaces with sensors, actuators, the user, or other systems, must be taken into account. Integrating programmable logic with general-purpose processors thus results in new trade-offs that have not been explored in the literature but are relevant for achieving latency targets using heterogeneous systems. On the other hand, alternative design workflows to conventional methods have been developed using hardware description languages for FPGA accelerator design, and modern tools, such as High-Level Synthesis, allow for reduced use of these languages, facilitating design verification and potentially reducing design time. Recent work has explored the use of high-level tools for accelerating Model Predictive Control. This work aims to analyze the implementation of digital systems with FPGA accelerators, exploring the use of heterogeneous architectures and High-Level Synthesis for implementing systems that integrate CPU and hardware processing. The implementation of Model Predictive Control is considered relevant for evaluating the current capabilities and limitations of High-Level Synthesis and heterogeneous systems, given that it is a computationally demanding and parallelizable algorithm.
