MVP Virtual Conference 2013 Windows Server HPC e Big Data: aplicação real em finanças Pericles...
Transcript of MVP Virtual Conference 2013 Windows Server HPC e Big Data: aplicação real em finanças Pericles...
MVP Virtual Conference 2013Windows Server HPC e Big Data: aplicação real em finançasPericles RochaArchitect, Microsoft Technology [email protected]
Pericles Rocha
DesenvolvedorEx consultor na HP Services
Na Microsoft há 6 anos
Arquiteto, Microsoft Technology Center
MCSE, MCDBA, MCSD
16 anos na
indústria
Corintiano e
Karateca
Agenda
Big Data
O que é Windows
HPC Server?
Arquitetura de um cluster
HPC
HPC + Windows Azure
Cenários de uso
DúvidasCenário Real eDemo
JobsGerenci
arInstalar
BIG DATA
Até 2020, mais de 1/3 de todos os dados do mundo vão passar pela núvemIndiví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
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 flexibilidadeFonte: IDC Whitepaper, “Big Data Analytics in Deuschland 2012”
Complexidade: Variedade e Velocidade
Terabytes
Gigabytes
Megabytes
Petabytes Big
DataLog files
Spatial & GPS coordinates
Data market feeds
eGov feeds
Weather
Text/image
Click stream
Wikis/blogs
Sensors/RFID/devices
Social sentiment
Audio/video
Web 2.0
Web Logs
Digital Marketing
Search Marketing
Recommendations
Advertising
Mobile
Collaboration
eCommerce
ERP/CRM
Payables
Payroll
Inventory
Contacts
Deal Tracking
Sales Pipeline
O que é Big Data?
Oportunidade
Esteja entre os primeiros na sua indústria
Transforme grandes volumes de informações em
aprendizado
Lidere a discussã
o
Entenda as
opções
Tire mais dos
dados
Economize
tempo e dinheiro
Otimização de aplicações web
Medição inteligente
Monitoração de equipamentos
Análise de resultado de anúncios
Pesquisas científicas
Detecção de fraudes
Saúde públicaPrevisão do tempo
Exploração de recursos naturais
Análise de redes sociais
Análises de Churn
Otimização do fluxo de transito
Otimização da infraestrutura de TI Descobertas
Cenários comuns de Big Data
Big Data requer uma abordagem fim-a-fim
Descobrir Combinar Refinar
Relacional Não-relacional Streaming
INSIGHT
DATA
ENRICHMENT
DATA
MANAGEMENT
Auto serviço Colaboração Aplicativos Dispositivos
Analíticos
Fast
L
oad
Sistemas Fontes
Dados Históricos
Sumarização e Carga
Fontes Big Data (Raw, Nào
Estruturados)
Alertas, Notificações
Dados e Aplicações de Computação intensiva
ERP CRM LOB APPS
Integrar/Enriquecer
SQL Server StreamInsight
ETL: SSIS, DQS, MDS
Hadoop on Windows Azure
Hadoop on Windows Server
SQL Server FTDW Data Marts
SQL Server Reporting Services
SQL Server Analysis Server
Business Insights
Relatórios Interativos
Scorecards de Desempenho
Coletores
Equipamentos
Dispositivos
Sensores
SQL Server Parallel Data Warehouse
3. Streaming:
Processamento de dados Real
Time
2. Map/Reduce:
Armazenamento e processamento de dados
não estruturados
4. Business Analytics:
Interações com os dados
Data Insights Value
Azure Market Place
1. Data Warehousing:
Armazenamento e análise de dados
estruturados
THE BIG (DATA) PICTURE
HIGH PERFORMANCE COMPUTING
Tecnologia comoditizada, desenvolvimento simplificadoReaproveitamento de aplicações existentesAtuação mais abrangente:
Big Data, Cálculo de Risco, Processamento de grandes volumes de informação
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 hojeTecnologia comoditizada, desenvolvimento simplificadoReaproveitamento de aplicações existentesAtuaçã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
• MPI (C++ e Fortran) Modelo de Programação
• Comunicação entre nodos do cluster• Sensível a latência• Difícil de escalar. Apropriado para cargas em
batch
Características
• Dinâmica de Fluídos• Análise de elemento finito• Clima
Exemplos
Embarrassingly Parallel Applications• Parametric Sweep• Orientado a Serviços/WCF• Excel Services for HPC Server
Modelo de Programação
• Tarefas independentes uma das outras
• Aplicações escalam com facilidade• Jobs interativos ou em batch
Características
• Análise de Monte Carlo• Cálculo de Risco Financeiro• Otimização de parâmetros MPI
Exemplos
Hybrid Applications• OpenMP• GP-GPU (CUDA – Compute Unified Device
Architecture)
Modelo de Programação
• Aplicações com kernel apropriado para multicore ou GPU
• Podem ser parallel ou embarrassingly parallel
Características
• Processamento SísmicoExemplos
Data Intensive Applications• Linq to HPC (Dryad)• Hadoop• Map-Reduce
Modelo de Programação
• Dados muito grandes para movimentar pelo cluster
• Consultas Ad hoc em dados não estruturados
Características
• Análise de arquivos de Log• Busca de WebExemplos
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
ARQUITETURA DE UM CLUSTER HPC
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)
Topologia básica de um Cluster HPC
Compute NodesClientes
Requests
Head, Compute & Broker Nodes
Active Directory
Jobs
Jobs
Jobs
Tasks
Papéis dos membros de um clusterPapel 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 ServerJob 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
On-Premises
Windows Azure (hoje)Windows Azure
(breve)
WINDOWS SERVER HPC + AZURE
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
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
Head Node cn1 cn2
GTW
10.1.1.1/24 10.1.1.2/24 10.1.1.3/24
ws1hn1Domain: ff.local
10.1.1.254/24 10.1.1.10/24
Compute Proxies Azure Worker Role
Azure Worker Role
Azure VM Role
Azure VM Role
HPC on-premises
CENÁRIOS DE USO
Criação de Conteúdo Digital Pesquisa e Desenvolvimento Setor Público
Ciências e Energia Finanças
Cenários
Criação de Conteúdo Digital
Pesquisa e Desenvolvimento
Ciências e
EnergiaFinanças
Setor Público
Manufatura
INSTALAÇÃO, GERENCIAMENTO E JOBS
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
Windows HPC Cluster: instalação
Depois de validados os pré-requisitos:
1. Instalar o Microsoft HPC Pack 2012 para criar o Head node
2. Fazer configuração inicial no Head node
3. Pre-configurar os Compute nodes
4. 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
Cenário da Demonstração
• 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
Head Node(+Compute)
Active Directory
Compute Nodes
Cliente
Rede Corporativa
Rede Privativa do Cluster
C:\calcula.exe dados.txt
dados.txt
123...1000000
dados.out
1: 1,002: 1,413: 1,73...1000000: SQRT de 1: 20 vezes
SQRT de 2: 20 vezesSQRT de 3: 20 vezes...SQRT de 1000000: 20 vezesTotal de 20 milhões de cálculos
Demonstração: Parametric Sweep Job
1: 1,002: 1,413: 1,73...1000000:
HPC Engine: Parametric Sweep Job
Compute Node 1
CPU 1 CPU 2
CPU 3 CPU 4
dados_1.txtdados_2.txtdados_3.txt...dados_20.txt
123...1000000
123...1000000
123...1000000
dados_1.outdados_2.outdados_3.out...dados_20.out
1: 1,002: 1,413: 1,73...1000000:
1: 1,002: 1,413: 1,73...1000000:
Compute Node 2
CPU 1 CPU 2
CPU 3 CPU 4
Compute Node 3
CPU 1 CPU 2
CPU 3 CPU 4
O Head Node distribui a execução do job entre os núcleos dos Compute Nodes, de acordo com a disponibilidade
dados_1 dados_2
dados_3 dados_4
dados_5 dados_6
dados_7 dados_8
dados_9 dados_10
dados_11 dados_12
Demonstração: Parametric Sweep Job
DEMONSTRAÇÃ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
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
DÚVIDAS
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
Obrigado