2021-11-30 11:58:27

by Paul Menzel

[permalink] [raw]
Subject: Using aGPU for RAID calculations (proprietary GRAID SupremeRAID)


Dear Linux folks,


I read about GRAID SupremeRAID [1], which seems to be an Nvidia T1000
card and software to use the card for RAID calculations.

> GRAID SupremeRAID works by installing a virtual NVMe controller onto
> the operating system and integrating a PCIe device into the system
> equipped with a high-performance AI processor to handle all RAID
> operations of the virtual NVMe controller

According to the review *GRAID SupremeRAID SR-1000 Review* [2] it
performs quite well. I couldn’t find any driver files online.

Now I am wondering, why a graphics card seems to help so much. What
operations are there, modern CPUs cannot keep up with?

If GPUs are that much better, are people already working on a FLOSS
solution for the Linux kernel, so people can “just” plug in a graphics
card to increase the speed?

Does the Linux kernel already have an API to offload calculations to
accelerator cards, so it’s basically plug and play (with AMD graphics
cards for example using HSA/KFD)? Entropy sources, like the ChaosKey
[3], work like that. If not, would the implementation go under `lib/raid6`?


Kind regards,

Paul


[1]:
https://www.graidtech.com/post/graid-reveals-the-next-generation-of-enterprise-data-protection-nvme-ssds
[2]: https://www.storagereview.com/review/graid-supremeraid-sr-1000-review
[3]: https://altusmetrum.org/ChaosKey/


2021-11-30 14:46:45

by Wolfgang Denk

[permalink] [raw]
Subject: Re: Using aGPU for RAID calculations (proprietary GRAID SupremeRAID)

Dear Paul,

In message <[email protected]> you wrote:
>
> I read about GRAID SupremeRAID [1], which seems to be an Nvidia T1000
> card and software to use the card for RAID calculations.

I doubt this is an efficient way.

The (IMHO) most efficient solution I have seen so far was the AMCC
PPC440SPe Power Architecture processors. These we able to calculate
the needed parity information on the fly in the DMA controller while
writing the data to disk.

> Does the Linux kernel already have an API to offload calculations to
> accelerator cards, so it’s basically plug and play (with AMD graphics
> cards for example using HSA/KFD)? Entropy sources, like the ChaosKey
> [3], work like that. If not, would the implementation go under `lib/raid6`?

We implemented Linux driver support for adma/async_tx/raid6 for this
hardware, but that was a long time ago (2008/2009), and I doubt this
has been tested recently. But at least some code is still in
mainline, see for example arch/powerpc/platforms/44x/ppc440spe_dma_engines.c


Best regards,

Wolfgang Denk

--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: [email protected]
Another megabytes the dust.

2021-11-30 16:21:03

by Piergiorgio Sartor

[permalink] [raw]
Subject: Re: Using aGPU for RAID calculations (proprietary GRAID SupremeRAID)

On Tue, Nov 30, 2021 at 12:58:10PM +0100, Paul Menzel wrote:
>
> Dear Linux folks,
>
>
> I read about GRAID SupremeRAID [1], which seems to be an Nvidia T1000 card
> and software to use the card for RAID calculations.
>
> > GRAID SupremeRAID works by installing a virtual NVMe controller onto
> > the operating system and integrating a PCIe device into the system
> > equipped with a high-performance AI processor to handle all RAID
> > operations of the virtual NVMe controller
>
> According to the review *GRAID SupremeRAID SR-1000 Review* [2] it performs
> quite well. I couldn’t find any driver files online.
>
> Now I am wondering, why a graphics card seems to help so much. What
> operations are there, modern CPUs cannot keep up with?
>
> If GPUs are that much better, are people already working on a FLOSS solution
> for the Linux kernel, so people can “just” plug in a graphics card to
> increase the speed?
>
> Does the Linux kernel already have an API to offload calculations to
> accelerator cards, so it’s basically plug and play (with AMD graphics cards
> for example using HSA/KFD)? Entropy sources, like the ChaosKey [3], work
> like that. If not, would the implementation go under `lib/raid6`?

I think this was somehow discussed here
some times ago.
That is the use of "GPU" to accellerate
the parity computation.

There are a couple of things to keep in mind.

One is the data transfer to / from the video
card, which might be a bottleneck.
At any rate, there will be a write and read
streams going across the system bus(es).

An other point is that, unless an high end
video card is used, with ECC memory, the
reliability of the whole process might be
of concern.

Finally, usually video cards, while having
a lot of memory (caching could be good),
they miss the battery backup.
Power is off, data is gone...

bye,

pg

>
>
> Kind regards,
>
> Paul
>
>
> [1]: https://www.graidtech.com/post/graid-reveals-the-next-generation-of-enterprise-data-protection-nvme-ssds
> [2]: https://www.storagereview.com/review/graid-supremeraid-sr-1000-review
> [3]: https://altusmetrum.org/ChaosKey/
>

--

piergiorgio

2021-11-30 16:47:13

by Keith Busch

[permalink] [raw]
Subject: Re: Using aGPU for RAID calculations (proprietary GRAID SupremeRAID)

On Tue, Nov 30, 2021 at 12:58:10PM +0100, Paul Menzel wrote:
> If GPUs are that much better, are people already working on a FLOSS solution
> for the Linux kernel, so people can “just” plug in a graphics card to
> increase the speed?
>
> Does the Linux kernel already have an API to offload calculations to
> accelerator cards, so it’s basically plug and play (with AMD graphics cards
> for example using HSA/KFD)? Entropy sources, like the ChaosKey [3], work
> like that. If not, would the implementation go under `lib/raid6`?

I'm not very familiar with the subsystem, but I think these types of
operation APIs are implemented under crypto/async_tx/.