Prévia do material em texto
1 1 – Considere uma situação em que três processadores em uma configuração SMP, ao longo do tempo, exigem acesso à mesma linha de dados da memória principal. Ambos os processadores têm um cache e usam o protocolo MESI. Inicialmente, ambos os caches têm uma cópia inválida da linha. Indique as transições de estados para a seqüência de acessos a seguir, justificando: a. P1 lê x. b. P2 lê x. c. P3 escreve em x. d. P2 lê x e. P1 escreve em x P1 P2 P3 Comentários a I → E I → I I → I Apenas P1 tem o valor de x, indicado pelo monitoramento b E → S I → S I → I Pelo mointoramento, P1 e P2 sabem que x é compartilhado c S → I S → I I → M P3 sinaliza que P1 e P2 devem invalidar o valor de x d I → I I → I I → I I → S M → M M → S S → S P2 tenta ler x, é monitorado por P3, que bloqueia P2, Após o qual modifica o valor de x na memória, sincronizando seu valor com a memória e desbloqueando a leitura de P2 de x e I → M S → I S → I P1 sinaliza que P2 e P3 devem invalidar o valor de x (Valor: 2,5) 2 – Suponha um sistema de multiprocessamento simétrico com n CPUs. Considere que existem 3 programas que levam 1 (um) segundo para executar sequencialmente em 1 (uma) CPU. Os programas são paralelizáveis, sendo que metade do código pode ser executado em até 2 (duas) CPUs ao mesmo tempo. Considere também que a parte paralelizável do programa P1 é a primeira metade do código e a parte paralelizável de P2 e P3 é a segunda parte do código. Qual é o número mínimo de CPUs para estes programas executarem em um menor tempo possível e qual é este tempo? Explique. O número mínimo de CPUs para estes programas executarem em um menor tempo possível é 5, como pode ser observado na figura. O tempo mínimo é 0,75s. Inicialmente, é preciso observar que não é possível executar estes programas em menos do que 0,75s, qualquer que seja o número de UCPs, em função da parte serial seguida da paralela, ou vice-versa. Portanto, 0,75s é o tempo mínimo. Além disto, devido às dependências, como se pode observar, nenhuma dos blocos amarelo, vermelho ou marrom podem ser adiantadas. Portanto, no tempo de 0,5s à 0,75s, são 5 blocos executando ao mesmo tempo, nenhum deles podendo executar antes. Caso não haja 5 UCPs, um destes blocos terá que executar no intervalo 0,75 à 1s, atrasando a execução. Portanto, 5 UCPs é o número de UCPs mínima e adequada, ao mesmo tempo, para executar estes 3 programas em um tempo mínimo. 2 (Valor: 2,0) 3 – Para cada uma das opções da figura, assinale a alternativa correta: a) A letra a) está associada a um multithread granular e a letra b) a um multithread intercalada. 3 b) A letra c) está associada a um multithread granular e a letra d) a um multithread simultânea. c) A letra a) está associada a um multicore e a letra c) a um multithread simultânea. d) A letra b) está associada a um multithread intercalada e a letra c) a um multicore. e) A letra a) está associada a um multithread simultânea e a letra d) a um multicore. (Valor: 1,0) 4 - Julgue as afirmações abaixo em relação à coerência de cache e multiprocessamento, assinale TODAS as afirmativas que considerar corretas: a – Os processadores vetoriais são um tipo de arquitetura SIMD. b – Em sistemas de memória compartilhada, o árbitro de barramento cumpre a função de impedir o que o conflito no acesso simultâneo à memória por parte das CPU leve à perda de dados. c – No caso do tratamento da coerência entre os caches L1 e L2, a política write-through pode ser utilizada. d – Multiprocessadores simétricos não compartilham a utilização da memória principal. e - Uma arquitetura multithreading executa simultaneamente o código de diversos fluxos de instruções (threads). f - Em uma arquitetura VLIW, o controle da execução das várias instruções por ciclo de máquina é feito pelo hardware. (Valor: 1,5) 5 – Em relação ao protocolo de coerência de cache, assinale TODAS as afirmativas que considerar corretas: a) Para o protocolo write-invalidate, é necessário um snooping cache monitorar (snoop) apenas em linhas de endereço, e não em linhas de dados; b) O protocolo de coerência de cache tem 4 (quatro) estados: modificada: a linha da cache foi duplicada (é diferente da memória principal) e está presente em toda cache. dedicada: a linha da cache é destinada à memória principal e não está presente em nenhuma outra cache. compartilhada: a linha da cache é diferente da memória principal e pode estar presente em outra cache. finita: a linha da cache contém dados válidos apenas na memória principal; c) Quando dois ou mais processadores acessam a memória em um barramento compartilhado, ocorre um conflito, e o árbitro de barramento permite a apenas um deles acessar a memória, enquanto o outro deve esperar o término do primeiro para acessar; d) Em uma alteração do protocolo de coerência de cache de write-back MESI que têm apenas três estados, o estado I (inválido) não é necessário; (Valor: 1.5) 6 – Duas possibilidades para a construção de sistemas com múltiplos processadores são: processadores idênticos com um único espaço de endereçamento interligados por um barramento único (SMP); e máquinas monoprocessadas conectadas por uma rede (cluster). Com relação a esses sistemas, assinale a opção INCORRETA. A A comunicação entre processadores de um cluster é, potencialmente, muito mais lenta que a comunicação entre processadores de um sistema SMP, pois embora as redes atuais possuem taxa de transmissão da ordem de gigabits/s, os sistemas de barramento internos do SMP são mais eficientes; B Comunicação entre processos pode ser implementada de forma mais eficiente em um SMP do que em um cluster; C Em um sistema SMP, é mais difícil substituir um processador defeituoso, pois em um cluster não é necessário desabilitar a rede de comunicação para que a troca seja efetuada sem prejudicar a troca de mensagens entre os processos; D Alocação de memória para processos é muito mais simples em um cluster, pois cada processador executa um único processo na sua memória exclusiva e, dessa forma, não existe o problema de distribuição de processos no espaço de endereçamento único da máquina SMP; E Em um cluster, o custo da escalabilidade é muito menor, pois, para a interconexão entre as máquinas, podem ser utilizados equipamentos comuns usados em uma rede local de computadores, ao passo que um sistema SMP exige conexões extras no barramento e gabinetes especiais. (Valor: 1.5) 4