Lock-free multi-thread solutions for multi-core and more - Parallel Scalable Solutions Main menu for Parallel Scalable Solutions
TransparentArrow hider
Blank background bar
The digital road leads to massively multi-core computers needing non-blocking programming


 

 

 

 

 

 


 


Acrobat Reader Portable Document Format (PDF)

NOBLE Professional Edition: Applications Programmers Interface (API)

DOWNLOAD & READ Arrow right

 



Products - NOBLE – Contents
 
NOBLE Professional Edition contains a large number of components. Of each component there are a number of different versions, that each are based on different technologies and approaches. The technologies that are used are:

  • Lock-free synchronization. This technology is non-blocking and means that no program thread can block any other. Moreover, is guaranteed that always at least one program thread is making progress when several program threads are working on the same data.  The technology has a relatively low starting cost and allows high scalability.
  • Wait-free synchronization. This technology is non-blocking and means that no program thread can block any other. Moreover, is guaranteed that all program threads that have started an operation always will finish in a finite time period.  The technology has a high starting cost and allows high scalability with mostly an increased cost in respect of memory space.
  • Lock-based synchronization. This technology means that program threads can block others. The technology has a low starting cost for a low number of involved program threads, but a limited scalability with increasing number of program threads.

Parallel versions of common abstract data types

The components are adopted for practical usage and have a standardized interface in phase with common and well established abstract data types and data structures. The following abstract data types are included in NOBLE Professional Edition:

  • Stack. 1 lock-free and 1 lock-based version. Supports the Push and Pop operations.
  • Queue. 2 lock-free and 1 lock-based versions. Supports the Enqueue and Dequeue operations.
  • Deque. 3 lock-free and 1 lock-based versions. Supports the PushLeft, PushRight, PopLeft and PopRight operations.
  • Priority Queue. 2 lock-free and 3 lock-based versions. Supports the Insert, FindMin and DeleteMin operations for custom priorities.Lock-Free Skip-list for implementing the dictionary abstract data type for multi-thread programming
  • Dictionary. 3 lock-free and 1 lock-based versions. Supports the Insert, Update, Find and Delete operations for custom keys.
  • List. 3 lock-free and 1 lock-based versions. Supports the InsertAfter, InsertBefore, Delete, Next, Previous, Read, First and Last operations.
  • Snapshot. 3 wait-free and 1 lock-based versions. Supports the Update and Scan operations.

Moreover the library contains various wait-fee and lock-free implementations of atomic operations on a single or a collection of memory words, i.e. transactions. Supported operations are Read, Write, Add, Swap, Op, CAS, CASN, LL, VL and SC.

Sophisticated memory management and configurability

In addition, a number of lock-free memory handlers are included that can be used in combination with the abstract data types for handling user-defined objects. All components have an object-oriented design, and can if so wishes be adjusted via a set of parameters in order to fulfill special and individual needs.

For more information, please see the description of the application programmers interface (API) which can be downloaded from our technical documents pages.

NOBLE Professional Edition is in first hand developed for the C/C++ program languages in order to achieve highest performance, but can easily be used also from other program languages.

An even more detailed description of the contents in NOBLE Professional Edition can be obtained by contacting us through the form at the contact page.

Note that we can customize individual components to meet special needs that are not fulfilled by our packaged solutions. Please contact us with your requests and needs, and we will give you more details about possible deal offers and licensing terms.

Arrow left PREVIOUS

NEXT Arrow right

Click here to view the swedish language version of the siteCreated by Kobolt.se, www.kobolt.se. ©2006.
To home page