O que é o Grid Computing?


O Grid Computing utiliza recursos informáticos que são distribuídos por uma vasta área de forma a atingir um objetivo comum. Por outras palavras, o Grid Computing caracteriza-se pela utilização de múltiplos computadores, muitas vezes geograficamente dispersos, interligados por redes. Todos estes computadores trabalham em conjunto para realizar uma mesma tarefa.

Esta plataforma de cálculo é particularmente útil para resolver os chamados «Grand Challenges», como a dobragem de proteínas, a modelação financeira, a simulação de sismos e a modelação climática e meteorológica. Por exemplo, este estilo de computação foi essencial para o Grande Acelerador de Partículas do CERN. As aplicações incluem investigação científica, inteligência empresarial, Data Analytics e computação de alto desempenho (HPC).

Bare-metal servers for high performance workloads

Como funciona o Grid Computing?

Cada nó (computador) da grelha pode ser configurado para realizar uma tarefa diferente, tornando o sistema mais heterogéneo comparado com os sistemas de computação convencionais de alto desempenho, como o Cluster Computing. As grelhas são frequentemente construídas com bibliotecas de software de middleware em grelha genérica. Podem ser bastante grandes e compostas por muitos computadores livremente interligados.

Uma típica rede de Grid Computing consiste em três tipos de máquinas: nós/servidores de controlo, nós de cálculo e nós de dados. O nó de controlo é um servidor ou um grupo de servidores que administram a grelha. Os nós de cálculo são os computadores que realizam os cálculos, enquanto os nós de dados armazenam os dados utilizados e gerados pelos cálculos.

O funcionamento dá-se através da execução de software especializado em cada computador, que coordena e gere todos os trabalhos da grelha. Fundamentalmente, o software divide a tarefa principal em subtarefas e atribui as subtarefas a cada computador. Assim, os computadores podem trabalhar simultaneamente nas respetivas subtarefas obtidas. Após a conclusão das subtarefas, os outputs de todos os computadores são agregados para completar a tarefa principal mais vasta.

Quais são os tipos de Grid Computing?

Para compreender o que é o Grid Computing, vale a pena distinguir vários tipos, incluindo grelhas computacionais, redes em grelha colaborativa, redes em grelha de armazenamento de dados e, por fim, Grid Computing modular. Cada tipo tem aplicações únicas e é utilizado em diferentes indústrias, com base nos requisitos específicos da tarefa em causa.

Grelhas computacionais

As grelhas computacionais concentram-se no aproveitamento da potência de cálculo obtida de múltiplos computadores, tendo em vista a execução de cálculos complexos em larga escala.

Numa grelha computacional, uma tarefa de grandes dimensões é dividida em várias subtarefas. Cada subtarefa é então atribuída a um nó (computador) da grelha para execução. Este processo permite cálculos paralelos, em que várias operações são realizadas em simultâneo, o que acelera significativamente o tempo global de cálculo.

Assim que todas as subtarefas forem concluídas, os resultados são combinados para produzir o output final. As grelhas computacionais são ideais para aplicações urgentes e problemas de cálculo intensivo. Por exemplo, podem ser usadas para gerar relatórios em apenas alguns segundos, para modificar previsões do mercado de ações em tempo real, ou então para fazer modelagem meteorológica.

Grid Computing de dados

O Grid Computing de dados concentra-se na gestão e distribuição de grandes conjuntos de dados por vários computadores ou servidores dedicados. Estes computadores interagem diretamente para coordenar o processamento de grandes tarefas, muitas vezes repartidas por vários locais geograficamente distantes.

As grelhas de dados adequam-se a tarefas que podem ser divididas em subtarefas mais pequenas, como os microsserviços, que podem depois ser executados em paralelo para uma abordagem mais eficiente. Podem também ser usadas como base para Private Clouds, nas quais os computadores são agrupados e um subconjunto dos recursos desse grupo é dedicado a vários utilizadores através de máquinas virtuais.

Grid Computing colaborativo

O Grid Computing colaborativo tem como objetivo facilitar e melhorar o trabalho entre indivíduos ou grupos. Graças ao Grid Computing colaborativo, o sistema utiliza várias tecnologias que apoiam o trabalho entre indivíduos.

Isto significa que os indivíduos podem aceder prontamente ao trabalho uns dos outros, partilhar recursos e colaborar em tarefas obtidas. Este tipo de computação permite uma partilha coordenada de dados entre todos os utilizadores da grelha, possibilitando uma transferência de conhecimentos acrescida.

Por exemplo, uma grelha de dados pode ser utilizada como um grande arquivo em que cada website armazena os seus dados na grelha. Aqui, a grelha permite uma partilha coordenada de dados entre todos os utilizadores. Tal grelha possibilita uma colaboração e uma transferência de conhecimentos acrescida entre os utilizadores.

