Translate

Mostrar mensagens com a etiqueta ios. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta ios. Mostrar todas as mensagens

segunda-feira, 16 de março de 2026

🚀 O Maestro Invisível do Mainframe: Como o WLM Decide Quem Vive, Quem Espera e Quem Domina o IBM Z

Bellacosa Mainframe apresenta o maestro invisivel do Mainframe: WLM

 

🚀 O Maestro Invisível do Mainframe: Como o WLM Decide Quem Vive, Quem Espera e Quem Domina o IBM Z

“O z/OS não é apenas um sistema operacional. É um sistema de sobrevivência computacional — e o WLM é seu cérebro.”

Se você é um padawan do mainframe 🧙‍♂️, há um momento em que tudo muda.
Você deixa de ver jobs, CICS e DB2 como coisas isoladas… e passa a enxergar um ecossistema vivo, onde milhares de tarefas lutam pelos mesmos recursos.

Nesse universo, existe um árbitro supremo:

🧠 Workload Manager — WLM

Sem ele, um mainframe moderno seria apenas um supercomputador caro brigando consigo mesmo.


🏛️ Antes do WLM: o caos elegante dos anos 70 e 80

Nos primórdios do MVS, a prioridade era… manual.

Operadores e sysprogs definiam:

  • Prioridades fixas

  • Classes de execução estáticas

  • Ajustes “no feeling”

  • Reconfiguração constante

Problemas clássicos:

💥 Batch travando online
💥 CICS lento em horário de pico
💥 CPU livre e usuários reclamando
💥 Sistema imprevisível

O hardware evoluiu. O software também precisava evoluir.


⚙️ O nascimento do WLM — computação orientada ao negócio

O WLM moderno surgiu com o OS/390 nos anos 90.

A ideia foi revolucionária:

❌ Não gerenciar processos
✅ Gerenciar objetivos de negócio

Você não diz:

👉 “Este job tem prioridade 8”

Você diz:

👉 “Quero que 90% das transações respondam em até 1 segundo”

O sistema decide como chegar lá.


🎼 O WLM é um maestro, não um executor

Ele não executa código.

Ele coordena:

  • Dispatcher (CPU)

  • IOS (I/O)

  • Memory manager

  • PR/SM (hardware)

  • Subsystems (CICS, DB2, etc.)

Política → Prioridade → Recursos → Execução

🧩 Os elementos fundamentais do WLM

🏷️ Service Class — “Quem é você?”

Categoria de workload com tratamento específico.

Exemplos reais:

  • CICS_ONLINE

  • DB2_OLTP

  • BATCH_HIGH

  • TSO_USERS

  • DISCRETIONARY

Uma única classe pode representar centenas de workloads.


🎯 Goal — “O que esperamos de você?”

Tipos principais:

  • ⏱️ Response Time — tempo de resposta

  • ⚡ Velocity — progresso contínuo

  • 💤 Discretionary — use as sobras


⭐ Importance — “Quão importante você é?”

Escala de 1 a 5:

1️⃣ Missão crítica
5️⃣ Pode esperar

Sob escassez, isso decide tudo.


⏱️ Performance Periods — prioridade dinâmica

Uma obra-prima do design do WLM.

Permite tratar o mesmo trabalho de forma diferente ao longo do tempo.

Exemplo típico:

Período 1 — Importance 1 — resposta rápida
Período 2 — Importance 3 — menos crítico
Período 3 — Discretionary — só sobras

👉 Protege o sistema contra trabalhos “runaway”.


🧭 Classification Rules — o roteador automático

Determinam qual workload entra em qual Service Class.

Critérios possíveis:

  • Job name

  • User ID

  • Address space name

  • Transaction name (CICS)

  • Atributos de enclave

  • Padrões (wildcards)

💎 Curiosidade: também podem marcar workloads como Storage Critical.


⚡ Dispatchable Units — quem realmente roda

O dispatcher não agenda jobs.

Ele agenda DUs:

  • 🧾 TCB — tasks de aplicação

  • ⚡ SRB — trabalho de sistema

Múltiplas DUs podem rodar simultaneamente no mesmo address space.


🧮 Dispatching Priority — o número mágico

