Suponha que você deseje repartir uma matriz NxN entre M proc...

Próximas questões
Com base no mesmo assunto
Q2319492 Arquitetura de Computadores
Suponha que você deseje repartir uma matriz NxN entre M processos paralelos. Se você escolher um método de particionamento em tiras (strip partitioning) por linhas, onde cada processo terá pelo menos uma linha inteira da matriz, qual será o valor máximo de M?
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

A alternativa correta é a letra B - N.

Para entender essa questão, é necessário compreender o método de particionamento em tiras (strip partitioning) aplicado a matrizes no contexto de processamento paralelo. Esse método divide a matriz em partes que podem ser processadas simultaneamente por diferentes processos ou threads em um sistema de processamento paralelo. No caso de um particionamento por linhas, cada processo é responsável por uma ou mais linhas completas da matriz.

A variável N representa a dimensão da matriz NxN, isto é, a quantidade de linhas e colunas. Já a variável M indica o número de processos paralelos. O valor máximo de M será determinado pela quantidade máxima de linhas que podem ser distribuídas entre os processos, e isso é equivalente ao próprio número de linhas da matriz. Dessa forma, cada processo poderá ter uma linha inteira para si.

Portanto, se a matriz for dividida de tal forma que cada processo receba uma linha completa, o número máximo de processos que podemos ter sem sobrar ou faltar linhas é exatamente N, que é a quantidade de linhas da matriz NxN. Assim, se tivermos um número de processos superior a N, alguns processos ficarão sem linhas para processar, e se tivermos um número menor, alguns processos terão que processar mais de uma linha, o que contraria a premissa da questão de que cada processo deverá ter pelo menos uma linha inteira.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo