HPC o Windows Server 2008

Alto desempenho computação em que o mundo real

Joshua M. Kunken

 

Visão geral:

  • Configurar e gerenciar o cluster de computadores
  • Enviando trabalhos para o Agendador HPC usando o Windows PowerShell
  • Processar dados de planilha no servidor
  • Fazer processados dados disponíveis aos usuários finais

Conteúdo

Por que HPC 2008?
Visitas a execução de base
Acessando o cluster de computação
Administração
Tirar vantagens do Windows PowerShell
Desenvolvimento de aplicativo
Processamento de planilhas lado do servidor/cluster
Acesso do lado do cliente a dados processados
Um dataset muito grande

Windows HPC Server 2008 (HPC 2008), o Microsoft paralelo computação pacote mais recente, foi projetado especificamente para uso em ambientes de computação-muitos, que descreve exatamente o nosso laboratório de pesquisa. Este artigo descreve a implantação de uma variedade de tecnologias da Microsoft, no determinado 2008 HPC, no desenvolvimento de um sistema personalizado que permite o processamento automático de dados gerados a partir de um dispositivo de imagens em um laboratório de Ciências da vida.

O sistema é capaz de executar autônoma e automatizada Excel planilha análise de dados, incluindo regressão não linear. Onde tal análise geral exigiriam uma cientista pesquisa passar de 10 a 15 minutos por experiência, agora demora menor do que metade uma hora para processar experiências 96 por vez (sem intervenção humana — e erros). Leva até menos tempo se for usado um cluster de computação.

Nossa solução também usa um conjunto pequeno de scripts de Windows PowerShell, implantado no cluster de computadores HPC 2008, que processam caminho masse centenas de gigabytes que arquivos XML em um quadro de muito pouco tempo. O objetivo é ilustrar como você pode utilizar o Microsoft alto desempenho Compute Cluster 2008 juntamente com outras tecnologias Microsoft para desenvolver rapidamente aplicativos capazes de executar análise de alto nível e processamento de tipos de arquivo normalmente usados em uma variedade de campos variando de Finanças a remédio.

Por que HPC 2008?

Nossa decisão de usar 2008 HPC foi baseado em vários fatores. Em primeiro lugar, 2008 HPC integra bem com nossa infra-estrutura existente do Active Directory. Isso nos permite que os existentes do Active Directory usuários, distribuídos em diferentes locais geográficos, enviar trabalhos, além de estender seus direitos de acesso o cluster com seus pares de nome de usuário/senha existente permite. Não é necessário para que eles ter várias credenciais para enviar trabalhos através da cluster, bem como fazer logon em suas estações de trabalho.

Em segundo lugar, cientistas de laboratório lidam com planilhas do Excel constantemente para manter o controle dos resultados experimentais e executar outras análises. É necessário para processar planilhas do Excel computacionalmente e seria difícil assim por diante uma plataforma não-Windows. Em terceiro lugar, pode executar aplicativos desenvolvidos no Microsoft .NET Framework usando C#, que tornou fácil executar cálculos em dados extraídos de planilhas do Excel em um cluster de computação do Windows. Por fim, nós também pode usar esses aplicativos para facilmente transmitir informações para tabelas de banco de dados do SQL Server.

Visitas a execução de base

HPC 2008 facilita bastante a levar hardware comerciais e configurar um cluster de computadores. Com um cluster relativamente pequeno, leva apenas horas para colocar todos os nós de computação e em execução e comunicar-se com o nó principal (ou mestre). Devido à natureza da computação paralela, ele levará o mesmo tempo para implantar HPC 2008 e Windows Server 2008 para um pequeno conjunto de oito talvez nós como um conjunto que variam em centenas de calcular.

Depois de configurar nosso nó principal com Windows Server 2008 e 2008 HPC, conseguimos ingressá-lo rapidamente nosso domínio do Active Directory (executando no Windows Server 2003 R2). Nós, em seguida, criada uma imagem do disco rígido (contendo uma cópia do Windows Server 2008 com HPC 2008) baseia o nó principal e implantado a imagem do disco em nossos muitos nós de computação. Usando o Assistente de configuração de rede do HPC 2008 (consulte Figura 1 ), selecionamos uma topologia de rede no qual nosso nó cabeça estava acessível por meio de endereço IP público enquanto os nós de computação recebidas endereços IP que não são públicas do nó principal por meio a função do DHCP implantado no Windows Server 2008. Você pode também facilmente implantar os muitos outras funções como DNS, WINS e RAS são relevantes para configurar um computadores de cluster em modo autônomo ou parte de um domínio do Windows.

fig01.gif