Manuscript Grid Computing

O Manuscript Grid Computing é particularmente útil na gestão de grandes volumes de blocos de texto e imagem. Este tipo de grelha possibilita uma acumulação contínua de blocos de texto e imagem, processando e realizando operações simultâneas em lotes anteriores destes blocos.

Centrado no tratamento de grandes quantidades de texto e imagens, o trabalho pode ser levado a cabo através de um ambiente simples de Grid Computing em que as imagens e os textos são tratados em paralelo.

Assim, trata-se de uma solução eficiente para trabalhos que envolvam grandes quantidades de texto e imagens.

Grid Computing modular

O Grid Computing modular envolve a desagregação de recursos de cálculo dentro de um sistema ou chassis. Estes recursos podem incluir armazenamento, GPU, memória e sistemas de rede.

Leva os conceitos do Grid Computing mais longe, na medida em que subdivide os recursos de cálculo em módulos. As equipas informáticas podem combinar estes módulos de forma a suportar aplicações ou serviços específicos. Tal abordagem possibilita uma maior flexibilidade e personalização, o que permite que as equipas informáticas personalizem as configurações dos servidores de modo a satisfazerem os requisitos de aplicações específicas.

Por exemplo, numa grelha modular, um conjunto de recursos é combinado com software para aplicações distintas. É possível que as unidades GPU e CPU residam num chassis de rack de servidor, e que sejam interligadas através de uma estrutura de alta velocidade e baixa latência para criar um servidor.

Componentes essenciais do Grid Computing

A grelha é composta por computadores que fornecem recursos como potência de processamento e armazenamento, software middleware de grelha para coordenar as cargas de trabalho no sistema, e nós como um servidor de controlo central que atribui tarefas e agrega resultados.

Em conjunto, estes componentes funcionam como um supercomputador virtual unificado, que oferece uma maior potência de cálculo, armazenamento e eficiência do que qualquer máquina individual poderia fornecer. Ao dividir trabalhos complexos em partes e reparti-los por nós disponíveis para processamento paralelo, as grelhas podem concluir análises, simulações e outras cargas de trabalho exigentes de forma mais rápida e a um custo mais baixo do que as alternativas convencionais.

Nós

Nós

Um nó refere-se a um computador ou servidor que faz parte da rede de grelha, contribuindo com os seus recursos informáticos não utilizados (como CPU, memória e armazenamento). Os nós podem realizar outras tarefas não relacionadas e, frequentemente, alternar entre funções consoante as necessidades da rede de grelha.

Há três tipos principais: o controlador, que administra a rede e gere a alocação de recursos; o provedor, que compartilha os seus recursos para o Grid Computing; e o utilizador, que solicita recursos compartilhados por outros computadores no sistema de Grid Computing.

Estes nós podem incluir servidores ou PC, todos livremente ligados através da Internet ou de outras redes, e normalmente distribuídos por várias regiões geográficas.

Redes

Redes

No Grid Computing, as redes são a espinha dorsal que liga vários computadores, muitas vezes geograficamente distribuídos, para trabalharem em conjunto na realização de tarefas conjuntas. Estas redes permitem a partilha, seleção e agregação de recursos, distribuídos por vários domínios administrativos com base na sua disponibilidade, capacidade, desempenho, custo e necessidades de qualidade de serviço por parte dos utilizadores.

As redes de Grid Computing podem ser homogéneas (consistindo em máquinas com plataformas semelhantes e o mesmo sistema operativo) ou heterogéneas (com máquinas que funcionam com diferentes sistemas operativos).

Software

Software

O software de controlo desempenha um papel crucial na gestão e coordenação das tarefas na grelha. Este software, frequentemente chamado Grid Middleware, é uma aplicação especializada que liga recursos de cálculo em operações de grelha a aplicações de alto nível. É executado em todos os computadores envolvidos na rede de grelha.

A função principal do software de controlo é decompor a tarefa principal em subtarefas e atribuir essas subtarefas a cada computador na grelha. Isto permite que todos os computadores trabalhem simultaneamente nas suas respetivas subtarefas, melhorando assim a eficiência do processo computacional. Uma vez as subtarefas concluídas, o software de controlo agrega os resultados de todo o hardware para completar a tarefa principal.

Além da gestão de tarefas, o software de controlo toma a cargo os pedidos de mais potência de tratamento por parte do sistema de Grid Computing. Controla a partilha dos recursos disponíveis para evitar a sobrecarga do hardware da rede. De resto, o software de controlo fornece uma segurança que evita utilizações indevidas.

Protocolos

Protocolos

