Lockless-MiniSPLASH2 is a lock-free version of part of the
Stanford Parallel Applications for Shared Memory.
In this version most lock-based data structures used by
the original SPLASH-2
were replaced by non blocking synchronisation
constructs.
The SPLASH-2 suite of parallel applications has been developed
to facilitate the study of centralised and distributed and
shared-address-space multiprocessor systems and has been used
extensively by the parallel architecture community.
We developed the Lockless-MiniSPLASH2 together with the
Lockless-Spark98 Kernels in order to:
-
facilitate the understanding of the benefits of non-blocking
synchronisation in realistic and simple parallel codes,
expected to play a central role in many parallel
applications.
-
facilitate the understanding of
using nonblocking synchronisation instead of using lock-based
one when building cache coherent shared memory
multiprocessors applications.
Availability
The source code of Lockless-MiniSPLASH2 is based on the SPLASH-2 suite of parallel applications and
the modified part is developed under the
GNU
General Public License (GNU GPL).
The source code of Lockless-MiniSPLASH2 and some related files
for our experiments can
be downloaded.
Papers
Philippas Tsigas, Yi Zhang, "Integrating Non-blocking
Synchronisation in Parallel Applications: Performance
Advantages and Methodologies", in the Proceedings of the
3rd ACM SIGSOFT, SIGMETRICS Workshop on Software and
Performance (WOSP ´02), pages: 55-67, ACM press.
(pdf file)
Related Local Projects
There are a number of projects run by the group looking into
non-blocking synchronisation from different aspects:
|