Обсуждение: AW: [HACKERS] mmap and MAP_ANON

Поиск
Список
Период
Сортировка

AW: [HACKERS] mmap and MAP_ANON

От
Andreas Zeugswetter
Дата:
>> - Could we use mmap:ing of files at a higher level then
>>   src/backend/strorage/ipc/ipc.c to get even better performance
>>   and cleaness?
>
>Yes, we could use mmap() to map the actual files.  I will post time
>timings on this soon.

I do not think this will be a practicable solution, since it would mean the whole db
has to mmap'ed. This means there has to be enough virtual memory to hold
the complete database, or at least one table at a time. Or do I understand this wrong ??

Andreas


Re: AW: [HACKERS] mmap and MAP_ANON

От
Bruce Momjian
Дата:
>
> >> - Could we use mmap:ing of files at a higher level then
> >>   src/backend/strorage/ipc/ipc.c to get even better performance
> >>   and cleaness?
> >
> >Yes, we could use mmap() to map the actual files.  I will post time
> >timings on this soon.
>
> I do not think this will be a practicable solution, since it would mean the whole db
> has to mmap'ed. This means there has to be enough virtual memory to hold
> the complete database, or at least one table at a time. Or do I understand this wrong ??

We can map parts of the table, even in 8k chunks.  However, looking at
my sequential scan timing tests, it would be slower.

--
Bruce Momjian                          |  830 Blythe Avenue
maillist@candle.pha.pa.us              |  Drexel Hill, Pennsylvania 19026
  +  If your life is a hard drive,     |  (610) 353-9879(w)
  +  Christ can be your backup.        |  (610) 853-3000(h)

Re: AW: [HACKERS] mmap and MAP_ANON

От
"Göran Thyni"
Дата:
Andreas Zeugswetter wrote:
>
> >> - Could we use mmap:ing of files at a higher level then
> >>   src/backend/strorage/ipc/ipc.c to get even better performance
> >>   and cleaness?
> >
> >Yes, we could use mmap() to map the actual files.  I will post time
> >timings on this soon.
>
> I do not think this will be a practicable solution, since it would mean the whole db
> has to mmap'ed. This means there has to be enough virtual memory to hold
> the complete database, or at least one table at a time. Or do I understand this wrong ??

Why would we map the whole database or even a whole table?
You can map the section of a file you are interested in.

# man mmap

Besides a sensible memory manager does not actually map the pages
until they are access, unfort. not all OSes are sensible.


--
---------------------------------------------
Göran Thyni, sysadm, JMS Bildbasen, Kiruna