Clique abaixo para nos ajudar
Login

Esqueci minha senha

Estamos no Facebook
Buscar
 
 

Resultados por:
 


Rechercher Busca avançada

Quem está conectado
16 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 16 Visitantes :: 2 Motores de busca

Nenhum

[ Ver toda a lista ]


O recorde de usuários online foi de 468 em 1/3/2012, 10:43
Últimos assuntos
USAR REPORT FORM

30/12/2016, 09:06 por AJC

Pessoal bom dia,
Estou com um grande problema, já pesquisei muita coisa sobre report form, mas o …

Comentários: 2

Impressora Ticket

15/11/2016, 09:20 por clima238

Bom dia,
Por favor alguém me explique porque o código abaixo imprime no ecrã em vez do printer: …

Comentários: 2

Visite meu canal no Youtube

20/1/2017, 00:45 por ImRicoh

VFP Unlimited


Comentários: 0

Bloquear edição do ListBox

17/6/2010, 15:13 por Julio

Pessoal

Boa Tarde!

Tnho uma listbox apenas para exibir o resultado.
Preciso bloquear a listbox …

Comentários: 17

automação do mozilla e chrome

15/1/2017, 12:16 por Handerson Mildroz

Boa tarde a todos!

Sou iniciante no VFP. Preciso de ajuda, pois tenho um código que usa o …

Comentários: 0

Estatísticas
Temos 6991 usuários registrados
O último usuário registrado atende pelo nome de cpmacedo

Os nossos membros postaram um total de 8 mensagens em 3 assuntos

O que é Cluster?

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Informativo O que é Cluster?

Mensagem por hugo em 7/1/2010, 18:21

Galera, o jrinformatica postou um link que achei maravilhoso, como achei ele muito importante estou replicando ele aqui para que num futuro nao fiquemos com links quebrados

Creditos:
http://www.vivaolinux.com.br/artigo/Funcionamento-de-um-cluster-Linux
by jrinformatica


