Complex interactions of users with data – blazing fast and without errors and 100% integrity – is the key to Internet of today and scientists are looking at ways to improve Remote Direct Memory Access (RDMA) technology to better serve billions of users around the world for their data and information needs everyday.
RDMA is a relatively young technology but it has paved the way for computers to interact on a distributed network like the Internet in a disruptive way. Basic communications in the past have been happening on request response method, but the RDMA tech changed that.
Now, if a machine wants something from another machine, it will not ask for it. What it will do is just take it by interacting directly with that machine’s RDMA card. This means that instead of spending resources handling the message, the machine can focus on its specific business application. With RDMA the response time decreases to nanoseconds compared to milliseconds that it took previously.
If you’re posting something on social media, and one interaction takes hundreds of milliseconds, and you need 10 interactions, the user is now waiting nearly a second, and starting to think, why the wait? Before the arrival of RDMA, researchers had theorized that one way to speed up communication between machines would be to migrate required data from the computer that has it, to the one that wants it. That way, the next time a machine needed something, it didn’t have to ask for it. With the data stored locally, it could perform operations quicker. But at the time such migration couldn’t be done efficiently. Once RDMA was developed, retrieving data became so fast and cheap (in terms of performance cost) that migration no longer seemed necessary.
“People said, ‘I’m just going to go and get memory whenever I need it.’ What I’m saying is, ‘No, let’s go back to what we knew was optimal before, which was migrating memory to a local node,” says Roberto Palmieri. Palmieri, an assistant professor of computer science and engineering in Lehigh University’s P.C Rossin College of Engineering and Applied Science. “Let us redesign that software component called the directory that allows memory to move, and traces where it is in the system. If we can move this memory efficiently, then basically every machine can interact with memory that is local. Subsequent requests for operations will then not even trigger a remote operation, it will all be done locally, which is shown to have the best performance. It’s at least one order of magnitude faster than even an RDMA operation.”
To do this, Palmieri and his team plan to redesign algorithms and protocols to fully exploit the capabilities of RDMA. Everything they produce will eventually become open-source, so others can build on it. A portion of Palmieri’s proposal is also directed at sparking more interest among students in computer systems.