It looks to me more like this is saying that 64-bit versions on Windows 
ALLOW
methods of starting processes that will put each 32-bit process in a 
separate
32-bit address space, but nothing about whether BOINC actually uses these
methods.  Could we bring someone more familiar with the internals of 64-bit
Windows BOINC clients into this discussion to say more about whether the
clients actually use such methods?

- Robert Miles

.
>
>
> --------
>
> Date: Fri, 27 Apr 2012 13:51:10 -0400
> From: "Rom Walton"<[email protected]>
> Subject: Re: [boinc_dev] boinc_dev Digest, Vol 95, Issue 20
> To:<[email protected]>, "Robert Miles"
>       <[email protected]>
>
> Microsoft provides a good starting place for this topic:
> http://msdn.microsoft.com/en-us/library/aa384249(v=vs.85).aspx
>
> > From the looks of it, each process (32-bit/64-bit) is contained within a
> separate virtualized 64-bit address space.  32-bit applications load the
> additional WOW64 binaries to handle thunking.  kernel handles only
> contain 32-bits of relevant information so that they can be truncated
> for use by 32-bit applications.
>
> ----- Rom
>
> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]] On Behalf Of
> [email protected]
> Sent: Friday, April 27, 2012 1:24 PM
> To: Robert Miles
> Cc: [email protected]; [email protected]
> Subject: Re: [boinc_dev] boinc_dev Digest, Vol 95, Issue 20
>
> I am going to speculate for a bit.
>
> If 32 bit process handles do not translate from 32 bit apartment to a
> different 32 bit apartment, then
> 1)  32 bit processes started by a 32 bit process will have to come out
> of the same 4GB process space (yes, this includes the video space so
> some less space for programs).  It may be true only if the parent
> process stores the process handle of the child.
> and
> 2)  A 32 bit process started by a 64 bit process can get a new 4GB
> process space.
>
> jm7
>
>
> |------------>
> | From:      |
> |------------>
>
>> -----------------------------------------------------------------------
> ------------------------------------------------------------------------
> ---|
>    |Robert Miles<[email protected]>
> |
>
>> -----------------------------------------------------------------------
> ------------------------------------------------------------------------
> ---|
> |------------>
> | To:        |
> |------------>
>
>> -----------------------------------------------------------------------
> ------------------------------------------------------------------------
> ---|
>    |<[email protected]>
> |
>
>> -----------------------------------------------------------------------
> ------------------------------------------------------------------------
> ---|
> |------------>
> | Date:      |
> |------------>
>
>> -----------------------------------------------------------------------
> ------------------------------------------------------------------------
> ---|
>    |04/27/2012 12:33 PM
> |
>
>> -----------------------------------------------------------------------
> ------------------------------------------------------------------------
> ---|
> |------------>
> | Subject:   |
> |------------>
>
>> -----------------------------------------------------------------------
> ------------------------------------------------------------------------
> ---|
>    |Re: [boinc_dev] boinc_dev Digest, Vol 95, Issue 20
> |
>
>> -----------------------------------------------------------------------
> ------------------------------------------------------------------------
> ---|
> |------------>
> | Sent by:   |
> |------------>
>
>> -----------------------------------------------------------------------
> ------------------------------------------------------------------------
> ---|
>    |<[email protected]>
> |
>
>> -----------------------------------------------------------------------
> ------------------------------------------------------------------------
> ---|
>
>
>
>
>
> Then why have I sometimes seen 7 GB used at once when most of the
> programs running were 64-bit non-BOINC programs, and without such a
> drastic slowdown?
>
> By the way, earlier today, I saw about 4.5 GB of 32-bit programs running
> at once, but enough were non-BOINC to suggest that the 3.5 GB limit I've
> seen applies mostly to BOINC programs.  Could this mean that 64-bit
> Windows BOINC crowds all the 32-bit applications it starts into a single
> 32-bit memoryspace, even if running under a version of Windows that does
> not force such a restriction?
> If so, the only other 32-bit programs affected could be those that
> happen to run on the same CPU core as the main BOINC client executable.
> If that's the case, BOINC needs the ability to set the memory limit for
> the sum of all 32-bit executables it runs to be less than the total it
> can use if 64-bit executables are included.
>
> I haven't found a good chance yet to check if something similar happens
> if all the workunits available are 64-bit, since such workunits are
> still rather scarce.
>
> -  Robert Miles
>
> .
>> ------------------------------
>>
>> Message: 6
>> Date: Fri, 27 Apr 2012 10:23:01 -0400
>> From: "Rom Walton"<[email protected]>
>> Subject: Re: [boinc_dev] 32-bit workunits under 64-bit Windows
>> To: "Robert Miles"<[email protected]>,
>>             <[email protected]>
>> Message-ID:
>>
> <[email protected]>
>> Content-Type: text/plain;          charset="us-ascii"
>>
>> Sounds more like paging than anything else.  Each process is
>> independent of each other.
>>
>> 32-bit processes are not treated like 16-bit tasks running under NTVDM
>> back in the day.
>>
>> I suspect you'll find that the same thing happens when you start a few
>> 64-bit processes that use a similar amount of memory.
>>
>> ----- Rom
>>
>> -----Original Message-----
>> From: Robert Miles [mailto:[email protected]]
>> Sent: Friday, April 27, 2012 9:57 AM
>> To: [email protected]
>> Cc: Rom Walton
>> Subject: Re: [boinc_dev] 32-bit workunits under 64-bit Windows
>>
>>     The 3.5 GB is not for just one process.  It's the total for all
>> 32-bit processes running at once, most of which are workunit
> applications.
>> The hard drive is a little busy at such times - enough for the hard
>> drive light to flash perhaps once a second.
>>
>> The best I can tell, at least one of the applications HP supplied for
>> processing keyboard input is also 32-bit, and therefore more likely to
>> be affected by crowding too much into the same 32-bit memoryspace.
>>
>> - Robert Miles
>>
>> -----
>> Date: Wed, 25 Apr 2012 15:40:51 -0400
>> From: "Rom Walton"<[email protected]>
>> Subject: Re: [boinc_dev] 32-bit workunits under 64-bit Windows
>>
>> I'm confused. On Windows, out of the box, the largest amount of memory
>> a single 32-bit program can allocate is 2GB (3GB with a special boot
>> option). I believe that is even true on a 64-bit system.
>>
>> When your system starts to slow down, is the hard drive busy?  It
>> sounds like what you are experiencing is paging related.
>>
>> ----- Rom
>>
>> -----Original Message-----
>> From: [email protected]
>> [mailto:[email protected]] On Behalf Of Robert Miles
>> Sent: Sunday, April 22, 2012 5:36 PM
>> To: [email protected]
>> Subject: [boinc_dev] 32-bit workunits under 64-bit Windows
>>
>> I've found that my computer tends to slow down user response quite a
>> bit as the total memory used by 32-bit workunits and other 32-bit
>> programs approaches 3.5 GB, as I'd expect if all 32-bit programs must
>> fit within a single 4 GB memoryspace even though the computer has 8 GB
>> of memory installed.  Could you check if this is actually what's
>> happening, especially on 64-bit versions of Windows with the lower
>> limits on the total amount of memory they can use?  If so, can you
>> find a way to give each 32-bit workunit a separate 4 GB memoryspace,
>> even if some of it is shared with other workunits?
>>
>> Another possibility is that the portions of the SysWOW64 software
>> needed to run 32-bit programs is similar in size to the programs that
>> need it, and therefore you should consider counting SysWOW64 software
>> against the memory limit allowed for BOINC.  Or just count 32-bit
>> workunits twice against the limit, but 64-bit workunits only once.  Or
>> even allow setting the limit for 32-bit BOINC software and workunits
>> to be lower than the total amount of memory BOINC can use.
>>
>> I'm using 64-bit Windows Vista Home Premium SP2 on that computer.  I
>> haven't found any way to check which if either of the above
>> possibilities is correct.  Currently using BOINC 7.0.25, but I have
>> seen the same problem on earlier versions back to at least some of the
>> 6.12.* versions.
>>
>> This may be a good reason for the more memory-hungry BOINC projects to
>> start offering 64-bit applications, even if those 64-bit versions
>> offer no performance improvements over the 32-bit versions.
>>

_______________________________________________
boinc_dev mailing list
[email protected]
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.

Reply via email to