MVP Virtual Conference 2013
Windows Server HPC e Big Data: aplicação real
em finanças
Pericles Rocha
Architect, Microsoft Technology Center
[email protected]
Pericles Rocha
16 anos na
indústria
Corintiano
e Karateca
Arquiteto,
Microsoft
Technology
Center
MCSE,
MCDBA,
MCSD
Desenvolvedor
Ex consultor na HP Services
Na Microsoft há 6 anos
Agenda
Big Data
Instalar
O que é
Windows
HPC
Server?
Gerenciar
Arquitetura
de um
cluster HPC
HPC +
Windows
Azure
Cenários
de uso
Jobs
Cenário
Real e
Demo
Dúvidas
1/3 de todos os dados do mundo vão passar pela núvem
Indivíduos criam 70% de todos os dados – empresas armazenam 80%
“Expertise em Big Data está escarço e é caro”, dizem 38% dos pesquisados
Até 2020, mais de
BIG DATA
Big Data
Até 2020, mais de 1/3 de todos os dados do
mundo vão passar pela núvem¹
Indivíduos criam 70% de todos os
dados – empresas armazenam 80%¹
“Expertise em Big Data está escarço e é
caro”, dizem 38% dos pesquisados
¹ Big Data Just Beginning to Explode – csc.com
² How to Bridge Big Data’s Information Gap – InformationWeek.com
Big Data... consequências
50% dos CIOs acreditam que seus custos
vão aumentar
39% acreditam que terão redução de
flexibilidade
Fonte: IDC Whitepaper, “Big Data Analytics in Deuschland 2012”
O que é Big Data?
Petabytes
Terabytes
Gigabytes
Megabytes
Complexidade: Variedade e Velocidade
Oportunidade
Esteja entre os primeiros na sua
indústria
Tire mais
dos dados
Economize
tempo e
dinheiro
Lidere a
discussão
Entenda as
opções
Transforme grandes volumes de
informações em aprendizado
Cenários comuns de Big Data
Otimização da
infraestrutura de
TI
Análises de
Churn
Detecção de
fraudes
Pesquisas
científicas
Descobertas
Análise de redes
sociais
Otimização do
fluxo de transito
Exploração de
recursos naturais
Previsão do
tempo
Saúde pública
Análise de
resultado de
anúncios
Monitoração de
equipamentos
Otimização de
aplicações web
Medição
inteligente
Big Data requer uma abordagem fim-a-fim
INSIGHT
Auto serviço
Colaboração
Aplicativos
Dispositivos
DATA
ENRICHMENT
Descobrir
Combinar
Refinar
DATA
MANAGEMENT
Relacional
Não-relacional
Analíticos
Streaming
Alertas, Notificações
3.
SQL Server
StreamInsight
Fontes Big Data
(Raw, Nào
Estruturados)
Streaming:
Dados e Aplicações de
Computação intensiva
Business Insights
Processamento de
dados Real Time
SQL Server FTDW Data
Marts
Sensores
Fast
Dispositivos
Load
2.
Map/Reduce:
Armazenamento e
processamento deHadoop
dadosonnão
Hadoop on
Windows Azure estruturados
Windows Server
Equipamentos
4.
Sumarização e
Carga
Business Analytics:
SQL Server Reporting
Services
Interações com
os dados
SQL Server Parallel Data
Warehouse
1. Integrar/Enriquecer
Dados Históricos
Data Warehousing:
SQL Server Analysis
Server
Armazenamento e
análise de dados
estruturados
Coletores
Azure Market Place
Scorecards de
Desempenho
ETL: SSIS, DQS, MDS
ERP
CRM
LOB
APPS
Sistemas Fontes
Data
Relatórios
Interativos
Insights
Value
THE BIG (DATA) PICTURE
comoditizada, desenvolvimento simplificado
Reaproveitamento de aplicações existentes
Tecnologia
Atuação mais abrangente:
Big Data, Cálculo de Risco, Processamento de grandes volumes de informação
HIGH PERFORMANCE COMPUTING
High Performance Computing (HPC)
Histórico do uso científico de super
computadores
Década
Uso e computador envolvido
1970
Previsão do tempo, pesquisa aerodinâmica (Cray-1)
1980
Análise de probabilidade, modelagem de blindagem de radiação (CDC Cyber)
1990
Quebra de código por força bruta (EFF DES cracker)
2000
Testes nucleares em 3D em substituição por conduta legal do Tratado de Proliferação
Nuclear (ASCI Q)
2010
Simulação de Dinâmica Molecular (Tianhe-1A)
Fonte: Supercomputer, Wikipedia
HPC e Big Data
• Parte de sua rotina de ETL: processamento
com cálculos complexos, em grande
volume de dados
• Utilização (re) de código legado, ou de
aplicações já existentes para cálculo
• Modelos de cálculo em Microsoft Office
Excel
HPC hoje
Tecnologia comoditizada, desenvolvimento
simplificado
Reaproveitamento de aplicações existentes
Atuação mais abrangente:
– Big Data, Cálculo de Risco, Processamento de
grandes volumes de informação
Windows Server HPC
• Plataforma da Microsoft para computação
em alta performance
• Escala para milhares de núcleos
• Na versão 2012 (quarta versão do HPC
para Windows), permite que um cluster
utilize VMs no Windows Azure
HPC: Modelos de Desenvolvimento
•
•
•
•
Parallel Applications
Embarrassingly Parallel Applications
Hybrid Applications
Data Intensive Applications
Parallel Applications
Modelo de
Programação
Características
Exemplos
• MPI (C++ e Fortran)
• Comunicação entre nodos do cluster
• Sensível a latência
• Difícil de escalar. Apropriado para cargas em batch
• Dinâmica de Fluídos
• Análise de elemento finito
• Clima
Embarrassingly Parallel Applications
Modelo de
Programação
Características
Exemplos
• Parametric Sweep
• Orientado a Serviços/WCF
• Excel Services for HPC Server
• Tarefas independentes uma das outras
• Aplicações escalam com facilidade
• Jobs interativos ou em batch
• Análise de Monte Carlo
• Cálculo de Risco Financeiro
• Otimização de parâmetros MPI
Hybrid Applications
Modelo de
Programação
Características
Exemplos
• OpenMP
• GP-GPU (CUDA – Compute Unified Device
Architecture)
• Aplicações com kernel apropriado para multicore
ou GPU
• Podem ser parallel ou embarrassingly parallel
• Processamento Sísmico
Data Intensive Applications
Modelo de
Programação
Características
Exemplos
• Linq to HPC (Dryad)
• Hadoop
• Map-Reduce
• Dados muito grandes para movimentar pelo
cluster
• Consultas Ad hoc em dados não estruturados
• Análise de arquivos de Log
• Busca de Web
HPC Services for Excel
• Utiliza uma infraestrutura
SOA para executar Jobs
do Excel no cluster
• Unidades independentes
de cálculo (células, linhas
ou colunas) que rodam
de forma assíncrona e
independente no cluster
Gerenciamento e agendamento dos Jobs. Ponto de entrada da rede corporativa para o Cluster
Monitora e gerencia sessões SOA. Recebe requisições Aceita e executa Jobs. Podem ser utilizados de forma
oportunista quando tem outro papel (File/Print Server, etc)
ARQUITETURA DE UM CLUSTER HPC
Topologia básica de um Cluster HPC
Active Directory
Clientes
Compute Nodes
Head, Compute & Broker
Nodes
Requests
Jobs
Tasks
Jobs
Jobs
Papéis dos membros de um cluster
Papel
Funcionalidade
Head node
Gerenciamento e agendamento dos Jobs. Ponto de entrada da
rede corporativa para o Cluster
WCF Broker node
Monitora e gerencia sessões SOA. Recebe requisições
Compute node
Aceita e executa os Jobs
Workstation node
Aceita e executa Jobs (Windows 7)
Windows Azure Worker
node
Aceita e executa Jobs
Windows Azure Virtual
Machine node
Aceita e executa Jobs
Unmanaged Server
node
Aceita e executa Jobs. Podem ser utilizados de forma oportunista
quando tem outro papel (File/Print Server, etc)
Componentes do HPC Server
Job Scheduler
• API e Portal para
submissão de jobs
• Fila e Priorização
• Monitoração
• Políticas de
Compartilhamento
de Recursos
Distributed
Runtimes
• Parametric
Sweeps
• Cluster SOA
• Excel
• MPI
• LINQ to HPC
System
Administration
• Cluster
deployment
• Monitoração
• Diagnósticos
• Reporting
Ambiente híbrido: nodes on-premises e no Azure
O
único papel mandatório on-premise é o Head node
Suportado a partir do
Windows Server 2008 R2 SP 2
WINDOWS SERVER HPC + AZURE
Windows Server HPC + Azure
Ambiente híbrido: nodes on-premises e no Azure
O único papel mandatório
é o Head node
on-premise
Suportado a partir do Windows Server 2008 R2 SP 2
Windows Server HPC + Azure
HPC on-premises
Domain: ff.local
hn1
cn1
cn2
ws1
Head Node
GTW
10.1.1.10/24
10.1.1.254/24
10.1.1.1/24
Compute Proxies
10.1.1.2/24
10.1.1.3/24
Azure Worker Role
Azure Worker Role
Azure VM Role
Azure VM Role
Conteúdo Digital Pesquisa e Desenvolvimento Setor Público Ciências e Energia
Finanças
Criação de
CENÁRIOS DE USO
Cenários
Criação de Conteúdo Digital
Setor
Público
Manufatura
Ciências e
Energia
Finanças
Pesquisa e Desenvolvimento
Instalar o Microsoft HPC Pack 2012 para criar o Head node, Fazer configuração inicial no Head node, Pre-configurar os
Compute nodes, Fazer Join dos Compute nodes no cluster, HPC Cluster Manager, Node & Job Management,
Diagnósticos, Relatórios e Gráficos Management Pack (apenas 2008 R2), Agendamento, Monitoração
da execução dos Jobs
INSTALAÇÃO, GERENCIAMENTO E
JOBS
Windows HPC Cluster: instalação
Depois de validados os prérequisitos:
1.
2.
3.
4.
Instalar o Microsoft HPC Pack
2012 para criar o Head node
Fazer configuração inicial no
Head node
Pre-configurar os Compute
nodes
Fazer Join dos Compute
nodes no cluster
Windows HPC Cluster: gerenciar
• HPC Cluster Manager
– Node & Job
Management
– Diagnósticos
– Relatórios e Gráficos
• Management Pack
(apenas 2008 R2)
Windows HPC Cluster: jobs
• Agendamento
• Cada Job pode ter
várias tarefas
• Escolha de compute
nodes para cada Job
• Monitoração da
execução dos Jobs
Vida real: o cenário
•
•
Cliente com necessidade de uma solução para auxílio de cálculo
de VAR (value at risk). Um dos cálculos necessários é o RAROC
O modelo RAROC (Risk Adjusted Return on Capital, ou Retorno
Ajustado ao Risco no Capital) foi desenvolvido nos anos 70. Hoje em dia,
praticamente todos os grandes bancos internacionais utilizam uma variação
deste modelo. O RAROC é uma mensuração da rentabilidade baseada no
risco, sendo base para análise do desempenho do ajuste de risco e
provendo uma visão consistente da rentabilidade cruzada com os negócios.
Vida real: a solução
• Utilização de uma Plataforma de Cálculo em
Alta Performance que deve utilizar código
legado já em uso na empresa
• A solução deverá oferecer boa escalabilidade,
custo competitivo e agilidade na adoção
de novos projetos
•
Utilização de uma aplicação de cálculo que recebe
um arquivo de entrada, realiza cálculos de raiz
quadrada e escreve o resultado em um arquivo de
saída
•
É criado um Parametric Sweep Job (cenário
Embarrassingly Parallel)
•
Serão passados 20 arquivos ao cluster. Cada
Compute Node aloca quatro threads de cada vez,
uma para cada núcleo, e cada thread processa um
arquivo
•
Nesta demonstração, o Head node também é um
compute node
•
Os dados processados são importados utilizando o
SSIS e a análise pode ser feita no Excel por
analistas de Business Intelligence
Cenário da Demonstração
Active Directory
Rede Privativa
do Cluster
Rede Corporativa
Cliente
Head Node
(+Compute)
Compute Nodes
Demonstração: Parametric Sweep Job
1
2
3
...
1000000
dados.txt
C:\calcula.exe dados.txt
SQRT de 1: 20 vezes
SQRT de 2: 20 vezes
SQRT de 3: 20 vezes
...
SQRT de 1000000: 20 vezes
Total de 20 milhões de cálculos
1: 1,00
2: 1,41
3: 1,73
...
1000000:
dados.out
Demonstração: Parametric Sweep Job
HPC Engine: Parametric Sweep Job
Compute Node 1
11
2 21
3 32
......3
...
1000000
1000000
1000000
O Head Node
distribui a execução
do job entre os
núcleos dos
Compute Nodes,
de acordo com a
disponibilidade
Compute Node 2
CPU 1
dados_1.txt
dados_2.txt
dados_3.txt
...
dados_20.txt
dados_5
CPU 3
dados_7
CPU 2
dados_6
CPU 4
dados_8
CPU 1
dados_1
CPU 3
dados_3
CPU 2
dados_2
CPU 4
dados_4
Compute Node 3
CPU 1
dados_9
CPU 3
dados_11
1:1:1,00
1,00
1: 1,00
2:2:1,41
1,41
2: 1,41
3:3:1,73
1,73
3:
...... 1,73
...
1000000:
1000000:
1000000:
CPU 2
dados_10
CPU 4
dados_12
dados_1.out
dados_2.out
dados_3.out
...
dados_20.out
Utilização de uma
Plataforma de Cálculo em Alta Performance que deve utilizar código
legado já em uso na empresa
A solução deverá oferecer boa
novos projetos
escalabilidade, custo competitivo e agilidade na adoção de
DEMONSTRAÇÃO
Resumo
• Big Data: oportunidade de liderar a
discussão
• Várias tecnologias podem ser envolvidas
no processo de tratamento dos dados
• HPC é uma solução barata, altamente
escalável e de implementação rápida
rotina de ETL: processamento com cálculos complexos, em grande volume
de dados – Utilização (re) de código legado, ou de aplicações já existentes para cálculo – Modelos de cálculo
em Microsoft Office Excel
Parte de sua
DÚVIDAS
Obrigado