Avaliação de Desempenho e Potência de Mecanismos de Comunicação CMP502 – Sistemas Embarcados Alexandre Irigon Gervini Edgard de Faria Corrêa 1 LSE - Laboratório de Sistemas Embarcados Abordagem • Considerações: • custo exclusivo da comunicação; por enquanto • desconsiderando overhead do sistema operacional (escalonamento, chaveamento de contexto, alocacao de memória, etc.) 2 LSE - Laboratório de Sistemas Embarcados Abordagem • Transferência dos Dados: • 1 mensagem de 1 byte; • 128 mensagens de 1 byte; • 256 mensagens de 1 byte; • 1 mensagem de 32 bytes; • 1 mensagem de 64 bytes; • 2 mensagens de 32 bytes; • 2 mensagens de 64 bytes; • 4 mensagens de 32 bytes; • 4 mensagens de 64 bytes; • 8 mensagens de 32 bytes; • 1 mensagem de 128 bytes; • 2 mensagens de 128 bytes; • 1 mensagem de 256 bytes. LSE - Laboratório de Sistemas Embarcados 3 Mecanismos de Comunicação • Memória Compartilhada: • uso compartilhado de variáveis de memória. • Troca de Mensagens: • protocolo para controle do envio e recebimento das mensagens. • DMA (acesso direto à memória): • transferência, da memória principal, diretamente para o dispositivo, sem utilizar a CPU . 4 LSE - Laboratório de Sistemas Embarcados Metodologia • Descrição em alto nível dos mecanismos: • linguagem java. • Síntese para o FemtoJava no SASHIMI: • geração do VHDL e MIF. • Simulação do consumo de potência e custo de comunicação: • CAD (Caco Aided Design); • potência medida em capacitância de gates; • desempenho medido em número de ciclos. 5 LSE - Laboratório de Sistemas Embarcados Resultados Obtidos • Consumo de Potência - mensagens de 1 byte: Potência Memória Compartilhada 500.000.000 e Troca de Mensagens 450.000.000 400.000.000 350.000.000 300.000.000 mem1 250.000.000 msg1 200.000.000 150.000.000 100.000.000 50.000.000 0 1 128 256 6 LSE - Laboratório de Sistemas Embarcados Resultados Obtidos • Custo de Comunicação - mensagens de 1 byte: Número de Ciclos Memória Compartilhada e Troca de Mensagens 120000 100000 80000 mem1 60000 msg1 40000 20000 0 1 128 256 7 LSE - Laboratório de Sistemas Embarcados Resultados Obtidos • Consumo de Potência - mensagens de 32 a 256 bytes: 180000000 Memória Compartilhada 160000000 140000000 120000000 100000000 mem32 mem64 mem128 mem256 80000000 mem32 60000000 40000000 20000000 0 1 32 64 128 256 8 LSE - Laboratório de Sistemas Embarcados Resultados Obtidos • Consumo de Potência - mensagens de 32 a 256 bytes: Potência - Troca MSG Troca de Mensagens 180.000.000 160.000.000 140.000.000 120.000.000 msg32 100.000.000 msg64 msg128 80.000.000 msg256 60.000.000 40.000.000 20.000.000 0 32 64 128 256 9 LSE - Laboratório de Sistemas Embarcados Resultados Obtidos • Custo de Comunicação - mensagens de 32 a 256 bytes: # Ciclos - Memória Compartilhada Memória Compartilhada 50000 45000 40000 35000 30000 msg32 msg64 25000 msg128 msg256 20000 15000 10000 5000 0 32 64 128 256 10 LSE - Laboratório de Sistemas Embarcados Resultados Obtidos • Custo de Comunicação - mensagens de 32 a 256 bytes: # Ciclos - Troca MSG Troca de Mensagens 45000 40000 35000 30000 msg32 25000 msg64 msg128 20000 msg256 15000 10000 5000 0 32 64 128 256 11 LSE - Laboratório de Sistemas Embarcados Resultados Obtidos MEMÓRIA COMPARTILHADA TROCA DE MENSAGENS Potência word(1) x1 x 128 x 256 # Ciclos Potência # Ciclos 1.956.297 154.116.482 308.170.947 187 16573 33856 3.277.199 247.144.674 493.048.840 579 51925 103680 word(32) x 1 x2 x4 x8 20.835.173 42.355.409 85.857.042 174.218.944 4814 10518 22214 46348 23.149.037 46.124.193 69.881.477 117.397.313 5847 12219 18665 31557 word(64) x 1 x2 x4 39.857.712 81.978.387 166.432.358 9422 21020 44280 42.645.224 85.618.981 129.373.595 10927 22851 34849 word(128) x 1 x2 78.688.550 161.625.681 19412 42370 82.367.594 165.963.899 21582 44826 word(256) x 1 155.589.763 38580 156.377.867 38802 12 LSE - Laboratório de Sistemas Embarcados Dificuldades Encontradas • Limitações das ferramentas utilizadas: SASHIMI: • não suporta orientação a objetos; • não sintetiza primitivas do tipo break; • não aceita retorno de vetores; • não aceita matrizes. CAD: • cálculo de blocos ? 13 LSE - Laboratório de Sistemas Embarcados Pontos Pendentes • Verificações dos resultados “fora da curva”; • Levantamento dos dados do DMA; • Finalização do artigo para o SEMISH. 14 LSE - Laboratório de Sistemas Embarcados Próximas Etapas • Utilizar modelos SW-HW e HW-HW. • Avaliação do overhead do sistema operacional. 15 LSE - Laboratório de Sistemas Embarcados Referências [Knudsen 1999] P.V.Knudsen and J.Madsen, “Integrating communication protocol selection with hardware/software codesign”. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, Aug. 1999. [Brunel 2000] J-Y. Brunel et al., “COSY Communication IP’s”. Design Automation Conference, 2000. [Lahiri 2000] K.Lahiri, A.Raghunathan and S.Dey, "Efficient Exploration of the SoC Communication Architecture Design Space". International Conference on Computer Aided Design, 2000. [Drinic 2000] M.Drinic et al, "Latency-Guided On-Chip Bus Network Design" International Conference on Computer Aided Design, 2000. 16 LSE - Laboratório de Sistemas Embarcados