Cluster é um conjunto de máquinas (no caso de cluster Linux, especificamente, PC's) interligadas via rede que trabalham em conjunto trocando informações entre si.

A tecnologia de cluster é mais antiga do que se pensa. Ela começou nas máquinas de alto desempenho (supercomputadores). O desenvolvimento dessa tecnologia em PC's foi motivada devido ao alto preço dos supercomputadores, começando em 1994 com o desenvolvimento do cluster Beowulf pela NASA.


O Cluster Beowulf

Em 1994, a NASA, agência espacial norte-americana, necessitava de um equipamento com poder de processamento da ordem de um gigaflop. Uma máquina de tecnologia RISC com tal nível de desempenho custava em torno de um milhão de dólares. Diante disso, os pesquisadores Thomas Sterling e Donald J. Becker decidiram então interligar 16 computadores pessoais, cada um com um microprocessador 486, usando Linux e uma rede ethernet. Este conjunto atingiu a marca de 70 megaflops. Para a época, era uma velocidade comparável a de pequenos supercomputadores comerciais. O custo total do sistema foi de quarenta mil dólares ou seja, dez por cento do preço de uma máquina equivalente para a época.

Uma característica chave de um cluster Beowulf é o uso do Linux e de bibliotecas para troca de mensagens (vistas no próximo artigo) de livre distribuição, permitindo assim alterações no sistema operacional.

Um cluster pode possuir vários tipos de configurações diferentes, tanto na montagem do hardware quanto na configuração do sistema. Os tipos mais comuns de Clusters linux são:

Cluster de processamento paralelo: cada vez que o cluster recebe uma tarefa para executar (por exemplo, a renderização de um filme), já previamente preparada para rodar em processamento paralelo, o cluster divide os pedaços da tarefa para cada uma das máquinas realizar. Dessa forma, com várias máquinas trabalhando ao mesmo tempo em uma única tarefa, o tempo necessário para executá-la torna-se consideravelmente menor. Caso esse cluster possua um sistema de fila de espera, cada tarefa poderá contar com toda a capacidade de processamento do cluster. Se não há sistema de fila, cada vez que chega uma tarefa nova, os processadores dividem a sua capacidade de trabalho entre as tarefas. Um cluster paralelo é ideal para executar poucas tarefas, mas que exigem grande quantidade de processamento.

Cluster de disponibilidade: esse tipo de cluster funciona como um gerenciador de tarefas, ou seja, cada máquina trabalha sozinha, porém a distribuição de tarefas é feita de tal forma que os processadores estão sempre trabalhando na capacidade total. Nesse tipo de cluster é vital a implementação de um sistema de filas com vários níveis de prioridades diferentes, onde o servidor de filas irá gerenciar qual processador ficará com qual tarefa e o quanto de sua capacidade será utilizado para cada tarefa. Esse tipo de cluster é ideal para trabalhar com grandes quantidades de tarefas que exigem pequenas ou médias capacidades de processamento.

Atualmente, com a constante redução nos preços e o contínuo aumento na velocidade e capacidade de processamento dos PC's, muitos dos supercomputadores - devido ao seu alto custo - começam a perder viabilidade frente aos clusters Linux.

Esse artigo é o primeiro de uma série que visa detalhar o funcionamento e os conceitos por trás da computação de alto desempenho, mais especificamente o cluster Linux. Espero que gostem e aproveitem as informações.

continua....


Última edição por hugo em 7/1/2010, 18:38, editado 2 vez(es)

_________________
"A tristeza é a falta de alegria, mais sem ela eu não poderia entender a alegria do fato de que a felicidade existe!"
Helio Leites - http://www.youtube.com/watch?v=3NUEXX_yOL0

hugo
Usuário 5 Estrelas
Usuário 5 Estrelas


Voltar ao Topo Ir em baixo

Informativo Cluster Linux: Parte II - A revanche

Mensagem por hugo em 7/1/2010, 18:34

Entendendo as bibliotecas de paralelização

Créditos:
http://www.vivaolinux.com.br/artigo/Funcionamento-de-um-cluster-Linux-Parte-II-A-revanche
by jrinformatica

As bibliotecas de paralelização são a alma do desenvolvimento dos aplicativos para os clusters Linux, pois são elas que possibilitam que um mesmo aplicativo utilize os recursos computacionais de mais de uma máquina ao mesmo tempo, através dos protocolos de comunicação.

O cerne das aplicações paralelas é a utilização de mais de um processador para rodar a mesma aplicação, para se obter isso, é necessários que esses processadores se comuniquem, o que ocorre basicamente de duas formas:
-através de memória compartilhada, ou;
-troca de mensagens.

A memória compartilhada é utilizada quando existem mais de um processador em uma mesma máquina. Esse tipo de hardware é bastante comum em grandes CPDs. Para os usuários de máquinas pessoais e pequenas empresas, não é comum possuir mainboards com mais de dois processadores, devido ao seu alto custo. Dessa forma, esse tipo de paralelismo não é tão comum entre os usuários, embora seja uma programação relativamente fácil de ser feita. As máquinas com essa configuração gerenciam as requisições de acesso, feita pelos processadores, à uma memória unificada, impedindo com isso o acesso simultâneo de mais de um processador.

A memória distribuída é utilizada quando se tem mais de uma máquina trabalhando em conjunto, ou seja, cada máquina é independente das outras, com processador e memória própria, além disso é necessário que elas troquem informações entre si, isso é feito via rede. É nesse contexto que entram em cena as bibliotecas de trocas de mensagens, permitindo que várias máquinas de baixo custo trabalhem com desempenho próximo a uma máquina de alto custo.

Com a evolução dos compiladores a divisão entre memória compartilhada e memória distribuída está ficando obsoleta, com as simulações de memória compartilhada em máquinas inicialmente com memória distribuída. A idéia consiste em os processadores através de rede e simular memória compartilhada através de troca de mensagens. Isso é feito com cada processador determinando uma área de sua memória que será compartilhada com os demais processadores da rede.

As bibliotecas de programação utilizadas para trabalhar com esses tipos de máquinas são:


OpenMP

O OpenMP não é exatamente uma biblioteca de comunicação. Essa biblioteca tem como objetivo prover a comunicação entre processadores com memória compartilhada, ou em maquinas que simulem memória compartilhada em cima de memória distribuída.

O OpenMP divide as iterações entre os processadores disponíveis, isso implica que para um mesmo código existe trechos do código que rodam de forma seqüencial e trechos que rodam de forma paralela. Embora não seja um método que possibilite uma grande otimização do processamento, se comparado com os outros métodos de paralelismo, o OpenMP possui a vantagem de ser de fácil utilização, pois as diretivas são auto gerenciáveis.


PVM

A idéia do Parallel Virtual Machine consiste em montar uma máquina virtual de n processadores e usá-los para executar tarefas simultâneas. O PVM é dividido em três partes principais:
console: usado para montar a máquina paralela virtual.
daemon: um programa que roda em cada máquina do ambiente estabelecendo a comunicação entre as diversas máquinas.
biblioteca: é na biblioteca que reside as funções e sub-rotinas que instruem o código a dividir as tarefas entre os daemons.

A biblioteca dispõe de recursos que possibilitam manipular qualquer coisa do seu ambiente virtual, inclusive em tempo de execução, embora não seja muito inteligente fazê-lo dessa forma. Devido ao custo computacional de se adicionar e retirar máquinas em tempo de execução. O ideal é criar a máquina virtual fora do código, através do console, e usá-la várias vezes, ou mesmo deixá-la ativa enquanto as máquinas estiverem ligadas, além de possibilitar disparar e matar processos a partir do console.


MPI

O MPI (Message Passing Interface) é constituído por um padrão de troca de mensagens com sintaxe definida, mas preservando características exclusivas de cada arquitetura, inclusive para arquiteturas de memória compartilhada.

O principal objetivo do MPI é otimizar a comunicação e aumentar o desempenho computacional das máquinas, não possuindo dessa forma gerenciamento dinâmico de processos e processadores.

Embora exista a restrição citada acima, os programas escritos em MPI tendem a serem mais eficientes pelo fato de não haver overhead na carga de processos em tempo de execução.

A diferença básica entre o MPI e o PVM é que, ao contrario do anterior, no MPI existe um único código fonte igual para todas as máquinas e conseqüentemente um único processo rodando.

O MPI funciona da seguinte forma: cada máquina (node) recebe uma copia do código fonte e um nome. Cada node começa a executar o programa a partir da primeira linha de comando utilizando as seguintes diretrizes:
1.Executar todas as linhas de comando não nomeadas;
2.Executar as linhas de comando nomeadas com o mesmo nome do node;
3.Não executar as linhas de comando com o nome de outro node.

Para que o programa siga essas diretrizes, o que é feito é a inclusão de vários comandos if, com a seguinte estrutura:

"Se eu sou o nodo tal, faço isso... Se não faço aquilo...".

A grande dificuldade que esse sistema acarreta é a necessidade de manter os diversos processos de troca de informações em sincronismo, para que uma máquina não perca muito tempo aguardando que as outras máquinas enviem informações.

continua...

_________________
"A tristeza é a falta de alegria, mais sem ela eu não poderia entender a alegria do fato de que a felicidade existe!"
Helio Leites - http://www.youtube.com/watch?v=3NUEXX_yOL0

hugo
Usuário 5 Estrelas
Usuário 5 Estrelas


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo


 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum