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

   -  WHY?











NOBLE Professional Edition - Evaluation Version
NOBLE Professional Edition:
Evaluation License

ORDER ON-LINE Arrow right


NOBLE Professional Edition - Demo Version
NOBLE Professional Edition:
Demo Version

DOWNLOAD Arrow right

Products – NOBLE – Why?
With help from NOBLE Professional Edition program developers can efficiently take advantage of benefits as increased performance and scalability, faster and easier product development, and increased stability and termination guarantees.
Computers involve more and more parallelism

The evolution of computers has now since some year left the trend with ever increasing clock frequencies. Instead, leading processor manufacturers are now offering processors with built-in parallelism for the main-stream market and are continuously designing for an increasing level of concurrency. In the new design, the processor chip actually include several of logical processors, each capable of performing an individual task. The new multi-core architecture already offers as many as 4-8 cores for standard systems, and as this number is believed to improve substantially with every year it is not unreasonable to expect as many as 256 cores within near future.

However, it is not obvious how to exploit the new technology. Software must be developed in a new manner, so that the physically available computing power of the multi-core architecture can actually be exploited. The programs must be divided into several program threads that can run in parallel. In order to behave like one program from the user's point of view, these program threads must regularly communicate with each other and work with shared data. It is then very important that this communication can be done as efficient as possible, so that bottle-necks are not created that can degrade the overall performance. There are several ways and means to implement parallel programs, whereas multi-thread programming is known as the most efficient. However, programs multi-thread programming can be complex to design and difficult to get correct, especially as standard development environments often offers a very limited support and platform for safe and efficient multi-thread programming.

Our solution to the emerging need of parallel programs

This new evolvement in parallel programming is something that the software library NOBLE Professional Edition has taken for sure. With NOBLE Professional Edition the program developers are given a number of new components for efficient communication between program threads. The components are offered in different versions, created using different technologies, so that the developer can choose just the right version that suits the current platform and task best. The most innovative technology, non-blocking synchronization, has been shown as the most scalable in academic studies, and is based on synchronization without locks. In 2001, Tsigas and Zhang (see article) performed experiments on the Splash-2 benchmark suite with realistic applications that showed very significant potentials for performance improvements:

Lock-free improves multi-thread applications

Since then, the non-blocking technology has advanced considerably, and NOBLE Professional Edition contains the very latest in this. The basic principle in this technology is that no program thread should be able to block any other. As this new technology is very advanced and complicated, it has so far only been available for a limited number of researchers with high expert knowledge in the area. With help from NOBLE Professional Edition can ordinary developers now get access to the advantages that synchronization without locks can offer, without the need to go into any depth about technical details. Packaged in this product are decades of research and several years of development.


READ MORE Arrow right

Significant benefits from using NOBLE Professional Edition

To highlight the most important; with help from the new powerful components in NOBLE your application development can efficiently take advantage of the following benefits:

  • Faster and easier product development. The components are effectively encapsulating the complexity, and expose to the user a well-known surface that is both recognized and easily understood by common program developers

  • Increased performance and scalability. Thanks to increased parallelism, the non-blocking synchronization techniques exploited in the NOBLE components admit significantly increased performance compared to traditional techniques.

  • Increased stability and termination guarantees. Besides increased parallelism, the non-blocking technique exploited in NOBLE also allows continuous operation in the presence of faults as stopped threads at any moment in time. Moreover, this allows stronger guarantees in worst-case execution times, and thus avoids the need for complex analysis as normally needed for systems with real-time requirements. 

NEXT Arrow right

Click here to view the swedish language version of the siteCreated by Kobolt.se, www.kobolt.se. ©2008 Parallel Scalable Solutions AB.
To home page