As redes de Grid Computing contam com um conjunto de padrões e protocolos que permitem a comunicação entre sistemas diversos e geograficamente dispersos. Estes protocolos são essenciais para a implementação de serviços que facilitem a partilha coordenada de recursos entre diferentes organizações. Os protocolos de grelha podem ser classificados em várias categorias, em função das atividades com que lidam:

  • Protocolos de comunicação de rede e de transferência de dados: Processam a comunicação e a transferência de dados entre diferentes nós na grelha. Asseguram que os dados são corretamente enviados e recebidos através da rede.
     
  • Protocolos de segurança das informações: Responsáveis pela manutenção da segurança da rede. Lidam com tarefas como a autenticação, autorização e encriptação para proteger dados e recursos contra acessos não autorizados.
     
  • Protocolos de informação de recursos: Gerem as informações sobre os recursos disponíveis na grelha. Acompanham o estado e ajudam na alocação e no agendamento.
     
  • Protocolos de gestão: Estes protocolos supervisionam o funcionamento global da grelha. Lidam, por exemplo, com a atribuição de tarefas, o monitoramento e o tratamento de erros.
     
  • Protocolos de interface: Fornecem uma interface de utilizador para a interação com a grelha. Permitem aos utilizadores submeter tarefas, monitorizar os seus estados e obter resultados.

Entre os exemplos de protocolos de grelha específicos incluem-se a Open Grid Services Architecture (OGSA) e o Simple Grid Protocol (SGP). A OGSA fornece uma estrutura para o compartilhamento de dados e a gestão de recursos, enquanto o SGP é um pacote open-source que inclui o protocolo e as ferramentas de software necessárias para configurar uma grelha computacional.

Vantagens do Grid Computing

O Grid Computing, um modelo de computação distribuída, oferece várias vantagens em áreas-chave como a escalabilidade, a flexibilidade e a otimização de recursos.

Escalabilidade

Oferece vantagens significativas em termos de escalabilidade. Permite a adição ou a remoção dinâmica de recursos em função da procura, permitindo ao sistema lidar eficazmente com diferentes cargas de trabalho. Esta escalabilidade é crucial em ambientes em que as exigências das cargas de trabalho flutuam, pois o ambiente de grelha pode evoluir dinamicamente adicionando ou eliminando recursos conforme necessário.

Flexibilidade

O Grid Computing oferece flexibilidade em termos de partilha de recursos e colaboração. Permite que diferentes organizações ou entidades formem uma organização virtual para a computação colaborativa. Os participantes contribuem com os seus recursos e partilham-nos de forma transparente em toda a rede. O Grid Computing não está limitado a um edifício ou localização específicos, permitindo a configuração de uma rede que abrange várias regiões.

Otimização de recursos

O Grid Computing otimiza a utilização dos recursos disponíveis ao partilhar a potência de cálculo inativa ou subutilizada. Aumenta a eficiência através da distribuição eficiente das cargas de trabalho, conduzindo a uma melhor utilização da potência de processamento disponível e minimizando o tempo de inatividade. Além disso, o Grid Computing funciona com hardware existente, o que significa que pode poupar custos enquanto acede a recursos computacionais em excesso.

Casos de uso e aplicações do Grid Computing

Esta forma de computação é utilizada em vários domínios para lidar com grandes tarefas que seriam demasiado exigentes em recursos ou em tempo para um único computador. Deixamos aqui algumas aplicações e casos de uso do Grid Computing:

  • Investigação científica: O Grid Computing é amplamente usado na investigação científica para avaliar e armazenar grandes quantidades de dados. Permite que cientistas de todo o mundo colaborem e partilhem recursos de cálculo, acelerando assim os processos de investigação e facilitando a resolução de problemas científicos complexos.
     
  • Engenharia: Para os engenheiros, o Grid Computing reduziu significativamente o custo das aplicações exigentes em recursos. Indústrias como a automóvel e a aeroespacial, que requerem instalações de testes intensivas e esforços de design colaborativo, adotaram o Grid Computing para acelerar procedimentos morosos.
     
  • Análise de dados: Com a explosão de dados provenientes de várias fontes (como os dispositivos IoT, os instrumentos científicos e os dispositivos inteligentes), o Grid Computing desempenha um papel crucial na recolha, no armazenamento e na análise de dados. Ajuda na interpretação dos dados e na observação de padrões para sintetizar conhecimento.
     
  • Previsão meteorológica: A fim de fazer a previsão do tempo, os meteorologistas usam o Grid Computing para recolher e calcular quantidades maciças de dados a partir de várias localizações. Esta tecnologia permite o tratamento eficiente de grandes conjuntos de dados e ajuda a fazer previsões meteorológicas precisas.
     
  • Cuidados de saúde: No setor da saúde, o Grid Computing é usado para armazenar e analisar enormes quantidades de dados de pacientes, contribuindo para a investigação e o desenvolvimento médicos.

Grid Computing vs. Cloud Computing

