Virtualização e Cluster

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

Virtualização e Cluster

Mensagem  Renancr em Dom 25 Abr 2010 - 20:17

Segue a lista para desenvolvimento do seminário.
Legenda: Já postado Very Happy Não posrtado ainda Question
Rafael - Virtualização Question
Renan - Cluster Very Happy
avatar
Renancr

Mensagens : 118
Data de inscrição : 08/03/2010

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Cluster

Mensagem  Renancr em Dom 25 Abr 2010 - 20:22

Cluster
Um cluster, ou aglomerado de computadores, é formado por um conjunto de computadores, que utiliza um tipo especial de sistema operacional classificado como sistema distribuído. Muitas vezes é construído a partir de computadores convencionais (personal computers), os quais são ligados em rede e comunicam-se através do sistema, trabalhando como se fossem uma única máquina de grande porte. Há diversos tipos de cluster. Um tipo famoso é o cluster da classe Beowulf, constituído por diversos nós escravos gerenciados por um só computador.

História
A idéia inicial da congregação do "PC SHOW" da Microsoft, era que um buffer entre a memória e o processador fosse chamada de cluster. Mas foi desenvolvida na década de 1960 pela IBM como uma forma de interligar grandes mainframes, visando obter uma solução comercialmente viável de paralelismo no Paquistão. Nesta época o sistema HASP (Houston Automated Spooling Program) da IBM e seu sucessor o JES (Job Entry System) proviam uma maneira de distribuir tarefas nos mainframes interligados. A IBM ainda hoje (2001) suporta o cluster de mainframes através do Parallel Sysplex System, que permite ao hardware, sistema operacional, middleware e software de gerenciamento do sistema prover uma melhora dramática na performance e custo ao permitir que usuários de grandes mainframes continuem utilizando suas aplicações existentes.
Entretanto, o cluster ganhou força até que três tendências convergiram nos anos 1980: microprocessadores de alta performance, redes de alta velocidade, e ferramentas padronizadas para computação distribuída de alto desempenho. Uma quarta tendência possível é a crescente necessidade de poder de processamento para aplicações científicas e comerciais unida ao alto custo e a baixa acessibilidade dos tradicionais supercomputadores.
No final de 1993, Donald Becker e Thomas Sterling iniciaram um esboço de um sistema de processamento distribuído construído a partir de hardware convencional como uma medida de combate aos custos dos supercomputadores. No início de 1994, trabalhando no CESDIS, com o patrocínio do projecto HTPCC/ESS, criaram o primeiro cluster desse tipo, o projecto Beowulf.
O protótipo inicial era um cluster de 16 processadores DX4 ligados por dois canais Ethernet acoplados (Ethernet bonding). A máquina foi um sucesso instantâneo e esta idéia rapidamente se espalhou pelos meios académicos, pela NASA e por outras comunidades de pesquisa.

Tipos de cluster
Existem vários tipos de cluster, no entanto há alguns que são mais conhecidos, os quais são descritos a seguir:
Cluster de Alto Desempenho: Também conhecido como cluster de alta performance, ele funciona permitindo que ocorra uma grande carga de processamento com um volume alto de gigaflops em computadores comuns e utilizando sistema operacional gratuito, o que diminui seu custo.
Cluster de Alta Disponibilidade: São clusters os quais seus sistemas conseguem permanecer ativos por um longo período de tempo e em plena condição de uso. Sendo assim, podemos dizer que eles nunca param seu funcionamento; além disso, conseguem detectar erros se protegendo de possíveis falhas.
Cluster para Balanceamento de Carga: Esse tipo de cluster tem como função controlar a distribuição equilibrada do processamento. Requer um monitoramento constante na sua comunicação e em seus mecanismos de redundância, pois se ocorrer alguma falha, haverá uma interrupção no seu funcionamento.

[Você precisa estar registrado e conectado para ver esta imagem.]

