Re: Using a stock openssl BIO

Поиск
Список
Период
Сортировка
От Andres Freund
Тема Re: Using a stock openssl BIO
Дата
Msg-id 20210715184105.zzwy63n6re3q3iy2@alap3.anarazel.de
обсуждение исходный текст
Ответ на Re: Using a stock openssl BIO  (Bruce Momjian <bruce@momjian.us>)
Список pgsql-hackers
Hi,

On 2021-07-15 13:59:26 -0400, Bruce Momjian wrote:
> On Wed, Jul 14, 2021 at 07:17:47PM -0700, Andres Freund wrote:
> > FWIW, I don't think hardware tls acceleration is a particularly crucial thing
> > for now. Outside of backups it's rare to have the symmetric encryption part of
> > tls be the problem these days thanks, to the AES etc functions in most of the
> > common CPUs.
> >
> > I don't plan to work on this, but Thomas encouraged me to mention this on the
> > list when I mention it to him.
>
> So, I am aware of CPU AES acceleration and I assume PG uses that.

Yes, it does so via openssl. But that still happens on the CPU. And
what's more, there's a lot of related work in TLS that's fairly
expensive (chunking up the data into TLS records etc). Some of the
better NICs can do that work in the happy path, so the CPU doesn't have
to do encryption nor framing. In some cases that can avoid the
to-be-sent data ever being pulled into the CPU caches, but instead it
can be DMA directly to the NIC.

In PG's case that's particularly interesting when sending out file data
in bulk, say in basebackup.c or walsender.c - the data can be sent via
sendfile(), so it never goes to userspace.

Here's an overview of the kernel TLS / TLS offload
https://legacy.netdevconf.info/1.2/papers/ktls.pdf


> It is the public key certificate verification part of TLS that we
> don't use hardware acceleration for, right?

That's true, but separate from what I was talking about. For most
database workloads the public key stuff shouldn't be a major piece,
because connection establishment shouldn't be that frequent...

Greetings,

Andres Freund



В списке pgsql-hackers по дате отправления:

Предыдущее
От: "David G. Johnston"
Дата:
Сообщение: Re: pg_upgrade does not upgrade pg_stat_statements properly
Следующее
От: Dave Cramer
Дата:
Сообщение: Re: pg_upgrade does not upgrade pg_stat_statements properly