Memcached is a distributed memory object caching system that can be used to speed up applications by caching database query results in memory, with the goal of minimizing accesses to the disk and resulting in improvement to the overall database performance. Memcached is essentially a generic cache service, in which a set of servers and storage that are networked together cooperate to implement a unified in-memory computing mechanism. The unified cache is accessed by the applications through the Memcached library that communicates with the servers over the network, so applications practically view the network as the database itself.

Running Memcached over TCP/IP limits the overall cluster performance since it:

  • Increases the CPU overhead for the TCP processing
  • Waits for packet acknowledgement
  • Handles the packet buffering mechanism in the kernel

This performance loss can be eliminated by using standardized high-performance RDMA-based network technologies like InfiniBand and RoCE.

Mellanox Memcached Acceleration

Memcached can be accelerated by running it over Mellanox Messaging Accelerator (VMA) software, which is a dynamically-linked user-space Linux library for accelerating messaging traffic. Applications that utilize standard BSD sockets can use VMA to offload network processing from the server's CPU to the IO adapter. When using Mellanox products, the traffic is passed directly to the ConnectX®-3 VPI IO adapter from the application user space, bypassing the kernel and IP stack, and thereby minimizing context switches, buffer copies, and interrupts, resulting in extremely low latency at near wire speed.

Mellanox Cookie Policy

This website uses cookies which may help to deliver content tailored to your preferences and interests, provide you with a better browsing experience, and to analyze our traffic. You may delete and/or block out cookies from this site, but it may affect how the site operates. Further information can be found in our Privacy Policy.