Sistema distribuído
A computação distribuída, ou sistema distribuído, é uma referência à computação paralela e descentralizada, realizada por dois ou mais computadores conectados através de uma rede, cujo objetivo é concluir uma tarefa em comum.

Definição
Um sistema distribuído segundo a definição de Andrew Tanenbaum é uma "coleção de computadores independentes que se apresenta ao usuário como um sistema único e consistente"; outra definição, de George Coulouris, diz: "coleção de computadores autônomos interligados através de uma rede de computadores e equipados com software que permita o compartilhamento dos recursos do sistema: hardware, software e dados”.
O (SGBD) Sistema Gestor de Base de Dados é o conjunto de programas de computador (softwares) responsáveis pelo gerenciamento de uma base de dados. O principal objetivo é retirar da aplicação cliente a responsabilidade de gerenciar o acesso, manipulação e organização dos dados. O SGBD disponibiliza uma interface para que os seus clientes possam incluir, alterar ou consultar dados. Em bancos de dados relacionais a interface é constituída pelas APIs ou drivers do SGBD, que executam comandos na linguagem SQL.
O suporte completo de um sistema de banco de dados distribuídos implica que uma única aplicação seja capaz de operar de modo transparente sobre dados dispersos em uma variedade de banco de dados diferentes, gerenciados por vários SGBDs diferentes, em execução em uma variedade de máquinas diferentes que podem estar rodando em diversas plataformas diferentes e uma variedade de sistemas operacionais. Onde o modo transparente diz respeito à aplicação operar sob um ponto de vista lógico como se os dados fossem gerenciados por um único SGBD, funcionando em uma única máquina com apenas um sistema operacional.
Assim, a computação distribuída consiste em adicionar o poder computacional de diversos computadores interligados por uma rede de computadores ou mais de um processador trabalhando em conjunto no mesmo computador, para processar colaborativamente determinada tarefa de forma coerente e transparente, ou seja, como se apenas um único e centralizado computador estivesse executando a tarefa. A união desses diversos computadores com o objetivo de compartilhar a execução de tarefas, é conhecida como sistema distribuído.

Organização
Organizar a interação entre cada computador é primordial. Visando poder usar o maior número possível de máquinas e tipos de computadores, o protocolo ou canal de comunicação não pode conter ou usar nenhuma informação que possa não ser entendida por certas máquinas. Cuidados especiais também devem ser tomados para que as mensagens sejam entregues corretamente e que as mensagens inválidas sejam rejeitadas, caso contrário, levaria o sistema a cair ou até o resto da rede.
Outro fator de importância, é a habilidade de mandar softwares para outros computadores de uma maneira portável de tal forma que ele possa executar e interagir com a rede existente. Isso pode não ser possível ou prático quando usando hardware e recursos diferentes, onde cada caso deve ser tratado separadamente com cross-compiling ou reescrevendo software.
Sistema de processamento distribuído
Um sistema de processamento distribuído ou paralelo é um sistema que interliga vários nós de processamento (computadores individuais, não necessariamente homogéneos) de maneira que um processo de grande consumo seja executado no nó "mais disponível", ou mesmo subdividido por vários nós. Conseguindo-se, portanto, ganhos óbvios nestas soluções: uma tarefa qualquer, se divisível em várias subtarefas pode ser realizada em paralelo.
A nomenclatura geralmente utilizada neste contexto é HPC (High Performance Computing) e/ou DPC (Distributed/Parallel Computing).

