Database Reference Stack (DBRS) v1.0 Now Available

23 Sep, 2019

Intel understands the complexities that come with creating applications designed for database workloads. We developed an integrated Database Reference Stack (DBRS)  for Intel® Optane ™ DC persistent memory, delivered with the second-generation Intel® Xeon® Scalable processors, to speed development and deployment.

We are releasing the Database Reference Stack early in the development cycle to allow the community and Cloud Service Providers (CSPs) to try the stack and share feedback. This input will help us deliver enhanced user experience with support for expanded use cases.

The stack can be used in either single or multi-node architecture, providing choice for developers, based on the workloads they run.

Architectural diagram of the Database Reference Stack, with Apache Cassandra* as follows:

DBRS_Cassandra_Single

Architectural diagram of the Database Reference Stack, with Redis* as follows:

DBRS_Redis_Single

This release incorporates the latest versions of leading developer tools and frameworks:

  • Operating System: Clear Linux* OS, customized to individual development needs and optimized for Intel platforms.
  • Databases:
    • Apache Cassandraan open source highly-scalable partitioned row storage.
    • Redisan open source data structures server.
  • Orchestration: Kubernetes* to manage and orchestrate containerized applications for multi-node clusters with Intel platform awareness.
  • Containers: Docker* Containers and Kata Containers* with Intel® Virtualization (Intel® VT) Technology for enhanced protection.
  • Libraries:
  • Runtimes: Python* application and service execution support.
  • Persistent Memory modes -- fsdax and devdax: Persistent memory can be configured in different modes for an application to useeither fsdax and devdax modes can be used with the Database Reference Stack.

Each layer of the Database Reference Stack has been performance-tuned for Intel Architecture (IA), enabling impressive performance compared to other stacks.

Persistent Memory on Apache Cassandra

To efficiently use persistent memory on Apache Cassandra, the Intel Open Source Database Team modified Cassandra’s storage engine, the component used to store, read, update, and delete data in the underlying memory/storage devices. The software modifications removed the software bottlenecks from today’s Apache Cassandra code for the persistent memory use case. The new code uses direct mutable key/values to persistent memory instead of the Bloom filters/indexes/caches and disk I/O required to get the data. By minimizing the compute resources resource and overheads, throughput and latency improvements were achieved. See the Apache Cassandra Throughput Comparisons chart below for details.

Persistent Memory modes -- fsdax and devdax

fsdax mode relies on an underlying filesystem with DAX support such as xfs or ext4, making persistent memory available as a filesystem for the applications to use, meanwhile devdax exposes a character device, depending on how the application interacts with the persistent memory. The developer can choose either of these modes based on their environment and use case. In the case of the Database Reference Stack, the Redis based stack supports fsdax mode, whereas the Apache Cassandra based stack supports both modes. We recommend fsdax mode to be selected by the developer for the Apache Cassandra-based Database Reference Stack.

Performance gains for the Database Reference Stack, with Apache Cassandra, single node, on 2nd Generation Intel® Xeon® Platinum 8280L with Intel® Optane™ persistent memory as follows:

dbrs-cassandra-performance

Database Reference Stack (DBRS) with Apache Cassandra configuration: 2nd Generation Intel® Xeon® Scalable Platform – 2x Intel® Xeon® Platinum 8280L Processor, 28 cores, HT On, Turbo On, Total Memory 192 GB (12 slots/ 16GB/ 2666 MHz) + 6TB DCPMM (12 slots/ 512GB/ 2666 MHz), 1x SanDisk 480GB SSD, BIOS: SE5C620.86B.0X.02.0001.051420190324 (ucode:0x5000024), Clear Linux 30770, 5.2.8-818.native, GCC v9.2.1 compiler, cassandra-stress 4.0, data size=Two 1.5 Billion Partitions, read score=533853 op/s, mix score=502961 op/s, update score=477185 op/s

Baseline Stack with Apache Cassandra configuration: 2nd Generation Intel®  Xeon® Scalable Platform2x Intel Xeon Platinum 8280L Processor, 28 cores, HT On, Turbo On, Total Memory 192 GB (12 slots/ 16GB/ 2666 MHz), 1x SanDisk 480GB SSD, 4x Intel 1.6TB NVMe SSDs (SSDPE2KE016T8), BIOS: SE5C620.86B.0X.02.0001.051420190324 (ucode:0x5000024), Clear Linux 30770, 5.2.8-818.native, GCC v9.2.1 compiler, cassandra-stress 3.11.4, data size=Two 1.5 Billion Partitions, read score=66383 op/s, mix score=76643 op/s, update score=55103 op/s

Performance gains for the Database Reference Stack, with Redis, single node, on 2nd Generation Intel Xeon Platinum 8280L with Intel® Optane™ persistent memory as follows:

dbrs-redis-performance

The Database Reference Stack provides up to 16x capacity vs Baseline on a single server box under same instances scaling, performance dropped ~6%, latency increased ~3%