Figura 1 selecionando uma topologia de rede

Acessando o cluster de computação

Windows Server 2008 vem com uma nova versão do aplicativo conexão de área de trabalho remota (RDC), mstsc.exe. Com o RDC, os administradores de sistema podem se conectar a e controle outros hosts do Windows (clientes do Windows Vista além os clientes do Windows Server) através de um cliente gráfico diretamente sobre uma conexão TCP / IP. O Windows Vista também vem com uma nova versão do RDC que torna fácil acessar a 2008 HPC computar o nó principal do cluster e calcular nós. Quando conectado para o nó principal, administradores de cluster podem adicionar novos nós, remova nós, implantar ou cancelar trabalhos em nós e realizar muitas outras funções administrativas.

O console do Gerenciador de cluster do HPC fornece o Administrador de cluster, bem como aqueles com privilégios apropriados, uma interface amigável para o envio de trabalhos e as tarefas manualmente (consulte a Figura 2 ). Isso é onde você especifica o diretório de trabalho, o caminho para arquivos executáveis, saída pastas e parâmetros avançados, como bem como o número mínimo e máximo de núcleos de CPU, calcula nós, grupos de nó e tipos de nós.

fig02.gif

A Figura 2 especificando um trabalho no console

Administração

Com o interno HPC cluster Gerenciador, você pode facilmente configurar e administrar nós de computação de cluster, monitorar quais trabalhos são executados em que nós, determinar os nós que estão sendo usados em capacidade em qualquer determinado momento e controlar quais tipos de trabalho estiver executando em qualquer nó específico. Além disso, o utilitário cluscfg permite aos usuários obter estatísticas em um piscar de olhos, incluindo como muitos processadores estão em uso, quantos estiverem ociosos e qual calcular nós exigem manutenção.

O clusrun comando permite que você explorar o número de trabalhos em execução em qualquer momento, bem como o ver rapidamente quantos calculam nós e CPUs estão em uso no momento. Você também pode abrir o console de Gerenciador de cluster do HPC para exibir a lista de trabalhos em execução no cluster como um todo, bem como trabalhos ainda no fila, os trabalhos que foram concluídas e aqueles que são stalling. Se os trabalhos são stalling, você pode aprofundar um único trabalho ou a tarefa para investigar a causa.

Em nossa experiência, as causas típicas de trabalhos com falha no cluster de computadores incluem compartilhamentos de arquivo mal montado ou não definida em compartilhamentos de confiança entre vários nós de computação; mal definir permissões de lista de controle de acesso; e as configurações de permissão inadequada para execução de scripts do Windows PowerShell em nós de computação. Resolver esses problemas é relativamente simples.

O console do Gerenciador de cluster do HPC permite que você veja a integridade de todos os nós de compute em um único instantâneo bem como o gráfico visualmente mais intuitivo mapear a exibição. Aqui, você poderá obter rapidamente uma amostra de como os recursos estão sendo consumidos em cada nó por todos os trabalhos enviados. Testes de diagnóstico também podem ser executadas em todos os computadores nós ao mesmo tempo (consulte a Figura 3 ) e os resultados de testes fornecem o administrador de cluster com informações relevantes para resolver problemas no conjunto inteiro de nós ou para grupos individuais. Além disso, HPC 2008 também fornece muito útil exibe gráfico mostrando o uso de cluster de computadores em uma variedade de períodos de tempo (Figura 4). Esses gráficos de pizza e indicadores principais de desempenho permitem relevante decisão responsáveis por determinar se o servidor e recursos de TI corretamente são alocados.

fig03.gif

A Figura 3 testes podem ser executadas em todos os nós de computação vez.

fig04a.gif
fig04b.gif

A Figura 4 informações úteis estão prontamente disponíveis.

Tirar vantagens do Windows PowerShell

Com HPC 2008, você não pode submeter trabalhos interativamente para o Agendador via o console do Gerenciador de cluster do HPC apenas, você pode também fazer isso através da linha de comando ou através de Windows PowerShell, permitindo que os usuários automatizar trabalhos via o Agendador de tarefas, chamadas de sistema C#, ou Windows PowerShell chama.

Nosso projeto utiliza um principal do Windows PowerShell script que consulta um compartilhamento de rede. O compartilhamento serve como um diretório de entrada de arquivos aguardando para serem processados que foram depositado pelo sistema de imagem logo após a experiências sendo executada. O script continuará verificando um diretório de saída para arquivos de saída post-process. Se arquivos de entrada foram não ainda processados (isto é, se arquivos de saída não encontrados dentro do diretório de saída), o script gera scripts de filho individuais especificamente para enviar trabalhos individuais para o Agendador HPC através da linha de comando. O script Windows PowerShell principal, em seguida, iterativamente submeterá todos os scripts tais filho para o Agendador, direcionando-los em job.exe, o executável de envio de trabalho da linha de comando do HPC. O Agendador de trabalho permite que você enviar qualquer trabalho ou a tarefa para o cluster de computadores HPC usando uma variedade de argumentos, oferecendo um conjunto flexível de opções para executar um aplicativo no cluster.

