Job scheduling su Linux - Copyright 2009 ORSYP
←
→
Trascrizione del contenuto della pagina
Se il tuo browser non visualizza correttamente la pagina, ti preghiamo di leggere il contenuto della pagina quaggiù
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