Fast and accurate evaluation of embedded applications for many-core systems.
| Autor(a) principal: | |
|---|---|
| Data de Publicação: | 2014 |
| 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/101181 |
Resumo: | Sistemas embarcados multiprocessados (Many-cores) são apontados com a solução mais viável para abordar as emergentes restrições de design em custo, potência e performance [Borkar and Chien 2011]. Todavia, conceber estes sistema impõe novos desafios para engenheiros de software, compreendendo entre outros: (i) definição de protocolos de comunicação entre processos, (ii) analisar e portar sistemas operacionais, (iii) possiblidade de melhor explorar modelos de programação para tratar de questões para processamento paralelo. [Marongiu and Benini 2012], (iv) desenvovilmento de drivers [Gray and Audsley 2012], (v) traduzir aplicações entre sistemas multiprocessados. Esta crescente complexidade de software faz com que a verificação funcional tornese mais difícil, como resultado, engenheiros de software estão dedicando-se para escalar a performance. Tornado a simulação critica durante o desenvolvimento de software, principalmente nas fases inicias, durante a exploração do espaço de design. Plataforma virtuais Event-driven e quasi-cycle accurate como GEM5 tem como objetivo o desenvolvimento micro arquitetural uma vez que modelos detalhados são fornecidos (e.g. protocolo de coerência de cache) [Binkert et al. 2011 p. 5]. Este tipo de simuladores não é escalável a um grande número de processadores, especialmente quando se trata de usabilidade, facilidade de criação de modelos e tempo de simulação. O contexto resultante leva a adoção de plataformas virtuais que são capazes de simular sistemas embarcadas executando código de aplicações reais a velocidade de centenas de milhões de instruções por segundo [Sanchez and Kozyrakis 2013]. Nestes cenários o Open Virtual Plataforms (OVP) [Imperas 2014] está emergindo com um poderoso framework de simulação provendo dezenas de arquiteturas (e.g. ARM, MIPS, MicroBraze, etc.) e vários periféricos (e.g. memória cache). No entanto, o simulador OVP semelhantemente a outros simuladores JIT-based não provem modelos precisos mas, em modelos com precisão em nível de instruções, o qual provem estimativas incorretas de software (e.g. estimativas de energia e tempo de execução). Este trabalho objetiva começar a tratar os desafios impostos na construção de simuladores JIT-Based adequados para estimativas de software, aprimorando a capacidade de engenheiros de software melhor explorar o espaço de design em estágio inicial de desenvolvimento de sistemas. Nesta tese, será apresentado um modelo chamado Watchdog visando fornecer estimativas de energia e tempo de execução em uma metodologia integrável em qualquer simulador baseado em JIT A metodologia proposta foca em um modelo baseado em eventos, baseada nas instruções individualmente executadas, simplificando a construção entorno do simulador. Adicionalmente, a abordagem proposta nesta tese é puramente run-time, isto significa que toda a computação necessária para implementar o modelo é realizada concomitante com a simulação, evitando enorme quantidade de uso de memória necessária para abordagens baseadas em trace-driven ao mesmo tempo que mantém a escalabilidade para sistemas many-core. A fim de demonstrar a validade do modelo proposto, várias conjuntos de aplicações populares foram selecionados, dentre elas MiBench [Guthaus et al. 2001], Mälardalen WCET [Jan Gustafsson 2010], SPLASH-2 [Woo et al. 1995]. Os resultados mostram que a precisão do nosso modelo de tempo de execução varia de 0,6% a 11,5%, com 4,35% em de erro média. O modelo de energia atinge 0,01% a 8,6% de precisão dependendo do perfil de referência com um erro médio de 4,33%. Além disso, o modelo foi submetido a cenários de 1000 processadores mantendo um desempenho estável de 1,8 MIPS. |
| id |
UFRGS-2_643a045a3f48b82b7e381c7ff94a7bf4 |
|---|---|
| oai_identifier_str |
oai:www.lume.ufrgs.br:10183/101181 |
| network_acronym_str |
UFRGS-2 |
| network_name_str |
Repositório Institucional da UFRGS |
| repository_id_str |
|
| spelling |
Rosa, Felipe Rocha daReis, Ricardo Augusto da LuzOst, Luciano Copello2014-08-15T02:09:27Z2014http://hdl.handle.net/10183/101181000931906Sistemas embarcados multiprocessados (Many-cores) são apontados com a solução mais viável para abordar as emergentes restrições de design em custo, potência e performance [Borkar and Chien 2011]. Todavia, conceber estes sistema impõe novos desafios para engenheiros de software, compreendendo entre outros: (i) definição de protocolos de comunicação entre processos, (ii) analisar e portar sistemas operacionais, (iii) possiblidade de melhor explorar modelos de programação para tratar de questões para processamento paralelo. [Marongiu and Benini 2012], (iv) desenvovilmento de drivers [Gray and Audsley 2012], (v) traduzir aplicações entre sistemas multiprocessados. Esta crescente complexidade de software faz com que a verificação funcional tornese mais difícil, como resultado, engenheiros de software estão dedicando-se para escalar a performance. Tornado a simulação critica durante o desenvolvimento de software, principalmente nas fases inicias, durante a exploração do espaço de design. Plataforma virtuais Event-driven e quasi-cycle accurate como GEM5 tem como objetivo o desenvolvimento micro arquitetural uma vez que modelos detalhados são fornecidos (e.g. protocolo de coerência de cache) [Binkert et al. 2011 p. 5]. Este tipo de simuladores não é escalável a um grande número de processadores, especialmente quando se trata de usabilidade, facilidade de criação de modelos e tempo de simulação. O contexto resultante leva a adoção de plataformas virtuais que são capazes de simular sistemas embarcadas executando código de aplicações reais a velocidade de centenas de milhões de instruções por segundo [Sanchez and Kozyrakis 2013]. Nestes cenários o Open Virtual Plataforms (OVP) [Imperas 2014] está emergindo com um poderoso framework de simulação provendo dezenas de arquiteturas (e.g. ARM, MIPS, MicroBraze, etc.) e vários periféricos (e.g. memória cache). No entanto, o simulador OVP semelhantemente a outros simuladores JIT-based não provem modelos precisos mas, em modelos com precisão em nível de instruções, o qual provem estimativas incorretas de software (e.g. estimativas de energia e tempo de execução). Este trabalho objetiva começar a tratar os desafios impostos na construção de simuladores JIT-Based adequados para estimativas de software, aprimorando a capacidade de engenheiros de software melhor explorar o espaço de design em estágio inicial de desenvolvimento de sistemas. Nesta tese, será apresentado um modelo chamado Watchdog visando fornecer estimativas de energia e tempo de execução em uma metodologia integrável em qualquer simulador baseado em JIT A metodologia proposta foca em um modelo baseado em eventos, baseada nas instruções individualmente executadas, simplificando a construção entorno do simulador. Adicionalmente, a abordagem proposta nesta tese é puramente run-time, isto significa que toda a computação necessária para implementar o modelo é realizada concomitante com a simulação, evitando enorme quantidade de uso de memória necessária para abordagens baseadas em trace-driven ao mesmo tempo que mantém a escalabilidade para sistemas many-core. A fim de demonstrar a validade do modelo proposto, várias conjuntos de aplicações populares foram selecionados, dentre elas MiBench [Guthaus et al. 2001], Mälardalen WCET [Jan Gustafsson 2010], SPLASH-2 [Woo et al. 1995]. Os resultados mostram que a precisão do nosso modelo de tempo de execução varia de 0,6% a 11,5%, com 4,35% em de erro média. O modelo de energia atinge 0,01% a 8,6% de precisão dependendo do perfil de referência com um erro médio de 4,33%. Além disso, o modelo foi submetido a cenários de 1000 processadores mantendo um desempenho estável de 1,8 MIPS.Many-core embedded systems are pointed to be the most viable solution to addressing emerging design constraints on cost, power and performance scalability [Borkar and Chien 2011]. Nevertheless, conceive and design many-core systems impose new challenges to software engineers, comprising among other: (i) inter- processor communication protocol stacks definition, (ii) operating system (OS) porting and analysis, (iii) exploration of better programming model facilities to address parallel programming [Marongiu and Benini 2012], (iv) drivers development [Gray and Audsley 2012], (v) application software portability for heterogeneous multiprocessing hardware. This increasing software complexity makes the software functional verification more difficult, as result, software engineers are struggling to scale up the system performance. Simulation becomes critical to software development, principally in early stage during space design exploration where many design decisions must be taken. This work address the challenge of making JIT-Based simulator as OVP suitable for software performance estimation, providing to software engineers better means to explore the design space at early stage of system development. This Bachelor Thesis proposes two instruction-driven performance models, which can be used for early software performance evaluation, which were integrated into a JIT-based simulator. The proposed approach is a purely run-time based, i.e. the entire computation necessary to implement the model is concomitant with the simulation, avoiding huge amount of memory usage. The proposed models were validated by using several benchmarks suits MiBench [Guthaus et al. 2001], Mälardalen WCET [Jan Gustafsson 2010], SPLASH-2 [Woo et al. 1995]. Results show that the accuracy of our timing model varies from 0.6% to 11.5% with 4.35% in average. In turn, the energy model provides an accuracy of 0.01% to 8.6% depending on the benchmark profile with a mean error of 4.33%. Additionally, the model was submitted to 1000 CPU’s scenarios maintaining a stable performance of 1.8 MIPS.application/pdfengMicroeletrônicaSistemas embarcadosMany-core systemsEnergy estimationTiming estimation embedded systemsFast and accurate evaluation of embedded applications for many-core systems.Avaliação rápida e precisa de aplicações embarcadas para sistemas de muitos núcleos info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/bachelorThesisUniversidade Federal do Rio Grande do SulInstituto de InformáticaPorto Alegre, BR-RS2014Engenharia de Computaçãograduaçãoinfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da UFRGSinstname:Universidade Federal do Rio Grande do Sul (UFRGS)instacron:UFRGSORIGINAL000931906.pdf000931906.pdfTexto completo (inglês)application/pdf7866746http://www.lume.ufrgs.br/bitstream/10183/101181/1/000931906.pdf466aeb1a23d6b738b12549cad7c4fc7aMD51TEXT000931906.pdf.txt000931906.pdf.txtExtracted Texttext/plain136438http://www.lume.ufrgs.br/bitstream/10183/101181/2/000931906.pdf.txt0d7dcad0fedda6c2acc5ad745c7f80a9MD52THUMBNAIL000931906.pdf.jpg000931906.pdf.jpgGenerated Thumbnailimage/jpeg1055http://www.lume.ufrgs.br/bitstream/10183/101181/3/000931906.pdf.jpg4e748f0af39d1ae9b83a6a606699f5d2MD5310183/1011812021-05-07 05:12:44.029482oai:www.lume.ufrgs.br:10183/101181Repositório InstitucionalPUBhttps://lume.ufrgs.br/oai/requestlume@ufrgs.bropendoar:2021-05-07T08:12:44Repositório Institucional da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS)false |
| dc.title.pt_BR.fl_str_mv |
Fast and accurate evaluation of embedded applications for many-core systems. |
| dc.title.alternative.pt.fl_str_mv |
Avaliação rápida e precisa de aplicações embarcadas para sistemas de muitos núcleos |
| title |
Fast and accurate evaluation of embedded applications for many-core systems. |
| spellingShingle |
Fast and accurate evaluation of embedded applications for many-core systems. Rosa, Felipe Rocha da Microeletrônica Sistemas embarcados Many-core systems Energy estimation Timing estimation embedded systems |
| title_short |
Fast and accurate evaluation of embedded applications for many-core systems. |
| title_full |
Fast and accurate evaluation of embedded applications for many-core systems. |
| title_fullStr |
Fast and accurate evaluation of embedded applications for many-core systems. |
| title_full_unstemmed |
Fast and accurate evaluation of embedded applications for many-core systems. |
| title_sort |
Fast and accurate evaluation of embedded applications for many-core systems. |
| author |
Rosa, Felipe Rocha da |
| author_facet |
Rosa, Felipe Rocha da |
| author_role |
author |
| dc.contributor.author.fl_str_mv |
Rosa, Felipe Rocha da |
| dc.contributor.advisor1.fl_str_mv |
Reis, Ricardo Augusto da Luz |
| dc.contributor.advisor-co1.fl_str_mv |
Ost, Luciano Copello |
| contributor_str_mv |
Reis, Ricardo Augusto da Luz Ost, Luciano Copello |
| dc.subject.por.fl_str_mv |
Microeletrônica Sistemas embarcados |
| topic |
Microeletrônica Sistemas embarcados Many-core systems Energy estimation Timing estimation embedded systems |
| dc.subject.eng.fl_str_mv |
Many-core systems Energy estimation Timing estimation embedded systems |
| description |
Sistemas embarcados multiprocessados (Many-cores) são apontados com a solução mais viável para abordar as emergentes restrições de design em custo, potência e performance [Borkar and Chien 2011]. Todavia, conceber estes sistema impõe novos desafios para engenheiros de software, compreendendo entre outros: (i) definição de protocolos de comunicação entre processos, (ii) analisar e portar sistemas operacionais, (iii) possiblidade de melhor explorar modelos de programação para tratar de questões para processamento paralelo. [Marongiu and Benini 2012], (iv) desenvovilmento de drivers [Gray and Audsley 2012], (v) traduzir aplicações entre sistemas multiprocessados. Esta crescente complexidade de software faz com que a verificação funcional tornese mais difícil, como resultado, engenheiros de software estão dedicando-se para escalar a performance. Tornado a simulação critica durante o desenvolvimento de software, principalmente nas fases inicias, durante a exploração do espaço de design. Plataforma virtuais Event-driven e quasi-cycle accurate como GEM5 tem como objetivo o desenvolvimento micro arquitetural uma vez que modelos detalhados são fornecidos (e.g. protocolo de coerência de cache) [Binkert et al. 2011 p. 5]. Este tipo de simuladores não é escalável a um grande número de processadores, especialmente quando se trata de usabilidade, facilidade de criação de modelos e tempo de simulação. O contexto resultante leva a adoção de plataformas virtuais que são capazes de simular sistemas embarcadas executando código de aplicações reais a velocidade de centenas de milhões de instruções por segundo [Sanchez and Kozyrakis 2013]. Nestes cenários o Open Virtual Plataforms (OVP) [Imperas 2014] está emergindo com um poderoso framework de simulação provendo dezenas de arquiteturas (e.g. ARM, MIPS, MicroBraze, etc.) e vários periféricos (e.g. memória cache). No entanto, o simulador OVP semelhantemente a outros simuladores JIT-based não provem modelos precisos mas, em modelos com precisão em nível de instruções, o qual provem estimativas incorretas de software (e.g. estimativas de energia e tempo de execução). Este trabalho objetiva começar a tratar os desafios impostos na construção de simuladores JIT-Based adequados para estimativas de software, aprimorando a capacidade de engenheiros de software melhor explorar o espaço de design em estágio inicial de desenvolvimento de sistemas. Nesta tese, será apresentado um modelo chamado Watchdog visando fornecer estimativas de energia e tempo de execução em uma metodologia integrável em qualquer simulador baseado em JIT A metodologia proposta foca em um modelo baseado em eventos, baseada nas instruções individualmente executadas, simplificando a construção entorno do simulador. Adicionalmente, a abordagem proposta nesta tese é puramente run-time, isto significa que toda a computação necessária para implementar o modelo é realizada concomitante com a simulação, evitando enorme quantidade de uso de memória necessária para abordagens baseadas em trace-driven ao mesmo tempo que mantém a escalabilidade para sistemas many-core. A fim de demonstrar a validade do modelo proposto, várias conjuntos de aplicações populares foram selecionados, dentre elas MiBench [Guthaus et al. 2001], Mälardalen WCET [Jan Gustafsson 2010], SPLASH-2 [Woo et al. 1995]. Os resultados mostram que a precisão do nosso modelo de tempo de execução varia de 0,6% a 11,5%, com 4,35% em de erro média. O modelo de energia atinge 0,01% a 8,6% de precisão dependendo do perfil de referência com um erro médio de 4,33%. Além disso, o modelo foi submetido a cenários de 1000 processadores mantendo um desempenho estável de 1,8 MIPS. |
| publishDate |
2014 |
| dc.date.accessioned.fl_str_mv |
2014-08-15T02:09:27Z |
| dc.date.issued.fl_str_mv |
2014 |
| 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/101181 |
| dc.identifier.nrb.pt_BR.fl_str_mv |
000931906 |
| url |
http://hdl.handle.net/10183/101181 |
| identifier_str_mv |
000931906 |
| 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/101181/1/000931906.pdf http://www.lume.ufrgs.br/bitstream/10183/101181/2/000931906.pdf.txt http://www.lume.ufrgs.br/bitstream/10183/101181/3/000931906.pdf.jpg |
| bitstream.checksum.fl_str_mv |
466aeb1a23d6b738b12549cad7c4fc7a 0d7dcad0fedda6c2acc5ad745c7f80a9 4e748f0af39d1ae9b83a6a606699f5d2 |
| 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 |
lume@ufrgs.br |
| _version_ |
1834472166059409408 |