| D Bacon. Optimistic parallelization of communicating sequential processes. In Proceedings of the 3rd ACM Symposium on the Principles and Practice of Parallel Programming, pages 155--166, 1991. |
.... compensation algorithms suggested by Malony [15] However, instead we use a measurement based technique to control the amount of instrumentation overhead [12] 6RELATED WORK A graph representation of an execution of a parallel program similar to our PAG has been used extensively in the past [4], 7] 10] 19] 24] Implicitly walking a PAG by attaching instrumentation messages onto applications messages has been used for online detection of race conditions in parallel programs [8] 13] Similar instrumentation has also been used to reduce the number of events that must be logged for ....
# D.F. Bacon and R.E. Strom, "Optimistic Parallelization of Communicating Sequential Processes," Proc. SIGPLAN `91 Symp. Principals and Practice of Parallel Programming, pp. 155-166, Williamsburg, Va., 21-24 Apr. 1991.
....program were executed sequentially. To date, there has been little research in using such techniques to parallelize general purpose code: papers in this area have generally been proposals rather than descriptions of implementations. Bacon and Strom discuss the use of optimism in relation to CSP [2]. Fujimoto [7] has also suggested the use of optimism as a parallelization technique, using the Virtual Time Machine. Winter, Kalantery and Wilson [11] have proposed the use of mainly conservative synchronization techniques to provide a new parallel architecture model. Our research also differs ....
D F Bacon and R E Strom. Optimistic parallelization of communicating sequential processes. ACM Sigplan notices, 26(7):155--166, 1991.
....S1; S2 do not depend on one another. The optimistic assumption is that the results of S1 do not influence S2, allowing S1 to be executed in parallel with S2. Strom and Yemini explored this notion, optimistic parallelization, in their 1987 paper[11] and Bacon and Strom elaborated on it in 1991[1]. Optimistic assumptions can be made about causal ordering, consistency, atomicity, and even fault tolerance, yielding sophisticated optimistic algorithms. Optimistic algorithms have appeared in such disparate fields as caching, distributed discrete event simulation, concurrency control, and fault ....
....Transformation 3 Optimistic Replication in HOPE Most previous investigations optimism have focussed on optimistic algorithms. In [3] we present several algorithms for hiding latency through optimism expressed in HOPE, including Jefferson s Virtual Time[6] and Bacon and Strom s Call Streaming [1]. We begin this section by presenting Kung and Robinson s optimistic concurrency control algorithm, which is not replicated but does illustrate optimistic consistency. We then illustrate two different styles of optimistic replication by expressing the algorithms of Goldberg and Triantafillou. ....
David F. Bacon and Robert E. Strom. Optimistic Parallelization of Communicating Sequential Processes. In Third ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, April 1991.
....to the programmer, and section 4 introduces HOPE: our new general programming model for optimism. Section 5 describes our future research goals in optimism. 2 Applications of Optimism In this section, we describe the application of optimism to overcoming the latency in network communications[4], transaction processing[16] replication[10, 12, 27] fault tolerance[22] and discrete event simulation[14] In each case, we will isolate the serial bottleneck being addressed, the optimistic assumption(s) being made, the procedure to verify the optimistic assumption, and the contingency plan ....
....waiting for a reply increases. Similarly, as processors get faster, the amount of computing that can be done while waiting for a reply increases. Thus advancing technology is going to increase the imbalance between latency and throughput, increasing the benefits of optimism. Bacon and Strom present[4] an optimistic transformation for the parallelization of sequential statements S1; S2 based on ideas in [23] Such a parallelization is particularly effective if S1 and S2 are remote procedure calls, in that it transforms a sequence of synchronous RPC operations into a stream of asynchronous ....
David F. Bacon and Robert E. Strom. Optimistic Parallelization of Communicating Sequential Processes. In Third ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, April 1991.
....we will make concurrent sequences of actions that will not interfere. However, many circumstances arise in distributed systems where two sequences may not interfere for most runs. Non interference can be guessed with high probability, even though it cannot be statically guaranteed. For example [1], assume that we have two actions labelled S 1 and S 2 which are both remote procedure calls (RPCs) and that communication delays are long relative to the speed of computation. Suppose that S 1 is an Update call to a database server that is in a remote process Y , which actually writes the value ....
David F. Bacon and Robert E. Strom. Optimistic Parallelization of Communicating Sequential Processes. April 1991.
....This section describes the performance metrics that we used in this study. We describe these metrics in terms of a graph of the application s execution history, called a Program Activity Graph (or PAG) Variations of this data structure are commonly used in parallel program correctness debugging[2, 6, 8, 14, 16] and performance debugging [7, 18] Nodes in the graph represent significant events in the program s execution (e.g. lock and unlock operations, procedure calls and returns) Arcs represent the ordering of events within a process or the synchronization dependencies between processes. Each arc is ....
....process. For each arc (including spin waiting time) the CPU time for that arc is added to the cumulative time for the currently active procedure. call(A) unlock lock preLock preLock preLock lock call(C) lock call(D) unlock call(B) initial node exit wait final node exit exit [0, 0] 0, 0] 0, 0] [0, 2] [6, 6] 5, 6] 1, 1] 0, 1] 0, 1] 4, 6] 0, 1] 1, 3] 3, 3] 1, 1] 0, 0] 1, 1] Useful Time Spinning Time [CPU Time, Elapsed Time] Legend call(A) call(B) call(C) call(C) preBarrier preBarrier barrier barrierRelease barrierRelease [36, 36] 36,36] 30, 30] 24, 24] 48, 48] 42, 42] 7, 7] 5, ....
[Article contains additional citation context not shown here]
D. F. Bacon and R. E. Strom, "Optimistic Parallelization of Communicating Sequential Processes", SIGPLAN '91 Symposium on Principals and Practice of Parallel Programming, Williamsburg, VA, April 21-24, 1991, pp. 155166.
....program becomes the physical system and the optimistic simulation of this system the execution of the program. The aims are to make use of more of the available parallelism than is possible with automatic parallelisation schemes based on static program analysis. Some work has been done by Bacon [1] on the optimistic execution of CSP (Communicating Sequential Processes) 11] but the use of optimistic execution as a parallelisation tool has been largely unexplored. The optimistic execution of a program can parallelise some code which static program analysis would indicate was sequential. ....
D.F. Bacon and R.E. Strom. Optimistic parallelization of communicating sequential processes. ACM SIGPLAN Notices, 26(7):155--166, 1991.
....of, existing techniques (e.g. BG83, Moh90] and those which introduce drastically different concurrency control algorithms (e.g. Wei89b, DK90] This section summarizes the results which may be applicable to improving concurrency control in objectbases. Optimism Some applications [MT86, BS91] benefit greatly from the use of optimistic algorithms for concurrency control. Whenever it can be determined a priori that the probability of conflicting operations in concurrent transactions is low, optimistic techniques should be considered. In this case, as long as other characteristics of ....
D.F. Bacon and R.E. Strom. Optimistic Parallelization of Communicating Sequential Processes. In Proceedings of the Third ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, pages 155 -- 166, 1991.
....in which S1 is an RPC that prints a summary total and returns the current line number of the page. S2 takes the line number and checks to see if the line number now exceeds page size. If it does, then S2 creates a new page; otherwise execution can immediately proceed to S3 . Bacon and Strom [1] present an algorithm for optimistically parallelizing two such statements. We can still parallelize S1 and S2 (and hence the statements after S2 ) by making the (likely) optimistic assumption that the report does not end exactly at the bottom of the page, i.e. line Page Size. Figure 2 ....
David F. Bacon and Robert E. Strom. Optimistic Parallelization of Communicating Sequential Processes. In Third ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, April 1991.
....of sending 100 byte packets 100,000 times per second, but is only capable of sending that 100 byte packet 30 times per second if each transmission waits for a response. A 100 MIPS CPU can execute over 3 million instructions while waiting for a response from the opposite coast. Bacon and Strom [3] present an optimistic transformation for the parallelization of sequential statements S1; S2 based on ideas in [24] Such a parallelization is particularly effective if S1 and S2 are remote procedure calls (RPC) in that it transforms a sequence of synchronous RPC operations into a stream of ....
David F. Bacon and Robert E. Strom. Optimistic Parallelization of Communicating Sequential Processes. In Third ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, April 1991.
....program becomes the physical system and the optimistic simulation of this system the execution of the program. The aims are to make use of more of the available parallelism than is possible with automatic parallelization schemes based on static program analysis. Some work has been done by Bacon [3] on the optimistic execution of CSP (Communicating Sequential Processes) 10] but the use of optimistic execution as a parallelization tool has been largely unexplored. 4 An Example of Parallelization To illustrate these ideas, we present an example which shows the parallelization of an ....
D F Bacon. Optimistic parallelization of communicating sequential processes. Association of Computing Machinery, 1991.
....messages. This abstraction is used for discrete event simulation using the Timewarp system proposed by Jefferson [6] Message passing programming is reasonable when communication between processes is restricted to a small set of message types, but in general it can be cumbersome. Bacon and Strom [2] describes optimistic parallelization in the context of CSP (Communicating Sequential Processes) Starting from a parallel language, their approach is more general than ours since they can, for example, express nondeterministic programs. They also require that the user tag processes with a set of ....
D.F. Bacon and R.E. Strom. Optimistic parallelization of communicating sequential processes. In Proc. Third Symposium on Principles and Practice of Parallel Programming, April 1991.
....in which S 1 is an RPC that prints a summary total and returns the current line number of the page. S 2 takes the line number and checks to see if the line number now exceeds page size. If it does, then S 2 creates a new page; otherwise execution can immediately proceed to S 3 . Bacon and Strom [1] present an algorithm for optimistically parallelizing two such statements (Call Streaming) We can still parallelize S 1 and S 2 (and hence the statements after S 2 ) by making the (likely) optimistic assumption that the report does not end exactly at the bottom of the page, i.e. line ....
David F. Bacon and Robert E. Strom. Optimistic Parallelization of Communicating Sequential Processes. In Third ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, April 1991.
.... classic example is optimistic concurrency control: assume that locks will be granted, process the transaction, and post hoc verify that the locks were granted [17] This paper reviews how to avoid the latency of a remote procedure call by optimistically assuming that the call behaved as expected [1, 10, 11], illustrating why distributed systems particularly benefit from optimism: moving a computation to a remote node increases latency, but does not change the predictability of the computation. Supported in part by the National Sciences and EngineeringResearch Council of Canada (NSERC) and ARPA. ....
....that prints a summary total and returns the current line number of the page. S2 takes the line number and checks to see if the line number now exceeds page size. If it does, then S2 creates a new page; otherwise execution can immediately proceed to S3 . Baconand Strom s Call Streaming algorithm [1] optimistically parallelizes two such statements. We can parallelize S1 and S2 (and hence the statements after S2 ) by making the optimistic assumption that the report does not end exactly at the bottom of the page, i.e. line PageSize. Figure 2 showshow we can parallelize S1 and S2 as ....
David F. Bacon and Robert E. Strom. Optimistic Parallelization of Communicating Sequential Processes. In Third ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, April 1991.
....Recovery in Distributed Systems Position Paper David F. Bacon 3 April 1990 Introduction We are investigating transparent optimistic solutions to problems in dis tributed systems such as recovery [6] replication [3] parallelization [2], and concurrent competing alternatives [4] By a transparent solution to such a problem we mean that a program is transformed automatically, and that the behavior of the program is equivalent to a possible behavior of the untransformed program; in addition, the programmer and the end user need ....
BACON, D. F., AND STROM, R. E. Optimistic parallelization of com- municating sequential processes. Research Note RC, IBM T.J. Watson Research Center, 1990.
....the effects of the transaction are undone at all sites and the transaction is retried at the originating site. This strategy is derived from the optimistic guess propagation principles defined in Strom and Yemini [16] and applied to a number of distributed systems (e.g. optimistic call streaming [2] and Hope [6] However, our algorithm makes certain specializations to reduce message traffic. 3.1 Concurrency Control for Scalar Model Objects When a transaction T is first executed, it is assigned a virtual time, which we call t T . As it executes, the transaction reads and or modifies one or ....
David F. Bacon and Robert E. Strom. Optimistic parallelization of communicating sequential processes. In Proceedings of the Third ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, April 1991.
....CONFIRM Figure 3: Example of update propagation. The execution of the transaction takes place optimistically, using strategies derived from the optimistic guess propagation principles defined in Strom and Yemini [15] and applied to a number of distributed systems (e.g. optimistic call streaming [2] and HOPE [5] However, our algorithm makes certain specializations to reduce message traffic. For RC guesses, the originating site simply records the V T of the transaction which wrote the uncommitted value that was read. The originating site will not commit its transaction until the transaction ....
David F. Bacon and Robert E. Strom. Optimistic parallelization of communicating sequential processes. In Proceedings of the Third ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, April 1991.
....single address space, etc. Additionally, implementations are free to perform arbitrarily aggressive transformations of programs, provided the semantics of the process model is preserved. Examples include: migrating processes[10] replicating processes [11] converting bi directional calls to sends[12]. 3 Hermes Hermes [13] is a new experimental high level language especially suited for distributed and multiapplication systems. It is a very high level language that fully incorporates the process model. In particular, 1. The concepts of process, inport, outport, etc. are primitive concepts of ....
D. F. Bacon and R. E. Strom, "Optimistic parallelization of communicating sequential processes, " in Proceedings of the Third ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, April 1991.
....such as sender based logging, volatile logging, and null logging. ffl Optimize file system access. We also intend to use the general rollback capability of ORM to examine other optimistic systems, such as Time Warp ( 10] optimistic process replication ( 7] and optimistic parallelization ([2]) Other applications for generalized rollback are also inviting, such as distributed debugging. 8 Conclusion We have built a prototype software layer on top of Mach that recovers failed multi task Mach applications. The layer implements Optimistic Recovery (OR) which asynchronously logs ....
Bacon, D. F., and Strom, R. E. Optimistic parallelization of communicating sequential processes. In Proceedings of the Third ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (April 1991).
No context found.
D Bacon. Optimistic parallelization of communicating sequential processes. In Proceedings of the 3rd ACM Symposium on the Principles and Practice of Parallel Programming, pages 155--166, 1991.
No context found.
D F Bacon and R E Strom. Optimistic parallelization of communicating sequential processes. ACM Sigplan Notices, 26(7):155--166, 1991.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC