30/09/2009 ore 08:50
Un cluster Tesla per le elaborazioni finanziare di Bloomberg
NVIDIA può vantare un nuovo caso studio come riferimento delle potenzialità delle proprie architetture Tesla in quanto reso pubblico da Bloomberg, che nella propria server farm ha implementato differenti sistemi Tesla per esegure alcuni calcoli legati ai prezzi per alcuni strumenti di investimento. Si tratta di operazioni particolarmente gravose quanto a risorse di calcolo richieste, che vegono eseguite ogni notte in un arco di tempo che non può protrarsi oltre le 8 ore.
La struttura di calcolo avviata da Bloomberg sin dal 1996 prevede elaborazione di un modello stocastico a singolo fattore basato su simulazioni di tipo Monte Carlo. 4 anni fa il modello è stato perfezionato, portandolo ad un livello a due fattori ottenendo un valore di precisione molto più accurato, che viene elaborato ogni notte al termine delle sedute di borsa. Il modello più sofisticato è stato eseguito solo per uno specifico gruppo di clienti che ne ha fatto richiesta, a motivo della maggiore complessità delle elaborazioni, ma la domanda è cresciuta sino al punto da diventare problematica con le risorse di calcolo a disposizione.
A posto di incrementare il numero di processori utilizzati per queste elaborazioni, passando dagli 800 a disposizione agli 8.000 stimati per poter migrare tutte le elaborazioni al modello più preciso mantenendo elaborazione notturna, Bloomberg ha sviluppato una migrazione del codice di elaborazione su tecnologia GPU via CUDA, giungendo ad eseguire la stessa mole di elaborazioni su 48 coppie di server CPU e server GPU della famiglia Tesla. Questa nuova strada è stata inizialmente sperimentata a inizio 2008 grazie al lavoro di uno dei programmatori interni all'azienda.
L'operazione di migrazione ha richiesto circa 1 anno di lavoro, tra riscrittura del codice e tutte le indispensabili operazioni di verifica del corretto funzionamento. L'incremento prestazionale che è stato ottenuto è stato pari all'800% nel complesso: quello che in precedenza richiedeva 16 ore per venir completato viene ora elaborato in circa 2 ore dal cluster GPU.
Al momento attuale il codice richiede comunque la presenza di CPU per poter essere eseguito correttamente, con un rapporto di 90% per GPU e 10% per CPU nel totale delle elaborazioni che vengono eseguite ogni notte in server farm. Ulteriori informazioni sono disponibili online a questo indirizzo.








