Select Page

Successful Memory Management

How can we help with your next project?

Pointers on Memory Management Success

Successful 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.

 

Better memory management techniques, build on experience

Our 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 a free trial of 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.

Thread local allocator data structures

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.

The data management experts at McObject also offer white papers and Webinars 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.

Features for a Faster Database

  • Multiple Database Index Types
  • Cache Management
  • Pipelining
  • Resource Conflict Resolution
  • Data Compression

And more

Features to Maximize Reliability

  • ACID-compliant transactions
  • Non-volatile memory support
  • High Availability
  • Advanced debugging and corruption prevention

And more

Features to Reduce Memory Usage

  • Built on a in-memory database system
  • Minimizing stack
  • Custom, purpose-specific, memory allocators’

And more

Features for Professional Developers

eXtremeDB was developed to be a powerful tool for the professional developer, offering adaptable architecture, powerful run-time features, and unmatched developer flexibility.

Review the list

Related Resources

White Papers for Professional Developers

We have been testing, improving on, and retesting our software from the beginning in 2001 in order to provide our clients with the best possible data management solutions. Read “Database Persistence, Without The Performance Penalty” and more.

Review our research

Webinars for Professional Developers

Watch to on-demand Webinars, hosted by experts, about proven database management system practices.  Watch “Eliminating Database Corruption“.  Or, “Embedded Databases: Make or Break Technology Choices for High Performance Applications” and others.

Review our list of Webinars

Platform independent eXtremeDB

Free trial software

Try eXtremeDB, designed and optimized to be an in-memory database system (IMDS).  This distinction allows for improved performance. Learn why here.

The eXtremeDB hybrid database system offers the strengths of the on-disk and all-in-memory approaches to data management in a single database system.

Data management wherever you need it.

 

Hybrid Data Storage  Unlike other IMDS, eXtremeDB databases can easily be all-in-memory, all-persistent, or have a mix of in-memory tables and persistent tables.

Row & Columnar Flexibility for Time Series Data  eXtremeDB supports database designs that combine row-based and column-based layouts, in order to best leverage the CPU cache speed.

A Hard Real-time Option eXtremeDB/rt is the first and only deterministic embedded DBMS for mission- and safety-critical real-time applications.

Embedded and Client/Server Fast, flexible eXtremeDB is data management wherever you need it, and can be deployed as an embedded database system, and/or as a client/server database system.

Platform Independent eXtremeDB is designed and implemented to be a highly portable.