They’ve just announced an upgrade, and they continue with their goal of abstracting away a lot of the fiddly bits that are necessary to get different processes talking to each other in a multicore setup. In particular, they have structured things in a way that’s intended to make it easier for you to write a program on one platform and then port it to another with much less work.
While the earlier version focused more on laying the underlying communication plumbing, their update builds on that by focusing on resource configurability.
- Memory maps can be made portable. You create them graphically giving them abstract properties, and then the actual map is resolved at build time when you target a specific platform.
- You can map resource pools.
- You can map links between two different address spaces that may be virtual, or, more likely, may represent different physical memories.
- You can define memory access regions, which are basically shared portions of memory that are more narrowly circumscribed for things like avoiding data copying.
- You can improve performance by controlling the scheduling of the resources needed for sending and receiving messages in a manner that reduces overhead.
- Messages can now be multi-cast – that is, sent to multiple named destinations, but not to everyone (which would be broadcast).
You can find more info in their release…