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.
ITA
IMPORT DA TESIONLINE
File in questo prodotto:
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.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/20.500.14240/11394