Chealion respondeu muito bem à parte de sua pergunta.
Para saber quais tipos de aplicativos podem usar o Xgrid:
O Xgrid é adequado para qualquer tarefa que possa ser distribuída para ser executada em paralelo em vários computadores, sejam estações de trabalho ou servidores. Às vezes, esses conjuntos de problemas são chamados de "embaraçosamente paralelos". Computações que demoram muito para serem concluídas, mas requerem poucos dados para atravessar a rede, são excelentes candidatos (como o Seti @ Home).
O Xgrid consiste em 3 partes principais (controlador, agente, cliente). As tarefas são emitidas do cliente (linha de comando ou API) para o controlador e executadas em qualquer agente disponível, semelhante aos sistemas de planejamento distribuídos anteriormente, como SGE (bsub / qsub) ou MPI. Além do código customizado utilizando APIs xgrid, qualquer aplicativo que possa ser chamado a partir da linha de comando pode utilizar o xgrid. Executar uma tarefa é tão fácil quanto o seguinte (onde uname poderia ser qualquer aplicativo de linha de comando, como matlab, R, blender, maya, etc.):
$ xgrid -h controller.mygrid.com -job run /usr/bin/uname -a
Darwin node006.mygrid.com 10.2.0 Darwin Kernel Version 10.2.0 ...
Usos comuns de Xgrid:
- computação científica
- renderização 3D distribuída
- processamento de áudio / vídeo distribuído
Xgrid não é bem adequado para tarefas que são interdependentes (devem ser executadas em série) ou aquelas que requerem mover grandes quantidades de dados (onde copiar dados demora mais do que apenas rodar localmente) .
O próprio Xgrid simplesmente executa uma tarefa em um sistema remoto, ele não pode dividir uma operação executada por um aplicativo em partes menores (como photoshop aplicando um efeito a uma única imagem). As tarefas que não podem ser divididas em partes menores se beneficiam mais dos coprocessadores ou do processamento da GPU (via CUDA / OpenCL / GPGPU).
No caso do Photoshop, o xgrid seria útil se você tivesse que aplicar transformações / efeitos em milhares de imagens, pois cada computador na grade poderia trabalhar em uma imagem separada simultaneamente.
Recursos adicionais:
-
Perguntas frequentes da Apple no link
-
Tutoriais de Charles Parnot no Macresearch
link
-
um blog de Tom Elliott link
-
Xgrid e renderização distribuída com o Maya link
-
Docs da Apple (guia e atualização) link
link
-
"Xgrid, uma solução de rede 'apenas faça' para não TIs" link
-
Interoperabilidade com outro software (MATLAB, BLAST, Maya, etc.)
link
Aplicações relacionadas ...
Componentes Xgrid de plataforma cruzada ...
-
Agente Java de Curtis Campbell - link
-
Agente Linux de Daniel Cote - link
-
Cliente do Java Xgrid
link