• DocumentCode
    2540758
  • Title

    Parallel Dispatch Queue: a queue-based programming abstraction to parallelize fine-grain communication protocols

  • Author

    Falsafi, Babak ; Wood, David A.

  • Author_Institution
    Sch. of Electr. & Comput. Eng., Purdue Univ., West Lafayette, IN, USA
  • fYear
    1999
  • fDate
    9-13 Jan 1999
  • Firstpage
    182
  • Lastpage
    192
  • Abstract
    This paper proposes a novel queue-based programming abstraction, Parallel Dispatch Queue (PDQ), that enables efficient parallel execution of fine-grain software communication protocols. Parallel systems often use fine-grain software handlers to integrate a network message into computation. Executing such handlers in parallel requires access synchronization around resources. Much as a monitor construct in a concurrent language protects accesses to a set of data structures, PDQ allows messages to include a synchronization key protecting handler accesses to a group of protocol resources. By simply synchronizing messages in a queue prior to dispatch, PDQ not only eliminates the overhead of acquiring/releasing synchronization primitives but also prevents busy-waiting within handlers. In this paper, we study PDQ´s impact on software protocol performance in the context of fine-grain distributed shared memory (DSM) on an SMP cluster. Simulation results running shared-memory applications indicate that: (i) parallel software protocol execution using PDQ significantly improves performance in fine-grain DSM, (ii) tight integration of PDQ and embedded processors into a single custom device can offer performance competitive or better than an all-hardware DSM, and (iii) PDQ best benefits cost-effective systems that use idle SMP processors (rather than custom embedded processors) to execute protocols. On a cluster of 4 16-way SMPs, a PDQ-based parallel protocol running on idle SMP processors improves application performance by a factor of 2.6 over a system running a serial protocol on a single dedicated processor
  • Keywords
    data structures; distributed shared memory systems; protocols; synchronisation; access synchronization; distributed shared memory; fine-grain communication protocols; fine-grain software communication protocols; network message; parallel dispatch queue; parallel execution; queue-based programming abstraction; synchronization primitives; Access protocols; Application software; Computer networks; Concurrent computing; Data structures; Embedded software; Monitoring; Parallel programming; Protection; Software performance;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    High-Performance Computer Architecture, 1999. Proceedings. Fifth International Symposium On
  • Conference_Location
    Orlando, FL
  • Print_ISBN
    0-7695-0004-8
  • Type

    conf

  • DOI
    10.1109/HPCA.1999.744362
  • Filename
    744362