Una startup americana, A3Cube, ha sviluppato una nuova tecnologia di rete ad alte prestazioni. Gli adattatori di rete ``Ronniee Express'' sono capaci di trasferire dati con latenze inferiori al microsecondo con un nuovo concetto di \emph{In Memory Network}. Per sfruttare queste potenzialità, A3Cube offre un'API proprietaria, \dpalib, e un'implementazione del framework MPI: uno standard di fatto per il calcolo distribuito con ormai oltre venti anni sulle spalle. Tuttavia un'applicazione progettata per \dpalib funzionerà solo su reti A3Cube; al contrario MPI supporta una grande selezione di tecnologie di rete, ma oltre che di comunicazione, si occupa di molti altri aspetti di un programma distribuito, cioè realizza e impone un modello di programmazione. Nessuna delle due soluzioni è quindi ideale né per lo sviluppo di nuovi e più astratti modelli di programmazione per la rete A3Cube, e più in generale per le reti di prossima generazione. Lo standard OpenFabric Interfaces (\libfabric) indirizza questa esigenza descrivendo primitive di comunicazione non legate a nessuna tecnologia di rete, ma supportate dalle principali reti ad alte prestazioni attraverso implementazioni chiamate \emph{provider}. Il contributo principale di questa tesi è l'implementazione del provider \libfabric \dpa, che supporta la rete Ronniee A3Cube, utilizzando internamente \dpalib. Il provider implementa le interfacce di trasferimento dati Message Queue e Remote Memory Access di \libfabric. \dpalib non offre primitive message-passing, ma solo accesso diretto alla memoria; pertanto per supportare l'interfaccia Message Queue è stato progettato un protocollo lock-free, di cui è stata dimostrata la correttezza, che utilizza un segmento di memoria remota come buffer per fornire un servizio message-oriented con controllo di flusso. I valori di banda e latenza misurati tramite benchmarking mostrano come l'overhead introdotto da \libfabric rispetto a \dpalib sia minimo, e svanisca completamente se si trasferiscono dati di dimensione sufficientemente grande.
Progettazione e sviluppo di un provider libfabric per la rete ad alte prestazioni Ronniee/A3Cube
INAUDI, PAOLO
2014/2015
Abstract
Una startup americana, A3Cube, ha sviluppato una nuova tecnologia di rete ad alte prestazioni. Gli adattatori di rete ``Ronniee Express'' sono capaci di trasferire dati con latenze inferiori al microsecondo con un nuovo concetto di \emph{In Memory Network}. Per sfruttare queste potenzialità, A3Cube offre un'API proprietaria, \dpalib, e un'implementazione del framework MPI: uno standard di fatto per il calcolo distribuito con ormai oltre venti anni sulle spalle. Tuttavia un'applicazione progettata per \dpalib funzionerà solo su reti A3Cube; al contrario MPI supporta una grande selezione di tecnologie di rete, ma oltre che di comunicazione, si occupa di molti altri aspetti di un programma distribuito, cioè realizza e impone un modello di programmazione. Nessuna delle due soluzioni è quindi ideale né per lo sviluppo di nuovi e più astratti modelli di programmazione per la rete A3Cube, e più in generale per le reti di prossima generazione. Lo standard OpenFabric Interfaces (\libfabric) indirizza questa esigenza descrivendo primitive di comunicazione non legate a nessuna tecnologia di rete, ma supportate dalle principali reti ad alte prestazioni attraverso implementazioni chiamate \emph{provider}. Il contributo principale di questa tesi è l'implementazione del provider \libfabric \dpa, che supporta la rete Ronniee A3Cube, utilizzando internamente \dpalib. Il provider implementa le interfacce di trasferimento dati Message Queue e Remote Memory Access di \libfabric. \dpalib non offre primitive message-passing, ma solo accesso diretto alla memoria; pertanto per supportare l'interfaccia Message Queue è stato progettato un protocollo lock-free, di cui è stata dimostrata la correttezza, che utilizza un segmento di memoria remota come buffer per fornire un servizio message-oriented con controllo di flusso. I valori di banda e latenza misurati tramite benchmarking mostrano come l'overhead introdotto da \libfabric rispetto a \dpalib sia minimo, e svanisca completamente se si trasferiscono dati di dimensione sufficientemente grande.File | Dimensione | Formato | |
---|---|---|---|
734696_tesi-oneside.pdf
non disponibili
Tipologia:
Altro materiale allegato
Dimensione
731.53 kB
Formato
Adobe PDF
|
731.53 kB | Adobe PDF |
I documenti in UNITESI sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.
https://hdl.handle.net/20.500.14240/11394