SlideShare ist ein Scribd-Unternehmen logo
1 von 3
WLM-MANAGED BATCH
                                Implementação no ambiente Itaú

                                    Por João Dias de Carvalho Neto
                                  Especialista de Suporte de Sistemas
                                               Banco Itaú

        Nos dias de hoje concluir o processamento batch dentro de uma janela cada vez
             menor devido ao crescimento do segmento online tornou-se um desafio.
        Este artigo tem por objetivo divulgar a todos os envolvidos com processamento
        batch centralizado em plataformas mainframe, as experiências dos analistas do
         Itaú na implementação de processos que reduzissem o tempo necessário para
                                        cumprir os SLAs.


Nos dias de hoje por razões de disponibilidade que se    homem. Neste ponto surgiram os softwares
tornaram obvias, o período do dia destinado a            especializados em Planejamento de Controle de
transações online tem aumentado constantemente.          Produção (PCPs). Estas facilidades baseian-se num
Esta disponibilidade que tende a ser 24x7 tem            fluxograma previamente planejado e a partir das
afunilado cada vez mais a janela destinada ao            condições de predecessores e sucessores os jobs são
processamento Batch, com isto cumprir os SLAs            submetidos aos sistemas ou a um determinado sistema.
dentro desta janela passou a ser um desafio.             Outra facilidade disponibilizada foi a utilização de um
Como distribuir os jobs pelas diferentes partições de    único Spool para centralizar os jobs que aguardam
um sysplex? O que fazer caso um cancelamento de          execução, criando um ambiente multi-access spool
programa atrasar todo um cronograma? E se um             (MAS). Desta forma através de ciclos de tempo cada
sistema parar?                                           sistema de um ambiente MAS tem o controle do Spool,
Em situações normais, para se controlar e planejar a     podendo selecionar os jobs para execução. Esta
distribuição dos jobs é necessário um forte              facilidade é denominada Shared Spool. Dentro de um
envolvimento de pessoas. Em situações de                 ambiente Sysplex, podemos ter vários membros MAS, e
problemas, certamente este envolvimento será ainda       dentro de cada MAS um ou mais PCPs.
maior, e assim como em situações normais, sujeito a
erros.                                                   Agrupamento de jobs
  No sentido de otimizar ao máximo a execução dos
jobs, e reduzir ao mínimo problemas que impactem o       O primeiro passo no caminho da distribuição dinâmica
cumprimento dos SLAs, em nossa instalação optamos        de jobs foi a classificação destes em classes afins.
por utilizar as facilidades do WLM. O objetivo é         Neste trabalho foram contemplados em torno de
auxiliar no cumprimento do cronograma batch,             130.000 jobs que foram agrupados basicamente em
direcionando e balanceando dinamicamente os jobs         função do recurso necessário para sua execução (DB2,
entre os sistemas, e racionalizando a utilização de      IMS, MQSERIES, HPU, etc...). Associados à estes
recursos.                                                diferentes grupos foram criados cartões de controle para
                                                         o PCP, desta forma os jobs eram direcionados aos
PRÉ REQUISÍTOS PARA IMPLEMENTAÇÃO                        sistemas que possuem os recursos.

PCP e SHARED SPOOL

