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-05-17 22:11:15
Message-ID: 200705172211.l4HMBF125649@momjian.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers 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(at)postgresql(dot)org so that your
> message can get through to the mailing list cleanly

--
Bruce Momjian <bruce(at)momjian(dot)us> http://momjian.us
EnterpriseDB http://www.enterprisedb.com

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

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2007-05-17 22:14:29 Re: [COMMITTERS] pgsql: Fix parameter recalculation for Limit nodes: during a ReScan call
Previous Message Joachim Wieland 2007-05-17 21:51:40 Re: mb and ecpg regression tests

Browse pgsql-patches by date

  From Date Subject
Next Message Alvaro Herrera 2007-05-17 22:20:27 Re: Updated bitmap index patch
Previous Message Bruce Momjian 2007-05-17 21:40:12 Re: Concurrent psql patch