Design of Concurrent Utilities in Jackal: A Software DSM Implementation
A Distributed Shared Memory (DSM) system logically implements the shared-memory model on a physically distributed-memory system. Jackal is an open source  fine grained distributed shared memory implementation of the Java programming language. Java inherently supports parallel programming with the use of multi-threading. Jackal exploits this property and allows users to run multi-threaded programs unmodified on a distributed memory environment such as a cluster. Since the built-in language support for threads is insufficient for many programming tasks, Java-1.5 introduces concurrent utilities . Concurrent utilities of Java are classes that are designed as building blocks in making concurrent classes or applications. These utilities provide reduce programming effort, increase performance, increase reliability, improve maintainability and increase productivity. In this work we implement a subset of these utilities in Jackal.
KeywordsDSM concurrent utilities Jackal ReentrantLock Atomic variable and ThreadPoolExecutor
Unable to display preview. Download preview PDF.
- 1.Blumofe, R.D., Leiserson, C.E.: Scheduling Multithreaded Computations by Work Stealing. In: Proceedings of the 35th Annual Symposium on Foundations of Computer Science, Santa Fe and New Mexico, pp. 356–368 (November 1994)Google Scholar
- 2.Veldema, Ronald, Hofman, et al.: Source-Level Global Optimizations for Fine- Grain Distributed Shared Memory Systems. In: ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP, Snowbird, Utah/USA, pp. 83–92. (June 18-20, 2001)Google Scholar
- 4.Java-1.5 concurrent utilities homepage, http://java.sun.com/j2se/1.5.0/docs/api/java/util/concurrent/packagesummary.html
- 5.Java Specification Request 133, http://today.java.net/pub/n/JSR133PR
- 6.Atomic library by hp, http://www.hpl.hp.com/research/linux/atomic_ops