[Bizgres-general] Question: Is 64-bit cache support valuable?

Hannu Krosing hannu at skype.net
Thu Jul 21 19:36:59 GMT 2005


On N, 2005-07-21 at 11:28 -0700, Josh Berkus wrote:
> Simon,
> 
> > The challenge is to come up with a scheme that has these features:
> > - prevents overallocation of memory which results in swapping
> > - maximises allocation of large memory servers
> > - allows heavy memory users to "go large" when they need to
> > - prevents low memory users from conflicting with heavy users/each other
> > - allows the administrator to have control over the system
> > - allows some level of control at user level e.g. "need lots, please"
> > - must be easy enough to get right in real-world use, not benchmarks
> > - also need to take into account temp_buffers settings
> > - there may also be a requirement for predictability, so that important
> > regular tasks can complete in known durations or by deadlines
> 
> Sounds good but too complicated for a first implementation.   I'd narrow down 
> the critical features to:
> 
> 1. Allow 64-bit work_mem (and maintenance_work_mem) allocation.
> 2. Add a total_work_mem limit which would be tracked for work_mem, 
> maintenance_work_mem, and temp_buffers.
> 3. Add a system where processes requesting over the limit or total_work_mem 
> would block and wait.

I think blocking is too harsh - perhaps a system where a backend can ask
for amount available, and then decide itself if it will be enough and it
can carry on with it, or should it wait.

> I think that would be enough code for a first, useful implementation and 
> further improvements would be suggested by the users/results.   Adding the 
> hooks for centralized tracking and management of allocated memory will be 
> enough code as it is.
> 
-- 
Hannu Krosing <hannu at skype.net>



More information about the Bizgres-general mailing list