Re: Dead Space Map version 3 (simplified) - Mailing list pgsql-patches

From Bruce Momjian
Subject Re: Dead Space Map version 3 (simplified)
Date
Msg-id 200705172211.l4HMBF125649@momjian.us
Whole thread Raw
In response to Dead Space Map version 3 (simplified)  (ITAGAKI Takahiro <itagaki.takahiro@oss.ntt.co.jp>)
List pgsql-patches
This needs additional changes for memory mangement and we don't have
time to do that for 8.3, Sorry:

This has been saved for the 8.4 release:

    http://momjian.postgresql.org/cgi-bin/pgpatches_hold

---------------------------------------------------------------------------

ITAGAKI Takahiro wrote:
> Attached is an updated DSM patch. I've left the core function of DSM only
> and dropped other complicated features in this release.
>
> VACUUM finishs faster with the patch, but it's obvious... DSM vacuum
> sweeps only pages that have many dead tuples and leave some of them
> after vacuum.
>
> I'll examine the sweep behavior and the performance from now.
>
>
> * Features
>   - DSM tracks pages worth vacuuming using 1bit/page bit.
>     The threshold is two dead tuples or 2kB of deadspaces.
>   - DSM is constructed at page flush. Almost of the works are done by
>     bgwriter if it is properly configured.
>   - 'VACUUM' command uses DSM. 'VACUUM ALL' always scans all pages.
>   - This is including n_dead_tuples statistics fix.
>       http://momjian.us/mhonarc/patches/msg00002.html
>
> * Configuration
>   - max_dsm_relations (=1000)
>         Counterpart to max_fsm_relations, but count tables only;
>         Indexes are not tracked by DSM.
>   - max_dsm_pages (=1024000)
>         Counterpart to max_dsm_pages. Default values are configurated to
>         5 times of max_fsm_pages at initdb.
>   - min_dsm_target (=8MB)
>         Minimum size of tables of which dead space is tracked
>         to avoid tracking small tables, including system catalogs.
>
> * Limitation
>   - XID-wraparound vacuum is still required. VACUUM with DSM cannot
>     update relfrozenxid, so we sometimes needs full-scan.
>   - No recovery support. All contents of DSM and FSM are lost on crash.
>   - DSM uses fixed size memory allocated at server start. We cannot change
>     the value on-the-fly. If we want the feature, we need something like
>     shared-memory-allocator or swap-supported memory management module.
>
> Regards,
> ---
> ITAGAKI Takahiro
> NTT Open Source Software Center

[ Attachment, skipping... ]

>
> ---------------------------(end of broadcast)---------------------------
> TIP 1: if posting/reading through Usenet, please send an appropriate
>        subscribe-nomail command to majordomo@postgresql.org so that your
>        message can get through to the mailing list cleanly

--
  Bruce Momjian  <bruce@momjian.us>          http://momjian.us
  EnterpriseDB                               http://www.enterprisedb.com

  + If your life is a hard drive, Christ can be your backup. +

pgsql-patches by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: Concurrent psql patch
Next
From: Alvaro Herrera
Date:
Subject: Re: Updated bitmap index patch