• Cite Icon1
  • https://doi.org/10.1145/156668.156698Copy DOI Icon

Pipes

Show More
  • Abstract
  • Literature Map
  • References
  • Citations
  • Similar Papers
Abstract

We describe pipes, a new linguistic mechanism for sequences of ordered asynchronous procedure calls in multiprocessor systems. Pipes allow a sequence of remote invocations to be performed in order, but asynchronously with respect to the calling thread. Using pipes results in programs that are easier to understand and debug than those with explicit synchronization between asynchronous invocations. The semantics of pipes make no assumptions about the underlying architecture, which enhances code portability. However, the implementation of pipes by the language compiler can be optimized so as to take advantage of any underlying message ordering a particular architecture may provide. Pipes also provide application-transparent flow control for asynchronous invocations and are able to throttle invocations from multiple calling threads. We present four implementations of pipes and show that the performance and space overheads associated with pipes are low.

Similar Papers
  • Research Article

Anecdotes: Notes on the History of Fork and Join

  • Jan 01, 2016
  • IEEE Annals of the History of Computing
  • Linus Nyman +1
  • Research Article
  • Citations32

Fresh Breeze

  • Mar 01, 2003
  • ACM SIGARCH Computer Architecture News
  • Jack B Dennis
  • Research Article
  • Citations1

Multiprocessors and Asynchronous Event Handling in the Real-Time Specification for Java

  • Mar 26, 2011
  • The Computer Journal
  • M Kim +1
  • Conference Article
  • Citations1

Track Conventions, Not Attack Signatures: Fortifying X86 ABI and System Call Interfaces to Mitigate Code Reuse Attacks

  • Sep 01, 2021
  • Sarp Ozdemir +3
  • Research Article

Interfaces between protocol layers on a multiprocessor system

  • Oct 01, 1983
  • ACM SIGCOMM Computer Communication Review
  • Wilfredo A Colon-Castro +1
  • Research Article
  • Citations18

Synchronization and communication costs of loop partitioning on shared-memory multiprocessor systems

  • Jul 01, 1992
  • IEEE Transactions on Parallel and Distributed Systems
  • R Gupta
  • Book Chapter

A Fast Kernel on Hierarchial Tree Structures and Its Application to Windows Application Behavior Analysis

  • Jan 01, 2010
  • Tao Ban +2
  • Conference Article
  • Citations2

Architectural framework for developing concurrent applications

  • Aug 09, 1995
  • G Bruno +1
  • Book Chapter
  • Citations2

Fault Model Design Space for Cooperative Concurrency

  • Jan 01, 2014
  • Ivan Lanese +6
  • Conference Article
  • Citations2

Simulation of object-oriented distributed systems via compilation to concurrent process level

  • Apr 25, 1995
  • R Manione +1
  • Conference Article
  • Citations2

A parallel object-oriented manufacturing simulation language

  • Nov 13, 2002
  • Ye Zhang +2
  • Conference Article
  • Citations4

Radar image processing with clusters of computers

  • Mar 18, 2000
  • A Goller +1
  • Research Article
  • Citations12

On the need for fewer restrictions in changing compile-time environments

  • May 01, 1975
  • ACM SIGPLAN Notices
  • David L Parnas +2
  • Research Article
  • Citations2

A profiling based task scheduling approach for multicore network processors

  • May 08, 2012
  • Concurrency and Computation: Practice and Experience
  • Feilong Tang +3
  • Conference Article
  • Citations1

Type-preserving compilation of featherweight java

  • Jan 01, 2003
  • C League +2
Cactus Communications logo

Copyright 2026 Cactus Communications. All rights reserved.