O Cloud Computing e o Grid Computing são dois tipos de sistemas de computação distribuídos que fornecem serviços aos utilizadores. O Cloud Computing baseia-se numa arquitetura cliente-servidor em que os recursos são geridos de forma centralizada, o que os torna altamente acessíveis e escaláveis.

Os utilizadores acedem aos serviços através de protocolos web standard e pagam pelos recursos que utilizam. É flexível, permite uma escalabilidade rápida com base na procura, e é normalmente detido e gerido por fornecedores de serviços.

Por outro lado, o Grid Computing segue uma arquitetura distribuída que é administrada de forma colaborativa. Assim, é menos acessível e escalável do que o Cloud Computing.

É possível aceder aos serviços do Grid Computing através de middleware de grelha. Normalmente, a infraestrutura é detida e gerida pela organização que a utiliza, o que a torna potencialmente mais económica para empresas com cargas de trabalho consistentes.

Implementação do Grid Computing

Em princípio, o Grid Computing fornece uma arquitetura para a criação de um supercomputador virtual, constituído por nós de cálculo distribuídos, muitas vezes implementados em vários países e continentes. Entre as estratégias de implementação do Grid Computing incluem-se:

  • Investir em hardware dedicado: Para a implementação inicial da tecnologia de grelha, recomenda-se o investimento numa grelha dedicada em que os nós constituintes são homogéneos. Isto simplifica o esforço e minimiza a otimização necessária da aplicação para uma execução eficiente na grelha.
     
  • Assegurar a homogeneidade do sistema: Todos os sistemas e o respetivo software instalado na grelha devem ser idênticos para funcionarem em conjunto. Isto é essencial para manter um desempenho e uma disponibilidade máximos.
     
  • Utilizar middleware: O middleware pode ser usado para dividir e distribuir peças de um programa entre vários computadores. Esta é uma estratégia-chave no Grid Computing.
     
  • Implementar a distribuição de carga: A distribuição de carga é uma estratégia importante para assegurar que a carga de cálculo é distribuída uniformemente pelos nós da grelha, maximizando a eficiência e minimizando o tempo de resposta.
     

A implementação de políticas de segurança numa vasta gama de sistemas é um desafio no Grid Computing. A existência de soluções de segurança adequadas, em particular técnicas de autenticação e de autorização, é essencial para o bom funcionamento dos sistemas de Grid Computing.

high-performance-computing
highgrade-scale-dedicated-servers

Primeiros passos com o Grid Computing

Começar um projeto de Grid Computing numa organização envolve várias etapas. Eis um resumo geral do processo:

  • Identifique a necessidade: Identifique as tarefas ou os problemas da sua organização que podem beneficiar do Grid Computing. Podem ser análises de dados em larga escala, cálculos científicos ou quaisquer outras tarefas que exijam recursos computacionais significativos.
     
  • Planeie a infraestrutura: Planeie a infraestrutura de Grid Computing com base nas necessidades da organização, incluindo a escolha do tipo de grelha, da topologia e dos componentes necessários para a gestão dos dados.
     
  • Escolha as ferramentas apropriadas: Escolha as ferramentas apropriadas ao seu projeto de Grid Computing. Aplicações open source como o Tomcat e o Axis podem ser usadas para configurar um ambiente de Grid Computing simples. Outras ferramentas, como o pacote «parallel» do R, podem ser usadas para tarefas de análise de dados em larga escala.
     
  • Implemente a grelha: Implemente o ambiente de Grid Computing na sua organização. Isto implica instalar o software selecionado nos computadores da grelha, criar uma infraestrutura segura e escalável, bem como assegurar a independência das máquinas.

Ler mais

idc infobrief hero image cloud database campaign

O que é o edge computing?

O edge computing, ou computação de borda, consiste colocar a potência de cálculo e o armazenamento de dados perto do ponto onde os dados são gerados. Isto significa que menos processos têm de ter lugar na nuvem, superando questões de comunicação de dados a longa distância e de latência. As principais vantagens são uma disponibilidade melhorada e tempos de transporte de dados reduzidos.

O edge computing difere do modelo tradicional de cálculo de processamento e análise de dados num centro de dados centralizado — seja na cloud ou nas instalações da própria empresa — porque os dados são tratados na «borda» («edge») da rede.

AI and machine learning dedicated servers OVHcloud

O que é a computação quântica?

A computação quântica explicada: A computação quântica é uma tecnologia emergente que usa a mecânica quântica para resolver problemas que não podem ser resolvidos por um computador normal.

A computação quântica foi concebida no início da década de 1980 por investigadores como Paul Benioff, Richard Feynman e Yuri Manin. O seu objetivo é utilizar o comportamento quântico de objetos quânticos (incluindo os fotões das partículas subatómicas que não são atómicos) para resolver alguns problemas de forma mais rápida e fácil do que os computadores clássicos ou mesmo os supercomputadores.