Desenvolvimento de aplicativo

Nossos esforços de desenvolvimento de software principais dependiam do Visual Studio Professional 2008, que fornece a capacidade de desenvolver o console, Windows e aplicativos da Web. O Visual Studio permite aos desenvolvedores criar uma interface gráfica do usuário visualmente atraente ao trabalhar simultaneamente na lógica comercial subjacente dentro do mesmo projeto.

Para nosso projeto, desenvolvemos vários aplicativos baseados na mesma lógica comercial principal para atender às necessidades diferentes. Começamos com um aplicativo de Foundation (WPF) para processamento nossas entradas planilhas do Excel de apresentação do Windows, assim, a habilitação nossos pesquisadores para testar manualmente parâmetros de conexão inicial diferente para determinar se um conjunto maior de experimentos (com base nos parâmetros de conexão semelhante) pode ser processado automaticamente na HPC calculam cluster.

Em seguida, criamos um aplicativo de console para ser executado, na verdade, no cluster de computação HPC; ele aceita um número de argumentos, inclusive um caminho de arquivo para uma planilha de entrada, bem como parâmetros de conexão de propagação. O Windows PowerShell fornece os argumentos para o aplicativo ao enviar simultaneamente a tarefa para o HPC calculam cluster através da linha de comando. O aplicativo de console, em execução em cada nó de computadores individuais, processa as entrada planilhas enquanto também gerar planilhas de saída que contém as soluções e simultaneamente executar consultas SQL Server INSERT manter o controle dos resultados de todos os experimentos. O .NET Framework 3.0 System.IO.Packaging API é aproveitado em cada nó para processar as planilhas para o seu conteúdo. Depois que os valores são obtidos das folhas de entrada, C# é usado para manipular o restante.

Além disso, desenvolvemos um aplicativo WPF mais gráfico que permite a exibição de pesquisadores resultados enviados para o SQL Server do HPC calculam cluster. Um subconjunto das experiências feita em nosso laboratório é realizado em chapas de 96 bem padrão usadas com freqüência em biology estrutural e a interface de usuário do aplicativo WPF reflete a configuração de chapa físico (consulte a Figura 5 ). Os usuários só precisam clicar em um bem para recuperar resultados para a experiência única avaliação. Clicar em um consultas de SQL Server inicia bem em várias tabelas de banco de dados para recuperar resultados anteriormente processados no cluster de computadores HPC e enviados para as tabelas. É também usado um controle ListView que contém um controle GridView para fornecer uma visão geral de alto nível de todas as tentativas de 96 para uma experiência única. Os pesquisadores podem obter uma tabela classificáveis exibindo todos os parâmetros de conexão e análises estatísticas para suas experiências processadas. Esta tabela fica disponível assim que o HPC calcular terminar de cluster processar as respectivas planilhas. Finalmente, é feita a usar o SSH encapsulamentos dentro do aplicativo, permitindo que os usuários final controlar com segurança seus resultados experimentais de fora do laboratório.

fig05_new.gif

A Figura 5 interface gráfica ’s O aplicativo

Recursos do HPC

bluebullet.gif HPC o Windows Server 2008
Microsoft.com/HPC/
bluebullet.gif Windows HPC TechCenter
technet.microsoft.com/en-us/HPC/
bluebullet.gif Windows HPC Community Portal
windowshpc. NET/páginas /
bluebullet.gif O blog da equipe do Windows HPC
blogs.technet.com/WindowsHPC/
bluebullet.gif Avaliar HPC o Windows Server 2008
technet.microsoft.com/en-us/cc835241.aspx
bluebullet.gif Uma introdução ao Windows Compute Cluster Server
technet.microsoft.com/en-us/Magazine/2008.02.ccs.aspx
bluebullet.gif Scripts do Windows HPC
Microsoft.com/technet/scriptcenter/hubs/ccs.mspx
bluebullet.gif Implantação do Windows HPC Server, gerenciamento e administração
social.Microsoft.com/Forums/en-US/windowshpcitpros/threads/

Processamento de planilhas lado do servidor/cluster

