Benefits from Intel AES CPU instructions for deduplication?

Added by Rick van der Linde about 1 year ago

Nowadays there are several Intel CPU's that have AES (New Instractions) to accelerate AES calculations. Does nexentastor benefit from this for use on deduplication based on AES?


Replies

RE: Benefits from Intel AES CPU instructions for deduplication? - Added by Linda Kateley about 1 year ago

This is an interesting question. The code is there from the illumos core, but whether we support or are able to take advantage of it is a question i need to bring back to engineering.

stay tuned

RE: Benefits from Intel AES CPU instructions for deduplication? - Added by Dan McDonald about 1 year ago

You have to be a 64-bit process or kernel. We do 64-bit kernels, so if your AES-requiring service is in-kernel, we exploit the Nehalem AES-NI instructions. BTW, I think we do dedup on SHA256, not AES, but all of that is in-kernel, so the Nehalem instructions ARE used if available.

RE: Benefits from Intel AES CPU instructions for deduplication? - Added by Rick van der Linde about 1 year ago

Apologies for messing up AES and SHA.

So probably AES acceleration does not improve SHA256 calculations. Therefore I can not buy a "better" CPU to improve deduplication and will not use dedpu for performance matters.

RE: Benefits from Intel AES CPU instructions for deduplication? - Added by Jason Litka about 1 year ago

AES-NI can't accelerate SHA256 hashing.

The largest roadblock to dedupe performance is having enough memory to allocate to the tables.

RE: Benefits from Intel AES CPU instructions for deduplication? - Added by Jason Litka about 1 year ago

...but that said, thinking on it overnight, the newer AMD graphics cards are monstrously fast at SHA256 calculations. If someone could add kernel-level support for acceleration of certain computation tasks on a GPU you might see significant improvement in performance. Then again, you might see a decrease in performance because now all the storage data would need to get pushed through the video card.

My personal thought on this is that it could make a big difference to high IOPS systems based on a bunch of SSDs where there are frequent writes but that it wouldn't be worth the effort for anything based on spinning disks (unless there are tons of them).

In any case, it's academic because you'll need help from AMD to get OpenCL working (no drivers as far as I know) and I doubt they'll chip in.

RE: Benefits from Intel AES CPU instructions for deduplication? - Added by Linda Kateley about 1 year ago

You might be surprised as to what the chip vendors might do.. ;)

At my last job, i kept trying to make a business case for gpu funtionality. I think you just did! but..

One of the things i see all the time though is cpu is at very low utilization. Especially with the newest chips. Are you seeing high cpu utilization? what chip are looking at?

RE: Benefits from Intel AES CPU instructions for deduplication? - Added by Jason Litka about 1 year ago

No, I'm not seeing high CPU usage (beyond the complaints you're already aware of). Then again, I'm not using all SSDs for a data store with dedupe and a heavy-write workload. Like I said, I don't think there would be a benefit unless you were under a high IOPS, heavy-write environment (ie. transaction logs for a really busy SQL server, mail server queue, etc.).

All that doesn't mean that this shouldnt be investigated though.

RE: Benefits from Intel AES CPU instructions for deduplication? - Added by Linda Kateley about 1 year ago

yep, great idea, i will send back to eng.

RE: Benefits from Intel AES CPU instructions for deduplication? - Added by Jeff Gibson about 1 year ago

For some anecdotal evidence: I'm not using dedup (after the following test) and I am maxing out (or at least making it be over 70% usage consistently during heavy testing) a dual x5550 server setup with 11 intel 320 600GB raidZ (2vevs of 5 disks + hotspare setup so some could be the parity calc). I did see about a 30-40% performance hit when I turned on dedup on a controlled size lun (300GB w/ 96GB ram @8k BS) when the test went from ~250MB/s to 150-180MB/s and CPU was pegged at 100%.

Downside though is with 2x DDR Drives in the system for the other spinning media pool I'm out of PCIe slots. Time to look at the new romely boards w/ 11x pcie8 slots :)

RE: Benefits from Intel AES CPU instructions for deduplication? - Added by Jason Litka about 1 year ago

Jeff Gibson wrote:

For some anecdotal evidence: I'm not using dedup (after the following test) and I am maxing out (or at least making it be over 70% usage consistently during heavy testing) a dual x5550 server setup with 11 intel 320 600GB raidZ (2vevs of 5 disks + hotspare setup so some could be the parity calc). I did see about a 30-40% performance hit when I turned on dedup on a controlled size lun (300GB w/ 96GB ram @8k BS) when the test went from ~250MB/s to 150-180MB/s and CPU was pegged at 100%.

Downside though is with 2x DDR Drives in the system for the other spinning media pool I'm out of PCIe slots. Time to look at the new romely boards w/ 11x pcie8 slots :)

Well, there you go. That's exactly the case I said could benefit. You've got a high IOPS workload (spread across two Intel 320 vDevs, something like a max of 80K Read, 40K Write) and the CPUs are almost 100% busy just keeping up with the network traffic, disk access, etc. You are not memory bound (96GB of RAM => 72GB ARC, 72GB ARC => 18GB DDT, 4.5TiB of max dedupe space => 4GB of DDT space per TB of storage) which means that the performance hit is because your system can't keep up with the SHA256 calculations. Someone using mirrors for vDevs would be in even worse shape because the IOPS peaks could be much higher.

A Dell R720 with dual E5-2609 + 128GB of RAM + 11 600GB 320s (currently $856.97 from NewEgg, great price, might buy a couple of these) costs about $15K so it's not out of the realm of possibility for even a small business wanting something to speed up SQL, Exchange, etc.