Modular and generic WCET static analysis with LLVM framework
Autor(a) principal: | |
---|---|
Data de Publicação: | 2011 |
Tipo de documento: | Trabalho de conclusão de curso |
Idioma: | eng |
Título da fonte: | Repositório Institucional da UFRGS |
Texto Completo: | http://hdl.handle.net/10183/31020 |
Resumo: | O cálculo do tempo do pior-caso de execução, do inglês Worst Case Execution Time (WCET) é um desafio na área de verificação de software para sistemas de tempo real. Essa análise faz parte do trabalho de escalonamento de tarefas de processos em sistemas multi-cores. A complexidade de prever esse tempo aumenta de acordo com a complexidade do hardware do sistema a ser analisado e seus componentes, já que muitas partes de uma plataforma, como pipelines e memória cache inserem variantes no tempo de execução difíceis de prever e analisar. Existem vários métodos com diferentes abordagens para se calcular o tempo de execução de um programa. Eles são principalmente baseados em análises estáticas e dinâmicas, de forma que a estática utiliza um modelo de hardware e analisa o código, enquanto a dinâmica necessita de algum simulador ou de uma plataforma real para realizar as medidas de tempo. Esse trabalho apresenta um modelo de análise estática para prever o tempo do piorcaso de execução de códigos para sistemas embarcados de tempo real. Além disso, executa, para fins de comparação, uma análise dinâmica baseado na execução dos códigos de teste em um simulador. O modelo de análise estática é desenvolvido baseado em um assembly gerado pela infra-estrutura de compilação do LLVM, que gera uma representação intermediária de código que é independente de arquitetura. O método tem o objetivo de ser escalonável e modular, isto é, quão mais precisa a análise deve ser, melhores modelos de análise devem ser implementados e usados no processo. O modelo de análise utilizado nesse trabalho possui uma abordagem clara e utiliza uma descrição de arquitetura simples exemplificando o processo. A análise dinâmica é baseada no método Monte Carlo de simulação e é executada em um simulador da arquitetura de um AVR, o Atmega128, chamado AVRORA. |
id |
UFRGS-2_5001e8f7a36bc8305bd7f403c8c4a774 |
---|---|
oai_identifier_str |
oai:www.lume.ufrgs.br:10183/31020 |
network_acronym_str |
UFRGS-2 |
network_name_str |
Repositório Institucional da UFRGS |
repository_id_str |
|
spelling |
Fachini, Guilherme James de AngelisKuhn, ThomasCota, Erika Fernandes2011-08-12T06:00:48Z2011http://hdl.handle.net/10183/31020000782100O cálculo do tempo do pior-caso de execução, do inglês Worst Case Execution Time (WCET) é um desafio na área de verificação de software para sistemas de tempo real. Essa análise faz parte do trabalho de escalonamento de tarefas de processos em sistemas multi-cores. A complexidade de prever esse tempo aumenta de acordo com a complexidade do hardware do sistema a ser analisado e seus componentes, já que muitas partes de uma plataforma, como pipelines e memória cache inserem variantes no tempo de execução difíceis de prever e analisar. Existem vários métodos com diferentes abordagens para se calcular o tempo de execução de um programa. Eles são principalmente baseados em análises estáticas e dinâmicas, de forma que a estática utiliza um modelo de hardware e analisa o código, enquanto a dinâmica necessita de algum simulador ou de uma plataforma real para realizar as medidas de tempo. Esse trabalho apresenta um modelo de análise estática para prever o tempo do piorcaso de execução de códigos para sistemas embarcados de tempo real. Além disso, executa, para fins de comparação, uma análise dinâmica baseado na execução dos códigos de teste em um simulador. O modelo de análise estática é desenvolvido baseado em um assembly gerado pela infra-estrutura de compilação do LLVM, que gera uma representação intermediária de código que é independente de arquitetura. O método tem o objetivo de ser escalonável e modular, isto é, quão mais precisa a análise deve ser, melhores modelos de análise devem ser implementados e usados no processo. O modelo de análise utilizado nesse trabalho possui uma abordagem clara e utiliza uma descrição de arquitetura simples exemplificando o processo. A análise dinâmica é baseada no método Monte Carlo de simulação e é executada em um simulador da arquitetura de um AVR, o Atmega128, chamado AVRORA.The worst-case execution time (WCET) prediction is a challenge in the software verification area for real-time embedded systems. This analysis is part of the scheduling of parallelizable processes job on multi-core systems. The complexity of predict this time increases accordingly to the complexity of the target system hardware and its components, since much of this components, as pipelines and cache memory, attach hard to predict and analyze temporal variants. There are many methods with different approaches to calculate the execution time of a program and they are based mainly on static and dynamics analysis. The first takes account a hardware model and the code analysis itself, while the second needs some accurate simulator or the target platform to perform its time measurements. This work presents a static method for predicting worst-case execution time (WCET) for embedded real-time systems. Furthermore, performs, as a comparison of accuracy, a dynamic analysis, running the test codes in a simulator. The static analysis is performed based on an assembly generated by the LLVM compiler. This compilation framework generates a code intermediate representation (IR) independent of architecture. The model aims to be a modular and scalable, that means, it was build to accept different accuracy levels, depending on the accuracy of the developed hardware model and the analysis used in the process. In this work, this work analysis follows a clear approach and uses a simple architecture description for its execution. The dynamic analysis is done based on the Monte Carlo simulation method, performed over the AVR ATmega128 simulator, AVRORA.application/pdfengVerificacao : ProgramasProgramação concorrenteModular and generic WCET static analysis with LLVM frameworkAnálise estática, genérica e modular de WCET utilizando a infra-estrutura de compilação do LLVM info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/bachelorThesisUniversidade Federal do Rio Grande do SulInstituto de InformáticaPorto Alegre, BR-RS2011Ciência da Computação: Ênfase em Ciência da Computação: Bachareladograduaçãoinfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da UFRGSinstname:Universidade Federal do Rio Grande do Sul (UFRGS)instacron:UFRGSTEXT000782100.pdf.txt000782100.pdf.txtExtracted Texttext/plain61545http://www.lume.ufrgs.br/bitstream/10183/31020/2/000782100.pdf.txta1b2c9c8b8f6251b2d945a30663db518MD52ORIGINAL000782100.pdf000782100.pdfTexto completo (inglês)application/pdf275594http://www.lume.ufrgs.br/bitstream/10183/31020/1/000782100.pdf1c18a1af099db837c0d8ca4e66666371MD51THUMBNAIL000782100.pdf.jpg000782100.pdf.jpgGenerated Thumbnailimage/jpeg1036http://www.lume.ufrgs.br/bitstream/10183/31020/3/000782100.pdf.jpgea93aaa82eb8037d6fd5463d9817c3cbMD5310183/310202022-02-22 05:08:26.283328oai:www.lume.ufrgs.br:10183/31020Repositório de PublicaçõesPUBhttps://lume.ufrgs.br/oai/requestopendoar:2022-02-22T08:08:26Repositório Institucional da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS)false |
dc.title.pt_BR.fl_str_mv |
Modular and generic WCET static analysis with LLVM framework |
dc.title.alternative.pt.fl_str_mv |
Análise estática, genérica e modular de WCET utilizando a infra-estrutura de compilação do LLVM |
title |
Modular and generic WCET static analysis with LLVM framework |
spellingShingle |
Modular and generic WCET static analysis with LLVM framework Fachini, Guilherme James de Angelis Verificacao : Programas Programação concorrente |
title_short |
Modular and generic WCET static analysis with LLVM framework |
title_full |
Modular and generic WCET static analysis with LLVM framework |
title_fullStr |
Modular and generic WCET static analysis with LLVM framework |
title_full_unstemmed |
Modular and generic WCET static analysis with LLVM framework |
title_sort |
Modular and generic WCET static analysis with LLVM framework |
author |
Fachini, Guilherme James de Angelis |
author_facet |
Fachini, Guilherme James de Angelis |
author_role |
author |
dc.contributor.author.fl_str_mv |
Fachini, Guilherme James de Angelis |
dc.contributor.advisor1.fl_str_mv |
Kuhn, Thomas |
dc.contributor.advisor-co1.fl_str_mv |
Cota, Erika Fernandes |
contributor_str_mv |
Kuhn, Thomas Cota, Erika Fernandes |
dc.subject.por.fl_str_mv |
Verificacao : Programas Programação concorrente |
topic |
Verificacao : Programas Programação concorrente |
description |
O cálculo do tempo do pior-caso de execução, do inglês Worst Case Execution Time (WCET) é um desafio na área de verificação de software para sistemas de tempo real. Essa análise faz parte do trabalho de escalonamento de tarefas de processos em sistemas multi-cores. A complexidade de prever esse tempo aumenta de acordo com a complexidade do hardware do sistema a ser analisado e seus componentes, já que muitas partes de uma plataforma, como pipelines e memória cache inserem variantes no tempo de execução difíceis de prever e analisar. Existem vários métodos com diferentes abordagens para se calcular o tempo de execução de um programa. Eles são principalmente baseados em análises estáticas e dinâmicas, de forma que a estática utiliza um modelo de hardware e analisa o código, enquanto a dinâmica necessita de algum simulador ou de uma plataforma real para realizar as medidas de tempo. Esse trabalho apresenta um modelo de análise estática para prever o tempo do piorcaso de execução de códigos para sistemas embarcados de tempo real. Além disso, executa, para fins de comparação, uma análise dinâmica baseado na execução dos códigos de teste em um simulador. O modelo de análise estática é desenvolvido baseado em um assembly gerado pela infra-estrutura de compilação do LLVM, que gera uma representação intermediária de código que é independente de arquitetura. O método tem o objetivo de ser escalonável e modular, isto é, quão mais precisa a análise deve ser, melhores modelos de análise devem ser implementados e usados no processo. O modelo de análise utilizado nesse trabalho possui uma abordagem clara e utiliza uma descrição de arquitetura simples exemplificando o processo. A análise dinâmica é baseada no método Monte Carlo de simulação e é executada em um simulador da arquitetura de um AVR, o Atmega128, chamado AVRORA. |
publishDate |
2011 |
dc.date.accessioned.fl_str_mv |
2011-08-12T06:00:48Z |
dc.date.issued.fl_str_mv |
2011 |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/bachelorThesis |
format |
bachelorThesis |
status_str |
publishedVersion |
dc.identifier.uri.fl_str_mv |
http://hdl.handle.net/10183/31020 |
dc.identifier.nrb.pt_BR.fl_str_mv |
000782100 |
url |
http://hdl.handle.net/10183/31020 |
identifier_str_mv |
000782100 |
dc.language.iso.fl_str_mv |
eng |
language |
eng |
dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
eu_rights_str_mv |
openAccess |
dc.format.none.fl_str_mv |
application/pdf |
dc.source.none.fl_str_mv |
reponame:Repositório Institucional da UFRGS instname:Universidade Federal do Rio Grande do Sul (UFRGS) instacron:UFRGS |
instname_str |
Universidade Federal do Rio Grande do Sul (UFRGS) |
instacron_str |
UFRGS |
institution |
UFRGS |
reponame_str |
Repositório Institucional da UFRGS |
collection |
Repositório Institucional da UFRGS |
bitstream.url.fl_str_mv |
http://www.lume.ufrgs.br/bitstream/10183/31020/2/000782100.pdf.txt http://www.lume.ufrgs.br/bitstream/10183/31020/1/000782100.pdf http://www.lume.ufrgs.br/bitstream/10183/31020/3/000782100.pdf.jpg |
bitstream.checksum.fl_str_mv |
a1b2c9c8b8f6251b2d945a30663db518 1c18a1af099db837c0d8ca4e66666371 ea93aaa82eb8037d6fd5463d9817c3cb |
bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 MD5 |
repository.name.fl_str_mv |
Repositório Institucional da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS) |
repository.mail.fl_str_mv |
|
_version_ |
1815447061143748608 |