Mostrar mensagens com a etiqueta workload. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta workload. 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.