Escala: 0–255 (geralmente >190)

👉 Maior valor ⇒ maior chance de CPU

Mostrado no SDSF (painel DA).

É recalculado constantemente pelo WLM.


📀 I/O Priority e Memory

O WLM também influencia:

📀 I/O

  • Prioridade de acesso a discos

  • Filas de dispositivos

  • Latência de storage

Sem grupos específicos:

👉 I/O priority = Dispatching priority


💾 Storage Critical

Protege workloads contra swap.

Não dá mais memória — evita que sejam expulsos da RAM.

Crucial para:

  • CICS

  • DB2

  • Middleware

  • Serviços online


🩸 Donor vs Receiver — economia de recursos

Sob escassez:

  • 🏆 Receivers → precisam cumprir metas

  • 🩸 Donors → cedem recursos

  • 💤 Discretionary → só sobras

Regra importante:

👉 Só doa quem está usando.


🧠 Enclaves — workloads distribuídos

Representam trabalho que atravessa múltiplos address spaces.

Muito usados em:

  • DB2 DDF

  • APIs

  • Java servers

  • MQ

  • Middleware

Permitem controle ponta a ponta.


🧪 Curiosidades e Easter Eggs

💎 O WLM é considerado uma das maiores vantagens competitivas do mainframe.

💎 Muitos conceitos de QoS em cloud vieram daqui.

💎 Sistemas distribuídos ainda lutam para replicar essa sofisticação.

💎 O mainframe pode parecer “antigo”, mas seu scheduler é mais avançado que o de muitos sistemas modernos.


💥 Falhas mais comuns em produção

❌ Políticas mal projetadas

Sintomas:

  • CPU alta sem ganho real

  • Online lento

  • Batch dominando horários críticos


❌ Service Classes demais

Complexidade gera comportamento imprevisível.


❌ Classificação incorreta

Workloads críticos tratados como comuns.


❌ Ignorar Performance Periods

Trabalhos longos monopolizam recursos.


🛠️ Como controlar e acompanhar

Ferramentas principais:

🖥️ SDSF

  • DA — Address Spaces ativos

  • ENCLAVES — workloads distribuídos

  • ST — Jobs


📊 RMF

Análise profunda de performance.


⚙️ WLM ISPF / z/OSMF

Configuração de políticas.


📈 SMF records

Base para capacity planning e auditoria.


🧭 Como pensar como um especialista

Quando algo está lento, pergunte:

👉 Qual recurso está saturado?
👉 Quem está consumindo?
👉 Esse workload deveria ter essa prioridade?
👉 O WLM está cumprindo ou ignorando metas?


🏆 A verdade final

O poder do mainframe não está apenas no hardware.

Está na capacidade de usar recursos de forma:

✔️ previsível
✔️ controlada
✔️ orientada ao negócio
✔️ resiliente sob carga extrema


🧠 Frase para levar para a vida

WLM não decide quem roda primeiro.
Ele decide quais objetivos do negócio serão preservados quando os recursos acabarem.





terça-feira, 10 de fevereiro de 2026

🔥 SEU PROGRAMA NÃO ESTÁ LENTO… O GARGALO ESTÁ NO I/O 💀

 

Bellacosa Mainframe mergulha no segredo do z/os tecnicas de i/o


🔥 SEU PROGRAMA NÃO ESTÁ LENTO… O GARGALO ESTÁ NO I/O 💀

O guia proibido do IOS, canais e discos que explica por que seu z/OS voa… ou trava

Você pode tunar CPU, ajustar WLM, mexer em COBOL…

👉 mas se o I/O estiver ruim: acabou o jogo.

Porque no mainframe:

💥 performance = I/O bem resolvido

E o que você vai ver agora é o lado invisível do z/OS — onde realmente se ganha (ou perde) desempenho.


🧠 1. A VERDADE QUE POUCOS SABEM

👉 O processador NÃO faz I/O


💡 Quem faz então?

  • IOS (coordena)
  • Channel Subsystem (executa lógica)
  • SAP (trabalha pesado)
  • Devices (fazem o trabalho físico)

🔥 Tradução Bellacosa

“CPU pensa… o resto corre atrás do dado.”


