UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO DEPARTAMENTO DE FÍSICA E MATEMÁTICA CURSO: LICENCIATURA EM COMPUTAÇÃO DISCIPLINA: PROGRAMAÇÃO PARALELA E DISTRIBUÍDA PROFESSOR: JONES OLIVEIRA ALUNO: JONAS FRANCISCO PPD Junho/2004
Resolução das Questões de Lista Programação Paralela e Distribuída Questão 1 Solução: Uma das vantagens do aralelismo de dados é que o rocessamento é indeendente, isto é, não se faz necessário eserar ela saída do estágio anterior ara dar continuidade ao rocessamento. Como desvantagens odemos citar a quebrar da comutação que não é um rocesso muito fácil, muito menos os controles da divisão e junção das unidades comutadas. Aqui cada unidade rodutiva (oerário, rocessador, etc.) é resonsável or toda unidade roduzida. Uma outra vantagem é o fato de que a cada unidade de temo tem-se k unidades roduzidas. Das vantagens do aralelismo de controle é válido ressaltar a baixa comlexidade de rocessamento na rodução de uma unidade, ois a tarefa é dividida em estágio. Em cada estágio é executada uma arte do rocessamento, cuja saída oderá ser a entrada do estágio seguinte e assim sucessivamente até que a unidade esteja comletamente ronta. Uma das grandes desvantagens deste tio de rocessamento é sua baixa rodutividade em relação ao aralelismo de dados, ois aenas tem-se uma unidade roduzida a cada t unidades de temo. Questão 2 Solução: Para que m1 fique ronta leva-se mit de temo, no entanto, aós este temo tem-se aenas 1t (unidade de temo). Daí, o temo total ara que se rocesse n tarefas todas com m estágios é T = (n-1)t + mt, ondo t em evidência, temos T= (n-1 + m)t. Exemlo 1: tarefa: montar 3 carros em ieline com 3 estágios. O rimeiro carro sai aós temo 3t, do segundo carro em diante leva-se temo 1t. Como são três carros temos 2t corresondentes a (n-1)t. Os três t acima dizem reseito aos três estágios e chamemos de mt. Os (n-1) referem-se a quantidade de carros excluindo o rimeiro. Logo a exressão do temo total é verdadeira. Exemlo 2: tarefa : confeccionar 5 bolsas em uma linha de rodução com 3 estágios, cada um consumindo 10 minutos cada. Para sair a rimeira bolsa leva-se 3 vezes 10 minutos, ou seja, 30 minutos. Da segunda bolsa em diante leva-se aenas 10 minutos. Como temos aenas agora 4 bolsas o temo restante é 4 x10 = 40 minutos, conclui-se que o temo total ara se arontar as 5 bolsas é 70 minutos. Alicando a equação do temo total chegaremos ao mesmo resultado, ou seja, T=(5+3-1)t = 7x10=70 minutos. Portanto, a fórmula é T= (n-1 + m)t.
Questão 3 Solução: Seja f a fração de oerações numa comutação que deve ser executada de forma seqüencial, em que 0=f=1. O Seedu alcançado or um comutador aralelo comosto de rocessadores executando a comutação é dado or S f + (1- f) Substituindo f or 1/k, temos: S 1/k + (1-1/k) 1 + k 1 k k 1 + (k 1) x 1 k k 1 + k 1 k k + k 1 k x k 1 + k 1 Assim, S = k fazendo k ser f() e +k-1 ser g(), chegamos a + k 1 S = f() alicando limite sobre S, temos: lim f() = k. g()? 8 g() Ou seja, o limite do Seedu quando o número de rocessadores tende ao infinito é uma constante k. Demonstração: lim f() = lim f() = 8? 8 g() lim g() 8
Vemos que chegamos a uma das formas de indeterminação, ou seja, 0/0 ou 8/8 e que devemos alicar a regra de L Hôital que diz: lim f(x) = lim f (x) x? 8 g(x) lim g (x) onde f (x) e g (x) são as derivadas de x. Obs.: Não devemos derivar o quociente e sim cada arte individualmente. Voltando às variáveis reais do roblema, ou seja, k e, temos: f() = k e g() = + k 1 e lim f() = f ()? 8 g() g () sabendo que f () = d (k) = k e que g () = d ( + k 1), temos que d d f () = k = k, conforme queríamos rovar. g () 1 Questão 5 Sejam as matrizes Alxm e Bmxn retende-se gerar uma matriz C lxn como roduto de Alxm or B mxn usando o algorítmo: for(i = 0; i < l; i++){ for(j = 0; j < n; j++){ t = 0; for(k = 0; k < m;k++){ t = t + A[i][k] * B[k][j]; C[i][j] = t; Partindo do loo mais interno vemos que o número de oerações é m. Subindo um nível, ou seja, o segundo loo, seu número de iterações é n. Chegando ao rimeiro, vê-se que o mesmo ocorre l (L minúsculo) vezes. Então, o nível de comlexidade do algoritmo é: l x m x n Questão 5.1 Baseado na comlexidade do algoritmo acima, odemos dizer que ara gerar uma matriz roduto a artir de duas de dimensões n x n tal comlexidade vai ara n x n x n, ou seja n 3 Logo, a comlexidade do algoritmo é Theta(n 3 ). Questão 5.2 O algoritmo é ótimo orque gera uma comlexidade logarítmica em vez de oligarítmica.
Questão 5.3 Ver teorema de Brent.