Journal of the ACM (JACM)
Communications of the ACM
High performance dynamic lock-free hash tables and list-based sets
Proceedings of the fourteenth annual ACM symposium on Parallel algorithms and architectures
Magazines and Vmem: Extending the Slab Allocator to Many CPUs and Arbitrary Resources
Proceedings of the General Track: 2002 USENIX Annual Technical Conference
Dynamic Programming and Strong Bounds for the 0-1 Knapsack Problem
Management Science
Dynamic Programming
Scalable lock-free dynamic memory allocation
Proceedings of the ACM SIGPLAN 2004 conference on Programming language design and implementation
Alignment of RNA base pairing probability matrices
Bioinformatics
Scalable locality-conscious multithreaded memory allocation
Proceedings of the 5th international symposium on Memory management
Split-ordered lists: Lock-free extensible hash tables
Journal of the ACM (JACM)
A parallel dynamic programming algorithm on a multi-core architecture
Proceedings of the nineteenth annual ACM symposium on Parallel algorithms and architectures
The slab allocator: an object-caching kernel memory allocator
USTC'94 Proceedings of the USENIX Summer 1994 Technical Conference on USENIX Summer 1994 Technical Conference - Volume 1
Streaming Algorithms for Biological Sequence Alignment on GPUs
IEEE Transactions on Parallel and Distributed Systems
Automating branch-and-bound for dynamic programs
PEPM '08 Proceedings of the 2008 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Cache-efficient dynamic programming algorithms for multicores
Proceedings of the twentieth annual symposium on Parallelism in algorithms and architectures
Dynamic Programming to Minimize the Maximum Number of Open Stacks
INFORMS Journal on Computing
The Art of Multiprocessor Programming
The Art of Multiprocessor Programming
Fast and compact hash tables for integer keys
ACSC '09 Proceedings of the Thirty-Second Australasian Conference on Computer Science - Volume 91
Scalable hashing for shared memory supercomputers
Proceedings of 2011 International Conference for High Performance Computing, Networking, Storage and Analysis
Improving MPI applications with a new MPI_Info and the use of the memoization
Proceedings of the 20th European MPI Users' Group Meeting
Turning nondeterminism into parallelism
Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications
Hi-index | 0.00 |
We show a method for parallelizing top down dynamic programs in a straightforward way by a careful choice of a lock-free shared hash table implementation and randomization of the order in which the dynamic program computes its subproblems. This generic approach is applied to dynamic programs for knapsack, shortest paths, and RNA structure alignment, as well as to a state-of-the-art solution for minimizing the maximum number of open stacks. Experimental results are provided on three different modern multicore architectures which show that this parallelization is effective and reasonably scalable. In particular, we obtain over 10 times speedup for 32 threads on the open stacks problem.