Re: Number of buckets/partitions of dshash

From: Kyotaro HORIGUCHI <horiguchi(dot)kyotaro(at)lab(dot)ntt(dot)co(dot)jp>
To: ideriha(dot)takeshi(at)jp(dot)fujitsu(dot)com
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: Number of buckets/partitions of dshash
Date: 2018-10-22 03:59:35
Message-ID: 20181022.125935.123659668.horiguchi.kyotaro@lab.ntt.co.jp
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hello.

At Fri, 12 Oct 2018 06:19:12 +0000, "Ideriha, Takeshi" <ideriha(dot)takeshi(at)jp(dot)fujitsu(dot)com> wrote in <4E72940DA2BF16479384A86D54D0988A6F1C1779(at)G01JPEXMBKW04>
> Hi, let me clarify my understanding about the $title.
>
> It seems that the number of hash partitions is fixed at 128 in dshash and
> right now we cannot change it unless dshash.c code itself is changed, right?
>
> According to the comment of dshash.c, DSHASH_NUM_PARTITIONS could be runtime parameter in future.
> Are there someone working on it?
> (I want to do it, but TBH I cannot promise it because of some other work.)
>
> In my current development for allocating catalog cache on the shared memory[1]
> I'm trying to put hash table of each CatCache to the shared memory using dshash.
> The number of buckets for CatCache is pre-defined by cacheinfo and most of them is under 128 like 8 or 16.
> This would cause some waste of memory on DSA because some partitions (buckets) is allocated but not used.
>
> So I'm thinking that current dshash design is still ok but flexible size of partition is appropriate
> for some use cases like mine.
>
> Do you have any thoughts?

We could do that easily, but shouldn't we find a way to reduce or
eliminate the impact of locking first? dshash needs to hold
partition lock while the caller is examining a returned entry.

> [1] https://www.postgresql.org/message-id/4E72940DA2BF16479384A86D54D0988A567B9245%40G01JPEXMBKW04

regards.

--
Kyotaro Horiguchi
NTT Open Source Software Center

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Pavel Stehule 2018-10-22 04:31:53 Re: SQL:2011 PERIODS vs Postgres Ranges?
Previous Message Tom Lane 2018-10-22 03:04:26 Re: found xmin x from before relfrozenxid y