Issue No. 02 - April-June (1997 vol. 5)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/4434.588292
Remote tasking encompasses a range of functionality, such as remote forking, remote spawning, and task migration. To overcome the relatively high costs of these mechanisms, optimizations can be applied at various levels of the underlying operating system or application. Possible optimizations include concurrent message transmission, increased throughput, and reduced latency at the distributed IPC level; batching, overlapping, and pipelining at the remote-tasking level; and multithreading at the application level. Of particular interest is the resulting concurrency, because in a complex program, it may be a dominant performance factor. Distributed IPC is typically characterized by throughput and latency. However, many design and implementation details that are important for real application performance are obscured by this simple characterization. This article describes distributed IPC from a remote-tasking point of view, because remote tasking exercises all aspects of distributed IPC extensively. The authors analyze two versions of distributed IPC supported in the Mach microkernel.
A. Langerman, D. S. Milojicić, D. L. Black, M. Dominijanni, R. W. Dean and S. J. Sears, "Concurrency: A Case Study in Remote Tasking and Distributed IPC in Mach," in IEEE Concurrency (out of print), vol. 5, no. , pp. 39-49, 1997.