Corporate Logo
Skip Navigation Links
Home
ProductsExpand Products
DownloadsExpand Downloads
AboutExpand About
News
Contact
Account
Purchase
Metrics
Support
 
 

Check back regularly as we announce further information about this important release.

Beta 2 now includes full support for Vista and Windows Server 2008.

About Persistore Beta 2

In 2006 Morantex made Beta 1 of Persistore available; the only .NET class library that provided a managed interface to Windows memory mapped files and shared memory on both 32-bit and 64-bit platforms. We received a significant amount of feedback including enquiries about future versions and requests for specific features; this feedback was reviewed and combined with existing product planning to define the major goals for a subsequent release, Beta 2 is that release.

Beta 2 utilizes a significantly enhanced kernel library, this library supports our proprietary read/write spin locks yielding improved performance in a multithreaded setting. The kernel also includes support for flexible high performance indexing using our proprietary relocatable dual-platform (32-bit and 64-bit) AVL tree technology.

Also in Beta 2 is a new high performance extensible buffer technology, this allows continuous dynamic buffer growth whilst avoiding the periodic expensive buffer copy and resize that is often relied upon in other designs. This allows large volumes of data to be continuously appended to SharedStream objects no matter how large that data may be.

These features along with many smaller additions and enhancements make Beta 2 a compelling and unique technology that promises to deliver unique capabilities and provide new options for designing systems that require both persistence and the ultimate in performance.

Many of the major new features form the basis of future LINQ support, enabling you to engineer software that leverages LINQ's impressive flexibility of data access in conjunction with very high performnace data persistence.

Morantex also felt that it was in the interests of both ourselves and our future customers, to ensure that Beta 2 fully supported Windows Vista and Windows Server 2008, the result is a powerful technology that can operate on a broad range of Windows platfroms both 32-bit and 64-bit.

Persistore will encourage the implementation of innovative solutions in many industry areas, some of those identified by early Beta 1 evaluators are

Securities
Delivering mission-critical processing of real-time data

The securities industry often faces significant challenges insofar as storing and manipulating large volumes of data in real-time. The need to have systems and applications keep up with high rates of information flow is non-trivial. In the past shared memory has often been the mechanism of choice for these kinds of problems, but was very inflexible and confined to a few specific aspects of a design.

Persistore can now provide easy to use out-of-the-box functionality for architects, designers and developers to exploit shared memory with ease. The technology aims to reduce to a minimum the overheads arising from interprocess communication and wasteful data copying, some of the major causes of latency in securities related processing.

Scientific Computing
Sophisticated concurrent processing of large data sets

Applying complex algorithms and mathematical analyses to large volumes of data has always been a challenge. By eliminating all explicit IO, Persistore eliminates the need to address storage and retreival of data as a separate processing step. Because vast volumes of data is to all intents and purposes accessed directly in-memory, Persistore provides scientists, engineers and designers with a powerful new means to manipulate data and to do so concurrently with ease.

Because all data is genuinely shared across processors and processes, it becomes possible to focus on the analytics issues leaving Persistore to transparently manage the storage and retrieval of data, be it managed objects or directly accessible primitive data types.

Search and Retreival
Acheiving acceptable results in acceptable time

With the proliferation of the worldwide web has come the need to store and retrieve large quantities of data, often in real-time. By eliminating the imbalance between file storage and memory based data manipulation, Persistore enables data to be stored and manipulated with no in-between conversion. Data may be indexed in memory and remain in memory along with those indexes, eliminating the unwieldy opening, closing, reading and writing of files. Massive volumes of data can simply be written to memory and manipulated in real-time leaving Persistore and Windows to worry about persistence.

Because Persistore incorporates a very efficient AVL balanced tree algorithm for indexes, it is straightfoward to create .NET classes that are decorated with index/key defintions and thus have Persistore automatically update any number of indexes whenever an object is persisted.

These indexes may then be used in several ways to facilitate the rapid location and retreival of the indexed data, furthemore an index may be structured (defined as being one or more fields within an object) or separate (arbitrary nature, with the key supplied separately) enabling a wealth of data storage and retreival scenarios to be supported.

What Next?

Morantex are readying Beta 2 for general release, once we have ensured the product meets our crieria for quality and stability on all supported platforms we will announce it's availability. You are encouraged to visit our website from time to time or to contact us either by registering on the website or sending us an e-mail, you will then be contacted as soon as the software becomes available for download.

Screen Shots

Here are a series of screen images that reveal some of the new features to be found in the Repository Explorer. The explorer is the primary tool used to perform administrative tasks on repositories.
   
Persistent repositories are yellow, volatile are blue. Green folders indicate .NET classes whilst yellow folders indicate a conventional data folder. When you start the explorer it will reveal every repository that is currently in use on that system, it will also dynamically detect repositories as they are loaded by applications.
Beta 2 supports the ability to visualize persisted data in various ways. This convenient feature reduces the effort required to investigate problems, or simply see at a glance the information stored. This example shows a SharedStream object being displayed as HTML, you may also use hex dump, plain text and several other visualisations.
This image shows data that has been accumulated by a simple web spider demonstration. The default pages of thousands of randomly visited sites were stored as SharedStream objects. These streams are derived from the .NET Stream so can be used wherever a Stream is. Note the red symbol indicating an active but not yet loaded repository.
The explorer support familar concepts like cut/paste, properties etc making a repository appear almost like a conventional disk. Folders may be created, deleted and renamed as can persisted objects and variables. Existing data files can simply be drag/dropped into the explorer main window, this causes them to be converted to persistent SharedStream objects.
Persistore stores .NET objects into a directory hierarchy that reflects the objects inheritance tree. This hierarchy includes directories that reflect the particular version of an object as well. This hierarchy is created automatically for any class, when objects are persisted for the first time.
The persistore kernel presents a uniform representation of a system's underlying hardware characteristics, at a glance one is able to see specific details that can aid in problem resolution and/or design choices.
Creating repositories is easy using the explorer. As can be seen one may create persistent (file backed) or volatile (not backed by any file) repositories using any of the supported options and features that are available to developers. A volatile repository permits very fast and sophisticated IPC capabilities to be incorporated in any application.
The explorer makes it straightforward to investigate suspected internal problems during development. If a bug in your application is suspected of damaging a repository's integrity, the validation feature can quickly pin down any corruption greatly aiding in debugging (this feature is also available programatically).




Persistore
All content copyright © 2004 - 2008 Morantex Information Systems, Inc.
Morantex™, Persistore™ and NoIO™ are trademarks of
Morantex Information Systems, Inc.
 
AMD Opteron
Number of site visits:  0