Matrícula Antecipada 2008. Cartaz da Matrícula Antecipada 2008.
Trabalho da disciplina - Moodle USP: e-Disciplinas · Exploração de arquitetura antecipada ......
Transcript of Trabalho da disciplina - Moodle USP: e-Disciplinas · Exploração de arquitetura antecipada ......
![Page 1: Trabalho da disciplina - Moodle USP: e-Disciplinas · Exploração de arquitetura antecipada ... Comparar vantagens da previsão de desvio. ...](https://reader030.fdocumentos.com/reader030/viewer/2022021611/5c652aa409d3f2ad6e8c403a/html5/thumbnails/1.jpg)
Trabalho da disciplina
SSC-0114 - Arquitetura de Computadores
Primeira apresentação em 15/09/2017Discussão pré-entrega em 13/11/2017
![Page 2: Trabalho da disciplina - Moodle USP: e-Disciplinas · Exploração de arquitetura antecipada ... Comparar vantagens da previsão de desvio. ...](https://reader030.fdocumentos.com/reader030/viewer/2022021611/5c652aa409d3f2ad6e8c403a/html5/thumbnails/2.jpg)
Considerações
Grupos com 4 integrantesPeso: 30% da Nota FinalEntrega: 20/11/2017
![Page 3: Trabalho da disciplina - Moodle USP: e-Disciplinas · Exploração de arquitetura antecipada ... Comparar vantagens da previsão de desvio. ...](https://reader030.fdocumentos.com/reader030/viewer/2022021611/5c652aa409d3f2ad6e8c403a/html5/thumbnails/3.jpg)
gem5
● Michigan m5 + Wisconsin GEMS = gem5
● Infraestrutura de simulação configurável para múltiplas
ISAs e modelos de CPU
○ Inclui modelo de sistema de memória detalhado,
incluindo suporte para vários protocolos de
coerência de cache e modelos de barramentos
● Suporte a ISAs comerciais ARM, ALPHA, MIPS, Power,
SPARC e x86
![Page 4: Trabalho da disciplina - Moodle USP: e-Disciplinas · Exploração de arquitetura antecipada ... Comparar vantagens da previsão de desvio. ...](https://reader030.fdocumentos.com/reader030/viewer/2022021611/5c652aa409d3f2ad6e8c403a/html5/thumbnails/4.jpg)
Framework orientado à eventos
SimObjects1) Evento no topo é retirado da lista2) Evento é executado3) Mais eventos são enfileirados
![Page 5: Trabalho da disciplina - Moodle USP: e-Disciplinas · Exploração de arquitetura antecipada ... Comparar vantagens da previsão de desvio. ...](https://reader030.fdocumentos.com/reader030/viewer/2022021611/5c652aa409d3f2ad6e8c403a/html5/thumbnails/5.jpg)
Workloads
● Simulação com suporte a Linux: ARM (Android também!), ALPHA e x86 - modo FS● Executa workloads reais
○ Ex: código nativo, browsers, games, SO Android, Linux, ...
![Page 6: Trabalho da disciplina - Moodle USP: e-Disciplinas · Exploração de arquitetura antecipada ... Comparar vantagens da previsão de desvio. ...](https://reader030.fdocumentos.com/reader030/viewer/2022021611/5c652aa409d3f2ad6e8c403a/html5/thumbnails/6.jpg)
gem5 (simulação de multiplos sistemas)
● Interação entre modelos de
dispositivos ○ Armazenamento, Placas
gráficas, rede, etc.
● Modelos que levam em
consideração interações do
SO
![Page 7: Trabalho da disciplina - Moodle USP: e-Disciplinas · Exploração de arquitetura antecipada ... Comparar vantagens da previsão de desvio. ...](https://reader030.fdocumentos.com/reader030/viewer/2022021611/5c652aa409d3f2ad6e8c403a/html5/thumbnails/7.jpg)
gem5
● Utilizado amplamente na indústria e academia
![Page 8: Trabalho da disciplina - Moodle USP: e-Disciplinas · Exploração de arquitetura antecipada ... Comparar vantagens da previsão de desvio. ...](https://reader030.fdocumentos.com/reader030/viewer/2022021611/5c652aa409d3f2ad6e8c403a/html5/thumbnails/8.jpg)
FlexibilidadeDesenvolvimento e verificação de SW Com uso de modelos baseado tradução binária (ex. OVP/QEMU)
são rápidos o suficiente para tais tarefas nesse ambiente (maduro)
Verificação de desempenho de HW/SW Situação onde é necessário ter alta precisão, analisando
comportamentos que são importantes
Exploração de arquitetura antecipadaExige um ambiente onde seja rápido e fácil modelar e conectar
componentes arquiteturais para verificação funcional de HW/SW
RTL é representativo o suficiente e tem boa visibilidade para
verificação funcional (maduro)
![Page 9: Trabalho da disciplina - Moodle USP: e-Disciplinas · Exploração de arquitetura antecipada ... Comparar vantagens da previsão de desvio. ...](https://reader030.fdocumentos.com/reader030/viewer/2022021611/5c652aa409d3f2ad6e8c403a/html5/thumbnails/9.jpg)
Configuração
● Gem5 é completamente gerenciado por scripts em python
● O core do sistema é composto conceitualmente de
bibliotecas em python escritas em C++○ Instâncias de classes em python estão associadas a
instâncias de classes em C++
● Os objetos de simulação em C++ são expostos aos
scripts em python
![Page 10: Trabalho da disciplina - Moodle USP: e-Disciplinas · Exploração de arquitetura antecipada ... Comparar vantagens da previsão de desvio. ...](https://reader030.fdocumentos.com/reader030/viewer/2022021611/5c652aa409d3f2ad6e8c403a/html5/thumbnails/10.jpg)
Configuração e execução (fluxo de controle)
![Page 11: Trabalho da disciplina - Moodle USP: e-Disciplinas · Exploração de arquitetura antecipada ... Comparar vantagens da previsão de desvio. ...](https://reader030.fdocumentos.com/reader030/viewer/2022021611/5c652aa409d3f2ad6e8c403a/html5/thumbnails/11.jpg)
Exemplo: script de configuração simplesimport m5from m5.objects import *
system = System()
system.clk_domain = SrcClockDomain()system.clk_domain.clock = '1GHz'system.clk_domain.voltage_domain = VoltageDomain()
system.mem_mode = 'timing'
system.mem_ranges = [AddrRange('512MB')]
system.cpu = TimingSimpleCPU() #everything occurs in single cycle except memory operations
system.membus = SystemXBar()
system.cpu.icache_port = system.membus.slavesystem.cpu.dcache_port = system.membus.slave
system.cpu.createInterruptController()system.system_port = system.membus.slave
system.mem_ctrl = DDR3_1600_8x8()system.mem_ctrl.range = system.mem_ranges[0]system.mem_ctrl.port = system.membus.master
![Page 12: Trabalho da disciplina - Moodle USP: e-Disciplinas · Exploração de arquitetura antecipada ... Comparar vantagens da previsão de desvio. ...](https://reader030.fdocumentos.com/reader030/viewer/2022021611/5c652aa409d3f2ad6e8c403a/html5/thumbnails/12.jpg)
Exemplo: script de configuração simples
![Page 13: Trabalho da disciplina - Moodle USP: e-Disciplinas · Exploração de arquitetura antecipada ... Comparar vantagens da previsão de desvio. ...](https://reader030.fdocumentos.com/reader030/viewer/2022021611/5c652aa409d3f2ad6e8c403a/html5/thumbnails/13.jpg)
Exemplo: executando gem5
$gem5_dir > build/ARM/gem5.opt configs/examples/simple.py
● Arquitetura compilada
● Arquivo de configuração da arquitetura/microarquitetura
![Page 14: Trabalho da disciplina - Moodle USP: e-Disciplinas · Exploração de arquitetura antecipada ... Comparar vantagens da previsão de desvio. ...](https://reader030.fdocumentos.com/reader030/viewer/2022021611/5c652aa409d3f2ad6e8c403a/html5/thumbnails/14.jpg)
Exemplo: entendendo a saída gerada
● config.ini: dump de todos os parâmetros dos objetos de simulação (simObjects)
● config.json: o mesmo que config.ini, mas em formato JSON● stats.txt: estatísticas detalhadas geradas ao fim da simulação pelos
simObjects
![Page 15: Trabalho da disciplina - Moodle USP: e-Disciplinas · Exploração de arquitetura antecipada ... Comparar vantagens da previsão de desvio. ...](https://reader030.fdocumentos.com/reader030/viewer/2022021611/5c652aa409d3f2ad6e8c403a/html5/thumbnails/15.jpg)
Exemplo: entendendo a saída gerada
![Page 16: Trabalho da disciplina - Moodle USP: e-Disciplinas · Exploração de arquitetura antecipada ... Comparar vantagens da previsão de desvio. ...](https://reader030.fdocumentos.com/reader030/viewer/2022021611/5c652aa409d3f2ad6e8c403a/html5/thumbnails/16.jpg)
Modelos de CPU (visão geral)
![Page 17: Trabalho da disciplina - Moodle USP: e-Disciplinas · Exploração de arquitetura antecipada ... Comparar vantagens da previsão de desvio. ...](https://reader030.fdocumentos.com/reader030/viewer/2022021611/5c652aa409d3f2ad6e8c403a/html5/thumbnails/17.jpg)
Modos de operação
1. Syscall emulation (SE): Modo de emulação de SyscallNeste modo, as aplicações são executadas como se estivessem em espaço de usuário (user space) e as syscall emuladas como se fosse um Sistema Operacional (SO) real. Nesse modo não há escalonador de tarefas (scheduling) e memória virtual (simplifica a tradução de endereços), causando menor overhead por não tratar modelos dedicados a esses propósitos.
2. Full system (FS): Modo de sistema completo Permite a execução de um SO completo real, há imagens compatíveis do Linux e Android no caso do ARM. Não faremos o uso desse modo.
Opção explorada no trabalho!
![Page 18: Trabalho da disciplina - Moodle USP: e-Disciplinas · Exploração de arquitetura antecipada ... Comparar vantagens da previsão de desvio. ...](https://reader030.fdocumentos.com/reader030/viewer/2022021611/5c652aa409d3f2ad6e8c403a/html5/thumbnails/18.jpg)
Aspectos da simulação
● A simulação é mais lenta que execução nativa● Desconsidere mensagens de warning durante a execução
○ Exemplo:
warn: readlink() called on '/proc/self/exe' may yield unexpected
results in various settings.
● Ticks (unidade de medida)○ 1 tick = 1 ps = 10−12 segundos○ 1 ciclo de clock = 1000 ticks (@1Ghz)
![Page 19: Trabalho da disciplina - Moodle USP: e-Disciplinas · Exploração de arquitetura antecipada ... Comparar vantagens da previsão de desvio. ...](https://reader030.fdocumentos.com/reader030/viewer/2022021611/5c652aa409d3f2ad6e8c403a/html5/thumbnails/19.jpg)
Processador
Arquitetura sugerida: ISA ARMv7 (O3_ARM_v7a_3)
ISA: ARMv7- Profundidade do pipeline: 7- Cache L1 2x (dados/instrução): 32 kB- Cache L2: 1MB- Cache L3: ausente - Out-of-order issue and execution https://en.wikipedia.org/wiki/Comparison_of_ARMv7-A_cores
![Page 20: Trabalho da disciplina - Moodle USP: e-Disciplinas · Exploração de arquitetura antecipada ... Comparar vantagens da previsão de desvio. ...](https://reader030.fdocumentos.com/reader030/viewer/2022021611/5c652aa409d3f2ad6e8c403a/html5/thumbnails/20.jpg)
Benchmarks
Blocked multiplication
Breadth First Search (BFS)
SHA
Queens
![Page 21: Trabalho da disciplina - Moodle USP: e-Disciplinas · Exploração de arquitetura antecipada ... Comparar vantagens da previsão de desvio. ...](https://reader030.fdocumentos.com/reader030/viewer/2022021611/5c652aa409d3f2ad6e8c403a/html5/thumbnails/21.jpg)
Benchmarks
Multiplicação de matrizes
Blocked multiplication
Características (memory bound): muitos acessos a cache e operações de ponto flutuante.
![Page 22: Trabalho da disciplina - Moodle USP: e-Disciplinas · Exploração de arquitetura antecipada ... Comparar vantagens da previsão de desvio. ...](https://reader030.fdocumentos.com/reader030/viewer/2022021611/5c652aa409d3f2ad6e8c403a/html5/thumbnails/22.jpg)
Benchmarks
BFS (Busca em Largura)
Características: fraca localidade de dados em cache de dados.
![Page 23: Trabalho da disciplina - Moodle USP: e-Disciplinas · Exploração de arquitetura antecipada ... Comparar vantagens da previsão de desvio. ...](https://reader030.fdocumentos.com/reader030/viewer/2022021611/5c652aa409d3f2ad6e8c403a/html5/thumbnails/23.jpg)
Benchmarks
● SHA - a partir de uma entrada gera hash criptográfico SHA-1 ○ Características: muitas operações de ponto flutuante,
interessante para se observar predições de desvio e uso da cache.
● Queens - Como organizar em um tabuleiro nxn de uma tal forma que mais de uma rainha não ocupe uma coluna ou linha simultaneamente?○ Características: Uso coerente da cache, mas com comportamento
peculiar na previsão de desvio.
![Page 24: Trabalho da disciplina - Moodle USP: e-Disciplinas · Exploração de arquitetura antecipada ... Comparar vantagens da previsão de desvio. ...](https://reader030.fdocumentos.com/reader030/viewer/2022021611/5c652aa409d3f2ad6e8c403a/html5/thumbnails/24.jpg)
Tarefas1. Entender o gem5 instrumentalizando cada algoritmo de benchmark
(sumarizar resultados em tabelas);2. Aprender a visualizar o pipeline para o blocked-matmul. Incluir o
pipeline gerado e considerações à respeito de stalls do fragmento analisado;
3. Analisar a penalidade causada por caches misses e comparar com a latência de busca de dados na memória principal;a. MSHRs - Miss Status Handling Register
4. Comparar vantagens da previsão de desvio.
![Page 25: Trabalho da disciplina - Moodle USP: e-Disciplinas · Exploração de arquitetura antecipada ... Comparar vantagens da previsão de desvio. ...](https://reader030.fdocumentos.com/reader030/viewer/2022021611/5c652aa409d3f2ad6e8c403a/html5/thumbnails/25.jpg)
Cache não bloqueante
● Pode atender hits mesmo sobre multiplos cache misses○ Essencial para processadores out-of-order e multicore
● Miss Status Holding Registers (MSHR)○ Gerencia misses de caches pendentes;○ Gerencia loads/stores pendentes que se referem ao bloco de cache;○ Em uma ausência (miss), aloca uma entrada na MSHR para mapear a requisição;○ Recebendo o dado, limpa entrada da MSHR.
![Page 26: Trabalho da disciplina - Moodle USP: e-Disciplinas · Exploração de arquitetura antecipada ... Comparar vantagens da previsão de desvio. ...](https://reader030.fdocumentos.com/reader030/viewer/2022021611/5c652aa409d3f2ad6e8c403a/html5/thumbnails/26.jpg)
Problemas no uso do gem5
$ build/ARM/gem5.opt configs/arq2017/se.py
--cpu-type=O3_ARM_v7a_3 --caches -c benchmarks/hello
build/ARM/gem5.opt: error while loading shared libraries: libpython2.7.so.1.0: cannot open shared object file: No such file or directory
![Page 27: Trabalho da disciplina - Moodle USP: e-Disciplinas · Exploração de arquitetura antecipada ... Comparar vantagens da previsão de desvio. ...](https://reader030.fdocumentos.com/reader030/viewer/2022021611/5c652aa409d3f2ad6e8c403a/html5/thumbnails/27.jpg)
Problemas no uso do gem5
O gem5 tem como requisito fundamental:- python2.7 e python2.7-dev
$ sudo apt install python2.7 python2.7-dev
![Page 28: Trabalho da disciplina - Moodle USP: e-Disciplinas · Exploração de arquitetura antecipada ... Comparar vantagens da previsão de desvio. ...](https://reader030.fdocumentos.com/reader030/viewer/2022021611/5c652aa409d3f2ad6e8c403a/html5/thumbnails/28.jpg)
Problemas no uso do gem5
Se python 3.x estiver instalado, erros na execução do gem5 também podem ocorrer. Portanto, verifique a versão corrente e caso esteja diferente de:
$ python --version
Python 2.7.12
Torne o python 2.7 padrão:$ sudo update-alternatives --config python
# caso a resposta seja no “alternatives for python”, crie uma com:
$ sudo update-alternatives --install /usr/bin/python python
/usr/bin/python2.7 10
![Page 29: Trabalho da disciplina - Moodle USP: e-Disciplinas · Exploração de arquitetura antecipada ... Comparar vantagens da previsão de desvio. ...](https://reader030.fdocumentos.com/reader030/viewer/2022021611/5c652aa409d3f2ad6e8c403a/html5/thumbnails/29.jpg)
Problemas no uso do gem5
Acesso ao servidor do LCR (143.107.183.96):
$ ssh [email protected]
Desvantagens:
- Mais lento que seu computador. :(
![Page 30: Trabalho da disciplina - Moodle USP: e-Disciplinas · Exploração de arquitetura antecipada ... Comparar vantagens da previsão de desvio. ...](https://reader030.fdocumentos.com/reader030/viewer/2022021611/5c652aa409d3f2ad6e8c403a/html5/thumbnails/30.jpg)
Dúvidas sobre o trabalho
- Definição de métricas- Entender pipeline simulado. Como?- ...
![Page 31: Trabalho da disciplina - Moodle USP: e-Disciplinas · Exploração de arquitetura antecipada ... Comparar vantagens da previsão de desvio. ...](https://reader030.fdocumentos.com/reader030/viewer/2022021611/5c652aa409d3f2ad6e8c403a/html5/thumbnails/31.jpg)
Definição de métricas (1)
- Microps executados:- instruções inteiras além de multiplicação/divisão
system.cpu.commit.op_class_0::No_OpClasssystem.cpu.commit.op_class_0::IntAlu
- multiplicação/divisão de inteirossystem.cpu.commit.op_class_0::IntMultsystem.cpu.commit.op_class_0::IntDiv
![Page 32: Trabalho da disciplina - Moodle USP: e-Disciplinas · Exploração de arquitetura antecipada ... Comparar vantagens da previsão de desvio. ...](https://reader030.fdocumentos.com/reader030/viewer/2022021611/5c652aa409d3f2ad6e8c403a/html5/thumbnails/32.jpg)
Definição de métricas (2)
- Microps executados:- instruções de ponto flutuante
system.cpu.commit.fp_insts
- instruções de chamada de função e desviosystem.cpu.iew.exec_branches (opcional)System.cpu.commit.branchessystem.cpu.commit.function_calls
![Page 33: Trabalho da disciplina - Moodle USP: e-Disciplinas · Exploração de arquitetura antecipada ... Comparar vantagens da previsão de desvio. ...](https://reader030.fdocumentos.com/reader030/viewer/2022021611/5c652aa409d3f2ad6e8c403a/html5/thumbnails/33.jpg)
Definição de métricas (3)
- Microps executados:- instruções de acesso à memória/cache
Considerar apenas LOADS/STORES (INT e FLOAT)system.cpu.commit.op_class_0::MemReadsystem.cpu.commit.op_class_0::MemWritesystem.cpu.commit.op_class_0::FloatMemRead system.cpu.commit.op_class_0::FloatMemWrite
![Page 34: Trabalho da disciplina - Moodle USP: e-Disciplinas · Exploração de arquitetura antecipada ... Comparar vantagens da previsão de desvio. ...](https://reader030.fdocumentos.com/reader030/viewer/2022021611/5c652aa409d3f2ad6e8c403a/html5/thumbnails/34.jpg)
Definição de métricas (4)
- Número médio de microops gerados por instrução do programa System.cpu.iq.issued_per_cycle::mean
- Quantidade de desvios previstas corretamentesystem.cpu.iew.predictedNotTakenIncorrect
- Quantidade média de instruções executadas por ciclosystem.cpu.commit.committed_per_cycle::mean
![Page 35: Trabalho da disciplina - Moodle USP: e-Disciplinas · Exploração de arquitetura antecipada ... Comparar vantagens da previsão de desvio. ...](https://reader030.fdocumentos.com/reader030/viewer/2022021611/5c652aa409d3f2ad6e8c403a/html5/thumbnails/35.jpg)
Definição de métricas (5)
- Média de microops executados por ciclosystem.cpu.ipc
- Taxa de sucesso do cache de instruçõesHit_rate_i = 1 - system.cpu.icache.overall_miss_rate::total
- Taxa de sucesso do cache de dadosHit_rate_d = 1 - system.cpu.dcache.overall_miss_rate::total
![Page 36: Trabalho da disciplina - Moodle USP: e-Disciplinas · Exploração de arquitetura antecipada ... Comparar vantagens da previsão de desvio. ...](https://reader030.fdocumentos.com/reader030/viewer/2022021611/5c652aa409d3f2ad6e8c403a/html5/thumbnails/36.jpg)
Pipeline
- Analise o fragmento em relação aos stalls e as falhas de previsão de desvio
Falha na previsão de desvio causando como penalidade
… stall
![Page 37: Trabalho da disciplina - Moodle USP: e-Disciplinas · Exploração de arquitetura antecipada ... Comparar vantagens da previsão de desvio. ...](https://reader030.fdocumentos.com/reader030/viewer/2022021611/5c652aa409d3f2ad6e8c403a/html5/thumbnails/37.jpg)
Referências
http://research.cs.wisc.edu/multifacet/papers/learning_gem5_tutorial.pdf
http://gem5.org/wiki/images/0/0e/ASPLOS2017_gem5_tutorial.pdf
http://slideplayer.com/slide/3997189/