Projeto SAGE

Skip to end of metadata
Go to start of metadata

 

O sistema SAGE2 divide-se nos seguintes subsistemas, conforme representado na figura abaixo:

  • Server: responsável pela execução das aplicações SAGE2, gerenciamento do áudio das diversas aplicações, mapeamento das aplicações nas telas e controle das múltiplas interações com os usuários;
  • Audio Client: cliente executado em browser web, responsável por reproduzir o áudio das aplicações SAGE2, necessário apenas 1 por painel;
  • Display Clients: clientes executados em browsers web, responsáveis por exibir o conteúdo de 1 ou mais telas SAGE2;
  • Interaction Clients: clientes executados em browsers web, responsáveis pela interface com o usuário. Há dois tipos principais de clientes de Interação, o SAGE Pointer e o SAGE UI.

 

Com exceção dos interaction clients, que executam nos próprios dispositivos dos usuários do painel, os outros componentes podem ser todos executados na mesma máquina como também em máquinas distintas.

Nó Único

A abordagem usada no projeto SAGE2 da RNP prevê a utilização de uma máquina única para a execução do Server, Display Clients e Audio Client, uma vez que os kits do projeto são de pequeno porte (4 monitores com máquina).

A quantidade de monitores a serem gerenciados por uma única máquina SAGE2 é dependente do hardware da mesma. Uma placa NVIDIA Geforce 650 ou superior consegue controlar até 4 monitores Full HD (1920x1080) por placa de vídeo, enquanto que uma placa AMD FirePro W600 consegue controlar até 6 monitores com a mesma resolução.  A quantidade de placas possíveis de serem colocadas em um computador dependerá portanto da quantidade de slots PCI Express 16x para estas placas, conforme tabela abaixo.

Na tabela abaixo também descreve-se o tipo de hardware utilizado e as recomendações associadas a estes tipos, conforme experiência do projeto RNP e discussões nos foruns apropriados.

 

Tipo de Placa MãeQuantidade de Slots

Qtde Máxima de Monitores
por nó com GPU NVIDIA
(4 monitores/GPU)

Qtde Máxima de Monitores
por nó com GPU AMD
(6 monitores/GPU)

Observações
Desktop - linha para gamersaté 4até 16até 24
  • Memória geralmente limitada, atualmente ao redor de 64 GB. Recomenda-se o máximo possível.
  • Normalmente as placas mães suportam até 2 GPUs operando em modo x16, com mais de 2 GPUs algumas podem operar em modo x8 ou x4 (não temos experiência se isto afeta o desempenho no SAGE, mas no forum do SAGE2 eles recomendam que as placas tenham estejam rodando ao menos em modo x8 Gen3). Verificar também se há espaço para as placas, pois algumas GPUs ocupam o espaço de 2 slots.
  • Em relação à CPU, verificar se ela permite a ativação da quantidade de lanes necessárias à GPU (eg, se houver uma GPU rodando x16 e 2 GPUs rodando a x8, o processador também deverá atender ao menos 32 lanes para o desempenho desejado).
  • Em relação ao processamento, preferir quantidade de cores à velocidade de cada core para o uso geral (a não ser quando trabalhar com vídeo 4K)
  • Normalmente possui placa de som embutida na própria placa mãe.
