摘要:El Particionado Hardware/Software (PHS) es una etapa fundamental en el co-diseño de sistemas embebidos. El objetivo principal de esta etapa es decidir qué componentes de la aplicación serían ejecutados en un procesador de propósito general (software) y cuáles en un hardware específico, teniendo en cuenta las restricciones. En los últimos años, se han propuesto diferentes estrategias para resolver el problema PHS, las cuales utilizan en su mayoría algoritmos metaheurísticos. Sin embargo, debido a la diversidad de modelos y métricas utilizadas, decidir qué algoritmo es mejor que otro es un problema abierto. Este artículo presenta los resultados de aplicar lógica difusa en el problema PHS. Esta estrategia es más flexible que muchas de las otras propuestas, ya que es posible aceptar soluciones bastante buenas o rechazar otras que no parezcan buenas. Además en este trabajo se comparan seis algoritmos metaheurísticos: Búsqueda aleatoria, Búsqueda tabú, Recocido simulado, Escalador de colinas, Algoritmo genético y Estrategia evolutiva. El modelo que se presenta está dirigido a minimizar de forma simultánea el área de hardware y el tiempo de ejecución del sistema. Los resultados muestran que el escalador de colinas es el algoritmo que obtiene mejores resultados en la mayoría de los casos.
其他摘要:Hardware/Software partitioning (HSP) is a key task for embedded system co-design. The main goal of this task is to decide which components of an application are to be executed in a general purpose processor (software) and which ones, on a specific hardware, taking into account a set of restrictions expressed by metrics. In last years, several approaches have been proposed for solving the HSP problem, directed by metaheuristic algorithms. However, due to diversity of models and metrics used, the choice of the best suited algorithm is an open problem yet. This article presents the results of applying a fuzzy approach to the HSP problem. This approach is more flexible than many others due to the fact that it is possible to accept quite good solutions or to reject other ones which do not seem good. In this work we compare six metaheuristic algorithms: Random Search, Tabu Search, Simulated Annealing, Hill Climbing, Genetic Algorithm and Evolutionary Strategy. The presented model is aimed to simultaneously minimize the hardware area and the execution time. The obtained results show that Restart Hill Climbing is the best performing algorithm in most cases.