Top Downloads News Highlights

RTC Magazine: eXtremeDB helps build intelligence into SCL Elements' smart controllers for wireless building automation!

In solution from Indience, Perst Lite embedded database & BlackBerry mobilize SAP, other enterprise apps. Read more.

How do you tell a real in-memory database from an imitation? Get the white paper: "Will The Real IMDS Please Stand Up?"

MedAptus selects Perst Lite for mobile healthcare app on BlackBerry smartphones. Get details.

Embedded database for Silverlight? Perst is the solution. Read the news, and check out our Silverlight database demo!

New Java Native Interface (JNI) for
eXtremeDB provides fastest Java database solution for embedded and real-time enterprise systems.

Read about
new eXtremeDB 4.0, our fastest, most scalable embedded database ever - and about two new customers, myYearbook and SCL Elements.

Printable Version

McObject’s pointers on memory management success

Memory management for embedded systems boils down to gaining maximum application performance from a scarce system resource: random access memory (RAM).

McObject, developer of the eXtremeDB in-memory database, was founded to provide tiny-footprint, real-time database system software for embedded applications. To offer a full-featured database that can run in a digital audio player or mobile phone, we’ve crafted innovative techniques for efficiently using RAM.

These memory management tricks have across-the-board applicability to embedded software development. Whether you develop consumer electronics, on-board automotive or industrial control systems, haven’t you wanted to do more with limited RAM, or reduce the memory required in an embedded device?

If so, check out the articles below, written by McObject’s top engineers to encapsulate some of our approaches to efficient memory management. And don’t hesitate to download our eXtremeDB or Perst databases, to see the product of these techniques.

Articles 

Memory management and embedded databases, from Dr. Dobb’s Journal, offers a primer on different types of custom memory allocator that can replace prohibitively expensive (in performance terms) general-purpose allocators, such as the Windows C runtime or glibc allocator. Generally speaking, allocators keep track of which parts of memory are used and which are free. The design goal of any allocator is to minimize wasted memory space, balancing the amount of wasted space against the processing time required to recover it.

Why do some multi-threaded applications actually slow down when deployed on multi-core systems? The article Tackling memory allocation in multi-core and multi-threaded applications examines this phenomenon, and offers a solution. The article’s “thread local allocator” approach to multi-threaded, multi-processor memory management avoids locking conflicts and can greatly reduce system latency.

While myriad vendors offer database systems for Java and for embedded systems, object-oriented databases for Sun’s Java Micro Edition (Java ME, also known as J2ME) have been conspicuously lacking. That’s because certain Java ME characteristics present obstacles to OO database memory management functions including garbage collection and object caching. In Developing an object-oriented database for J2ME-based embedded devices, McObject’s team describes solutions to these barriers used in developing the Perst Lite open source, object-oriented embedded database for Java ME.

McObject’s Web site also offers white papers on topics ranging from real-time database systems to database API comparisons to embedded data management in specific applications including set-top boxes, IP routers, and military and aerospace systems. 

Downloads 

McObject’s site also offers the following software downloads:

Trial versions of the eXtremeDB in-memory embedded database
GPL-licensed copies of the open source, object-oriented Perst embedded database for Java and .NET.