Os pesquisadores em nosso laboratório são bacana em observar alterações em condições sobre escalas de tempo muito breves em cada um dos wells 96 usados nas experiências. Alterações condicionais são gravadas usando câmeras digitais anexadas a microscopes. Software, em seguida, converte informações imagery digital em níveis de intensidade numéricos, de maneira temporal, que, em seguida, são armazenadas dentro de planilhas do Excel. Essas planilhas podem ser processadas manualmente e os dados resultantes são ajustados, por meio de regressão não linear, com funções matemáticas cuidadosamente específica.

O ponto de ajuste os dados experimentais com curvas de regressão é determinar os parâmetros de conexão, que podem shed luz sobre as alterações experimentais em condições. No entanto, o processo painstaking cálculos e conexão de curva requer, no mínimo, 10 minutos por bem e executa a possibilidade de erro humano bem como o tédio associada a operações de recortar e colar é executado.

No Agendador de tarefas (o snap-in substituir agendadas tarefas no Windows Server 2008), é possível habilitar o aplicativo do lado do servidor seja executado em intervalos predefinidos. Se o script Windows PowerShell principal encontrar planilhas não processadas no servidor de arquivos, ele gera um script de envio do trabalho que, em seguida, é implantado para o Agendador de trabalho, que, em seguida, chama o aplicativo de processamento no servidor (residentes em cada nó de computadores por meio de uma pasta compartilhada) para processar os dados não processados.

SQL Server, em execução em um servidor remoto, é usado para organizar os resultados obtidos após processar dados de planilha do Excel por cada experiência (isto é, por chapa bem). Nossas cientistas estão interessadas em exibindo tanto a saída de planilha não processados e uma representação visual intuitiva de resultados experimentais em um formato amigável, que fornecemos. O aplicativo do lado do servidor não apenas gera resultados planilhas contendo a parâmetros de regressão não linear, estatísticas associadas (Deus de ajuste e assim por diante) e Plotagens curva, ele também executa consultas SQL armazenar as mesmas informações em uma tabela de banco de dados associado contendo dados para todos os experimentos. Isso permite que os usuários finais consultar informações com mais eficiência (via GUI), em vez de procurar exaustivamente através de vários arquivos que planilhas.

Acesso do lado do cliente a dados processados

O aplicativo gráfico que desenvolvemos para facilitar a visualização dos usuários finais de dados processados é usado para executar consultas remotas em contendo resultados processados o SQL Server e para apresentar os resultados da consulta aos usuários finais em um formato amigável. Além disso, os usuários finais pode exportar os resultados do SQL Server para planilhas do Excel diretamente do GUI, permitindo que eles incorporar seus resultados em publicações e apresentações. A capacidade para exportar resultados para uma nova planilha do Excel depende de resultados do SQL Server que está sendo vinculado por meio de uma estrutura de dados do DataSet a um controle ListView no aplicativo. Os pesquisadores pode agora de modo de exibição de testar os resultados de uma perspectiva consolidado que eles não foram capazes de aproveitar antes. Enquanto que seria normalmente necessário um membro de laboratório 16 horas para processar uma única chapa 96 bem (em 10 minutos por bem), agora leva uma fração do momento.

Um dataset muito grande

Além aproveitando HPC 2008 em automatizar o processamento de planilhas do Excel gerado a partir do nosso sistema de geração de imagens, nós também usar cluster de computadores Windows para processar consultas em datasets com dezenas de milhares de arquivos XML ricas em conteúdo. Nossa biblioteca XML consiste em 300GB vale a pena de arquivos XML, cada uma contendo mais de cem nós ou campos que nós pode executar consultas. Claramente, com tal um dataset grande, ele se torna inviável para importar nossa biblioteca XML para uma única instância de banco de dados do SQL Server e também manter atual.

Desempenho do banco de dados sofre assim que arquivos de banco de dados excederem um certo limite tamanho (mais de 100 GB). Conseqüentemente, compartilhamento de nossa biblioteca XML por um grande número de nós de computação e distribuir a soma dos nossas consultas em todos os calcular os resultados de nós de cluster em tempo de conclusão de consulta mínima para um espaço de pesquisa grandes. Ao mesmo tempo, armazenando o conteúdo da biblioteca em um compartilhamento de servidor de arquivo único, nós manter dataset manutenção sobrecarga para um mínimo.

Paulo M. Kunken serve como desenvolvedor de sistema e de administrador no Instituto de pesquisa Scripps em la Jolla, na Califórnia. Ele acumulado seu grau de é bacharel em University of California, Berkeley. Você pode acessar Josh em jkunken@scripps.edu. O trabalho descrito neste artigo foi suportado pelo Centro de tecnologias da acelerada para Gene à estrutura de 3D.