Mondi su mondi, sistemi di sistemi.

Xgrid Leopard: un’occhiata a Scoreboard

Il rilascio di Leopard comprende anche la nuova versione di Xgrid che, com’è facile immaginare, si è evoluta sensibilmente rispetto alla pre­cedente e comincia anche ad essere utilizzata per altri prodotti di Apple, come Podcast Producer, su cui un giorno dovremo ritornare.  Tuttavia la cosa veramente interes­sante di Xgrid 2 è Scoreboard.

Lo scopo di Scoreboard è semplice: fornire un sistema per distribuire in modo selettivo i job di Xgrid. L’architettura per raggiungere questo scopo è un po’ più complessa da spiegare.

Prima di tutto serve un qualche tipo di criterio per selezionare i nodi di destinazione dei job. In Xgrid questo criterio è un semplice script di shell, che Scoreboard usa per calcolare il ranking di ogni nodo. Questo script, nella terminologia di Xgrid, è un Agent Ranking Tool (ART).

Alla sottomis­sione di un job, fornendo un ART, il controller lo eseguirà su ogni nodo e, in base al risultato, deciderà a quali nodi far eseguire il job e con quale priorità. Il risultato è un semplice valore numerico e se è uguale a zero il nodo viene scartato. Sta ovviamente a chi scrive l’ART il compito di produrre dei numeri sensati.

Gli ART pos­sono essere combinati producendo un risultato comples­sivo che è il prodotto dei singoli risultati. Usando la moltiplicazione diventa banale pre­servare la pos­sibilità di esclusione dei nodi: basta che uno degli ART dia come risultato zero.  Ma non è finita qui! È pos­sibile anche filtrare i nodi in base al valore del risultato: ad es. selezionando i nodi con un punteggio superiore a 1.000.

Trovo quest’idea molto interes­sante e anzi credo sia utilizzabile anche in altri scenari. Ad es. potremmo sfruttare l’infrastruttura che Xgrid mette a disposizione per distribuire aggiornamenti, configurazioni in maniera selettiva e robusta: basta legare il punteggio dell’ART alla pre­senza o meno dell’aggiornamento che stiamo distribuendo, evitando quindi la riapplicazione dell’aggiornamento nel caso in cui doves­simo ripetere la procedura.

Links utili:

Per proseguire

Commenti e trackback sono disabilitati.