|
Development of Distributed Applications can be much accelerated with
Mirror Memory, as most of the synchronization issues which can derail a complex
product are neatly encapsulated within the Amirus API and control programs.
This allows your programmers to concentrate upon developing their
applications rather than debugging network code or wrestling with timeouts. There is no need to
service event queues to get the data, nor deal with retransmissions and timeouts
to send it -- just read or write directly to memory.
Mirror Memory has special features to support distributed applications,
- 'Synchronized' memory, allowing applications to guarantee that memory
contents are known system-wide before the application program proceeds.
Using synchronized memory, you can define your own protocols to implement
system-wide 'atomic' operations.
- An efficient global 'lock' facility to guarantee that shared structures
are updated atomically. The system supports 32 global locks, each of which
can be held at either 'Shared' or 'Exclusive' level. Amirus monitors the
locks obtained by application programs, freeing them upon abnormal
termination or if a node fails.
- Interfaces for both MATLAB and Visual Basic .NET, which allow you to
read and write data in shared memory using the natural features of these
languages. This allows you to very simply integrate external data sources
with existing analysis algorithms.
|