INETCO Awarded Patent for Multi-reader, Multi-writer Lock-Free Ring Buffer Algorithm

Algorithm provides developers with a real-time architectural solution for high performance operating systems and Cloud-based application environments

Vancouver, BC, March 6, 2012 – INETCO Systems Limited announced today they have been awarded United States Patent 8095727 for the development of a multi-reader, multi-writer lock-free ring buffer algorithm.

The majority of today’s consumer electronics, workstations, database servers, high performance operating systems, distributed and Cloud-based application architectures now contain multiple processor cores on which multiple software processes and threads operate in parallel. For these systems to operate effectively there must be efficient mechanisms for the different processes to both pass information between them and to control access to shared resources such as memory, data storage, network, timers, queues, logs and shared applications. Blocking while waiting for another process to complete is both inefficient and prone to problems with “dead-lock” where a process may never resume.  This also results in slow transaction response times, more IT performance bottlenecks, and degradation of the end customer experience.

“Ensuring rapid, non-blocking exchange of control and data between software components is a major problem in multi-core, multi-thread software environments,” said Angus Telfer, CTO of INETCO.  “The INETCO solution to this problem, applicable for both multiple readers and multiple writers, allows for optimal use of available processing cycles, thus increasing the performance achievable for technologies using it.”

This newly patented algorithm by INETCO, which provides a lock-free mechanism for both multiple readers and multiple writers, is an efficient, high performance solution. It extends ring buffers to multiple processes without using semaphores or locks to control access and avoid contention, or requiring a fixed memory buffer size.  Multiple readers and writers can access cells of a ring buffer, but are prevented from simultaneously accessing the same cell.  The ring buffer’s size may be dynamically increased or decreased to improve performance of read and write operations, or to conserve computer resources.  This means that multiple programs, processes, threads or cores can access a common resource simultaneously, eliminating high-concurrency IT performance issues such as:

  • Cache trashing.
  • Contention in synchronized resource access.
  • Dynamic memory allocation.

INETCO intends to integrate the multi-reader, multi-writer lock-free ring buffer algorithm within its high performance transaction monitoring product, INETCO Insight.  This patent will enable a high volume of transactions to be recorded to the INETCO Insight data store in real-time and be simultaneously processed by multiple product components such as the transaction correlation, real-time alerting, protocol decoding, statistical and analytics modules.