Desenvolvimento
Este é um assunto muito vasto e, embora com alguma idade, só em 2001 se começou a falar em standards para estas soluções, que são utilizadas (em larga escala) geralmente nos meios científicos e outros de cálculo intensivo pela sua extensibilidade. São bastante flexíveis, já que permitem a coexistência de sistemas desenhados especificamente para isso (por exemplo, a arquitectura NUMA), de sistemas desktop, e mesmo de sistemas considerados obsoletos, mas não o suficiente para permitir a coexistência de soluções semelhantes.
Antes de avançar, será necessário distinguir um sistema de multiprocessamento paralelo (SMP) de um sistema distribuído. Para um sistema ser de processamento distribuído, uma ou várias unidades de processamento (CPU) estará separada fisicamente da(s) outra(s), enquanto que num sistema SMP todas as unidades de processamento se encontram na mesma máquina. Ambos sistemas são capazes de processamento paralelo, e qualquer um deles pode ser visto como elemento de um sistema distribuído!
Com os desenvolvimentos nesta área, surgiram soluções por software que fazem, geralmente (mas não necessariamente), alterações no núcleo do sistema operativo e que, na maioria dos casos, não são compatíveis entre elas, e dificilmente entre versões diferentes da mesma solução. Assentam, no entanto, em arquitecturas de comunicação standard, como é o caso da Parallel Virtual Machine e Message Passing Interface. Resumidamente, estas arquitecturas conseguem transportar um processo (tarefa) e o seu contexto (ficheiros abertos, etc.) pela rede até outro nó. O nó que originou o processo passa, assim, a ser apenas um receptor dos resultados desse processo.
Atualmente, a principal barreira destes sistemas é implementar mecanismos de Inter-Process Communication (IPC), os Distributed IPC, dada a sua extrema complexidade.
Arquitetura
A Figura 1 ilustra as várias camadas de interoperabilidade de um sistema distribuído. Através do gateway a rede pública tem acesso a um supercomputador, sem ter conhecimento disso, dado que só conhece o gateway. Qualquer aplicação executada no gateway (preparada para ser paralelizada) pode ser distribuída por vários nós, entregando os resultados mais rápido do que se fosse processada por apenas um nó.

[Você precisa estar registrado e conectado para ver esta imagem.]
avatar
Renancr

Mensagens : 118
Data de inscrição : 08/03/2010

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Virtualização

Mensagem  Renancr em Sab 1 Maio 2010 - 15:25

Virtualização

Em computação, virtualização é uma forma de esconder as características físicas de uma plataforma computacional dos utilizadores, mostrando outro hardware virtual, emulando um ou mais ambientes isolados.
O conceito de virtualização de desktops é o mesmo empregado na virtualização de servidores, ou seja, executar diversos sistemas operativos num único equipamento físico.
Uma forma já bastante difundida, apesar de não utilizar esta mesma terminologia, é a virtualização de desktops, através do uso de servidores de terminais, onde cada utilizador ligado ao sistema possui a sua sessão dentro de um mesmo sistema operativo. Os terminais são normalmente máquinas com recursos mais limitados, dado que praticamente todo o processamento necessário é feito no servidor.
Actualmente, as máquinas virtuais que, normalmente, são utilizadas para virtualizar servidores, tem-se difundido, também, no uso para a virtualização de desktops. Este novo conceito de virtualização para desktops diferencia-se do já difundido serviço de terminais, pois neste cenário, cada utilizador possui um sistema operativo próprio, tal como se estivesse utilizando um desktop normal. Este conceito elimina qualquer trauma de migração, e possui uma série de benefícios e inconvenientes.

Vantagens da Virtualização

• Gerenciamento centralizado
• Instalações simplificadas
• Facilidade para a execução de backups
• Suporte e manutenção simplificados
• Acesso controlado a dados sensíveis e à propriedade intelectual mantendo-os seguros dentro do data center da empresa
• Independência de Hardware
• Disponibilização de novos desktops reduzida para alguns minutos
• Migração de desktops para novo hardware de forma transparente
• Maior disponibilidade e mais fácil recuperação de desktops
• Compatibilidade total com as aplicações
• Economia de espaço fisico para o cliente

Inconvenientes da Virtualização

• Grande consumo da capacidade em disco - é necessário espaço para que cada máquina virtual tenha o seu próprio sistema operativo e as aplicações instaladas
• Dificuldade no acesso direto a hardware, como por exemplo placas gráficas ou dispositivos USB
• Grande consumo de memória RAM dado que cada máquina virtual vai ocupar uma área separada da mesma

