Skip to main content

A Note on Developing Optimal and Scalable Parallel Two-List Algorithms

  • Conference paper
Algorithms and Architectures for Parallel Processing (ICA3PP 2012)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 7440))

Abstract

We show that developing an optimal parallelization of the two-list algorithm is much easier than we once thought. All it takes is to observe that the steps of the search phase of the two-list algorithm are closely related to the steps of a merge procedure for merging two sorted lists, and we already know how to parallelize merge efficiently. Armed with this observation, we present an optimal and scalable parallel two-list algorithm that is easy to understand and analyze, while it achieves the best known range of processor-time tradeoffs for this problem. In particular, our algorithm based on a CREW PRAM model takes time O(2n/2 − α) using 2α processors, for 0 ≤ α ≤ n/2 − 2logn + 2.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Akl, S.G.: The Design and Analysis of Parallel Algorithms. Prentice-Hall, Englewood Cliffs (1989)

    MATH  Google Scholar 

  2. Amirazizi, H.R., Hellman, M.E.: Time Memory Processor trade-offs. IEEE Transactions on Information Theory 34(3), 502–512 (1988)

    Article  MathSciNet  Google Scholar 

  3. Chang, H.K.-C., Chen, J.J.-R., Shyu, S.-J.: A Parallel Algorithm for the Knapsack Problem Using a Generation and Searching Techniques. Parallel Computing 20(2), 233–243 (1994)

    Article  MathSciNet  Google Scholar 

  4. Chedid, F.B.: An Optimal Parallelization of the Two-List Algorithm of Cost O(2n/2). Parallel Computing 34(1), 63–65 (2008)

    Article  Google Scholar 

  5. Chedid, F.B.: A Scalable Parallelization of the Two-List Algorithm of Optimal Cost O(2n/2). In: Proceedings of Algorithms and Complexity in Durham, ACiD 2007, King’s College, London. Texts in Algorithmics, vol. 9, pp. 35–42 (2007)

    Google Scholar 

  6. Cosnard, M., Ferreira, A.G., Herbelin, H.: The Two-List Algorithm for the Knapsack Problem on a FPS T20. Parallel Computing 9(33), 385–388 (1989)

    Article  MATH  Google Scholar 

  7. Ferreira, A.G.: A Prallel Time/Hardware Tradeoff T.H = O(2n/2) for the Knapsack Problem. IEEE Transactions on Computers 40(2), 221–225 (1991)

    Article  Google Scholar 

  8. Ferreira, A.G., Robinson, J.M.: Fast and Scalable Parallel Algorithms for Knapsack-Like Problems. Journal of Parallel and Distributed Computing 49, 1–13 (1996)

    Article  Google Scholar 

  9. Garey, M.R., Johnson, D.S.: Computers and Intractability: A Guide to the Theory of NP-Completeness. W. H. Freeman and Company, New York (1979)

    MATH  Google Scholar 

  10. Goldman, A., Trystran, D.: An Efficient Parallel Algorithm for Solving the Knapsack Problem on Hypercubes. Journal of Parallel and Distributed Computing 64(11), 1213–1222 (2004)

    Article  MATH  Google Scholar 

  11. Horowitz, E., Sahni, S.: Computing Partitions With Applications to the Knapsack Problem. Journal of ACM 21(2), 277–292 (1974)

    Article  MathSciNet  MATH  Google Scholar 

  12. Karnin, E.D.: A Parallel Algorithm for the Knapsack Problem. IEEE Transactions on Computers 33(5), 404–408 (1984)

    Article  MathSciNet  MATH  Google Scholar 

  13. Li, K., Li, Q., Hui, W., Jiang, S.: Optimal Parallel Algorithm for the Knapsack Problem Without Memory Conflicts. Journal of Computer Science and Technology 19(6), 760–768 (2004)

    Article  MathSciNet  Google Scholar 

  14. Lou, D.-C., Chang, C.-C.: A Parallel Two-List Algorithm for the Knapsack Problem. Parallel Computing 22, 1985–1996 (1997)

    Article  MathSciNet  MATH  Google Scholar 

  15. Sanches, C.A.A., Soma, N.Y., Yanasse, H.H.: Comments on Parallel Algorithms for the Knapsack Problem. Parallel Computing 28, 1501–1505 (2002)

    Article  MATH  Google Scholar 

  16. Sanches, C.A.A., Soma, N.Y., Yanasse, H.H.: An Optimal and Scalable Parallelization of the Two-List Algorithm for the Subset-Sum Problem. European Journal of Operational Research 176, 870–879 (2007)

    Article  MathSciNet  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2012 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Chedid, F.B. (2012). A Note on Developing Optimal and Scalable Parallel Two-List Algorithms. In: Xiang, Y., Stojmenovic, I., Apduhan, B.O., Wang, G., Nakano, K., Zomaya, A. (eds) Algorithms and Architectures for Parallel Processing. ICA3PP 2012. Lecture Notes in Computer Science, vol 7440. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-33065-0_16

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-33065-0_16

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-33064-3

  • Online ISBN: 978-3-642-33065-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics