Hi Ray,
During our world-wide user-conference in Paris last February, we presented v6 and all its features (see http://www.prismtech.com/opensplice/resources/demand-webcasts/opensplice-dds-user-conference-part-2) , but summarizing we’ve introduced the standalone ‘single-process’ deployment model, improved our DDSI implementation, introduced OpenSplice-RMI (transparent remote-method invocations over DDS) and introduced a distributed regression-test tool called the OpenSplice Tester (see also http://www.prismtech.com/opensplice/resources/youtube-videos-slideshare/opensplice-dds-tester-demo) . W.r.t. the upgrading of existing code, there where 3 (2 minor and 1 major) API-changes: one about correcting the default writer reliability QoS to RELIABLE (as is in the spec), one about deprecating the current ‘ enable_invalid_samples’ API for which there’s now an alternative that has 3 modes rather than 2, and most importantly, we decided to fix a long-standing interoperability-challenge in that according to the specification, the domainId is a so-called ‘NATIVE_TYPE’ meaning that each DDS implementation may decide what it actually is and where in OpenSplice it’s a string (URI of the domain-configuration) and in most other DDS implementations it was an integer. We decided to adopt the integer so to increase portability and we’re offering a DDS_DOMAIN_ID_DEFAULT *‘special value’* which follows the pattern where the OSPL_URI environment variable is still used to find the domain configuration-file and where the actual domainId to be used will be the one as specified in the XML configuration file. Please note that also our commercial edition has an OpenSource LGPLv3 core, its just that it comes with commercial support as well as an optional set of commercial add-ons w.r.t. tools (OpenSplice Tuner, OpenSplice Tester), pluggable services (DBMSConnect, DDSI2E, secure networking), API’s (OpenSplice RMI, OpenSplice Streams) and choice of deployment modes. With respect to your question on ‘*single-process scalability’*, that’s indeed a trade-off as the advantage of using our shared-memory deployment-mode is that intra-nodal traffic as well as related resource-usage will be more efficient than when using multiple standalone ‘single-processes’ that need a transport (protocol) to communicate. Please note that modern operating systems do a good job in short-cutting loop-back network-traffic, so the difference isn’t dramatic, but still a factor of 2 to 3 when comparing latency to using shared-memory has to be taken into account. Footprint is indeed the other metric where the efficiency of OpenSplice’s shared-memory model (where regardless of the number of readers/writers, there’s always maximally 1 physical copy of a sample ‘in-memory’) can be a factor of consideration when comparing to the ‘* traditional’* (single-process) library-model where each application links the middle as libraries and will necessarily require its own copy of subscribed data. For more details you can always contact me directly of course J Regards, Hans * * *Hans van 't Hag* OpenSplice DDS Product Manager PrismTech Netherlands Email: [email protected] Tel: +31742472572 Fax: +31742472571 Gsm: +31624654078 PrismTech is a global leader in standards-based, performance-critical middleware. Our products enable our OEM, Systems Integrator, and End User customers to build and optimize high-performance systems primarily for Mil/Aero, Communications, Industrial, and Financial Markets. ------------------------------ *From:* [email protected] [mailto: [email protected]] *On Behalf Of *FRANCIS Raymond *Sent:* maandag 15 oktober 2012 16:18 *To:* OpenSplice DDS Developer Mailing List *Subject:* Re: [OSPL-Dev] Shared Memory Configuration Issues Hans, Thanks for that information. Currently I am using the Community Edition, so I would need to go to the commercial version to benefit from this. This is an option, but I was wondering the following: 1) Is there somewhere a list of the differences from 5.4.1 to 6.x? We would be interested in knowing the impact of upgrading our existing code. 2) The 'single-process' deployment, if I understand the name correctly, the question is what happens on one machine if I have multiple processes, do they duplicate the database? Is there any performance issues I need to consider with that? Regards Raymond Francis *From:* [email protected] [mailto: [email protected]] *On Behalf Of *Hans van't Hag *Sent:* 12 October 2012 14:38 *To:* OpenSplice DDS Developer Mailing List *Subject:* Re: [OSPL-Dev] Shared Memory Configuration Issues Hey Ray, Ever considered to use the ‘single-process’ deployment mode available with V6 (that doesn’t use shared-memory) ? Regards, Hans * * *Hans van 't Hag* OpenSplice DDS Product Manager PrismTech Netherlands Email: [email protected] Tel: +31742472572 Fax: +31742472571 Gsm: +31624654078 PrismTech is a global leader in standards-based, performance-critical middleware. Our products enable our OEM, Systems Integrator, and End User customers to build and optimize high-performance systems primarily for Mil/Aero, Communications, Industrial, and Financial Markets. ------------------------------ *From:* [email protected] [mailto: [email protected]] *On Behalf Of *Francis,Raymond *Sent:* woensdag 3 oktober 2012 12:05 *To:* 'OpenSplice DDS Developer Mailing List' *Subject:* [OSPL-Dev] Shared Memory Configuration Issues Dear All, We have been using OpenSplice in various projects, in particular embedding "plugins" into 3rd party products. Up until now, DDS has worked great. But some of our projects have started running the 3rd party product with DDS on different Windows versions or using later versions of the 3rd party product, and this has resulted in the failure to create the shared kernel. In fact, almost from day 1 usage of DDS I have had to play with the Address configuration item, and felt I had settled on one that reliably worked. However, that magic number is now starting to fail. Guessing a new one is very difficult, but we have managed to change that and the DB size to get things working again. However, I would be interested in knowing how the Address can be specified. From my experience, a higher number is not necessarily going to guarantee making it work. What is a little confusing to me is that Windows has its own shared memory management, referenced by name rather than address. Why is a specific address necessary, as I can see this continually being problematic for future Windows and 3rd party product releases? Regards Raymond Francis
<<image004.jpg>>
<<image003.jpg>>
_______________________________________________ OpenSplice DDS Developer Mailing List [email protected] Subscribe / Unsubscribe http://dev.opensplice.org/mailman/listinfo/developer
