Archive for April, 2023

PCIe Bifurcation and NVMe RAID in Linux Part 3: A Faster CPU

📅 April 16, 2023
“Will a CPU upgrade result in faster LUKS encryption/decryption performance?”

While unencrypted NVMe RAID using PCIe birfurcation works well and devices read and write at their top speeds, once encryption is added to the mix, whether it be LUKS or VeraCrypt, read/write speeds plummet.

PCIe Bifurcation Part 2 demonstrated some disappointing drops in performance when using encryption with NVMe. The drops were so massive, that RAID-1 actually outperformed RAID-0. No matter what I tried in an attempt to improve performance when using full-disk encryption, it felt like the test system would always hit a wall — a barrier — that could not be overcome.

Encryption is a necessity for my purposes, so how can reads and writes be improved when using LUKS? The past tests were made using a Ryzen 5 2600 CPU, so would a newer, faster CPU make a difference? If so, how much? Would the upgrade be worthwhile?

In this part, I upgraded the CPU to a Ryzen 7 5700G while keeping the rest of the test system the same in order to find out if CPU speed matters when full-disk LUKS encryption is used. Did it matter?

Here are my results.

Read the rest of this entry »

, ,

Leave a comment

PCIe Bifurcation and NVMe RAID in Linux Part 2: Benchmarks and Encryption

📅 April 10, 2023
“How fast is it?”

With the hardware configured, installed, and running, it is time to run a few benchmarks using the Disks benchmarking utility and KDiskMark to get an idea of the maximum synthetic speeds possible with our new arrangement.

Will NVMe RAID utilizing PCIe bifurcation achieve worthwhile results or will this be underwhelming?

Read the rest of this entry »

, , ,

Leave a comment

PCIe Bifurcation and NVMe RAID in Linux Part 1: The Hardware

📅 April 8, 2023
“PCIe Bifur…..WHAT?!”

Ooooh! Sounds fancy, right? On some motherboards, the BIOS will allow a single physical PCIe x16 slot to be divided into two or more logical PCIe slots in order to install multiple NVMe SSDs (two, three, or four) using an adapter card. This is PCIe bifurcation, and Linux is compatible with motherboards that support it.

What would benchmark numbers look like if we put two NVMe devices in RAID-0? How about RAID-1? How well would it compare to a single NVMe? What would be the best data storage arrangement if using NVMe? Are there different techniques to follow compared to RAID with mechanical drives?

Here are my experiments in an attempt to help protect data stored on a Linux system with the hopes of providing faster redundancy while exploring PCIe bifurcation on a system running Ubuntu Cinnamon 22.04.

Read the rest of this entry »

, , ,

Leave a comment