Na década de 80 teve início uma explosão no              IMPLEMENTAÇÃO
portifólio de serviços disponíveis automaticamente aos
usuários, e com isso houve um conseqüente aumento        JES2 Managed Initiators
no volume de processamento batch que passou a ter
sua maior parte executada no período noturno. O          Quando os jobs são carregados no SPOOL, estes são
volume imenso de jobs a ser submetido não podia          associados a uma determinada classe de execução
mais ficar sob responsabilidade do ser humano, este      (JOBCLASS). Se estamos trabalhando com initiators
controle se tornou fisicamente impossível para o         JES2 Managed, estes estão previamente definidos na
JES2PARM (INITDEF), e podem ser started em tempo          WLM Managed Initiators
de IPL ou posteriormente através de comando de JES
(operação ou automação). Importante é que para um         Se estamos trabalhando em ambiente MAS e initiators
job ser executado deve existir disponível um initiator    WLM managed, estes não estarão previamente
que atenda esta classe.                                   definidos na JES2PARM (INITDEF) e somente serão
Até ocorrer a implementação do ambiente MAS,              disponibilizados quando um ou mais jobs chegarem
nossos jobs eram direcionados para um determinado         para ser executados. Estes jobs serão direcionados
sistema através do cartão /*XEQ que direcionava o job     para qualquer dos sistemas que tenha o scheduling
para o node que representa um sistema especifico.         environment disponível até que um deles atinja mais
O direcionamento dos jobs para um MAS é feito via         que 95% de utilização ou o PI da service class não
cartão controle através de /*XEQ e para um sistema        esteja sendo alcançado. Neste caso o WLM não
específico soma-se o cartão /*JOBPARM SYSAFF.             direciona mais jobs para este sistema, procurando outro
Com esta modalidade de submissão, os jobs são             com menor carga.
incondicionalmente destinados a um sistema dentro         Esta capacidade de direcionamento para outro ambiente
de um SYSPLEX. Esta metodologia tem por                   com menor carga, promove a distribuição dinâmica e
inconveniente que um job pode ser direcionado para        redirecionamento automático de jobs, reduzindo a
uma máquina que esteja super utilizada e neste caso       probabilidade de erros e o maior cumprimento dos
poderá sofrer delay por CPU ou periféricos, que           SLAs.
resultarão em atraso no cumprimento do SLA.
Em resumo ao trabalhamos com initiators JES2              Starting Initiators
managed, a distribuição do workload entre os
sistemas se torna trabalhosa por ser manual em            Os jobs que executarão em inititators WLM managed,
quase sua totalidade e por isso de difícil percepção de   são associados a classe de execução cuja jobclass na
gargalos, mais propensa a erros e conseqüente risco       SYS1.PARMLIB esteja como MODE=WLM. Neste caso
de atraso em SLAs.                                        o    WLM      executará     a     proc     existente   na
                                                          SYS1.PROCLIB(INIT) e o initiator será aberto.
Resource Avalibility Scheduling                           Importante ressaltar que este initiator será fechado caso
                                                          não seja mais necessário, diferentemente dos initiators
Se estamos trabalhando em ambiente MAS, mesmo             JES2 managed que ficam abertos até que seja emitido
utilizando initiators JES2 managed podemos definir        um comando para fechá-lo.
logicamente “recursos” para o WLM a fim de                Em caso de submissão massiva de jobs, deve-se alertar
direcionar um job para um dos sistemas onde os            que novos initiators são abertos de 5 em 5 a cada 10
“recursos” necessários (IMS, DB2, CICS, outros) para      segundos (ciclo do WLM).
sua execução estejam disponíveis. A uma                   Outro caso específico é o release no job via comando
combinação        destes   “recursos”  denominamos        de operação. Não é possível abrir initiators WLM
Scheduling Environments, e estes são identificados no     managed via comando de operação.
JCL através da keyword SCHENV. Esta facilidade é
denominada RAS (Resource Availability Scheduling).        Stopping Initiators
Porém sempre existe um trabalho grande de
retaguarda para explorarmos estas facilidades, e que      Conforme comentamos um initiator WLM managed não
neste caso consiste do conhecimento de sua carga          permanece aberto indefinidamente. Quando o WLM
batch, seus SLAs e suas prioridades, para desta           detectar que o número de inits WLM abertos é 1,5 vez
forma criar uma definição adequada de recursos.           maior que a fila de jobs aguardando execução ele inicia
Quanto melhor definidos e associados estes recursos       um processo de fechar os initiatos excedentes. Outra
mais eficaz será o trabalho do WLM.                       situação é quando os goals da service class associada a
Com estas facilidades podemos garantir que um job         estes jobs não estiver sendo atingido por falta de
somente será executado em um dos sistemas onde os         memória ou processador. Neste caso o WLM também
“recursos” necessários para sua execução estejam          procederá o close dos initiatos. Não é possível fechar
disponíveis.                                              estes initiators via comando de operação.
Outro ponto a ser lembrado é a utilização de
facilidades como System Automation, para variar
automaticamente os “recursos” ON ou OFF ou RESET          Forcing Immediate Initiation
imediatamente após o IPL. Ou colocar um “recurso”
OFF quando um produto “cai” ou ON quando este é           Quando um job necessita ser executado em uma
reativado.                                                máquina específica, e esta não tem recursos
                                                          disponíveis, o WLM não iniciará este processamento. O
job ficará aguardando até que haja disponibilidade de    Aferição
recursos ou até que o job seja liberado via comando
de operação. Este é o único caso possível de se          A aferição de ganhos quando se utilizando distribuição
forçar o start de initiator WLM managed.                 de batch via initiators WLM managed pode ser feita de
                                                         várias maneiras, porém para isto é importante termos
Job Class Limit                                          dados históricos, semelhantes a média de wait por job;
                                                         quantidade de remanejamento de jobs entre sistemas;
Existe a possibilidade de se limitar o número de jobs    número de vezes que os SLAs são atendidos dentro do
processados em uma determinada classe através do         tempo combinado. gráficos com perfil de utilização de
parâmeto XEQCOUNT=MAXIMUM=* especificado na              recursos, etc...
JES2PARM. É bom lembrar que esta definição é             Tempos de wait aguardando initiators WLM podem ser
valida para todo o ambiente MAS. Outro limite ocorre     obtidos em relatórios de workload do RMF
quanto     atingir   o   MAXUSER         do   sistema
(SYS1.PARMLIB(IEASYSxx)).                                Conclusão

Benefícios                                               Hoje em nossa instalação, em torno de 80% dos jobs
                                                         batch processados estão associados a classe de
Hoje com o balanceamento sendo gerenciado pelo           initiator WLM Managed. Os benefícios resultantes desta
WLM, os jobs são direcionados para scheduling            associação foram significativos, principalmente em
environments específicos, e quando existe alta           períodos que chamamos de fechamento (quando ocorre
utilização de CPU ou memória em um sistema, o WLM        o maior período de tempo executando grande
direciona automaticamente os jobs para outra             quantidade de jobs em paralelo). Antes de explorar o
máquina com maior disponibilidade de recursos,           balanceamento via WLM, era necessário que analistas
proporcionando uma distribuição rápida e segura. Este    de produção ficassem alocados apenas para remanejar
ganho reflete-se em vários pontos, porém um dos que      jobs entre os sistemas, e em virtude deste
vale ressaltar é no wait por CPU. Antes quando um        remanejamento englobar muitos jobs, o resultado obtido
job     era    direcionado    para     um     sistema    nem sempre era satisfatório.
independentemente deste ter ou não recursos para         A utilização efetiva de balanceamento de carga batch
atender a demanda, o tempo que este job permanecia       via initiator WLM Managed, nos trouxe ganhos
em wait por CPU ou mesmo memória era muito maior         significativos em termos de gerenciamento e distribuição
do que os tempos hoje observados, pois como o WLM        de recursos para atendermos os SLAs no menor tempo
direciona os jobs para ambiente onde existem             possível.
recursos disponíveis os jobs não sofrerão tanto delay.   O importante é que este tipo de implementação seja
Em resumo, o tempo em que o job espera para ser          feita de forma escalonada, fazendo-se aferições a cada
direcionado para outro sistema é muito menor que a       etapa até chegarmos ao tunning fino no final do projeto.
soma dos waits que ele teria se não fosse
remanejado. Com isto podemos garantir uma melhor         Dúvidas
fluidez de processamento e consequentemente o
cumprimento mais rápido dos SLAs acordados sem           A fim de complementar informações que não tenham
necessidade de priorização de jobs.                      sido focadas em sua totalidade, ou qualquer outra
Outro grande ganho observado, foi com relação a          dúvida, nos colocamos a disposição através de:
manutenção em softwares específicos (DB2; IMS;           e-mail = JOÃO.CARVALHO-NETO@IITAU.COM.BR
HPU) nesta situação pode-se inibir antecipadamente a     fone = (011) 3274-9054
execução de jobs que utilizarem este recurso apenas      Banco Itaú
configurando OFF o Recurso associado ao software.
Também quando é necessário entregar uma máquina
para manutenção, neste caso definimos um recurso
genérico denominado “System” e que faz parte de
todos os scheduling environments, quando este
recurso é colocado OFF em um determinado sistema
a partir deste momento nenhum job WLM managed
será iniciado nesta máquina.

Weitere ähnliche Inhalte

Andere mochten auch

Martin pulido tutorial aprendizaje autonomo
Martin pulido tutorial aprendizaje autonomoMartin pulido tutorial aprendizaje autonomo
Martin pulido tutorial aprendizaje autonomo
Martin Pulido
 
Método de Euler Progressivo
Método de Euler Progressivo Método de Euler Progressivo
Método de Euler Progressivo
Rafael Lucas
 
ExposiçãO Cientistas E Inventores Na HistóRia
ExposiçãO Cientistas E Inventores Na HistóRiaExposiçãO Cientistas E Inventores Na HistóRia
ExposiçãO Cientistas E Inventores Na HistóRia
claudiog
 
DESARROLLO DE LA TECNOLOGÍA EDUCATIVA
DESARROLLO DE LA TECNOLOGÍA EDUCATIVADESARROLLO DE LA TECNOLOGÍA EDUCATIVA
DESARROLLO DE LA TECNOLOGÍA EDUCATIVA
Itziie
 
Importancia de-la-tic-en-la-educacion1600
Importancia de-la-tic-en-la-educacion1600Importancia de-la-tic-en-la-educacion1600
Importancia de-la-tic-en-la-educacion1600
moyetones
 
Atención primaria de salud
Atención primaria de saludAtención primaria de salud
Atención primaria de salud
yosleibervierag
 
Ondas del electrocardiograma
Ondas del electrocardiogramaOndas del electrocardiograma
Ondas del electrocardiograma
DrLuisR
 

Andere mochten auch (18)

Martin pulido tutorial aprendizaje autonomo
Martin pulido tutorial aprendizaje autonomoMartin pulido tutorial aprendizaje autonomo
Martin pulido tutorial aprendizaje autonomo
 
Método de Euler Progressivo
Método de Euler Progressivo Método de Euler Progressivo
Método de Euler Progressivo
 
Dioses griegos
Dioses griegosDioses griegos
Dioses griegos
 
marketing-avanzado-globalizacion
marketing-avanzado-globalizacionmarketing-avanzado-globalizacion
marketing-avanzado-globalizacion
 
ExposiçãO Cientistas E Inventores Na HistóRia
ExposiçãO Cientistas E Inventores Na HistóRiaExposiçãO Cientistas E Inventores Na HistóRia
ExposiçãO Cientistas E Inventores Na HistóRia
 
Conclusiones niels
Conclusiones nielsConclusiones niels
Conclusiones niels
 
DESARROLLO DE LA TECNOLOGÍA EDUCATIVA
DESARROLLO DE LA TECNOLOGÍA EDUCATIVADESARROLLO DE LA TECNOLOGÍA EDUCATIVA
DESARROLLO DE LA TECNOLOGÍA EDUCATIVA
 
Instrucao publica
Instrucao publicaInstrucao publica
Instrucao publica
 
Importancia de-la-tic-en-la-educacion1600
Importancia de-la-tic-en-la-educacion1600Importancia de-la-tic-en-la-educacion1600
Importancia de-la-tic-en-la-educacion1600
 
Atención primaria de salud
Atención primaria de saludAtención primaria de salud
Atención primaria de salud
 
Ondas del electrocardiograma
Ondas del electrocardiogramaOndas del electrocardiograma
Ondas del electrocardiograma
 
concepto de marketing
concepto de marketingconcepto de marketing
concepto de marketing
 
Conclusions
ConclusionsConclusions
Conclusions
 
História
HistóriaHistória
História
 
Virus informaticos 1
Virus informaticos 1Virus informaticos 1
Virus informaticos 1
 
CONAE 2014 1º dia
CONAE 2014 1º diaCONAE 2014 1º dia
CONAE 2014 1º dia
 
Introducción a las Herramientas de Desarrollo para Android
Introducción a las Herramientas de Desarrollo para AndroidIntroducción a las Herramientas de Desarrollo para Android
Introducción a las Herramientas de Desarrollo para Android
 
Gerência de memória
Gerência de memóriaGerência de memória
Gerência de memória
 

Mehr von Joao Galdino Mello de Souza

Pré-Anúncio z/OS 2.4 por Alvaro Salla (MAFFEI)
Pré-Anúncio z/OS 2.4 por Alvaro Salla (MAFFEI)Pré-Anúncio z/OS 2.4 por Alvaro Salla (MAFFEI)
Pré-Anúncio z/OS 2.4 por Alvaro Salla (MAFFEI)
Joao Galdino Mello de Souza
 

Mehr von Joao Galdino Mello de Souza (20)

Explorando a API Rest Jira Cloud
Explorando a API Rest Jira CloudExplorando a API Rest Jira Cloud
Explorando a API Rest Jira Cloud
 
Enterprise computing for modern business workloads por Lívio Sousa (IBM)
Enterprise computing for modern business workloads por Lívio Sousa (IBM)Enterprise computing for modern business workloads por Lívio Sousa (IBM)
Enterprise computing for modern business workloads por Lívio Sousa (IBM)
 
Pré-Anúncio z/OS 2.4 por Alvaro Salla (MAFFEI) e Fernando Ferreira (IBM)
Pré-Anúncio z/OS 2.4 por Alvaro Salla (MAFFEI) e Fernando Ferreira (IBM)Pré-Anúncio z/OS 2.4 por Alvaro Salla (MAFFEI) e Fernando Ferreira (IBM)
Pré-Anúncio z/OS 2.4 por Alvaro Salla (MAFFEI) e Fernando Ferreira (IBM)
 
Scaling Multi-cloud with Infrastructure as Code por André Rocha Agostinho (S...
Scaling  Multi-cloud with Infrastructure as Code por André Rocha Agostinho (S...Scaling  Multi-cloud with Infrastructure as Code por André Rocha Agostinho (S...
Scaling Multi-cloud with Infrastructure as Code por André Rocha Agostinho (S...
 
Alta Disponibilidade SQL Server por Marcus Vinicius Bittencourt (O Boticário)
Alta Disponibilidade SQL Server por Marcus Vinicius Bittencourt (O Boticário)Alta Disponibilidade SQL Server por Marcus Vinicius Bittencourt (O Boticário)
Alta Disponibilidade SQL Server por Marcus Vinicius Bittencourt (O Boticário)
 
Cloud no Banco Votorantim por Marcus Vinícius de Aguiar Magalhaes (Banco Voto...
Cloud no Banco Votorantim por Marcus Vinícius de Aguiar Magalhaes (Banco Voto...Cloud no Banco Votorantim por Marcus Vinícius de Aguiar Magalhaes (Banco Voto...
Cloud no Banco Votorantim por Marcus Vinícius de Aguiar Magalhaes (Banco Voto...
 
Descomplicando a Ciência de Dados por Adelson Lovatto (IBM)
Descomplicando a Ciência de Dados por Adelson Lovatto (IBM)Descomplicando a Ciência de Dados por Adelson Lovatto (IBM)
Descomplicando a Ciência de Dados por Adelson Lovatto (IBM)
 
Pré-Anúncio z/OS 2.4 por Alvaro Salla (MAFFEI)
Pré-Anúncio z/OS 2.4 por Alvaro Salla (MAFFEI)Pré-Anúncio z/OS 2.4 por Alvaro Salla (MAFFEI)
Pré-Anúncio z/OS 2.4 por Alvaro Salla (MAFFEI)
 
Consumo de CPU, Distorções e Redução de custo de SW por Maria Isabel Soutello...
Consumo de CPU, Distorções e Redução de custo de SW por Maria Isabel Soutello...Consumo de CPU, Distorções e Redução de custo de SW por Maria Isabel Soutello...
Consumo de CPU, Distorções e Redução de custo de SW por Maria Isabel Soutello...
 
Qualidade no desenvolvimento de Sistemas por Anderson Augustinho (Celepar)
Qualidade no desenvolvimento de Sistemas por Anderson Augustinho (Celepar)Qualidade no desenvolvimento de Sistemas por Anderson Augustinho (Celepar)
Qualidade no desenvolvimento de Sistemas por Anderson Augustinho (Celepar)
 
Assets Tokenization: Novas Linhas de negócio por Lívio Sousa (IBM)
Assets Tokenization: Novas Linhas de negócio por Lívio Sousa (IBM)Assets Tokenization: Novas Linhas de negócio por Lívio Sousa (IBM)
Assets Tokenization: Novas Linhas de negócio por Lívio Sousa (IBM)
 
Intelligent Edge e Intelligent Cloud por Vivian Heinrichs (Softline)
Intelligent Edge e Intelligent Cloud por Vivian Heinrichs (Softline)Intelligent Edge e Intelligent Cloud por Vivian Heinrichs (Softline)
Intelligent Edge e Intelligent Cloud por Vivian Heinrichs (Softline)
 
Evolução da eficiência operacional no mainframe por Emerson Castelano (Eccox)
Evolução da eficiência operacional no mainframe por Emerson Castelano (Eccox)Evolução da eficiência operacional no mainframe por Emerson Castelano (Eccox)
Evolução da eficiência operacional no mainframe por Emerson Castelano (Eccox)
 
Gestão de Capacidade, desempenho e custos no ambiente mainframe zOS: Um caso ...
Gestão de Capacidade, desempenho e custos no ambiente mainframe zOS: Um caso ...Gestão de Capacidade, desempenho e custos no ambiente mainframe zOS: Um caso ...
Gestão de Capacidade, desempenho e custos no ambiente mainframe zOS: Um caso ...
 
Eletricidade e Eletrônica 1.01 por Luiz Carlos Orsoni (MAFFEI)
Eletricidade e Eletrônica 1.01 por Luiz Carlos Orsoni (MAFFEI)Eletricidade e Eletrônica 1.01 por Luiz Carlos Orsoni (MAFFEI)
Eletricidade e Eletrônica 1.01 por Luiz Carlos Orsoni (MAFFEI)
 
Pervasive Encryption por Eugênio Fernandes (IBM)
Pervasive Encryption por Eugênio Fernandes (IBM)Pervasive Encryption por Eugênio Fernandes (IBM)
Pervasive Encryption por Eugênio Fernandes (IBM)
 
Minimizar RNI ambiente CICS por Milton Ferraraccio (Eccox Technology)
Minimizar RNI ambiente CICS por Milton Ferraraccio (Eccox Technology)Minimizar RNI ambiente CICS por Milton Ferraraccio (Eccox Technology)
Minimizar RNI ambiente CICS por Milton Ferraraccio (Eccox Technology)
 
Scaling Multi-Cloud with Infrastructure as a Code por André Rocha Agostinho (...
Scaling Multi-Cloud with Infrastructure as a Code por André Rocha Agostinho (...Scaling Multi-Cloud with Infrastructure as a Code por André Rocha Agostinho (...
Scaling Multi-Cloud with Infrastructure as a Code por André Rocha Agostinho (...
 
Como obter o melhor do Z por Gustavo Fernandes Araujo (Itau Unibanco)
Como obter o melhor do Z por Gustavo Fernandes Araujo (Itau Unibanco)Como obter o melhor do Z por Gustavo Fernandes Araujo (Itau Unibanco)
Como obter o melhor do Z por Gustavo Fernandes Araujo (Itau Unibanco)
 
Lei geral de proteção de dados por Kleber Silva e Ricardo Navarro (Pise4)
Lei geral de proteção de dados por Kleber Silva  e Ricardo Navarro (Pise4)Lei geral de proteção de dados por Kleber Silva  e Ricardo Navarro (Pise4)
Lei geral de proteção de dados por Kleber Silva e Ricardo Navarro (Pise4)
 

Kürzlich hochgeladen

Assessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfAssessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdf
Natalia Granato
 

Kürzlich hochgeladen (6)

ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
Assessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfAssessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdf
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 

WLM-Managed Batch - Implementação no amiente Itaú por João Dias de Carvalho Neto

  • 1. WLM-MANAGED BATCH Implementação no ambiente Itaú Por João Dias de Carvalho Neto Especialista de Suporte de Sistemas Banco Itaú Nos dias de hoje concluir o processamento batch dentro de uma janela cada vez menor devido ao crescimento do segmento online tornou-se um desafio. Este artigo tem por objetivo divulgar a todos os envolvidos com processamento batch centralizado em plataformas mainframe, as experiências dos analistas do Itaú na implementação de processos que reduzissem o tempo necessário para cumprir os SLAs. Nos dias de hoje por razões de disponibilidade que se homem. Neste ponto surgiram os softwares tornaram obvias, o período do dia destinado a especializados em Planejamento de Controle de transações online tem aumentado constantemente. Produção (PCPs). Estas facilidades baseian-se num Esta disponibilidade que tende a ser 24x7 tem fluxograma previamente planejado e a partir das afunilado cada vez mais a janela destinada ao condições de predecessores e sucessores os jobs são processamento Batch, com isto cumprir os SLAs submetidos aos sistemas ou a um determinado sistema. dentro desta janela passou a ser um desafio. Outra facilidade disponibilizada foi a utilização de um Como distribuir os jobs pelas diferentes partições de único Spool para centralizar os jobs que aguardam um sysplex? O que fazer caso um cancelamento de execução, criando um ambiente multi-access spool programa atrasar todo um cronograma? E se um (MAS). Desta forma através de ciclos de tempo cada sistema parar? sistema de um ambiente MAS tem o controle do Spool, Em situações normais, para se controlar e planejar a podendo selecionar os jobs para execução. Esta distribuição dos jobs é necessário um forte facilidade é denominada Shared Spool. Dentro de um envolvimento de pessoas. Em situações de ambiente Sysplex, podemos ter vários membros MAS, e problemas, certamente este envolvimento será ainda dentro de cada MAS um ou mais PCPs. maior, e assim como em situações normais, sujeito a erros. Agrupamento de jobs No sentido de otimizar ao máximo a execução dos jobs, e reduzir ao mínimo problemas que impactem o O primeiro passo no caminho da distribuição dinâmica cumprimento dos SLAs, em nossa instalação optamos de jobs foi a classificação destes em classes afins. por utilizar as facilidades do WLM. O objetivo é Neste trabalho foram contemplados em torno de auxiliar no cumprimento do cronograma batch, 130.000 jobs que foram agrupados basicamente em direcionando e balanceando dinamicamente os jobs função do recurso necessário para sua execução (DB2, entre os sistemas, e racionalizando a utilização de IMS, MQSERIES, HPU, etc...). Associados à estes recursos. diferentes grupos foram criados cartões de controle para o PCP, desta forma os jobs eram direcionados aos PRÉ REQUISÍTOS PARA IMPLEMENTAÇÃO sistemas que possuem os recursos. PCP e SHARED SPOOL Na década de 80 teve início uma explosão no IMPLEMENTAÇÃO portifólio de serviços disponíveis automaticamente aos usuários, e com isso houve um conseqüente aumento JES2 Managed Initiators no volume de processamento batch que passou a ter sua maior parte executada no período noturno. O Quando os jobs são carregados no SPOOL, estes são volume imenso de jobs a ser submetido não podia associados a uma determinada classe de execução mais ficar sob responsabilidade do ser humano, este (JOBCLASS). Se estamos trabalhando com initiators controle se tornou fisicamente impossível para o JES2 Managed, estes estão previamente definidos na
  • 2. JES2PARM (INITDEF), e podem ser started em tempo WLM Managed Initiators de IPL ou posteriormente através de comando de JES (operação ou automação). Importante é que para um Se estamos trabalhando em ambiente MAS e initiators job ser executado deve existir disponível um initiator WLM managed, estes não estarão previamente que atenda esta classe. definidos na JES2PARM (INITDEF) e somente serão Até ocorrer a implementação do ambiente MAS, disponibilizados quando um ou mais jobs chegarem nossos jobs eram direcionados para um determinado para ser executados. Estes jobs serão direcionados sistema através do cartão /*XEQ que direcionava o job para qualquer dos sistemas que tenha o scheduling para o node que representa um sistema especifico. environment disponível até que um deles atinja mais O direcionamento dos jobs para um MAS é feito via que 95% de utilização ou o PI da service class não cartão controle através de /*XEQ e para um sistema esteja sendo alcançado. Neste caso o WLM não específico soma-se o cartão /*JOBPARM SYSAFF. direciona mais jobs para este sistema, procurando outro Com esta modalidade de submissão, os jobs são com menor carga. incondicionalmente destinados a um sistema dentro Esta capacidade de direcionamento para outro ambiente de um SYSPLEX. Esta metodologia tem por com menor carga, promove a distribuição dinâmica e inconveniente que um job pode ser direcionado para redirecionamento automático de jobs, reduzindo a uma máquina que esteja super utilizada e neste caso probabilidade de erros e o maior cumprimento dos poderá sofrer delay por CPU ou periféricos, que SLAs. resultarão em atraso no cumprimento do SLA. Em resumo ao trabalhamos com initiators JES2 Starting Initiators managed, a distribuição do workload entre os sistemas se torna trabalhosa por ser manual em Os jobs que executarão em inititators WLM managed, quase sua totalidade e por isso de difícil percepção de são associados a classe de execução cuja jobclass na gargalos, mais propensa a erros e conseqüente risco SYS1.PARMLIB esteja como MODE=WLM. Neste caso de atraso em SLAs. o WLM executará a proc existente na SYS1.PROCLIB(INIT) e o initiator será aberto. Resource Avalibility Scheduling Importante ressaltar que este initiator será fechado caso não seja mais necessário, diferentemente dos initiators Se estamos trabalhando em ambiente MAS, mesmo JES2 managed que ficam abertos até que seja emitido utilizando initiators JES2 managed podemos definir um comando para fechá-lo. logicamente “recursos” para o WLM a fim de Em caso de submissão massiva de jobs, deve-se alertar direcionar um job para um dos sistemas onde os que novos initiators são abertos de 5 em 5 a cada 10 “recursos” necessários (IMS, DB2, CICS, outros) para segundos (ciclo do WLM). sua execução estejam disponíveis. A uma Outro caso específico é o release no job via comando combinação destes “recursos” denominamos de operação. Não é possível abrir initiators WLM Scheduling Environments, e estes são identificados no managed via comando de operação. JCL através da keyword SCHENV. Esta facilidade é denominada RAS (Resource Availability Scheduling). Stopping Initiators Porém sempre existe um trabalho grande de retaguarda para explorarmos estas facilidades, e que Conforme comentamos um initiator WLM managed não neste caso consiste do conhecimento de sua carga permanece aberto indefinidamente. Quando o WLM batch, seus SLAs e suas prioridades, para desta detectar que o número de inits WLM abertos é 1,5 vez forma criar uma definição adequada de recursos. maior que a fila de jobs aguardando execução ele inicia Quanto melhor definidos e associados estes recursos um processo de fechar os initiatos excedentes. Outra mais eficaz será o trabalho do WLM. situação é quando os goals da service class associada a Com estas facilidades podemos garantir que um job estes jobs não estiver sendo atingido por falta de somente será executado em um dos sistemas onde os memória ou processador. Neste caso o WLM também “recursos” necessários para sua execução estejam procederá o close dos initiatos. Não é possível fechar disponíveis. estes initiators via comando de operação. Outro ponto a ser lembrado é a utilização de facilidades como System Automation, para variar automaticamente os “recursos” ON ou OFF ou RESET Forcing Immediate Initiation imediatamente após o IPL. Ou colocar um “recurso” OFF quando um produto “cai” ou ON quando este é Quando um job necessita ser executado em uma reativado. máquina específica, e esta não tem recursos disponíveis, o WLM não iniciará este processamento. O
  • 3. job ficará aguardando até que haja disponibilidade de Aferição recursos ou até que o job seja liberado via comando de operação. Este é o único caso possível de se A aferição de ganhos quando se utilizando distribuição forçar o start de initiator WLM managed. de batch via initiators WLM managed pode ser feita de várias maneiras, porém para isto é importante termos Job Class Limit dados históricos, semelhantes a média de wait por job; quantidade de remanejamento de jobs entre sistemas; Existe a possibilidade de se limitar o número de jobs número de vezes que os SLAs são atendidos dentro do processados em uma determinada classe através do tempo combinado. gráficos com perfil de utilização de parâmeto XEQCOUNT=MAXIMUM=* especificado na recursos, etc... JES2PARM. É bom lembrar que esta definição é Tempos de wait aguardando initiators WLM podem ser valida para todo o ambiente MAS. Outro limite ocorre obtidos em relatórios de workload do RMF quanto atingir o MAXUSER do sistema (SYS1.PARMLIB(IEASYSxx)). Conclusão Benefícios Hoje em nossa instalação, em torno de 80% dos jobs batch processados estão associados a classe de Hoje com o balanceamento sendo gerenciado pelo initiator WLM Managed. Os benefícios resultantes desta WLM, os jobs são direcionados para scheduling associação foram significativos, principalmente em environments específicos, e quando existe alta períodos que chamamos de fechamento (quando ocorre utilização de CPU ou memória em um sistema, o WLM o maior período de tempo executando grande direciona automaticamente os jobs para outra quantidade de jobs em paralelo). Antes de explorar o máquina com maior disponibilidade de recursos, balanceamento via WLM, era necessário que analistas proporcionando uma distribuição rápida e segura. Este de produção ficassem alocados apenas para remanejar ganho reflete-se em vários pontos, porém um dos que jobs entre os sistemas, e em virtude deste vale ressaltar é no wait por CPU. Antes quando um remanejamento englobar muitos jobs, o resultado obtido job era direcionado para um sistema nem sempre era satisfatório. independentemente deste ter ou não recursos para A utilização efetiva de balanceamento de carga batch atender a demanda, o tempo que este job permanecia via initiator WLM Managed, nos trouxe ganhos em wait por CPU ou mesmo memória era muito maior significativos em termos de gerenciamento e distribuição do que os tempos hoje observados, pois como o WLM de recursos para atendermos os SLAs no menor tempo direciona os jobs para ambiente onde existem possível. recursos disponíveis os jobs não sofrerão tanto delay. O importante é que este tipo de implementação seja Em resumo, o tempo em que o job espera para ser feita de forma escalonada, fazendo-se aferições a cada direcionado para outro sistema é muito menor que a etapa até chegarmos ao tunning fino no final do projeto. soma dos waits que ele teria se não fosse remanejado. Com isto podemos garantir uma melhor Dúvidas fluidez de processamento e consequentemente o cumprimento mais rápido dos SLAs acordados sem A fim de complementar informações que não tenham necessidade de priorização de jobs. sido focadas em sua totalidade, ou qualquer outra Outro grande ganho observado, foi com relação a dúvida, nos colocamos a disposição através de: manutenção em softwares específicos (DB2; IMS; e-mail = JOÃO.CARVALHO-NETO@IITAU.COM.BR HPU) nesta situação pode-se inibir antecipadamente a fone = (011) 3274-9054 execução de jobs que utilizarem este recurso apenas Banco Itaú configurando OFF o Recurso associado ao software. Também quando é necessário entregar uma máquina para manutenção, neste caso definimos um recurso genérico denominado “System” e que faz parte de todos os scheduling environments, quando este recurso é colocado OFF em um determinado sistema a partir deste momento nenhum job WLM managed será iniciado nesta máquina.