Librerie JSoR e Linux: Java spinge l’acceleratore nel cloud

Linux Java implementa le nuove librerie JSoR per migliorare le comunicazioni Ethernet fra applicazioni distribuite nel cloud computing

Java su Linux ha una nuova libreria di comunicazione capace di supportare al meglio le performance degli adattatori network ad alta velocità.

Il nuovo protocollo introdotto da IBM in Java SDK 7SR6 per piattaforme Linux/AMD64 e Linux/Intel prende il nome di Java Sockets over RDMA (JSoR) ed è progettato per migliorare il throughput e ridurre la latenza per le applicazioni client-server che risiedono negli ambienti di cloud computing dotati di schede di rete ad alta velocità RDMA-compatibili.

L’obiettivo degli ingegneri di IBM è quello di sfruttare le massime potenzialità delle infrastrutture Ethernet ad alta velocità in dotazione a molti data center che li implementano per supportare la continua richiesta di servizi di cloud computing, a cui consegue una continua necessità di aumentare e migliorare la larghezza di banda a disposizione.

Tutte le operazioni di comunicazione tra i componenti Java delle applicazioni distribuite nel cloud computing vengono gestite attraverso il socket TCP/IP. L’intervento del socket TCP/IP richiede però che ogni operazione debba per forza passare dal sistema operativo (Linux e altri) e venire da esso processata prima di giungere al componente Java di interesse. Questo passaggio implica ulteriori cicli macchina, utilizzo della CPU e, di conseguenza, ritardi nell’elaborazione delle richieste, che inficiano i tempi di risposta fra i client e l’applicazione presente sul nodo di servizio.

Librerie JSoR e Linux: Java spinge l'acceleratore nel cloud

Alcune ottimizzazioni al protocollo TCP/IP cercano di recuperare una parte di questi ritardi ma con risultati non sufficienti.

Il protocollo RDMA, in tandem con hardware dedicato come InfinBand e Ethernet ad alta velocità, è capace di trasferire le richieste direttamente fra i componenti, senza interessare i processori e i sistemi operativi delle macchine cloud (o reali) coinvolte nella comunicazione.

Linux Java RDMA JSoR: i risultati

Si riducono così le latenze a tempi inferiori ai 10 microsecondi: fino a ora, il protocollo RDMA (R-Socket) era disponibile solamente per routine C/C++, in quanto vi sono delle apposite API (come Message Passing Interface) che consentono di implementarne velocemente l’utilizzo. Accedere a tali API da applicazioni Java introduce una maggiore complessità di programmazione, che può essere evitata sfruttando la nuova libreria JSoR.

JSoR è infatti capace di intercettare le chiamate al socket Java e di direzionarle direttamente attraverso l’infrastruttura RDMA-compatibile sottostante.

Librerie JSoR e Linux: Java spinge l'acceleratore nel cloud

E rispetto al protocollo SDP (disponibile su Linux e Solaris) e TCP/IP su InfiniBand (IPoIB), JSoR sembra offrire prestazioni più elevate. Negli esperimenti condotti nei laboratori IBM, infatti, JSoR offre un throughput del 50 per cento superiore a quello SDP e del 100 per cento superiore al protocollo IPoIB.

Tali performance sono giustificate dal fatto che JSoR è perfettamente integrato nelle librerie Java, ottimizzando così l’implementazione del socket Java.

L’utilizzo di JSoR non è però immune da alcuni svantaggi. Infatti, per ricorrere al JSoR bisogna soddisfare alcuni requisiti:

  • l’host deve essere dotato di un appropriato HCA o di una scheda RDMA NIC e interconnesso all’host remoto mediante uno switch InfiniBand o Ethernet ad alte prestazioni;
  • ogni host deve avere librerie di runtime OFED 1.5.1;
  • l’account utente deve essere autorizzato ad adeguare la memoria riservata alle esigenze dell’applicazione.

Insomma, con JSoR IBM cerca di colmare quella lacuna in Java (su piattaforma Linux) che impediva l’accesso al protocollo di comunicazione RDMA (R-Socket), così come avveniva per i progetti in C/C++.

Facci sapere cosa ne pensi!

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *