Skip site navigation (1) Skip section navigation (2)

Re: Dead Space Map version 3 (simplified)

From: Bruce Momjian <bruce(at)momjian(dot)us>
To: ITAGAKI Takahiro <itagaki(dot)takahiro(at)oss(dot)ntt(dot)co(dot)jp>
Cc: pgsql-patches(at)postgresql(dot)org
Subject: Re: Dead Space Map version 3 (simplified)
Date: 2007-04-02 20:35:47
Message-ID: (view raw, whole thread or download thread mbox)
Lists: pgsql-hackerspgsql-patches
Your patch has been added to the PostgreSQL unapplied patches list at:

It will be applied as soon as one of the PostgreSQL committers reviews
and approves it.


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.
> * 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(at)postgresql(dot)org so that your
>        message can get through to the mailing list cleanly

  Bruce Momjian  <bruce(at)momjian(dot)us>

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

In response to

pgsql-hackers by date

Next:From: Bruce MomjianDate: 2007-04-02 20:39:00
Subject: Re: [pgsql-patches] O_DIRECT support for Windows
Previous:From: Mark DilgerDate: 2007-04-02 20:35:20
Subject: Re: Bug in UTF8-Validation Code?

pgsql-patches by date

Next:From: Andrew DunstanDate: 2007-04-02 20:36:03
Subject: Re: Current enums patch
Previous:From: Bruce MomjianDate: 2007-04-02 20:33:25
Subject: Bonjour patch

Privacy Policy | About PostgreSQL
Copyright © 1996-2017 The PostgreSQL Global Development Group