Static Worst-Case Execution Time Optimization using DPSO for ASIP Architecture

Introduction: The application of specific instructions significantly improves energy, performance, and code size of configurable processors. The design of these instructions is performed by the conversion of patterns related to application-specific operations into effective complex instructions. Thi...

Full description

Autores:
Venkanna, Mood
Rao, Rameshwar
Tipo de recurso:
Article of journal
Fecha de publicación:
2018
Institución:
Universidad Cooperativa de Colombia
Repositorio:
Repositorio UCC
Idioma:
eng
OAI Identifier:
oai:repository.ucc.edu.co:20.500.12494/9444
Acceso en línea:
https://revistas.ucc.edu.co/index.php/in/article/view/2230
https://hdl.handle.net/20.500.12494/9444
Palabra clave:
Rights
openAccess
License
Copyright (c) 2018 Journal of Engineering and Education
id COOPER2_740fc2dfe13399b028eeeae3bc6b3b47
oai_identifier_str oai:repository.ucc.edu.co:20.500.12494/9444
network_acronym_str COOPER2
network_name_str Repositorio UCC
repository_id_str
dc.title.eng.fl_str_mv Static Worst-Case Execution Time Optimization using DPSO for ASIP Architecture
dc.title.spa.fl_str_mv El peor caso estático de optimización del tiempo de ejecución utilizando dpso para arquitectura ASIP
dc.title.por.fl_str_mv O pior caso estático de otimização do tempo de execução utilizando dpso para arquitetura ASIP
title Static Worst-Case Execution Time Optimization using DPSO for ASIP Architecture
spellingShingle Static Worst-Case Execution Time Optimization using DPSO for ASIP Architecture
title_short Static Worst-Case Execution Time Optimization using DPSO for ASIP Architecture
title_full Static Worst-Case Execution Time Optimization using DPSO for ASIP Architecture
title_fullStr Static Worst-Case Execution Time Optimization using DPSO for ASIP Architecture
title_full_unstemmed Static Worst-Case Execution Time Optimization using DPSO for ASIP Architecture
title_sort Static Worst-Case Execution Time Optimization using DPSO for ASIP Architecture
dc.creator.fl_str_mv Venkanna, Mood
Rao, Rameshwar
dc.contributor.author.none.fl_str_mv Venkanna, Mood
Rao, Rameshwar
description Introduction: The application of specific instructions significantly improves energy, performance, and code size of configurable processors. The design of these instructions is performed by the conversion of patterns related to application-specific operations into effective complex instructions. This research was presented at the icitkm Conference, University of Delhi, India in 2017.Methods: Static analysis was a prominent research method during late the 1980’s. However, end-to-end measurements consist of a standard approach in industrial settings. Both static analysis tools perform at a high-level in order to determine the program structure, which works on source code, or is executable in a disassembled binary. It is possible to work at a low-level if the real hardware timing information for the executable task has the desired features.Results: We experimented, tested and evaluated using a H.264 encoder application that uses nine cis, covering most of the computation intensive kernels. Multimedia applications are frequently subject to hard real time constraints in the field of computer vision. The H.264 encoder consists of complicated control flow with more number of decisions and nested loops. The parameters evaluated were different numbers of A partitions (300 slices on a Xilinx Virtex 7each), reconfiguration bandwidths, as well as relations of cpu frequency and fabric frequency fCPU/ffabric. ffabric remains constant at 100MHz, and we selected a multiplicity of its values for fCPU that resemble realistic units. Note that while we anticipate the wcet in seconds (wcetcycles/ f CPU) to be lower (better) with higher fCPU, the wcet cycles increase (at a constant ffabric) because hardware cis perform less computations on the reconfigurable fabric within one cpu cycle.Conclusions: The method is similar to tree hybridization and path-based methods which are less precise, and to the global ipet method, which is more precise. Optimization is evaluated with the Discrete Particle Swarm Optimization (dpso) algorithm for wcet. For several real-world applications involving embedded processors, the proposed technique develops improved instruction sets in comparison to native instruction sets.Originality: For wcet estimation, flow analysis, low-level analysis and calculation phases of the program need to be considered. Flow analysis phase or the high-level of analysis helps to extract the program’s dynamic behavior that gives information on functions being called, number of loop iteration, dependencies among if-statements, etc. This is due to the fact that the analysis is unaware of the execution path corresponding to the longest execution time.Limitations: This path is executed within a kernel iteration that relies upon the nature of mb, either i-mb or p-mb, determined by the motion estimation kernel, that is, its’ input depends on the i-mb and p-mb paths ,which also contain separate cis leading to the instability of the worst-case path, that is, adding more partitions to the current worst-case path can result in the other path becoming the worst case. The pipeline stalls for the reconfiguration delay and continues when entering the kernel once the reconfiguration process finishes.
publishDate 2018
dc.date.accessioned.none.fl_str_mv 2019-05-14T21:07:54Z
dc.date.available.none.fl_str_mv 2019-05-14T21:07:54Z
dc.date.none.fl_str_mv 2018-05-01
dc.type.none.fl_str_mv Artículo
dc.type.coar.fl_str_mv http://purl.org/coar/resource_type/c_2df8fbb1
dc.type.coar.none.fl_str_mv http://purl.org/coar/resource_type/c_6501
dc.type.coarversion.none.fl_str_mv http://purl.org/coar/version/c_970fb48d4fbd8a85
dc.type.driver.none.fl_str_mv info:eu-repo/semantics/article
dc.type.redcol.none.fl_str_mv http://purl.org/redcol/resource_type/ART
dc.type.version.none.fl_str_mv info:eu-repo/semantics/publishedVersion
format http://purl.org/coar/resource_type/c_6501
status_str publishedVersion
dc.identifier.none.fl_str_mv https://revistas.ucc.edu.co/index.php/in/article/view/2230
10.16925/.v14i0.2230
dc.identifier.uri.none.fl_str_mv https://hdl.handle.net/20.500.12494/9444
url https://revistas.ucc.edu.co/index.php/in/article/view/2230
https://hdl.handle.net/20.500.12494/9444
identifier_str_mv 10.16925/.v14i0.2230
dc.language.none.fl_str_mv eng
language eng
dc.relation.none.fl_str_mv https://revistas.ucc.edu.co/index.php/in/article/view/2230/2357
https://revistas.ucc.edu.co/index.php/in/article/view/2230/2521
dc.rights.none.fl_str_mv Copyright (c) 2018 Journal of Engineering and Education
http://creativecommons.org/licenses/by-nc-nd/4.0/
dc.rights.accessrights.none.fl_str_mv info:eu-repo/semantics/openAccess
dc.rights.coar.none.fl_str_mv http://purl.org/coar/access_right/c_abf2
rights_invalid_str_mv Copyright (c) 2018 Journal of Engineering and Education
http://creativecommons.org/licenses/by-nc-nd/4.0/
http://purl.org/coar/access_right/c_abf2
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.publisher.eng.fl_str_mv Universidad Cooperativa de Colombia
dc.source.eng.fl_str_mv Ingeniería Solidaria; Vol 14 No 25 (2018): special issue; 1-11
dc.source.spa.fl_str_mv Ingeniería Solidaria; Vol. 14 Núm. 25 (2018): special issue; 1-11
dc.source.por.fl_str_mv Ingeniería Solidaria; v. 14 n. 25 (2018): special issue; 1-11
dc.source.none.fl_str_mv 2357-6014
1900-3102
institution Universidad Cooperativa de Colombia
repository.name.fl_str_mv Repositorio Institucional Universidad Cooperativa de Colombia
repository.mail.fl_str_mv bdigital@metabiblioteca.com
_version_ 1808788876814188544
spelling Venkanna, MoodRao, Rameshwar2018-05-012019-05-14T21:07:54Z2019-05-14T21:07:54Zhttps://revistas.ucc.edu.co/index.php/in/article/view/223010.16925/.v14i0.2230https://hdl.handle.net/20.500.12494/9444Introduction: The application of specific instructions significantly improves energy, performance, and code size of configurable processors. The design of these instructions is performed by the conversion of patterns related to application-specific operations into effective complex instructions. This research was presented at the icitkm Conference, University of Delhi, India in 2017.Methods: Static analysis was a prominent research method during late the 1980’s. However, end-to-end measurements consist of a standard approach in industrial settings. Both static analysis tools perform at a high-level in order to determine the program structure, which works on source code, or is executable in a disassembled binary. It is possible to work at a low-level if the real hardware timing information for the executable task has the desired features.Results: We experimented, tested and evaluated using a H.264 encoder application that uses nine cis, covering most of the computation intensive kernels. Multimedia applications are frequently subject to hard real time constraints in the field of computer vision. The H.264 encoder consists of complicated control flow with more number of decisions and nested loops. The parameters evaluated were different numbers of A partitions (300 slices on a Xilinx Virtex 7each), reconfiguration bandwidths, as well as relations of cpu frequency and fabric frequency fCPU/ffabric. ffabric remains constant at 100MHz, and we selected a multiplicity of its values for fCPU that resemble realistic units. Note that while we anticipate the wcet in seconds (wcetcycles/ f CPU) to be lower (better) with higher fCPU, the wcet cycles increase (at a constant ffabric) because hardware cis perform less computations on the reconfigurable fabric within one cpu cycle.Conclusions: The method is similar to tree hybridization and path-based methods which are less precise, and to the global ipet method, which is more precise. Optimization is evaluated with the Discrete Particle Swarm Optimization (dpso) algorithm for wcet. For several real-world applications involving embedded processors, the proposed technique develops improved instruction sets in comparison to native instruction sets.Originality: For wcet estimation, flow analysis, low-level analysis and calculation phases of the program need to be considered. Flow analysis phase or the high-level of analysis helps to extract the program’s dynamic behavior that gives information on functions being called, number of loop iteration, dependencies among if-statements, etc. This is due to the fact that the analysis is unaware of the execution path corresponding to the longest execution time.Limitations: This path is executed within a kernel iteration that relies upon the nature of mb, either i-mb or p-mb, determined by the motion estimation kernel, that is, its’ input depends on the i-mb and p-mb paths ,which also contain separate cis leading to the instability of the worst-case path, that is, adding more partitions to the current worst-case path can result in the other path becoming the worst case. The pipeline stalls for the reconfiguration delay and continues when entering the kernel once the reconfiguration process finishes.Introducción: la aplicación de instrucciones específicas mejora significativamente la energía, el rendimiento y el tamaño del código de los procesadores configurables. El diseño de estas instrucciones se realiza mediante conversión de patrones relacionados con operaciones específicas de la aplicación con instrucciones complejas y efectivas. Esta investigación se presentó en la Conferencia icitkm, Universidad de Delhi, India en 2017.Métodos: el análisis estático fue un método de investigación prominente durante la década de 1980; sin embargo, las mediciones de extremo a extremo son un enfoque convencional en los entornos industriales. Ambas herramientas de análisis estático se desempeñan a un alto nivel para determinar la estructura del programa que funciona en el código fuente, o que se ejecuta en un binario desmontado. Es posible trabajar a bajo nivel si la información de tiempo de hardware real para la tarea ejecutable presenta las características deseadas.Resultados: experimentamos, probamos y evaluamos con una aplicación de codificación H.264 que utiliza nueve elementos de configuración y cubre la mayoría de los núcleos de cálculo intensivo. Las aplicaciones multimedia están frecuentemente sujetas a duras restricciones en tiempo real en el campo de la visión por computador. El codificador H.264 consiste en un complicado flujo de control con más número de decisiones y bucles anidados. Los parámetros evaluados fueron de diferentes números de particiones A (300 cortes en un Xilinx Virtex 7 cada uno) y anchos de banda de reconfiguración, así como de relaciones de frecuencia de cpu y frecuencia de fabric fcpu/ffabric. ffabric permanece constante a 100MHz. Seleccionamos varios de sus valores para fcpu que se asemejan a unidades realistas. Es importante tener en cuenta que aun cuando anticipamos el wcet en segundos (ciclos wcet/ fcpu) para que fuesen inferiores (mejores) con fcpu más alta, los ciclos wcet aumentan (en un tejido constante f) porque los ci de hardware realizan menos cálculos en el tejido reconfigurable dentro de una cpu de ciclo.Conclusiones: el método es similar a la hibridación de árboles y métodos basados en rutas, los cuales son menos precisos, y al método I pet global, que es más preciso. La optimización se evalúa con el algoritmo de optimización de enjambre de partículas discretas (dpso) para wcet. Para varias aplicaciones del mundo real que involucran procesadores integrados, la técnica propuesta desarrolla conjuntos de instrucciones mejorados en comparación con los conjuntos de instrucciones nativas.Originalidad: para la estimación de wcet se debe considerar el análisis de flujo, el análisis de bajo nivel y las fases de cálculo del programa. La fase de análisis de flujo o alto nivel de análisis, ayuda a extraer el comportamiento dinámico del programa que proporciona información sobre las funciones que se invocan, el número de iteraciones de bucle, las dependencias entre sentencias if, etc. Esto se debe a que el análisis desconoce la ruta de ejecución correspondiente al tiempo de ejecución más largo.Limitaciones: esta ruta se ejecuta dentro de una iteración del núcleo que depende de la naturaleza de mb, ya sea i-mbo p-mb, determinada por el núcleo de estimación de movimiento, es decir que su entrada depende de las rutas i-mb y p-mb, que también contienen elementos de configuración separados que conducen a la inestabilidad de la ruta del peor de los casos, es decir que agregar más particiones a la ruta actual del peor de los casos puede hacer que la otra ruta se convierta en el peor de los casos. La tubería se detiene por la demora de reconfiguración y continúa al ingresar al núcleo una vez que finaliza el proceso de reconfiguraciónIntrodução: a aplicação de instruções específicas melhora significativamente a energia, o desempenho e o tamanho do código dos processadores configuráveis. O desenho dessas instruções é realizado mediante a conversão de padrões relacionados com operações específicas da aplicação com instruções complexas e efetivas. Esta pesquisa foi apresentada na Conferência icitkm, Universidade de Délhi, Índia em 2017.Métodos: a análise estática foi um método de pesquisa proeminente durante a década de 1980; contudo, as medições de extremo a extremo são uma abordagem convencional nos contextos industriais. Ambas as ferramentas de análise estática se desempenham a um alto nível para determinar a estrutura do programa que funciona no código fonte ou que se executa num binário desmontado. É possível trabalhar a baixo nível se a informação de tempo de hardware real para a tarefa executável apresentar as características desejadas.Resultados: experimentamos, testamos e avaliamos com uma aplicação de codificação H.264 que utiliza nove elementos de configuração e cobre a maioria dos núcleos de cálculo intensivo. As aplicações multimídias estão com frequência sujeitas a duras restrições em tempo real no campo da visão por computador. O codificador H.264 consiste num complicado fluxo de controle com mais número de decisões e circuitos aninhados. Os parâmetros avaliados foram de diferentes números de particiones A (300 cortes num Xilinx Virtex 7 cada um) e largos de banda de reconfiguração, bem como de relações de frequência de cpu e frequência de fabric fcpu/ffabric. ffabric permanece constante a 100MHz. Selecionamos vários de seus valores para fcpu que são semelhantes a unidades realistas. É importante considerar que, ainda quando antecipamos o wcet em segundos (ciclos wcet/ fcpu), para que fossem inferiores (melhores) com fcpu mais alta, os ciclos wcet aumentam (num tecido constante f) porque os ci de hardware realizam menos cálculos no tecido reconfigurável dentro de uma cpu de ciclo.Conclusões: o método é similar à hibridação de árvores e métodos baseados en rotas, os quais são menos precisos, e ao método I pet global, que é mais preciso. A otimização é avaliada com o algoritmo de otimização por enxame de partículas discretas (dpso) para wcet. Para várias aplicações do mundo real que envolvem processadores integrados, a técnica proposta desenvolve conjuntos de instruções melhoradas em comparação com os conjuntos de instruções nativas.Originalidade: para a estimativa de wcet, deve-se considerar a análise de fluxo, a análise de baixo nível e as fases de cálculo do programa. A fase de análise de fluxo ou alto nível de análise ajuda a extrair o comportamento dinâmico do programa que proporciona informação sobre as funções invocadas, sobre o número de iterações de circuito, as dependências entre sentenças if, etc. Isso se deve a que a análise desconhece a rota de execução correspondente ao tempo de execução mais longo.Limitações: essa rota é executada dentro de uma iteração do núcleo que depende da natureza de mb, seja i-mb, seja p-mb, determinada pelo núcleo de estimativa de movimento, quer dizer que sua entrada depende das rotas i-mb e p-mb, que também contêm elementos de configuração separados que conduzem à instabilidade da rota do pior dos casos; em outras palavras, adicionar mais partições à rota atual do pior dos casos pode fazer com que a outra rota se converta no pior dos casos. A tubulação se detém pela demora de reconfiguração e continua ao ingressar no núcleo assim que finaliza o processo de reconfiguraçãoapplication/pdfengUniversidad Cooperativa de Colombiahttps://revistas.ucc.edu.co/index.php/in/article/view/2230/2357https://revistas.ucc.edu.co/index.php/in/article/view/2230/2521Copyright (c) 2018 Journal of Engineering and Educationhttp://creativecommons.org/licenses/by-nc-nd/4.0/info:eu-repo/semantics/openAccesshttp://purl.org/coar/access_right/c_abf2Ingeniería Solidaria; Vol 14 No 25 (2018): special issue; 1-11Ingeniería Solidaria; Vol. 14 Núm. 25 (2018): special issue; 1-11Ingeniería Solidaria; v. 14 n. 25 (2018): special issue; 1-112357-60141900-3102Static Worst-Case Execution Time Optimization using DPSO for ASIP ArchitectureEl peor caso estático de optimización del tiempo de ejecución utilizando dpso para arquitectura ASIPO pior caso estático de otimização do tempo de execução utilizando dpso para arquitetura ASIPArtículohttp://purl.org/coar/resource_type/c_6501http://purl.org/coar/resource_type/c_2df8fbb1http://purl.org/coar/version/c_970fb48d4fbd8a85info:eu-repo/semantics/articlehttp://purl.org/redcol/resource_type/ARTinfo:eu-repo/semantics/publishedVersionPublication20.500.12494/9444oai:repository.ucc.edu.co:20.500.12494/94442024-07-16 13:31:25.06metadata.onlyhttps://repository.ucc.edu.coRepositorio Institucional Universidad Cooperativa de Colombiabdigital@metabiblioteca.com