Job scheduling su Linux - Copyright 2009 ORSYP

Pagina creata da Christian Perrone
 
CONTINUA A LEGGERE
Job scheduling su
          Linux

Copyright 2009 ORSYP
Il cron del job scheduler di Linux è piuttosto spartano in termini di funzionalità; per
controllare e monitorare in modo professionale i suoi processi automatici, è quindi
necessario affidarsi a soluzioni speciali, come ad esempio Dollar Universe
Solutions, che rendono il processo di elaborazione in batch non solo più efficiente,
ma anche indipendente dalle piattaforme.

I notevoli cambiamenti intervenuti nel mondo dell'IT negli ultimi anni, come ad esempio la
frammentazione di strutture un tempo unitarie o l'utilizzo crescente dei sistemi aperti,
hanno anch'essi largamente contribuito a ridefinire i requisiti dei job scheduler. I vari
sistemi e le piattaforme attualmente in uso nelle grandi aziende utilizzano sistemi di
elaborazione in batch. In qualsiasi applicazione aziendale, come ad esempio soluzioni
SAP su server farm di Windows, sistemi Unix e, naturalmente, host Linux, una funzione
di job scheduling è essenziale per soddisfare i requisiti di controllo del processo.

Il termine "job" si riferisce a un singolo programma che esegue attività specifiche. Un
processo è costituito da un insieme di job parzialmente indipendenti, coordinati in modo
da portare a compimento attività coerenti.

I requisiti necessari per un sistema di elaborazione in batch possono essere sintetizzati in
tre punti chiave:
        •    throughput: massimizzare il numero di job e processi;
        •    tempo di turnaround: ridurre il tempo dall'inizio alla fine di un processo;
        •    ottimizzazione della CPU: ottimizzazione costante del carico di lavoro della
             CPU.

Esecuzione automatica dei job
Unix e, di conseguenza, anche i sistemi Linux, possiedono un processo di sistema
(Daemon = Disk And Execution MONitor) denominato "cron", in grado di eseguire i
comandi in momenti specifici; si tratta quindi di un tipo di job scheduler semiautomatico
che permette di specificare i tempi e i comandi in cron in tre modi:
        •    "at": attiva il comando una volta e in un momento specifico (ad esempio at [-f
             file ] ora [data]);
        •    "batch": attiva il comando una volta come funzione del carico di sistema (ad
             esempio batch [file]);
        •    "crontab": attiva il comando a intervalli regolari; in questo caso, occorre
             specificare l'intervallo di ripetizione.
Le soluzioni di job scheduling, come ad esempio Dollar Universe Solution di ORSYP, si
differenziano dalle soluzioni crontab soprattutto poiché offrono maggiore efficienza e
flessibilità in termini di tempi di esecuzione dei job. Oltre ad una pianificazione molto più
versatile, la soluzione distingue automaticamente fra giorni feriali e festivi, mentre con
crontab gli amministratori devono inserire tutte queste informazioni manualmente.

Dollar Universe Solutions può inoltre eseguire i job basandosi sulla corretta esecuzione
di altri job precedenti o a seconda della disponibilità o dell'indisponibilità di determinati file
o risorse. Una volta avviati, i job possono anche chiamare in causa altre condizioni,
consentendo così un notevole risparmio di tempo. Ad esempio, un'istruzione pianificata
Copyright 2009 ORSYP                                                                                -1-
di cron si presenterebbe così: "Stampare il file un'ora dopo aver inserito tutte le
modifiche". Dal momento che il processo di aggiornamento richiede 30 minuti, dovrebbe
essere sufficiente stampare il documento dopo 30 minuti. Tuttavia, in caso di interruzione
del processo di aggiornamento, non è più possibile eseguire il job di stampa. Grazie
invece a Dollar Universe Solutions, l'istruzione pianificata sarebbe formulata nel
seguente modo: "Avviare la stampa una volta terminato con successo l'aggiornamento".
Mentre crontab risulta particolarmente limitato in circostanze simili, Dollar Universe
Solutions offre un grado di flessibilità molto più elevato.