Cloud Computing: Prepare-se para a nova onda em tecnologia

Conceito começa a ganhar força no mercado e extrapola a idéia inicial de que seria aplicado somente a hardware.
O termo “cloud computing” tem se tornado popular associado à utilização de uma rede massiva de servidores físicos ou virtuais – uma nuvem – para a alocação de um ambiente de computação. É isso, mas não só.
Apesar do foco inicial em hardware, especialistas defendem tratar-se de um conceito mais amplo, principalmente quando se fala de sua aplicação em negócios.
“O cloud computing é, na verdade, um super conjunto de recursos que abrange servidores, impressão, armazenamento e também processos”, afirma Waldir Arevolo, sócio-diretor da TGT Consulting.
Posto desta forma, o conceito ganha formas mais complexas do que vem se disseminando até aqui e impõe um desafio aos que se propõem a utilizá-lo: fazer com que todos estes recursos trabalhem de forma integrada.
Na verdade, uma arquitetura em cloud deve dispor de uma infra-estrutura de gerenciamento que inclua funções como provisionamento de recursos computacionais, balanceamento dinâmico do workload e monitoração do desempenho.
O conceito já é comum em algumas empresas, como o Google e o Yahoo, que mantêm parques computacionais com centenas de milhares de máquinas. Um exemplo: estima-se que as cinco maiores empresas de busca na Internet tenham ao todo um parque computacional de cerca de 2 milhões de servidores!
Arevolo explica que, tendo estes parques à disposição, a aplicação do conceito trata do rearranjo e redirecionamento dos recursos já existentes para atender novas demandas. “A palavra chave para isso é gerenciamento, uma vez que estes recursos não estarão no mesmo lugar e nem pertencerão às mesmas empresas”, afirma.
Apesar disso, o conceito nasce para solucionar um problema originado dentro das corporações. “As organizações de TI gastam hoje 80% de seu tempo com a manutenção de sistemas e não é seu objetivo de negócio manter dados e aplicativos em operação. É dinheiro jogado fora, o que é inaceitável nos dias de hoje”, defende Clifton Ashley, diretor do Google Enterprise para a América Latina.
José Nilo Martins, diretor do Google Enterprise no Brasil, afirma o cloud está profundamente relacionado aos termos software como serviço (do inglês, SaaS) e ASP (Application Service Provider). “O cloud é uma evolução de um conceito básico: utilizar serviços de uma rede externa”, diz.
Desafios a serem vencidos
O que falta para a adoção em massa pelas empresas
• Conhecer os componentes e seus responsáveis – a empresa precisa saber do que a nuvem a composta e quem são os responsáveis pos seus componentes.
• O conceito segue o modelo de colaboração – o usuário precisa conhecer e saber usar a plataforma e os padrões, o que vai lhe permitir ampliar a nuvem e seu valor.
• Provar que o conceito pode ir além da virtualização e do software.
• Definir questões relacionadas a gerenciamento e interoperabilidade.

[Você precisa estar registrado e conectado para ver este link.]

[Você precisa estar registrado e conectado para ver este link.]
avatar
Renancr

Mensagens : 118
Data de inscrição : 08/03/2010

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Virtualização 2 (parte 2)

Mensagem  rafael de cristo em Sex 7 Maio 2010 - 12:21

O que é virtualização de computadores

Virtualização é um processo para executar vários sistemas operacionais
em um único equipamento (hardware). Sendo assim, teremos o conceito de
maquinas virtuais que é um ambiente operacional completo que se comporta
como se fosse um computador independente. Com a virtualização, um servidor
pode manter vários e diferentes sistemas operacionais, em uso ao mesmo
tempo.
Não existem regras que ditem qual sistema você pode usar em um
ambiente de maquina virtual, normalmente se você pode instalar um sistema
operacional em um hardware “real”, poderá instalálo
em um ambiente de virtualização, ou seja, em uma maquina virtual.




O que é um MAINFRAMES?