servidor - linha para HPC> 4> 16> 24
  • Maior custo,
  • Máquinas normalmente mais barulhentas (problemático para ficar na mesma sala onde o SAGE é utilizado)
  • Maior capacidade para GPUs (eg, linha GPU Servers da Supermicro), porém é necessário verificar se há espaço na traseira para todas as saídas de vídeo necessárias (normalmente estes servidores usam as GPUs para processamento de alto desempenho apenas, que não necessita de usar as saídas de vídeo)
  • Escalabilidade de processamento (placas mãe permitem 2 ou 4 CPUs do tipo Xeon, memória pode chegar a centenas de GB's)
  • Deve-se tomar os mesmos cuidados descritos para o caso do desktop da linha gamers, com um cuidado adicional quando se utilizar placas mãe com suporte a mais de um processador: neste caso alguns slots PCIe somente estarão ativos se houver um 2o processador, ou seja, a quantidade de GPUs também depende da quantidade de processadores existentes.
  • Não incluem placa de som, é necessário adquirir uma placa separada. Sugestão de placa de som PCIe, compatível com Linux: Asus Xonar DX

A figura abaixo representa uma arquitetura de nó único com 8 monitores controlados por 2 GPUs (uma para os displays 0-3 e outra para os display 4-7). Esta arquitetura é atualmente utilizada no LASSU-USP.

Para maximinizar o desempenho, é importante tentar definir o layout de GPUs x telas de acordo com o uso previsto, de maneira que uma dada aplicação seja executada majoritariamente em uma única GPU.Na figura acima, teríamos um layout que permite que 2 aplicações sejam executadas lado-a-lado, cada qual em uma única GPU; somente seriam usadas as 2 GPUs para uma única aplicação caso este se utilize ou das 8 telas, ou das 4 telas do meio (client IDs 1, 3, 4, 6) ou imagens latidudinais (ex.: que se utilizem dos IDs 0, 1 e 4).

A instalação do SAGE2 em um único servidor tem por vantagens uma maior facilidade na instalação, gerenciamento e uso. O desempenho ficará limitado essencialmente à capacidade de processamento e à memória disponível, uma vez que a comunicação entre os componentes é interna. No entanto, dependendo do tipo e quantidade de aplicações, a instalação em um único servidor pode saturar o desempenho da máquina, demandando a instalação em múltiplos nós.

Múltiplos Nós

A instalação em múltiplos nós é recomendada nos casos em que:

  • Deseja-se ter mais monitores que a capacidade máxima de um único nó;
  • Deseja-se separar o processamento em diversos nós por questões de desempenho de CPU / memória / disco

É importante resssaltar que neste caso a rede tem uma importância maior para o desempenho do sistema, devido à comunicação entre nós

Para a instalação em múltiplos nós recomenda-se o seguinte setup:

  • um nó principal para o componente Server;
  • um ou mais nós para os Display Clients.
  • o Audio Client pode ser executado junto do primeiro nó com o Display Client ou mesmo com o Server.

Este setup permitiria a execução do componente Server em um nó presente em um Data Center, não necessitando estar junto dos monitores (apenas os nós de Display Client e Audio Client necessitam estar próximos das telas, por questões de limitação dos cabos de vídeo). Isto permite a utilização de servidores de maior capacidade para a execução de aplicações pesadas (como a renderização de vídeos).

A figura abaixo ilustra o exemplo de um painel com 8 telas, usando 3 nós para as mesmas:


O processamento maior irá ficar com o nó que executar o componente Server. Nos Display Clients deverá executar apenas uma ou mais instâncias do browser, com renderização feita direta pela placa de rede, então elas demandam menor processamento de CPU. A quantidade de nós irá depender da quantidade de monitores a serem gerenciados por cada nó: pode-se optar por ter um maior número de máquinas mais simples (com uma GPU mais simples), ao invés de se concentrar o processamento em poucos nós. Tal decisão deve levar em conta fatores como desempenho, custo, espaço para os nós, entre outros. Um problema que pode acontecer com nós de uma única GPU é elas apresentarem um desempenho de renderização muito baixo, afetando o desempenho do painel SAGE. Deve-se também aqui procurar se ater a um princípio de localidade, ou seja, procurar adaptar o layout ao uso estimado, de maneira que uma dada aplicação seja exibida em uma quantidade minima de nós (minimizando o tráfego na rede entre os nós).

Em relação à rede, é interessante que neste setup sejam utilizadas 2 interfaces de rede para o nó contendo o componente Server:

  • uma para a conexão do Server com a Internet, com outros painéis SAGE e com os usuários do painel;
  • uma 2a interface para uma vlan separada entre os nós.

Desta maneira o tráfego de interação (com outros portais e com os clientes) não compete com o tráfego para a exibição do conteúdo nos Display Clients locais (revisar)

Algumas aplicações podem demandar que os Display Clients tenham acesso internet (eg.: Google Maps), o que pode ser resolvido com o uso de um proxy web no nó do Server ou deixando-os todos na mesma rede.

 

 

  • No labels