| |

NOBLE
Professional Edition: Applications
Programmers Interface (API)
DOWNLOAD & READ
|
|
|
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.
 - 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.
|
|