Database Reference Stack with Redis configuration: 2nd Generation Intel® Xeon® Scalable Platform – 2x Intel Xeon Platinum 8280L Processor, 28 cores, HT On, Turbo On, Total Memory 384 GB (12 slots/ 32 GB/ 2666 MHz) + 6TB DCPMM (12 slots/ 512GB/ 2666 MHz), SSDs (SSDSC2BA400G3), BIOS: SE5C620.86B.0X.02.0001.043020191705 (ucode:0x4000024), Clear Linux 30970, 5.2.13-832.native, GCC v9.1.1 compiler, memtier_benchmark 1.2.15, dataset size=5TB, score=4,276,315.25 ops/sec

Baseline Stack with Redis configuration: 2nd Generation Intel Xeon Scalable Platform2x Intel Xeon Platinum 8280L Processor, 28 cores ,HT On, Turbo On, Total Memory 384 GB (12 slots/ 32 GB/ 2666 MHz), SSDs (SSDSC2BA400G3), BIOS: SE5C620.86B.0X.02.0001.043020191705 (ucode:0x4000024), Clear Linux 30970, 5.2.13-832.native, GCC v9.1.1 compiler, memtier_benchmark 1.2.15, dataset size=320GB, score=4,451,625.04 ops/sec

Intel is working to ensure databases continue to run best on Intel Platforms. We use this stack to innovate on 2nd Gen Intel® Xeon® Scalable Processors with Intel® Optane™ DC Persistent Memory and plan to continue performance optimizations for coming generations.

Visit the Clear Linux Stacks page to learn more and download the Database Reference Stack code and contribute feedback. We welcome ideas for further enhancements through the stacks mailing list.

 

Notices and Disclaimers

Software and workloads used in performance tests may have been optimized for performance only on Intel microprocessors.
For more complete information about performance and benchmark results, visit www.intel.com/benchmarks. See charts above for configurations.
Performance results are based on testing as of 9/16/2019 and may not reflect all publicly available security updates. No product or component can be absolutely secure.

System configuration

Note: Cassandra management features are not fully supported in this version of the code and Intel is collaborating with the Cassandra Apache Community to get these modifications into the Apache Cassandra main trunk.

Database Reference Stack with Apache Cassandra configuration: 2nd Generation Intel Xeon Scalable Platform – 2x Intel Xeon Platinum 8280L Processor, 28 cores HT On Turbo ON Total Memory 192 GB (12 slots/ 16GB/ 2666 MHz) + 6TB DCPMM(12 slots/ 512GB/ 2666 MHz), 1x SanDisk 480GB SSD, BIOS: SE5C620.86B.0X.02.0001.051420190324 (ucode:0x5000024), Clear Linux 30770, 5.2.8-818.native, GCC v9.2.1 compiler, cassandra-stress 4.0, data size=Two 1.5 Billion Partitions, read score=533853 op/s, mix score=502961 op/s, update score=477185 op/s

Baseline Stack with Apache Cassandra configuration: 2nd Generation Intel®  Xeon® Scalable Platform2x Intel Xeon Platinum 8280L Processor, 28 cores HT On Turbo ON Total Memory 192 GB (12 slots/ 16GB/ 2666 MHz), 1x SanDisk 480GB SSD, 4x Intel 1.6TB NVMe SSDs (SSDPE2KE016T8), BIOS: SE5C620.86B.0X.02.0001.051420190324 (ucode:0x5000024), Clear Linux 30770, 5.2.8-818.native, GCC v9.2.1 compiler, cassandra-stress 3.11.4, data size=Two 1.5 Billion Partitions, read score=66383 op/s, mix score=76643 op/s, update score=55103 op/s

Database Reference Stack with Redis configuration: 2nd Generation Intel Xeon Scalable Platform – 2x Intel Xeon Platinum 8280L Processor, 28 cores HT On Turbo ON Total Memory 384 GB (12 slots/ 32 GB/ 2666 MHz) + 6TB DCPMM (12 slots/ 512GB/ 2666 MHz), SSDs (SSDSC2BA400G3), BIOS: SE5C620.86B.0X.02.0001.043020191705 (ucode:0x4000024), Clear Linux 30970, 5.2.13-832.native, GCC v9.1.1 compiler, memtier_benchmark 1.2.15, dataset size=5TB, score=4,276,315.25 ops/sec

Baseline Stack with Redis configuration: 2nd Generation Intel Xeon Scalable Platform2x Intel Xeon Platinum 8280L Processor, 28 cores HT On Turbo ON Total Memory 384 GB (12 slots/ 32 GB/ 2666 MHz), SSDs (SSDSC2BA400G3), BIOS: SE5C620.86B.0X.02.0001.043020191705 (ucode:0x4000024), Clear Linux 30970, 5.2.13-832.native, GCC v9.1.1 compiler, memtier_benchmark 1.2.15, dataset size=320GB, score=4,451,625.04 ops/sec

Optimization Notice: Intel’s compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice Revision #20110804

Intel, Optane, and Xeon are trademarks of Intel Corporation or its subsidiaries in the U.S. and/or other countries.

*Other names and brands may be claimed as the property of others.

© Intel Corporation