Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----_=_NextPart_001_01C47A54.52F2D100" Subject: RE: question about shared memory in the cygwin daemon Date: Wed, 4 Aug 2004 14:53:26 -0400 Message-ID: X-MS-Has-Attach: yes X-MS-TNEF-Correlator: From: "Clarke, Trevor" To: X-OriginalArrivalTime: 04 Aug 2004 18:53:28.0167 (UTC) FILETIME=[5432BF70:01C47A54] ------_=_NextPart_001_01C47A54.52F2D100 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable We currently run on 32bit windows and 32/64but solaris with near future plans to run on 64bit windows. The product is for a specific client so we can assume 4gb or more of physical ram. As for Matlab, the problem is that the library routines for embedding matlab spawn a separate process and use IPC to talk to it (COM under windows I believe) so data sent is copied to another address space. Again, we can assume sufficient RAM for a data set and even if a page is swapped out to disk, it should be data that's not actively processing so the impact on performance should be less than processing directly on disk. ------------------------------ Trevor R.H. Clarke tclarke AT ball DOT com Ball Aerospace & Technologies Corp -----Original Message----- From: Dave Korn [mailto:dk AT artimi DOT com]=20 Sent: Wednesday, August 04, 2004 1:37 PM To: cygwin AT cygwin DOT com Subject: RE: question about shared memory in the cygwin daemon > -----Original Message----- > From: cygwin-owner On Behalf Of Clarke, Trevor > Sent: 04 August 2004 17:54 > I'm currently developing image processing software which will=20 > use matlab > as a "plugin" for interactive processing. The problem is, matlab, when > called from another program, spawns a separate matlab engine process. > The data we are working with can get very large (4gb+) so we=20 > can't pass > copies of it around. We are looking at using cygwin's shared memory > functionality to get around this on windows (NT derivatives only). Your data won't even fit into a 32-bit address space, so I don't think shared memory is going to help you. Even if you're using an x86-64 platform, you have to bear in mind that you've got a virtual memory system there. If your data set is 4Gb, and your system RAM is < 4Gb, then even mapping it into shared memory between processes will involve it going out to disk and back when the pagefile starts swapping. Is there not a library version of matlab you can link to your application and call into from the same process space? cheers,=20 DaveK --=20 Can't think of a witty .sigline today.... ------_=_NextPart_001_01C47A54.52F2D100 Content-Type: text/x-vcard; name="Clarke, Trevor.vcf" Content-Transfer-Encoding: base64 Content-Description: Clarke, Trevor.vcf Content-Disposition: attachment; filename="Clarke, Trevor.vcf" QkVHSU46VkNBUkQNClZFUlNJT046Mi4xDQpOOkNsYXJrZTtUcmV2b3INCkZO OkNsYXJrZSwgVHJldm9yDQpPUkc6QmFsbCBBZXJvc3BhY2UgJiBUZWNobm9s b2dpZXMgQ29ycG9yYXRpb247MTQ2NzExMDENClRFTDtXT1JLO1ZPSUNFOig5 MzcpIDMyMC03MDg3ICANCkVNQUlMO1BSRUY7SU5URVJORVQ6dGNsYXJrZUBi YWxsLmNvbQ0KUkVWOjIwMDQwNzA3VDIwMzQ1N1oNCkVORDpWQ0FSRA0K ------_=_NextPart_001_01C47A54.52F2D100 Content-Type: text/plain; charset=us-ascii -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/ ------_=_NextPart_001_01C47A54.52F2D100--