Escolar Documentos
Profissional Documentos
Cultura Documentos
RAFAEL BENITO
MARLIA
2011
RAFAEL BENITO
MARLIA
2011
Benito, Rafael.
Anlise de desempenho e implementao de um sistema cluster baseado em uma rede
Ad hoc. / Rafael Benito; Orientador: Dr. Maurcio Duarte. Marlia, SP: 2011
51 f .
AGRADECIMENTOS
Agradeo primeiramente minha famlia pelo apoio e por serem exemplo de honestidade,
respeito, educao e integridade, que foram determinantes para o meu crescimento e futuro.
Me, obrigado por ser um exemplo de vida e determinao. Lara, obrigado por estar sempre
do meu lado, me ajudando e me dando conselhos e Ju, voc um exemplo de profissional e
grande modelo pra mim, obrigado.
Ao meu orientador Prof. Ms. Maurcio Duarte, pela competncia, sabedoria e excelncia na
orientao deste trabalho.
Aos amigos da faculdade, principalmente aos amigos de pelada, Z, Honda, Mrcio e Jafa,
pelo companheirismo, apoio e amizade.
Maria Rita Capobianco, que foi imprescindvel para o desenvolvimento deste trabalho e
esteve sempre ao meu lado quando precisei, muitssimo obrigado.
E no menos importante, gostaria de agradecer a todos os amigos que me acompanharam
durante toda a faculdade: Gustavo Mantovani, Guilherme Mantovani, Filipe Garcia Lopes,
Rafael Ferrari, Bruno Conti, Rafael Oliveira, Enio, Andr Rubira, Gustavo Caliman, Kahue e
Vinicius.
Epgrafe
RESUMO
cada vez mais frequentes pesquisas e estudos que buscam esclarecer como redes wireless
podem se tornar mais viveis e eficientes. Com a expanso do paralelismo e da computao
distribuda tornou-se mais comum a utilizao de arquiteturas distribudas. Este projeto tem
como objetivo a criao e anlise de um sistema Cluster, baseado em uma rede wireless ad
hoc, utilizando sistema operacional Windows 7 e ambiente de passagem de mensagem MPI
(Message Passing Interface). Trata-se de uma pesquisa exploratria e prtica, com reviso
bibliogrfica e a construo de uma arquitetura distribuda de alto desempenho. Um
Algoritmo paralelo foi desenvolvido para validar o projeto. Os resultados demonstram que o
sistema cluster implementado, embora funcional, no apresentou dados que indicassem
viabilidade para se obter elevado desempenho devido s taxas de transmisso de redes
wireless. Dessa forma, julga-se interessante que mais estudos sejam feitos nesta rea uma vez
que essas tecnologias so cada vez mais utilizadas e imprescindveis no mundo da tecnologia
de informao.
ABSTRACT
Nowadays, there has been an increase number of research and studies that aim to elucidate
how wireless network may become more practicable and efficient. With the expansion of
parallelism and distributed computing it has been taken for granted the use of distributed
architecture. This work has its aim on the establishment and analysis of a cluster on ad hoc
wireless network using Windows 7 as operational system and MPI (message passing
interface). This research covers fact-finding data and praxis including bibliographic revision
and the assembly of a high performance distributed architecture. A parallel algorithm was
developed to validate this work. The outcomes reveal that the cluster system implemented,
although functional, have not demonstrated data that suggest feasibility to obtain high
performance due to wireless network transmission rates. Therefore, it is indeed thought to
have more studies developed in this area once these technologies are more and more used and
are essential in the world of information technology.
Key-words: Distributed Systems; Cluster; Wireless network; Ad Hoc; MPI.
LISTA DE ILUSTRAES
FIGURA 1. Arquitetura de Von-Neumann...............................................................................13
FIGURA 2. Exemplo de Arquitetura SISD - Von Neumann....................................................14
FIGURA 3. Exemplo de Arquitetura SIMD.............................................................................14
FIGURA 4. Exemplo Arquitetura MISD..................................................................................15
FIGURA 5. Exemplo de Arquitetura MIMD............................................................................15
FIGURA 6. Cluster Columbia da Nasa.....................................................................................18
FIGURA 7. Exemplo de um Sistema Cluster...........................................................................19
FIGURA 8. Cluster de Alta Disponibilidade............................................................................22
FIGURA 9. Exemplo cluster Beowulf......................................................................................23
FIGURA 10. Diagrama de um Cluster Balanceador de Carga.................................................25
FIGURA 11. Classificao de processadores interconectados por escala................................29
FIGURA 12. WMPIRegister.exe..............................................................................................38
FIGURA 13. Interface do executvel wmpiconfig.exe.............................................................39
FIGURA 14. Diagrama do Algoritmo Distribudo proposto....................................................41
FIGURA 15. Interface wmpiexec.exe...................................................................................43
SUMRIO
INTRODUO. .......................................................................................................................... 10
Histrico ............................................................................................................................ 12
1.2
1.3
1.4
Supercomputadores ........................................................................................................... 16
1.5
10
INTRODUO.
Com a crescente substituio de redes cabeadas por redes wireless, tem-se tornado
cada vez mais freqente pesquisas e estudos que procuram elucidar como redes wireless
podem se tornar mais viveis e eficientes, tanto para a tecnologia da informao quanto para
usurios comuns.
Com os avanos tecnolgicos, sistemas sequenciais foram se tornando obsoletos, e os
conceitos de paralelismo e computao distribuda cada vez mais utilizados. Segundo
Stallings (2003), uma das reas mais novas e promissoras de projeto de sistemas de
computao a de Cluster. A organizao de cluster constitui uma alternativa para os
multiprocessadores simtricos como abordagem para prover alto desempenho e alta
disponibilidade.
Tendo em vista os benefcios de redes wireless e sistemas distribudos cluster, de se
pensar que a unio destas ferramentas resulte em algo relevante para a rea de tecnologia da
informao.
Esta pesquisa teve como objetivo montar um sistema distribudo cluster baseado em
uma rede wireless ad hoc. Para tanto construiu-se uma aplicao distribuda, um algoritmo de
ordenao shellsort, para ser executada em tal rede.
Com a finalidade de observar se este sistema vivel bem como o desempenho
apresentado por ele utilizado a linguagem de programao C e ambiente de passagem de
mensagem MPI (Message Passing Interface), realizou-se um estudo de caso.
Alm disso, para melhor entendimento da pesquisa, procurou-se situar o leitor em
relao a historicidade de sistemas computacionais atravs de uma pesquisa bibliogrfica
sobre o tema, para, posteriormente, analisar e discutir os dados obtidos.
Organizao da Monografia
Captulo 1 Arquiteturas de Alto Nvel: Apresenta um pequeno histrico sobre o surgimento
do conceito de paralelismo e uma breve introduo sobre arquiteturas de alto desempenho.
Captulo 2 Sistemas Cluster: aborda definies, caractersticas, aplicaes e tipos de cluster.
Captulo 3 Rede Wireless: apresenta caractersticas, aplicaes e definies de rede wireless
dando nfase em redes ad hoc, rede utilizada no projeto.
11
12
1.1 Histrico
Em 1946 surgiu o primeiro computador, famoso ENIAC1, fabricado nos EUA com a
finalidade de realizar clculos sobre armas de fogo. Era composto por 18 mil vlvulas e
pesava 30 toneladas, ficando em funcionamento at 1952, quando ento se tornou obsoleto e
foi desativado.
O ENIAC no tinha a capacidade de modificar ou carregar programas, j que no
havia um lugar especfico destinado ao armazenamento dos mesmos. Seria ideal um lugar
(diga-se memria) para que essas instrues fossem armazenadas.
Na dcada de 40, John von Neumann e alguns colegas comearam o projeto de um
novo computador, mais conhecido como IAS2. Junto com o IAS, surgiu um novo modelo
computacional chamado de modelo de Von-Neumann, esse novo modelo tornou-se a base
para desenvolvimentos computacionais posteriores. O modelo constitudo por uma memria
principal, uma unidade lgica aritmtica, uma unidade de controle e dispositivos de entrada e
sada como mostrado na figura 1. (Pitanga, 2008)
1
2
13
Para atender s necessidades da poca, este modelo era ideal, porm, conforme foram
surgindo necessidades maiores, foi-se modernizando e criando-se novas tecnologias. Por
exemplo, dispositivos de entrada e sada eram lentos e tarefas no eram executadas
paralelamente, dessa forma, foram surgindo avanos tecnolgicos, at ser criado um novo
conceito chamado de paralelismo.
Pode-se dizer que paralelismo significa agrupar vrios dispositivos a fim de somar
suas foras de processamento, suprindo assim, as necessidades que no vinham a ser
resolvidas at ento, fato esse que foi essencial para o desenvolvimento de computadores.
1.2
Segundo Pitanga (2008), pode-se definir o paralelismo como uma tcnica utilizada em
grandes e complexas tarefas para obter resultados na forma mais rpida possvel,
dividindo-se ento em tarefas pequenas que sero distribudas em vrios processadores
para serem executadas simultaneamente.
Pode-se ento concluir que o paralelismo significa fazer com que uma tarefa seja
divida em vrias outras tarefas menores e processadas em outros processadores
simultaneamente.
Arquiteturas, ou modelos de arquiteturas de computador so definidos pelos dados que
apresentam e pelos fluxos de instrues, sendo que desta maneira que se d a diviso das
tarefas. Essas definies foram feitas por Michael Flynn em 1972 (PITANGA, 2008). Elas
so divididas em quatro categorias:
14
anteriormente como Modelo de Von Neumann. o tipo de arquitetura mais simples pois
funciona com apenas um dado por instruo. Um exemplo mostrado na Figura 2.
15
instrues,
mltiplos
conjunto
de
dados.Todas
as
unidades
de
processamento tm uma unidade de controle prpria, assim permite-se que vrias instrues
sejam executadas em paralelo pelas unidades de processamento. Mais detalhes na figura 5.
1.3
Sistemas Distribudos.
16
1.4
Supercomputadores
Supercomputadores
so
computadores
de
altssimo
poder/velocidade
de
17
1.5
Consideraes Finais
Arquiteturas de alto nvel podem ser definidas como aquelas em que ocorre multiprocessamento, podendo ser feito de maneira distribuda ou centralizada. Esta caracterstica
extremamente til quando se pretende solucionar problemas de processamento, uma vez que
possvel agrupar o poder deste somando a fora de vrios dispositivos.
Dentre as arquiteturas de alto nvel, so as dos supercomputadores que podem
representar a melhor opo em situaes que demandam alta velocidade e grande poder de
processamento, uma vez que estas duas caractersticas esto presentes neste tipo de
arquitetura. No entanto, sistemas distribudos tm despertado interesse e estudos devido
praticidade e ao custo operacional que apresentam, uma vez que possvel criar ou, no
mnimo, aproximar a velocidade de processamento s dos supercomputadores.
Neste projeto foi adotada a arquitetura computacional MIMD em multicomputadores.
18
19
2.1 Funcionamento
Um sistema cluster possui vrias caractersticas, porm a mais importante, como dito
anteriormente a transparncia, ou seja, o sistema deve parecer centralizado em apenas um
dispositivo para o usurio.
20
2.1.3 Aplicaes
Pode-se concluir que clusters so bem aplicados diante de situaes que exigem alto
poder computacional, assim em qualquer local onde tivermos um grande problema
computacional em que o processamento paralelo seja considerado uma vantagem, pode ser
indicado utilizao em um cluster. (PITANGA, 2008).
Pitanga(2008) tambm cita exemplos de aplicaes onde esses sistemas podem ser
utilizados.So eles:
21
2.2
Tipos de Cluster
22
23
Para Pitanga (2003), de maneira geral, um servidor de boa qualidade apresenta uma
disponibilidade de 99,5%, e solues em cluster apresentam disponibilidade de 99,99%.
Conclui-se ento que servios que utilizam cluster para alta disponibilidade tm mais chances
de atingir o objetivo de prover servios sem interrupes.
Esta categoria tem como foco, o desenvolvimento de solues cujo objetivo principal
o ganho de desempenho atravs do agrupamento de sistemas de processamento, auxiliado
por algoritmos de processamento paralelo. (OMOTO, 2009).
Sendo assim, pode-se concluir que cluster de alto desempenho tem como objetivo a
soma de poder processamento para resolues de problemas cuja carga a ser processada
elevada.
HPC funciona paralelizando a aplicao a ser processada, ou seja, dividindo a
aplicao em tarefas menores e a distribuindo entre os ns do sistema, cada n processa sua
parte e devolve o resultado. Dessa maneira, tarefas muito grandes so processadas mais
rapidamente e sem custo excessivo se comparados a supercomputadores.
Um exemplo de cluster voltado para o desempenho o cluster beowulf, como
mostrado na figura 9:
24
Least Connection
Nesse algoritmo de balanceamento, a preferncia de destino da carga para ns onde
o nmero de solicitaes menor.
Round Robin
Encaminha as cargas de forma sequencial, ou seja, encaminhando a carga para o
primeiro n na sequncia que esteja disponvel.
Weighted Fair
A carga encaminhada preferencialmente para ns de maior poder computacional, ou
que tem maior capacidade de carga.
25
26
interessante citar tambm que aps 1997 Java RMI (Remote Method Invocation)
obteve bastante destaque.3
Para o desenvolvimento deste projeto ser dada nfase para o MPI, o qual foi utilizado
para a implementao do mesmo.
Informao Oral obtida em novembro de 2011 pelo Prof. Ms. Mauricio Duarte.
27
28
O mundo sem fio tem sido significantemente desenvolvido com produtos de redes de
Rdio Freqncia (RF). O objetivo desses produtos simplificar e transformar o modo de
comunicao e conduo de nossas vidas.(MOHAMMAD, 2003 apud CORRA et al. (s.d)).
Essas redes buscam primeiramente, num mbito mais abrangente, ocupar a lacuna
que impossibilitava a implementao de redes cabeadas por questes de patrimnio pblico
tombado, bem como pelo auto custo de se estabelecer uma rede fixa temporria.(CORRA
et al. s.d)
Nos ltimos cinco anos (2002) o mundo tem se tornado mais mvel. Como resultado,
tradicionais meios de rede vem provando serem inadequados para enfrentar os desafios
colocados pelo novo estilo de vida coletivo.4 (GAST, 2002).
A rede sem fio est presente no cotidiano atravs de celulares, comunicao TVSatlite, rdio amadores, entre outros, porm o seu uso mais aparente feito em rede de
computadores.
Redes e dispositivos sem fio esto cada vez mais populares uma vez que o acesso
informao e comunicao pode ser feito a qualquer hora e lugar.(MOHAPRATA,
KRISHNAMURTHY, 2004).
De acordo com Mohaprata e Krishnamurthy (2004),o uso de redes e dispositivos sem
fio vem ficando popular uma vez que o uso das redes wireless so mais prticas e no
necessitam de infraestrutura complexa como a de uma rede cabeada. Dessa forma se torna
possvel o acesso informao e comunicao instantnea.
Segundo Tanenbaum (2003), pode-se utilizar o critrio de escala para classificar uma
rede, como mostrado na figura 11.
Traduo prpria
29
Figura 11. Classificao de processadores interconectados por escala. (Fonte: TANENBAUM, 2003).
Para as redes sem fio, Tanenbaum (2003), faz uma diviso em trs categorias
Interconexo de Sistemas, LANs sem Fio, WANs sem Fio.
LANs sem Fio ou WLAN Wireless Local Area Network, rede local sem fio. Uma
rede local sem fio pode ser considerada uma extenso de uma rede local cabeada, que
converte os pacotes de dados em ondas de rdio e os envia para um ponto de acesso
que serve como uma conexo para uma rede local.(CORRA et al. s.d.).A
Figura12mostra um exemplo de uma WLAN.
WANs Sem Fio Wireless Wide Area Network, a abrangncia desse tipo a de maior
alcance, normalmente utilizada por operadoras de celular. CDMA5 e GSM6 so
exemplos desse tipo de rede sem fio.
Dentro da Rede Wireless existem duas principais topologias, ou seja, dois principais
modos de se montar essa rede. So elas:
5
6
30
As redes mveis ad hoc so a fronteiras finais em uma comunicao sem fio, e o fator
chave na evoluo desse paradigma (SANTINI, 2005). Essa abordagem de comunicao
permite que os nodos se comuniquem diretamente entre si ou atravs de mltiplos saltos
dentro da rede usando receptores e transmissores sem fio, sem a necessidade de uma
infraestrutura fixa (CAMPBELL, 2003 apud CORRA et al. s.d).
Como afirmado por Corra et al. (s.d.), toda a transmisso entre os dispositivos feita
sem nenhuma infraestrutura, e isso faz com que os prprios dispositivos ajam como
concentradores.
31
Mobilidade:
Configura-se como uma das principais caractersticas das redes ad hoc, uma vez que
possibilita de maneira prtica e rpida o reposicionamento e mobilidade dos ns. Em
reas com pouca infraestrutura, cujo objetivo obter determinado resultado com um
rpido desempenho, necessrio criar times teams/swarms que coordenem entre si
para executar uma fora tarefa ou misso. O modelo de mobilidade escolhida ir
influenciar de forma crucial a deciso quanto ao esquema de roteamento que,
consequentemente ir determinar o desempenho da tarefa a ser feita. Pode-se, assim,
escolher entre mobilidades individuais aleatrias, mobilidades em grupo, movimento
atravs de rotas pr-planejadas e outras.
Multi-hopping:
Dizer que uma rede possui caractersticas mltiplo saltos significa afirmar que os
trajetos percorridos desde a origem at o destino final atravessam diversos ns. As
redes ad hoc geralmente utilizam o recurso dos mltiplos saltos para solucionar
obstculos, conservar energia e reutilizar frequncia (spectrum reuse). As operaes
secretas em campos de batalha, visando evitar e/ou dificultar que inimigos descubram
seus contedos, tambm utilizam uma sequncia de saltos.
Auto-organizao:
A rede ad hoc deve determinar automaticamente seus parmetros de funcionamento,
incluindo: endereamento, roteamento, agrupamento, identificao de posicionamento,
controle de potncia, entre outras. Em alguns casos, ns especiais podem se coordenar
e distribuir em determinada rea geogrfica para que haja cobertura de territrios
desconectados.
Escalabilidade:
Em alguns casos a rede ad hoc pode expandir em centenas de milhares de ns em
pouco tempo dependendo das aplicaes a que so submetidas. A escalabilidade de
rede sem fio infraestruturada manipulada por construo hierrquica ou pode
tambm ser manipulada utilizando um ip-mvel ou tcnicas de handoff. Porm, como
as redes Ad Hoc possuem muita mobilidade, se esta for pura, no ir tolerar ser
manipulada por um ip-mvel ou qualquer hierarquia fixa. Levando estes fatores em
32
Segurana
Os desafios de segurana nas redes sem fio j so bem conhecidos, e, como j se sabe,
estas redes podem ser vistas e/ou ouvidas por intrusos. Dessa forma, muitos trabalhos
relacionados segurana esto sendo desenvolvidos para ambientes em rede sem fio
infraestruturada e, por consequncia, se estendendo para as redes ad hoc, uma vez que
estas so mais vulnerveis do que aquelas. Porm, uma das dificuldades encontradas
nas redes ad hoc em relao aos protocolos, muito mais difcil de detectar do que nas
redes infraestruturadas. Alm disso, ataques passivos s redes ad hoc podem ser mais
maliciosos/perigosos do que os ativos.
Restries de Energia
A maioria dos ns ad hoc, tais como laptops e PDAs7, possuem autonomia limitada e
incapacidade de gerar sua prpria energia. Dessa forma, imprescindvel que haja um
eficiente sistema de fornecimento ou gerao de energia para o sucesso e durao da
misso.
3.1.2 Aplicaes
33
Veculos no tripulados
Alguns dos aplicativos populares das redes ad hoc exigem componentes robticos no
tripulados. Todos os ns de uma rede genrica so, obviamente, capazes de criar redes
autonomamente. Quando se adiciona tambm uma mobilidade autnoma, surgem
interessantes oportunidades de se associar networking com deslocamento. Um
exemplo so os chamados UAVs Unmanned Airborne Vehicles, que so capazes de
manter uma rede ad hoc de grande terreno interconectada apesar dos muitos
obstculos fsicos, das irregularidades do canal de propagao e enemyjamming. Alm
disso, as UAVs conseguem conciliar uma performance relativamente restrita atravs
de um posicionamento e beaming de antena adequados.
Sensores
O uso de sensores em determinado ambiente tem se mostrado popular a medida que
permite coletar processos, operar de forma automtica alm de transmitir informaes
sem o suporte de uma infra-estrutura.
Conexo Internet
H algumas vantagens em expandir a rede infrestruturada com apndices de ad hoc.
Por exemplo, o alcance de uma LAN sem fio domstica pode ser aumentada, se
preciso para a garagem, casa de um vizinho e outras com roteadores portteis.
Estas extenses tm se tornado extremamente importantes e so significativas na
medida em que surgem aplicaes comerciais das mesmas. A integrao de um
protocolo ad hoc com padres infra estruturados est, portanto, se tornando uma
questo de grande relevncia atualmente.
Assistncia a Desastre
Redes ad-hoc se moldam muito bem nesse tipo de caso, uma vez que sua aplicao
no necessita de infraestrutura elas podem ser altamente flexveis para a troca de
informaes com sobreviventes ou at mesmo com o prprio grupo de resgate.
34
3.2
Consideraes Finais
35
Toda pesquisa caracteriza-se por ser um procedimento racional cujo principal objetivo
encontrar respostas aos problemas que so propostos, alm de confirmar ou refutar as
hipteses levantadas. (GIL, 2008).
Dessa forma, procurando observar de que maneira ocorre a implementao de um
sistema cluster baseado em uma rede ad hoc e se este vivel quando comparado com um
sistema centralizado, realizou-se uma pesquisa exploratria e prtica.
A pesquisa exploratria tem como objetivo explorar um assunto ainda pouco
conhecido, pouco estudado. Caracteriza-se por ser a primeira, ou uma das primeiras
aproximaes de um determinado tema e, por ser um tipo de pesquisa muito especfica, quase
sempre assume a forma de um estudo de caso.
Foram utilizados, portanto, dois procedimentos metodolgicos para conduzir esta
pesquisa: o levantamento bibliogrfico e o estudo de caso. Estes, assim como qualquer outro
procedimento metodolgico, so utilizados a fim de juntar informaes teis para construir
raciocnios e concluses a respeito de um fenmeno.
O levantamento bibliogrfico um procedimento bsico e obrigatrio em qualquer
pesquisa. Consiste na leitura e anlise de livros, artigos, revistas, teses, entre outros e
pretende-se, atravs deste, obter informaes amplas e profundas a respeito de determinado
assunto. imprescindvel para familiarizar o pesquisador em relao ao assunto escolhido e
fundamentar seus estudos.
J o estudo de caso consiste no estudo profundo e exaustivo de um caso em particular
e permite conhecer o objeto de uma forma ampla e detalhada. Tem como finalidade explorar
situaes da vida real que no apresentam com clareza algum aspecto, descrever situaes da
realidade, explicar fenmenos especficos em situaes tambm especficas que no poderiam
ser obtidos de outra forma, dentre outros. necessrio ressaltar que os resultados no podem
ser generalizados, uma vez que foram obtidos e observados em uma amostra no significativa.
De acordo com Yin (2001), o estudo de caso compreende trs etapas: 1) a escolha do
referencial terico que se pretende utilizar etapa esta que foi feita e explicada anteriormente
36
neste trabalho ; 2) a seleo do(s) caso(s) e forma de coleta de dados; 3) anlise dos dados e
interpretao dos resultados.
4.1.1 MPICH2
37
Configurao do MPICH2
38
39
40
41
42
Para execuo do algoritmo no basta somente executar o programa que foi gerado.
Depois de compilado o programa deve-se colocar o arquivo executvel dentro de uma pasta
compartilhada que foi criada durante o processo de configurao do MPICH2, feito isso abra
ento o executvel wmpiexec.exe que est localizado na pasta de instalao do MPICH2. A
figura 16 mostra a interface deste.
43
44
CAPTULO 5 RESULTADOS
)(
()
()
45
Quando executado com 9.000 posies no vetor, houve melhor desempenho (Tempo x
Quantidade de Ns) quando realizado com apenas um n (0,002s), enquanto em dois ns o
tempo foi de 0,011s e com trs ns 0,028s. Isto pode ser observado na tabela 1 e grfico 1.
Quantidade de Ns Tempo
1 N
0,002s
2 Ns
0,011s
3 Ns
0,028s
Tabela 1 Situao 1.
Grfico 1 Situao 1
46
Quantidade de Ns Tempo
1 N
0,118s
2 Ns
0,25s
3 Ns
0,58s
Tabela 2 Situao 2
Grfico 2 Situao 2
0,908s
2 Ns
4,69s
3 Ns
3,53s
Tabela 3 Situao 3
47
Grfico 3 Situao 3
Situao 4 9.000.000
Quantidade de Ns Tempo
1 N
2 Ns
3 Ns
13,59s
48,19s
35,976s
Tabela 4 Situao 4
48
Grfico 4 Situao 4
Situao Geral
50
48
46
44
42
40
38
36
34
32
30
28
26
Tempo(s) 24
22
20
18
16
14
12
10
8
6
4
2
0
48,19
35,976
1
2
13,59
0,011
0,002 0,028
0,25
0,118 0,58
4,69
3,53
0,908
9.000
150.000
900.000
9.000.000
49
CAPTULO 6 - CONCLUSO
50
REFERNCIAS BIBLIOGRFICAS
em:
em:
51
PITANGA,
Marcos.
Computao
em
Cluster.
2003.
Disponvel
http://www.clubedohardware.com.br/artigos/153. Acesso em: 10 de Setembro de 2011.
em:
52
53
gap = 3 * gap + 1;
} while (gap < tamanho);
do {
gap /= 3;
for (i = gap; i < tamanho; i++) {
valor = vetor[i];
j = i - gap;
while (j >= 0 && valor < vetor[j]) {
vetor [j + gap] = vetor[j];
j -= gap;
}
vetor [j + gap] = valor;
}
} while (gap > 1);
}
int *merge(int **vec, int N, int *vSize) {
int i, j, k, fSize;
int *fVector;
int *vecPointer;
// Calculando tamanho final do vetor
for ( i = 0, fSize = 0; i < N; i++ )
fSize += vSize[i];
// Vetor final
fVector = (int *)malloc(fSize * sizeof(int));
// Posio atual dos vetores
vecPointer = (int *)malloc(N * sizeof(int));
for ( i = 0; i < N; i++ )
vecPointer[i] = 0;
// Merge
for ( i = 0; i < fSize; i++ )
{
// Escolha o menor elemento dentre os vetores
k = -1;
for ( j = 0; j < N; j++ )
{
if ( (vecPointer[j] < vSize[j]) && (k == -1) )
k = j;
else
if ( vecPointer[j] < vSize[j] )
if ( vec[k][vecPointer[k]] > vec[j][vecPointer[j]] )
k = j;
}
54
if ( myRank == 0 )
{
if ( nProc == 1 )
{
start = clock();
55
}
// Ordenando "meu" pedaco do vetor
shellSort(&(vector[tSize]), vSize[i]);
56