In altre parole, crontab limita notevolmente l'automazione delle attività, mentre Dollar
Universe Solutions è in grado di reagire in modo flessibile a eventi specifici sulla base di
regole predefinite, permettendo inoltre di monitorare il processo automatizzato.

L'integrazione di attività di monitoraggio significa che le soluzioni di job scheduling
consentono risparmi notevoli o aumenti considerevoli della produttività dello staff
operativo: per il funzionamento di Dollar Universe Solutions è sufficiente il 5% circa delle
risorse umane necessarie per una soluzione corrispondente basata su cron.

Quando si utilizza un sistema Linux in un ambiente multipiattaforma per eseguire
elaborazioni in batch su piattaforme diverse e, di conseguenza, sistemi diversi, l'utilizzo di
un job scheduler indipendente è una necessità primaria. In simili circostanze, Dollar
Universe Solutions sostituisce cron alla perfezione, in quanto possiede tutte le sue
funzioni locali. Tuttavia, se alcune macchine richiedono obbligatoriamente l'utilizzo di
cron, Dollar Universe Solutions è in grado di rispondere facilmente a "eventi cron",
proprio come negli altri casi. Anche in un ambiente Linux, Dollar Universe Solutions
garantisce una maggiore trasparenza dei processi rispetto a cron e offre pertanto una
maggiore redditività del capitale investito.

Job scheduling basato su eventi
Nel caso di job scheduling su piattaforme diverse (da Linux a Unix, Windows, VMS,
OS/400 e mainframe), come offerto attualmente da Dollar Universe Solutions di ORSYP,
lo scopo principale è quello di gestire il maggior numero di job nel minor tempo possibile,
riducendo al minimo i casi di malfunzionamento. I criteri utilizzati per lanciare le
elaborazioni dei job sono fondamentali per il concetto di elaborazione in batch. Oltre al
tempo (che può essere impostato anche con crontab), è possibile utilizzare anche tutti gli
altri criteri. Il processo di job scheduling basato su eventi (che include il tempo come tipo
di evento specifico) è caratterizzato dal fatto che ogni processo da identificare all'interno
di un sistema informatico può essere utilizzato anche come condizione iniziale per una
elaborazione in batch. Si può trattare, ad esempio, dell'inizio di un database,
dell'eliminazione o della creazione di un file, di un allarme di sistema, del mancato
rispetto di un carico minimo o massimo predefinito, di un volume di dati, ecc.

Una soluzione di job scheduling deve inoltre essere in grado di interrompere, spostare o
riavviare i job in fase di esecuzione indipendentemente dal suo utilizzo esclusivo con
Linux o all'interno di piattaforme multiple, come nel caso del controllo di scenari SAP
ibridi.

Dal momento che cron si limita all'avvio di job indipendenti, nel caso di job
interdipendenti sono necessarie soluzioni dotate di funzionalità più ampie. Le soluzioni
moderne e globali di job scheduling, come nel caso di Dollar Universe Solutions, sono in
grado di riunire numerosi job in un gruppo da elaborare come una singola unità e la cui
esecuzione viene utilizzata come condizione iniziale per altri job o gruppi di job.

Copyright 2009 ORSYP                                                                            -2-
Tabella:        Capacità di job scheduling

                                   crontab      Dollar Universe
                                                      Solutions
Numero di job al                       800                  800
giorno
Giorni lavorativi                      240                  240
ogni anno
Monitoraggio dei                     1.200                     5
giorni per persona
Diagnosi e                           1.440                  192
risoluzione dei
problemi (giorni
per persona)
Giorni totali per                    2.640                  197
persona

