RDMA alapú kommunikáció késleltetésének minimalizálása

Szerző: 
Balla Dávid
Konzulens (külső): 
Géhberger Dániel (Ericsson)
Év: 
2017
Szekció: 
Hálózattervezés és szimuláció
Helyezés: 
1. helyezés
Különdíj: 
Ericsson Magyarország I. helyezett

Manapság jellemzően nem egyetlen alkalmazás nyújt egy szolgáltatást, hanem funkció szerint felbontva több komponensből álló rendszer, amely lokálisan, esetleg globálisan elosztva valósít meg egy teljes értékű szolgáltatást, mint például bármely több rétegű (pl. 2-tier vagy 3-tier) alkalmazás. Az ilyen több komponensből álló rendszerek mindegyikének lényeges eleme a komponenseket összekapcsoló hálózati architektúra, hiszen hiába teljesítenek jól az egyes elemek önmagukban, ha az őket összefogó hálózat szűk keresztmetszetet jelent a teljes architektúrára nézve. Egyre inkább megjelenik az igény a valós idejű alkalmazások esetén is az elosztott módon történő üzemeltetésre. Valós idejű rendszerek tervezésekor számos esetben fő szempont a reakcióidők minimalizálása, ebben az esetben a hálózatra eső késleltetésen lehet javítani.

A modern hálózati interfészek számos funkciója lehetővé teszi a hálózat által jelentett szűk keresztmetszet megszüntetését, és a megfelelő programozói és konfigurációs lépések megtételével – így pl. kihasználva az operációs rendszer és a fizikai architektúra nyújtotta lehetőségeket – még tovább csökkenthetjük a késleltetést.

Az RDMA (Remote Direct Memory Access) lehetőséget nyújt a távoli alkalmazások számára, hogy azok direkt módon, egymás virtuális memóriaterületeihez hozzáférhessenek a hálózaton keresztül, ezáltal eliminálva a köztes, operációs rendszer által fenntartott pufferekbe történő adatmozgatásokat, így biztosítva a késleltetés csökkentését és a sávszélesség növelését.

A dolgozatban az RDMA-t megvalósító InfiniBand és RoCE (RDMA over Converged Ethernet) technológiákat ismertetem, bemutatom előnyeit a tradicionális hálózati technológiákkal szemben.

Megtervezek és implementálok egy tesztkörnyezetet, amelyben összehasonlítom a tradicionális I/O és az RDMA által biztosított kommunikáció késleltetését és áteresztőképességét, továbbá vizsgálom az RDMA által támogatott kommunikációs módokat, és további optimalizálási lépések hatásait.

A tesztkörnyezetben kapott mérések eredményeit kiértékelem és megvizsgálom a kapott eredmények alapján milyen tervezési irányelvek fogalmazhatók meg az RDMA alapú kommunikáció késleltetésének minimalizálása.