Re: How to make ResourceOwnerForgetBuffer() O(1), instead of O(N^2) scale - Mailing list pgsql-hackers

From Kouhei Kaigai
Subject Re: How to make ResourceOwnerForgetBuffer() O(1), instead of O(N^2) scale
Date
Msg-id 9A28C8860F777E439AA12E8AEA7694F8010481E0@BPXM15GP.gisp.nec.co.jp
Whole thread Raw
In response to Re: How to make ResourceOwnerForgetBuffer() O(1), instead of O(N^2) scale  (james <james@mansionfamily.plus.com>)
List 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@ak.jp.nec.com>



pgsql-hackers by date:

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