Pianificazione nei sistemi di elaborazione in batch
Secondo una definizione comunemente accettata, "pianificare" (schedule) significa
assegnazione temporale di processi (attività) alle CPU (processori) con dipendenze
definite e tempi di esecuzione specifici. Le dipendenze del processo possono essere
descritte attraverso diagrammi e sono ammesse esclusivamente pianificazioni prive di
interdipendenze cicliche.
Di seguito sono descritte alcune delle procedure utilizzate durante la pianificazione del
processo:
        •   First Come First Serve (FCFS - primo arrivato, primo servito): le attività
            vengono assegnate al processore sulla base dell'ordine di arrivo, i processi in
            corso non vengono interrotti (non-preemptive) e non sussistono rapporti di
            dipendenza fra i processi.
        •   Shortest Job First (SJF - prima i processi più corti): il processo che
            necessita il minor tempo di elaborazione viene eseguito per primo; i processi
            brevi e non-preemptive hanno la priorità sugli altri.
        •   Shortest Remaining Time First (SRTF - prima i processi con minor
            tempo residuo): viene sempre calcolato il processo con tempo di
            elaborazione residuo minore; i processi brevi e preemptive hanno la priorità e
            il tempo medio di attesa viene ottimizzato.
        •   Three Level Scheduling (scheduling su tre livelli): un Admission
            Scheduler attribuisce le priorità ai processi sulla base del tempo di
            elaborazione, dei requisiti I/O, ecc; un CPU Scheduler applica le strategie
            FCFS, SJF o SRTF e un Memory Scheduler garantisce, ad esempio,
            l'esportazione dei processi nei sistemi di archiviazione collegati quando la
            RAM è utilizzata per un numero eccessivo di attività.

Copyright 2009 ORSYP                                                                         -3-
Dollar Universe Solutions
La gamma di prodotti Dollar Universe Solutions di ORSYP può essere installata su
computer con Unix o Windows NT/2000, dai quali vengono controllate le operazioni di job
scheduling di tutti i sistemi collegati, sia che si tratti di server Windows, mainframe Unix o
Linux. Sono supportati i seguenti sistemi operativi: Windows (NT, 2000, XP), OpenVMS,
Intel-based Linux, Linux/390, OS/400, OS/390, z/OS, MPE/ix, HP NonStop Kernel
(Tandem), HP-UX l li v2, Linux e W2003, z/Linux, Solaris v9, AIX SL, SAP NetWeaver,
PeopleSoft 8.42, ecc. Inoltre, Dollar Universe per soluzioni SAP possiede la certificazione
SAP. La soluzione offre un interfaccia seamless con i principali sistemi ERP come, ad
esempio, soluzioni SAP, Oracle e-Business Suite, Peoplesoft e JDE OneWorld e può
essere integrata all'interno di sistemi di gestione di rete come HP OpenView e IBM
Enterprise Console. Oltre ai tempi di avvio dei job in batch, è possibile istituire
meccanismi mirati di gestione degli errori e delle eccezioni, grazie al sistema di controllo
dei processi altamente versatile offerto dalla soluzione. Dollar Universe Solutions
monitora le dipendenze e le incompatibilità fra i job, verifica le risorse fisiche, amministra
le risorse logiche, i calendari, ecc. All'occorrenza, i processi possono essere distribuiti
automaticamente nel tempo e ai server esecutivi. Grazie a una funzione integrata in
grado di equilibrare il carico di lavoro, è possibile elaborare decine di migliaia di job ogni
giorno. Con la sua architettura Automation Power Grid, basata sul concetto di grid
computing, Dollar Universe Solutions è disponibile su tutti i server interessati dal job
scheduling e offre così un elevato livello di sicurezza delle operazioni. Tutto questo
costituisce la base del job scheduling 24x7x365 a elevata disponibilità. Dal momento che,
a livello tecnico, i server individuali sono caratterizzati dal massimo livello di
indipendenza, i guasti localizzati non interrompono la totalità dei processi e l'integrazione
all'interno di tecnologie cluster garantisce un livello di disponibilità particolarmente
elevato.

Copyright 2009 ORSYP                                                                            -4-
Puoi anche leggere