Re: Non contiguous Virtual Memory

From: Ivan Brugiolo [MSFT] (ivanbrug_at_online.microsoft.com)
Date: 12/02/04


Date: Thu, 2 Dec 2004 00:38:53 -0800

If you can get a view of, let's say, 512Megs in each process,
then, in at most 8 Map-View operation, you can map 4 Gig of a shared
section.
Given the fact that most of the operation on the shared memory will be
local,
I would not expect that the move-the-mapping operation to be such a
performanve killer.
There is no need to attach or detach from the shared memory.
You will just slide the view over the same section.
Dlls are loaded at their preferred address, that can be changed with the
rebase.exe tool.
However, certain system dlls, (ntdll.dll) must be loaded at the same address
in each and every process, so, even rebasing will not help much.

-- 
This posting is provided "AS IS" with no warranties, and confers no rights.
Use of any included script samples are subject to the terms specified at
http://www.microsoft.com/info/cpyright.htm
"pawan" <pawan@discussions.microsoft.com> wrote in message
news:B578935D-FEB5-4D5B-9F18-CD59EBBE17C5@microsoft.com...
> Actually a number of process's are going to attach to this memory and
share
> the information (do some modifications or just access the data).  The
> Question is how the process which wants to attach to this memory will come
to
> know which part of the section to map in its memory? As tracking the
> information of every bit data is  very tedious job. And also it will
impact
> the performance as each time the process wants some information exists in
> shared memory it need to attach, get the information and again detach from
> the shared memory.
> I also tried with the /3GB switch, but it did not help me , as some of the
> ssytem dll's are getting loaded just under the 2GB boundry. Even though
the
> 2GB to 3GB virtual memory is free, Still it can not satisfy my request
(1.5
> GB).
> If there is a way by which I can hint the system dlls about the free 2GB
to
> 3GB memory range so that those dll's can get loaded in that part of memory
.
> I can get the free virtual space which I am looking for.
>
> "Ivan Brugiolo [MSFT]" wrote:
>
> > Why cannot you create a section backed by the paging file
> > and map small views of the section in your address space ?
> >
> > -- 
> > This posting is provided "AS IS" with no warranties, and confers no
rights.
> > Use of any included script samples are subject to the terms specified at
> > http://www.microsoft.com/info/cpyright.htm
> >
> >
> > "pawan1604" <pawan1604@discussions.microsoft.com> wrote in message
> > news:DF276ED7-69EF-430F-9063-0F68C97F806E@microsoft.com...
> > > Hi,
> > > I am working on a project. where I want to create the file Mapping of
1.5
> > > GB. But due to badly fragmented process virtual memory (many system
dll's
> > and
> > > third party dll's are getting loaded at random address in the process
> > virtual
> > > memory), I am not able to do so, as in Windows shared memory can only
be
> > > created contiguously (if i am not wrong).
> > > Can any body help me, how I can create a 1.5 GB file mapping in this
case?
> > >
> > > thanks,
> > > pawan.
> >
> >
> >


Relevant Pages

  • [HPADM] RE: SHMMAX modification
    ... The problem is that you are using a 32bit version of Oracle ... will allow access to as much as 1750 megs of shared memory. ... the kernel maintains a map relating the virtual ...
    (HP-UX-Admin)
  • Re: OpenOffice does not start when Firefox open
    ... openings and closings of OO so I don't think it's a memory leak) ... you're left with this small sliver dividing up the remaining space. ... able to allocate a total amount of shared memory that is more than the ...
    (comp.os.os2.apps)
  • Re: Windows XP Shared memory woes
    ... What is shared memory? ... One of them is 3 gig in size. ... Using process explorer, and several of my own breadcrumbs, I find that I ...
    (microsoft.public.dotnet.framework.performance)
  • Re: [RFC v11][PATCH 05/13] Dump memory address space
    ... in one or more chunk: each chunk begins with a header that specifies ... should not change in the interim anyways, the locks protects us from, e.g. ... Even scanning over a large amount of memory, you aren't going to see a performance difference for accessing pgarr from an argument vs off of field in ctx which is going to be cache-hot. ... It is strictly necessary when it comes to handling shared memory. ...
    (Linux-Kernel)
  • Re: Next Generation of Language
    ... The issue that counts, really, is what the programming model is at the ... Such machines are quite common, ... Non Uniform Memory Access simply means different memories have ... which provided the programmer with the illusion of a shared memory. ...
    (comp.lang.lisp)