Home > News > Internet

Microsoft's blazing-fast open-source Garnet is here to devour Redis' billion-dollar meal ticket.

Hei Bai Sun, Apr 07 2024 07:53 PM EST

On March 20th, Microsoft open-sourced Garnet, a cache storage system designed to maximize hardware capabilities and accelerate application performance.

According to Badrish Chandramouli, Senior Principal Research Scientist at Microsoft Research's Database Group, the Garnet project was built from scratch on C# .NET8.0 with a relentless focus on performance. Sa07f6ef8-ca0f-4a22-99ef-12ff38c22f1f.png

Garnet Project Overview

Specifically, Garnet boasts several key strengths:

  1. Garnet leverages the widely adopted RESP wire protocol as its starting point, allowing most users to connect to Garnet directly with unmodified Redis clients written in most programming languages.

  2. Garnet offers improved scalability and throughput through multiple client connections and batching, helping large applications and services save on operational costs.

  3. Garnet demonstrates superior client latency at the 99th and 99.9th percentiles, providing a critical stability advantage for real-world scenarios.

  4. Built on modern .NET technology, Garnet offers cross-platform, scalability, and modernity, designed to be both extensible and performant for common scenarios without sacrificing throughput.

To illustrate Garnet's performance merits, the Microsoft Research team conducted a study comparing key performance indicators with other leading open-source cache storage solutions:

Experiment 1: Throughput Comparison with Varying Number of Client Sessions S645c331a-8fdb-4296-a2a1-5b7b47fc994f.png Throughput对比,使用不同客户端会话时的Database Size为1024 keys(a)和2.56M keys(b)(对数坐标)

Experiment 2: Throughput Comparison for Different Batch Size Sa0a15ec0-6e32-48d6-a2eb-5b13b897862c.png Database Throughput Comparison (Log Scale) with Batch Sizes for (a) 1024 Keys and (b) 256M Keys

Experiment 3: Latency Comparison for Varying Concurrency Levels S0790f3ba-d6f1-4353-87ab-294ceff393de.png Latency levels at the (a) median, (b) 99th percentile, and (c) 99.9th percentile for varying numbers of concurrent client sessions.

Experiment Four: Latency comparison for different batch sizes S002d4400-a0a0-43b0-b9f9-e1192637d74a.png Configuration impact on latency

  • Latency metrics for different batch sizes at (a) the median, (b) the 99th percentile, and (c) the 99.9th percentile.
  • Based on performance benchmarks, the throughput of the GET command is over ten times higher for Dragonfly, yet it has lower latency at the 99th percentile than Dragonfly, while Garnet and Dragonfly outperform Redis both in throughput and latency.