Sistema de grid

O processamento em grades computacionais (grid computing) é uma tecnologia que permite a execução de processamento distribuído utilizando vários recursos computacionais (por exemplo, clusters HPC) de forma integrada.

O projeto GridUnesp nasceu com duas componentes de computação em grid distintas:

  1. Sendo ele mesmo um grid, já que dispunha de unidades de processamento em 7 sites da Unesp;
  2. Como um site e VO do consórcio OSG (Open Science Grid), que incorpora mais de 70 instituições internacionais.

Ao longo do desenvolvimento do projeto, intensificando e expandindo o atendimento aos pesquisadores da Unesp e seus colaboradores, percebemos que:

  1. grande parte da demanda de computação científica da universidade era caracterizada pela computação de alto desempenho (HPC) clássica;
  2. a tecnologia de grid não atende satisfatoriamente a toda gama de necessidades de computação científica.

Na evolução do projeto, optou-se por disponibilizar aos usuários duas interfaces: a de um centro clássico de HPC, com acesso direto ao escalonador de processos do cluster central (SLURM); e a interface de grid, que permite que workflows mais robustos e adaptados se beneficiem dessa tecnologia.

Essa flexibilização simplificou a utilização para usuários iniciantes e para os que utilizam aplicações que não são tão adequadas ao processamento em grid. Da mesma forma, os recursos computacionais (tanto internos como externos, através da parceria com o OSG) continuam disponíveis para os usuários que grid.

Características das aplicações

Referência: https://www.opensciencegrid.org/about/what-kind-of-computational-problems-fit-well-on-osg/.

  1. Aplicações seriais (single thread): geralmente compondo um workflow maior, como um bag-of-tasks
  2. Alocação de menos de 2 GB de memória RAM
  3. Execução curta (entre 1 e 12 horas)
  4. Capacidade de fazer checkpoint, já que os processos podem ser preempitados em sites externos
  5. Compiladas como binários estáticos ou "empacotadas" com todos os binários e bibliotacas sem depender do S.O. instalado

Características inadequadas:

  1. Paralelismo com memória compartilhada (threads/OpenMP) ou distribuída (MPI)
  2. Necessidade de um sistema de arquivos compartilhado
  3. Aplicativos com instalações complexas
  4. Aplicativos que requerem licenças

Detalhes

  1. O usuário necessita de um certificado para se autenticar nos recursos;
  2. O usuário descreve o seu processo e envia para um escalonador da VO (Virtual Organization). No caso do GridUnesp, está disponível o Condor, na access;
  3. Esse escalonador escolhe o site e envia através do protocolo GRAM ou Condor-CE;
  4. O processo então é colocado na fila local do site escolhido;
  5. Quando for escolhido para ser executado, ele é iniciado no servidor de processamento;

Os diagramas a seguir exemplificam o processo para o processamento e armazenamento em estruturas de grid.

../_images/workflow-0.png ../_images/workflow-1.png ../_images/workflow-2.png