Um mainframe é um computador de grande porte, dedicado normalmente ao processamento de um volume grande de informações. Os mainframes são capazes de oferecer serviços de processamento a milhares de usuários através de milhares de terminais conectados diretamente ou através de uma rede. (O termo mainframe se refere ao gabinete principal que alojava a unidade central de processamento nos primeiros computadores.).






Quando surgiu a Virtualização de computadores

A virtualização surgiu do que já era feito nos MAINFRAMES[2] na década
de 80, a otimização da capacidade de armazenamento. No final dos anos 90, a
tecnologia passou a ser desenvolvida para servidores das plataformas X86[1] e
hoje é uma realidade a virtualização de desktops. Hoje, as máquinas virtuais
podem ser acessadas de qualquer lugar, usando soluções com servidores de
virtualização, é o caso de virtualização com o VMWARE[3].



* Alguns benefícios da virtualização para o mercado *
A redução de custos foi o primeiro beneficio, levantado:

•Relativos à administração: Como em um ambiente de maquinas virtuais
temos menos servidores físicos, a administração é mais rápida e
simplificada.
•Economia de energia, ar condicionado e espaço físico: Novamente
movidos pela Redução do numero de servidores físicos, em um ambiente
de maquinas virtuais os custos com energia, assim como ar condicionado,
e a redução do espaço para a instalação dos servidores físicos, são
fatores que contam a favor de uma implantação de maquinas virtuais.

Na otimização das informações: Com o desenvolvimento da tecnologia as
empresas também ganharam, na otimização das informações armazenadas e de
as maquinas rodarem com menos ociosidade, ou seja, usar sempre o hardware
disponível, sem ter aquele ou outro servidor que fica ocioso durante grande parte
do dia, e outro que sempre esta com os processos no topo da sua capacidade,
com o uso de maquinas virtuais podemos medir estes processos e dividir
corretamente o hardware a ser utilizado por cada maquina virtual


Como funciona a virtualização de computador

Uma maquina virtual normalmente simula um ambiente de execução de
um computador real, com direito a pressionar DEL ou F2 para entrar no setup da
BIOS, teste de memória, etc., vamos precisa instalar o sistema operacional
como qualquer máquina nova, usando o boot por CD ou por disquete é requerido
para isso, claro, exatamente como um computador novo.
Outro tipo de virtualização é a da linguagem de programação JAVA(10),
falase sobre a MAQUINA VIRTUAL JAVA,(JVM(11), na sigla em inglês) uma
emulação de uma maquina hipotética baseada em especificações estritas. Os
estados internos não são realmente importantes para o usuário. A JVM(11)
funciona como um processador virtual dentro de um ambiente virtual de
execução.
Esse tipo de emulação também é possível num sistema computacional
completo, a tarefa normalmente não e gerenciada pelo hardware, mas requer um componente de hardware especial para esse suporte, um tipo de sistema
operacional rudimentar conhecido como MONITOR DE MAQUINAS VIRTUAIS
(vmm, na sigla em inglês) ou hypervisor. Entretanto o hardware, principalmente a CPU ou VIRTAL SERVER suportam esse tipo de virtualização na arquitetura
x86, os processadores INTEL(4) e AMD(12) não oferecem tudo que e necessário para suportar a virtualização de forma eficiente.
Para isso cada instrução de maquina que permite acesso aos recursos
do sistema hospedeiro precisaria acionar uma interrupção software, a menos que
ele esteja rodando em um dos modos privilegiados do processador. As CPUs
VANDERPOLL, da INTEL e PACIFICA, da AMD(12), serão os primeiros
processadores a suportar esse recuso de forma eficiente. Hoje em dia sofwares
como o VMWARE(3) contornam esse problema.

rafael de cristo

Mensagens : 3
Data de inscrição : 09/03/2010
Idade : 27
Localização : Ribeirão Preto

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Virtualização e Cluster

Mensagem  Conteúdo patrocinado


Conteúdo patrocinado


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