NOBLE
Professional Edition:
Demo
Version
DOWNLOAD
|
|
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:
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.
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
|
|