⚙️ 2. IOS — O MAESTRO DO I/O

O Input/Output Supervisor (IOS) é quem:

  • recebe pedidos do programa
  • monta requisição
  • dispara operação

🔥 Ele usa:

👉 Start Subchannel (SSCH)


💡 Exemplo

READ arquivo

IOS cria ORB

envia para channel subsystem

🧩 3. CHANNEL SUBSYSTEM — A ENGRENAGEM

Ele é responsável por:

  • fila de I/O
  • seleção de caminho
  • envio de comandos
  • interrupções

🔥 Estrutura

CPU → Channel → Control Unit → Device

🧨 Curiosidade

Você pode ter múltiplos caminhos para o mesmo disco

👉 alta disponibilidade real


🔗 4. CCW — A LINGUAGEM DO HARDWARE

z/OS não fala com disco direto.

👉 usa CCW (Channel Command Word)


💡 Exemplo

  • READ
  • WRITE
  • SEEK

🔥 Tradução

“CCW = comando que o hardware entende”


🧱 5. UCB vs SUBCHANNEL — O CASAMENTO

🔹 Subchannel

  • criado no POR
  • representa hardware

🔹 UCB

  • criado no IPL
  • representa software

🔥 Resultado

👉 mapeamento 1:1


💡 Insight

sem isso… device não existe pro sistema


⚙️ 6. HCD — O ARQUITETO DO DATA CENTER

O HCD define:

  • devices
  • canais
  • paths
  • control units

🔥 Resultado

👉 cria IODF


🧨 Easter Egg

Você pode:

👉 adicionar disco SEM derrubar o sistema 😳


🧠 7. O FLUXO REAL DE UM I/O

Programa pede READ

IOS cria ORB

Start Subchannel

Channel seleciona path

Control Unit executa

Device responde

Interrupt → CPU

Programa continua

💡 Insight

tudo isso acontece em microssegundos


💀 8. ERROS — QUANDO O MUNDO CAI

🔥 MIH

  • device não respondeu a tempo

🔥 HOT I/O

  • interrupt infinito

🔥 Soluções

  • VARY OFFLINE
  • CHPID OFFLINE
  • recovery

⚡ 9. PERFORMANCE — ONDE MORA O PROBLEMA

Tempo de I/O:

IOSQ + Pend + Disconnect + Connect

💡 Gargalo clássico

👉 IOSQ alto (fila)


🧨 Tradução

“todo mundo quer o mesmo disco ao mesmo tempo”


🚀 10. PAV — A REVOLUÇÃO

Antes:

👉 1 disco = 1 operação


🔥 Depois do PAV:

👉 múltiplos acessos simultâneos


💡 Como?

  • base device
  • alias devices

🔥 Exemplo

Sem PAV:
A → usa disco
B → espera

Com PAV:
A + B → simultâneo

⚡ 11. HYPERPAV — INTELIGENTE

  • pool dinâmico
  • alocação automática

💡 Tradução

“usa recurso só quando precisa”


🧨 12. SUPERPAV — ESCALA MONSTRA

  • ultrapassa limite de 256
  • compartilha entre control units

🧠 13. PRIORIDADE E WLM

WLM define:

  • quem acessa primeiro
  • quem espera

💡 Insight

nem todo I/O é igual


🔥 Exemplo

TipoPrioridade
pagamentoalta
batchbaixa

⚡ 14. TECNOLOGIAS MODERNAS

🔹 zHPF

  • menos overhead
  • mais performance

🔹 zHyperLink

  • latência ultra baixa
  • ideal para DB2

🧨 CURIOSIDADES (NÍVEL ROOT)

🤯 1. CPU não faz I/O


🔥 2. I/O é paralelo desde sempre


💀 3. Gargalo quase sempre é disco


🧠 4. PAV salvou performance moderna


⚡ 5. HyperPAV é invisível para o dev


🎯 RESUMO FINAL

✔ IOS coordena

✔ Channel executa

✔ SAP trabalha

✔ UCB representa

✔ PAV acelera

✔ WLM prioriza


💥 FRASE FINAL

“No mainframe, não é o código que define a velocidade… é o caminho que os dados percorrem.”