Disjoint-Access Parallelism Does Not Entail Scalability

  • Rachid Guerraoui
  • Mihai LetiaEmail author
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8593)


Disjoint Access Parallelism (DAP) stipulates that operations involving disjoint sets of memory words must be able to progress independently, without interfering with each other. In this work we argue towards revising the two decade old wisdom saying that DAP is a binary condition that splits concurrent programs into scalable and non-scalable. We first present situations where DAP algorithms scale poorly, thus showing that not even algorithms that achieve this property provide scalability under all circumstances. Next, we show that algorithms which violate DAP can sometimes achieve the same scalability and performance as their DAP counterparts. We continue to show how by violating DAP and without sacrificing scalability we are able to circumvent three theoretical results showing that DAP is incompatible with other desirable properties of concurrent programs. Finally we introduce a new property called generalized disjoint-access parallelism (GDAP) which estimates how much of an algorithm is DAP. Algorithms having a large DAP part scale similar to DAP algorithms while not being subject to the same impossibility results.


Disjoint-access Parallelism (DAP) Transactional Memory Read-only Transactions Software Transactional Memory (STM) Shared Counter 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
  2. 2.
    Afek, Y., Merritt, M., Taubenfeld, G., Touitou, D.: Disentangling multi-object operations. In: PODC (1997)Google Scholar
  3. 3.
    Anderson, J.H., Moir, M.: Universal constructions for multi-object operations. In: PODC (1995)Google Scholar
  4. 4.
    Attiya, H., Hillel, E., Milani, A.: Inherent limitations on disjoint-access parallel implementations of transactional memory. In: SPAA (2009)Google Scholar
  5. 5.
    Attiya, H., Jennifer, W.: Distributed Computing: Fundamentals, Simulations and Advanced Topics, 2nd edn. Wiley, New York (2004)CrossRefGoogle Scholar
  6. 6.
    Dragojević, A., Guerraoui, R., Kapalka, M.: Stretching transactional memory. In: PLDI (2009)Google Scholar
  7. 7.
    Ellen, F., Fatourou, P., Kosmas, E., Milani, A., Travers, C.: Universal constructions that ensure disjoint-access parallelism and wait-freedom. In: PODC (2012)Google Scholar
  8. 8.
    Fich, F.E., Luchangco, V., Moir, M., Shavit, N.N.: Obstruction-free step complexity: lock-free DCAS as an example. In: Fraigniaud, P. (ed.) DISC 2005. LNCS, vol. 3724, pp. 493–494. Springer, Heidelberg (2005) CrossRefGoogle Scholar
  9. 9.
    Guerraoui, R., Kapalka, M.: On obstruction-free transactions. In: SPAA (2008)Google Scholar
  10. 10.
    Harris, T.L., Fraser, K., Pratt, I.A.: A practical multi-word compare-and-swap operation. In: Malkhi, D. (ed.) DISC 2002. LNCS, vol. 2508, pp. 265–279. Springer, Heidelberg (2002) CrossRefGoogle Scholar
  11. 11.
    Hendler, D., Incze, I., Shavit, N., Tzafrir, M.: Flat combining and the synchronization-parallelism tradeoff. In: SPAA (2010)Google Scholar
  12. 12.
    Herlihy, M.: Wait-free synchronization. TOPLAS 13, 124–149 (1991)CrossRefGoogle Scholar
  13. 13.
    Herlihy, M., Shavit, N.: The Art of Multiprocessor Programming. Morgan Kaufmann, San Mateo (2008)Google Scholar
  14. 14.
    Imbs, D., Raynal, M.: Help when needed, but no more: efficient read/write partial snapshot. JPDC 72, 1–12 (2012)zbMATHGoogle Scholar
  15. 15.
    Israeli, A., Rappoport, L.: Disjoint-access-parallel implementations of strong shared memory primitives. In: PODC (1994)Google Scholar
  16. 16.
    Kuznetsov, P., Ravi, S.: On the cost of concurrency in transactional memory. In: Fernàndez Anta, A., Lipari, G., Roy, M. (eds.) OPODIS 2011. LNCS, vol. 7109, pp. 112–127. Springer, Heidelberg (2011) CrossRefGoogle Scholar
  17. 17.
    Riegel, T., Felber, P., Fetzer, C.: A lazy snapshot algorithm with eager validation. In: Dolev, S. (ed.) DISC 2006. LNCS, vol. 4167, pp. 284–298. Springer, Heidelberg (2006) CrossRefGoogle Scholar
  18. 18.
    Roy, A., Hand, S., Harris, T.: Exploring the limits of disjoint access parallelism. In: HotPar (2009)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2014

Authors and Affiliations

  1. 1.EPFLLausanneSwitzerland

Personalised recommendations