BatchWatch

Nei sistemi informativi che risiedono in larga parte sulla piattaforma z/OS, le elaborazioni batch rivestono una rilevanza fondamentale e rappresentano in molti casi una criticità dal punto di vista del rispetto di target e SLA.
Per questo motivo la finestra batch è tenuta sotto costante osservazione, ma spesso da un punto di vista “puntuale”, cercando di analizzare e risolvere i problemi che giorno per giorno si presentano sui singoli oggetti, tipicamente job e reti di schedulazione.
RES IT, che da molto tempo opera nel campo dell’ottimizzazione del mondo batch, propone in quest’ambito un approccio diverso ma complementare, basato su una metodologia complessiva ed integrata, sfruttando le tecnologie messe a disposizione da RES Suite, che permette di “governare” e tenere sotto controllo il comportamento delle applicazioni batch.

Tale metodologia, consolidata negli ultimi anni in diversi progetti per clienti di grandi dimensioni, si basa su una serie di indicatori e metriche utili per avere un miglior controllo delle elaborazioni, si integra con i monitor esistenti e indirizza in modo mirato le possibili aree di ottimizzazione.

La soluzione BatchWatch

L’obiettivo fondamentale di BatchWatch è indirizzare correttamente gli interventi in due principali macro-aree, fornendone una vista combinata:

Procedure e Schedulazione
Una maggiore efficienza delle elaborazioni richiede una analisi degli aspetti più vicini all’organizzazione delle procedure stesse, in particolare nei suoi elementi di pianificazione temporale e di relazioni/dipendenze tra processi, a tutti i livelli (Applicazioni => Reti di schedulazione => Job => Step).

Sistemi e Storage
È fondamentale valutare durata e comportamento delle applicazioni batch, in relazione all’utilizzo delle risorse HW/SW disponibili. In questo caso le potenziali azioni di ottimizzazione sono relative a tuning di sistema, sottosistema e sfruttamento ottimale delle risorse.

Obiettivi e Funzionalità

BatchWatch scompone la durata di ogni percorso critico nei suoi principali segmenti elaborativi per comprendere meglio dove il tempo viene “speso” e per circoscrivere le aree di intervento tecnologiche (ad es. tuning specifico, upgrade HW), evidenziando il loro peso e quindi il massimo beneficio possibile sulla durata complessiva:

  • Gap wait – schedulazione e accodamenti
  • CPU Time – logica applicativa e processore
  • Disk I/O Time – read/write
  • CPU Delay – Potenza/capacità disponibile
  • Idle/Wait Time – altre condizioni di attesa.

Procedure e schedulazione: aree di ottimizzazione

BatchWatch, in sinergia con componenti di RES Suite quali Docet/EV, CPF, Reengineering, etc., è in grado di compiere attività “propositive” (ma in alcuni casi anche operative) nel campo dell’ottimizzazione: mentre l’analisi di “sistema” è “orizzontale”, queste hanno un taglio più verticale, in generale circoscritte ad un numero definito di oggetti, ovvero declinate sulle singole applicazioni/procedure. I maggiori obiettivi perseguibili sono:

  1. Analisi dei “gap” temporali (Operazioni Time Dependent / Special Resources / Eventi esterni).
  2. Dipendenze e parallelismi (task “propositivi” e/o “operativi” con automatismi / eliminazione legami ridondanti / Easy o Full Re-engineering per l’aumento dei parallelismi a livello «job» e/o di step).
  3. Ridondanze utilities (analisi ed eliminazione, laddove possibile, di Sort e Unload DB2 duplicati).
  4. Distribuzione workload (riallocazione temporale delle applicazioni IWS per meglio distribuire il carico macchina).
  5. Altre aree di intervento (individuazione di «rami morti» nella schedulazione / Ottimizzazione parametri JCL / razionalizzazione Run Cycles IWS dalle applicazioni ad una gestione «centralizzata» / Analisi della qualità del codice applicativo anche in ambito «prestazionale» relativo soprattutto al codice SQL (ma non solo).

In combinazione con le indicazioni prodotte da BatchWatch possono poi essere attivate ulteriori funzionalità, come per esempio Easy e/o Full-Reengineering. In questo caso, poiché comportano l’attuazione di modifiche operative che incidono sulle applicazioni business, dovranno essere validate/discusse dal comparto applicativo.

Simulazioni batch
L’aumento dei volumi, nuove esigenze di servizio, nuove applicazioni etc., sono eventi che inevitabilmente portano ad una modifica e/o allungamento dei tempi di elaborazione del batch e quindi a possibili criticità per il rispetto dei livelli di servizio desiderati. In generale le proiezioni dei tempi di elaborazione si basano sulla combinazione di due macro-elementi: organizzativi e tecnologici.

Simulazione scenari
Per la valutazione degli effetti della maggior durata dei singoli job sulla finestra batch complessiva RES IT mette a disposizione, sulla piattaforma BatchWatch descritta in precedenza, modelli di simulazione del ciclo elaborativo introducendo fattori di correzione della durata prevista per i singoli job.

Parallelismo e consumi
I modelli, oltre alle nuove durate per gli scenari di simulazione previsti, forniranno elementi di valutazione dei livelli di parallelismo, dei consumi di CPU ed il carico di I/O nel tempo.

Benefici

  • Migliore controllo dei Livelli di Servizio batch
  • Visione aggregata degli aspetti di sistema e schedulazione
  • Sintesi dei principali elementi “contributori” alle durate delle elaborazioni
  • Possibilità di reporting con aggregazioni, viste storiche e trend dei principali
    indicatori
  • Supporto decisionale alle attività di ottimizzazione e riduzione consumi (procedure e sistemi)
  • Bilanciamento dei carichi batch in relazione ai Livelli di Servizio
  • Proiezione delle durate batch per nuovi scenari organizzativi e/o tecnologici
    HW/SW
  • Supporto di Capacity Planning per le risorse HW (CPU/Storage)