SIMtone ASPEED offers several key
features that expand on a very simple application
acceleration concept. The concept is that programs include
serially dependent and independent components that can be
overlapped in order to reduce elapsed time and improve the
systems effective capacity.
If a program is written so that each
component must be executed serially and does not start the
next component until the previous is completed, this program
is referred to as single thread. These single thread applications
take the longest elapsed time but are the easiest to write
and debug.
A program can be written to overlap the
execution of components that are independent in their
execution. These multi-thread and multi-process programs are much more complex to write but
can reduce the elapsed time by overlapping processing and waits using
spare cycles or multiple cores, CPUs or systems.
SIMtone
ASPEED uses a multi-process approach, referred to as heavy weight processes.
This approach
expands on the notion of threads and processes and enables
hybrid applications using GPUs, FPGAs and other auxiliary
processors to
provide an efficient level of distribution in the same
system or across systems.
SIMtone
ASPEED dynamically distributes the iterations and rebalances
the execution processes to optimize the response time at
execution time.

SIMtone
ASPEED uniquely offers this in a way that
does not require the programmer to have multi-threading, multi-processing programming
or application integration skills. ASPEED's self-optimizing
capability is invoked at run time using ISV integrated
interfaces or using SIMtone's ASPEED Software Developer's kit. It
automatically provides the
application with the best capabilities of both multiple processes and
multi-thread.
SIMtone's ASPEED processes are applied
when writing new applications or adapting a single thread or
multi-thread application. The result is that computations
can be spread across a single system or across multiple
systems thereby significantly increasing the concurrent processing
and leveraging overlapping processing to reduce the
effective elapsed time. The result is significantly reduced
elapsed time, more efficient use of CPU utilization and
automatic application scalability.
SIMtone's
ASPEED real-time intelligent dynamic
workload balancing functionality distributes the
relevant iterations and data objects based upon the type of
computational interdependencies specified in the API.
Typical SIMtone ASPEED applications see linear and
super-linear acceleration of the accelerated portions.
|