Re: How to make ResourceOwnerForgetBuffer() O(1), instead of O(N^2) scale

From: Kouhei Kaigai <kaigai(at)ak(dot)jp(dot)nec(dot)com>
To: "james(at)mansionfamily(dot)plus(dot)com" <james(at)mansionfamily(dot)plus(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: PgHacker <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: How to make ResourceOwnerForgetBuffer() O(1), instead of O(N^2) scale
Date: 2014-10-04 10:01:04
Message-ID: 9A28C8860F777E439AA12E8AEA7694F8010481E0@BPXM15GP.gisp.nec.co.jp
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

> On 03/10/2014 05:53, Kouhei Kaigai wrote:
> > Yep, that's my pain. Even though usual query does not take many
> > buffers pinned, my use case needs to fetch megabytes scale data at
> > once because of performance reason; page-by-page synchronous scan makes
> GPU being idle.
> Doesn't your GPU have an async queue and exec mechanism? Then you could
> do an asyn DMA to the GPU with an event, use that event in he GPU to start
> the kernel and in the DB to release the pin?
>
That is exactly what I'm doing now. Problem is, it needs to keep multiple
buffers (likely, more than a few dozen thousands) in the queue not to make
GPU waiting for the data to be calculated. Thus, I want to pin relatively
many buffers than usual query workloads.

Thanks,
--
NEC OSS Promotion Center / PG-Strom Project
KaiGai Kohei <kaigai(at)ak(dot)jp(dot)nec(dot)com>

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Kouhei Kaigai 2014-10-04 10:10:04 Re: How to make ResourceOwnerForgetBuffer() O(1), instead of O(N^2) scale
Previous Message Michael Paquier 2014-10-04 06:35:37 Re: [RFC] Incremental backup v2: add backup profile to base backup