| P. Diniz and M. Rinard. Synchronization transformation for parallel computing. In Proc. Symp. Principles of Programming Languages (POPL'97), pages 187--200, Jan. 1997. |
....exclusive update operations in the applications can be executed on replicas. On the other hand, their technique is inapplicable to raytrace because the exclusive operation to the bottleneck accompanies the side effect and hence cannot be executed on replicas. Lock coarsening. The lock coarsening [DR97] is a program transformation technique that fuses multiple consecutive critical sections into one, thus reducing the frequency of lock operations. It statically detects computations that repeatedly release and reacquire the same lock and applies the program transformations which eliminate the ....
Pedro C. Diniz and Martin C. Rinard. Synchronization Transformation for Parallel Computing. In Proceedings of the 24th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL '97), pages 187--200, Paris, France, January 1997.
....type system to translate a strongly typed functional program to an annotated functional program, where the annotation is used for for stack allocation rather than for region allocation. Prior work on synchronization optimization has addressed the problem of reducing the amount of synchronization [13, 20, 21]. These approaches assume that the mutual exclusion 15 0 20 40 60 80 trans jgl jacorb jolt jobe javacup hashjava toba wingdis pbob FS BFS FI BFI Figure 8: Percentage of user local objects allocated on the stack. 0 20 40 60 80 trans jgl jacorb jolt jobe javacup ....
P. Diniz and M. Rinard. Synchronization Transformations for Parallel Computing. In Proceedings of the 9'th Workshop on Languages and Compilers for Parallel Computers, January 1997.
....be combined to handle both the more general parallel programming model Communication Optimizations for Parallel C Programs 29 and global pointers. For shared memory models, transformations similar to communication optimization, can be used to reduce the synchronization overhead of the program [7]. Diniz and Rinard [7] present an approach that focuses on coalescing multiple critical sections that acquire and release the same lock multiple times, into a single critical region that acquires and releases the lock only once. To this end, they perform lock movement and lock cancellation ....
....both the more general parallel programming model Communication Optimizations for Parallel C Programs 29 and global pointers. For shared memory models, transformations similar to communication optimization, can be used to reduce the synchronization overhead of the program [7] Diniz and Rinard [7] present an approach that focuses on coalescing multiple critical sections that acquire and release the same lock multiple times, into a single critical region that acquires and releases the lock only once. To this end, they perform lock movement and lock cancellation transformations, which try to ....
Pedro Diniz and Martin Rinard. Synchronization transformations for parallel computing. In Conf. Rec. of the 24th ACM SIGPLAN-SIGACT Symp. on Principles of Programming Languages, pages 187--200, Paris, France, Jan. 1997.
....Presumably the strengths of these two approaches could be combined to handle both the more general parallel programming model and global pointers. For shared memory models, transformations similar to communication optimization, can be used to reduce the synchronization overhead of the program [DR97] Diniz and Rinard [DR97] present an approach that focuses on coalescing multiple critical sections that acquire and release the same lock multiple times, into a single critical region that acquires and releases the lock only once. To this end, they perform lock movement and lock cancelation ....
....of these two approaches could be combined to handle both the more general parallel programming model and global pointers. For shared memory models, transformations similar to communication optimization, can be used to reduce the synchronization overhead of the program [DR97] Diniz and Rinard [DR97] present an approach that focuses on coalescing multiple critical sections that acquire and release the same lock multiple times, into a single critical region that acquires and releases the lock only once. To this end, they perform lock movement and lock cancelation transformations, which try to ....
Pedro Diniz and Martin Rinard. Synchronization transformations for parallel computing. In Conference Record of POPL'97: The 24th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 187--200, Paris, France, January 15--17, 1997.
....for designing performance tools. We provide three examples to illustrate how this approach can be used to develop prescriptive tools. Chapter 3 then introduces R x , a prescriptive tool for reducing synchronization y The only exception to this that we are aware of is the work by Diniz and Rinard [DR97] which we describe in Chapter 4. 5 and data communication in shared memory parallel programs. R x demonstrates our prescriptive approach to performance tuning. Chapter 4 describes a set of algorithms for detecting excess synchronization in shared memory programs. We also present algorithms ....
....synchronization in the program. Consequently, scalar optimizations may be applied around synchronization primitives. Diniz and Rinard present three transformations that allow a compiler to decrease the overhead of critical sections used for mutual exclusion in object based programs [DR96, DR97] Lock cancellation eliminates acquires and releases that access the same lock, and have no intervening computation. Lock movement moves acquire and release nodes across computation. Together, these two transformation permit lock elimination, which coarsens a critical section by increasing the ....
[Article contains additional citation context not shown here]
Pedro Diniz and Martin Rinard. Synchronization transformations for parallel computing. In POPL97, January 1997.
....Presumably the strengths of these two approaches could be combined to handle both the more general parallel programming model and global pointers. For shared memory models, transformations similar to communication optimization, can be used to reduce the synchronization overhead of the program [7]. Diniz and Rinard [7] present an approach that focuses on coalescing multiple critical sections that acquire and release the same lock multiple times, into a single critical region that acquires and releases the lock only once. To this end, they perform lock movement and lock cancellation ....
....of these two approaches could be combined to handle both the more general parallel programming model and global pointers. For shared memory models, transformations similar to communication optimization, can be used to reduce the synchronization overhead of the program [7] Diniz and Rinard [7] present an approach that focuses on coalescing multiple critical sections that acquire and release the same lock multiple times, into a single critical region that acquires and releases the lock only once. To this end, they perform lock movement and lock cancellation transformations, which try ....
Pedro Diniz and Martin Rinard. Synchronization transformations for parallel computing. In Conf. Rec. of the 24th ACM SIGPLAN-SIGACT Symp. on Principles of Programming Languages, pages 187--200, Paris, France, Jan. 1997.
No context found.
P. Diniz and M. Rinard. Synchronization transformations for parallel computing. In Proceedings of the 24th Annual ACM Symposium on the Principles of Programming Languages, pages 187--200, Paris, France, Jan. 1997. ACM, New York.
No context found.
P. Diniz and M. Rinard. Synchronization transformations for parallel computing. In Proceedings of the Twenty-fourth Annual ACM Symposium on the Principles of Programming Languages, Paris, France, January 1997. ACM.
....The analysis provides escape information for lists only. Hannan also describes a type based analysis in [19] He uses annotated types to describe the escape information. He only gives inference rules and no algorithm to compute annotated types. 9. 3 Synchronization Optimizations Diniz and Rinard [16, 17] describe several algorithms for performing synchronization optimizations in parallel programs. The basic idea is to drive down the locking overhead by coalescing multiple critical sections that acquire and release the same lock multiple times into a single critical section that acquires and ....
P. Diniz and M. Rinard. Synchronization transformations for parallel computing. In Proceedings of the 24th Annual ACM Symposium on the Principles of Programming Languages, pages 187-200, Paris, France, January 1997. ACM, New York.
....the correct final values in the original objects, then clears the hash table and deallocates the replicas. 3. 6 Interaction With Lock Coarsening Our compiler contains an analysis algorithm and a sequence of transformations that increase the granularity at which the computation locks objects [6, 25]. The default granularity is for each operation that updates a lock to acquire and release the lock in the updated object. The analysis algorithm finds sequences of operations that acquire and release the same lock. The transformed program acquires the lock once, performs the operations without ....
P. Diniz and M. Rinard. Synchronization transformations for parallel computing. In Proceedings of the 24th Annual ACM Symposium on the Principles of Programming Languages, pages 187--200, Paris, France, January 1997. ACM, New York.
....The analysis provides escape information for lists only. Hannan also describes a type based analysis in [19] He uses annotated types to describe the escape information. He only gives inference rules and no algorithm to compute annotated types. 10.3 Synchronization Optimizations Diniz and Rinard [16, 17] describe several algorithms for performing synchronization optimizations in parallel programs. The basic idea is to drive down the locking overhead by coalescing multiple critical sections that acquire and release the same lock multiple times into a single critical section that acquires and ....
P. Diniz and M. Rinard. Synchronization transformations for parallel computing. In Proceedings of the 24th Annual ACM Symposium on the Principles of Programming Languages, pages 187--200, Paris, France, January 1997. ACM, New York.
....primitives, or remote memory accesses. Each such operation typically has overhead from sources such as context switching or communication latency. It is often possible to eliminate much of this overhead by batching sequences of operations into a single larger operation with the same functionality [7, 3, 26]. Ideally, the compiler would perform these batching transformations automatically by moving operations to become adjacent, then combining adjacent operations. Information from pointer analysis is crucial to enabling the compiler to apply these transformations to code that uses pointers. ....
P. Diniz and M. Rinard. Synchronization transformations for parallel computing. In Proceedings of the 24th Annual ACM Symposium on the Principles of Programming Languages, pages 187--200, Paris, France, January 1997. ACM, New York.
....presence of accesses to shared data [91, 87, 57, 62, 56, 64] The presence 3 of multithreading may also inspire optimizations with no obvious counterpart in the optimization of sequential programs. Examples include communication optimizations [59, 100] optimizing mutual exclusion synchronization [30, 31, 79, 3, 98, 11, 13, 21, 82], and optimizing barrier synchronization [96] A more conservative approach is to ensure that the optimizations preserve the semantics of the original program by first identifying regions of the program that do not interact with other threads, then applying optimizations only within these regions. ....
P. Diniz and M. Rinard. Synchronization transformations for parallel computing. In Proceedings of the 24th Annual ACM Symposium on the Principles of Programming Languages, pages 187--200, Paris, France, Jan. 1997. ACM, New York.
....transformations: synchronization transformations for parallel programs. These transformations occur in the context of a parallelizing compiler for object based languages. The compiler generates parallel code that uses synchronization constructs to make operations execute atomically [Rinard and Diniz 1997]. Our experimental results show that the resulting synchronization overhead can significantly degrade the performance [Diniz and Rinard 1998; 1997] We have developed a set of synchronization transformations and a set of synchronization optimization policies that use the transformations to reduce ....
....compiler for object based languages. The compiler generates parallel code that uses synchronization constructs to make operations execute atomically [Rinard and Diniz 1997] Our experimental results show that the resulting synchronization overhead can significantly degrade the performance [Diniz and Rinard 1998; 1997]. We have developed a set of synchronization transformations and a set of synchronization optimization policies that use the transformations to reduce the synchronization overhead [Diniz and Rinard 1998; 1997] Unfortunately, the best policy is different for different programs, and may even vary ....
[Article contains additional citation context not shown here]
DINIZ, P. AND RINARD, M. 1997. Synchronization transformations for parallel computing. In Proceedings of the Twenty-fourth Annual ACM Symposium on the Principles of Programming Languages. ACM Press, New York, NY, 187--200.
....MA 02139; email: rinard lcs.mit.edu. This research was supported in part by NSF grant CCR 9702297. 2 Delta Martin C. Rinard tions that access pointer based data structures such as lists, trees and graphs. We have implemented a parallelizing compiler for this class of computations [Rinard and Diniz 1997]. Our experience using this compiler shows that the automatically generated parallel computations exhibit a very different kind of concurrency. Instead of parallel loops with coarse grain barrier synchronization, the computations are structured as a set of lightweight threads that synchronize ....
....Automatically Parallelized Programs Delta 3 operations in the context of a parallelizing compiler for object based programs. The compiler accepts an unannotated serial program written in a subset of C and automatically generates a parallel program that performs the same computation [Rinard and Diniz 1997]. The compiler is designed to parallelize irregular computations, including computations that manipulate pointer based data structures such as lists, trees and graphs. Because it uses commutativity analysis [Rinard and Diniz 1997] as its primary analysis technique, the compiler views the ....
[Article contains additional citation context not shown here]
DINIZ, P. AND RINARD, M. 1997. Synchronization transformations for parallel computing. In Proceedings of the 24th Annual ACM Symposium on the Principles of Programming Languages. ACM, New York, Paris, France, 187--200.
....The analysis provides escape information for lists only. Hannan also describes a type based analysis in [19] He uses annotated types to describe the escape information. He only gives inference rules and no algorithm to compute annotated types. 9. 3 Synchronization Optimizations Diniz and Rinard [16, 17] describe several algorithms for performing synchronization optimizations in parallel programs. The basic idea is to drive down the locking overhead by coalescing multiple critical sections that acquire and release the same lock multiple times into a single critical section that acquires and ....
P. Diniz and M. Rinard. Synchronization transformations for parallel computing. In Proceedings of the 24th Annual ACM Symposium on the Principles of Programming Languages, pages 187--200, Paris, France, January 1997. ACM, New York.
....The analysis provides escape information for lists only. Hannan also describes a type based analysis in [26] He uses annotated types to describe the escape information. He only gives inference rules and no algorithm to compute annotated types. 15.5 Synchronization Optimizations Diniz and Rinard [20, 21] describe several algorithms for performing synchronization optimizations in parallel programs. The basic idea is to drive down the locking overhead by coalescing multiple critical sections that acquire and release the same lock multiple times into a single critical section that acquires and ....
P. Diniz and M. Rinard. Synchronization transformations for parallel computing. In Proceedings of the 24th Annual ACM Symposium on the Principles of Programming Languages, pages 187--200, Paris, France, January 1997. ACM, New York.
....context of a parallelizing compiler for object based languages. The compiler generates parallel code that uses synchronization constructs to make operations execute atomically [33] Our experimental results show that the resulting synchronization overhead can significantly degrade the performance [10]. We have developed a set of synchronization transformations and a set of synchronization optimization policies that use the transformations to reduce the synchronization overhead [10] Unfortunately, the best policy is different for different programs, and may even vary dynamically for different ....
.... experimental results show that the resulting synchronization overhead can significantly degrade the performance [10] We have developed a set of synchronization transformations and a set of synchronization optimization policies that use the transformations to reduce the synchronization overhead [10]. Unfortunately, the best policy is different for different programs, and may even vary dynamically for different parts of the same program. Furthermore, the best policy depends on infor mation, such as the global topology of the manipulated data structures and the dynamic execution schedule of ....
[Article contains additional citation context not shown here]
P. Diniz and M. Rinard. Synchronization transformations for parallel computing. In Proceedings of the Twenty-fourth Annual ACM Symposium on the Principles of Programming Languages, Paris, France, January 1997. ACM.
....the performance of the memory hierarchy by occupying space in the caches. The overhead of executing the acquire and release constructs may also reduce the performance. Locking the computation at a coarse granularity (by mapping multiple pieces of data to the same lock) addresses these problems [7]. It reduces the impact on the memory system and may allow the program to amortize the lock overhead over many updates to different pieces of data. Unfortunately, a coarse lock granularity may also introduce false exclusion. False exclusion occurs when multiple operations that access different ....
....updates an object holds that object s lock. But the compiler analyzes the program to detect sequences of operations that acquire and release the same lock. It then transforms the sequence so that it acquires the lock once, executes the operations without synchronization, then releases the lock [7]. The Optimistic versions synchronize at the granularity of individual data items. The Item Lock versions also synchronize at this granularity, but use locks instead of optimistic synchronization. Because the Object Lock versions synchronize at the coarser granularity of objects, they allocate ....
P. Diniz and M. Rinard. Synchronization transformations for parallel computing. In Proceedings of the Twenty-fourth Annual ACM Symposium on the Principles of Programming Languages, Paris, France, January 1997.
No context found.
P. Diniz and M. Rinard. Synchronization transformation for parallel computing. In Proc. Symp. Principles of Programming Languages (POPL'97), pages 187--200, Jan. 1997.
No context found.
P. Diniz and M. Rinard. Synchronization transformation for parallel computing. In Proc. Symp. Principles of Programming Languages (POPL'97), pages 187--200, Jan. 1997.
No context found.
Pedro Diniz and Martin Rinard. Synchronization transformations for parallel computing. In POPL'97: The 24th ACM SIGPLAN-SIGACT on Principles of Programming Languages, pages 187--200, Paris, January 15--17, 1997.
No context found.
P. Diniz and M. Rinard. Synchronization transformations for parallel computing. In Proceedings of the 24th Annual ACM Symposium on the Principles of Programming Languages, pages 187-200, Paris, France, January 1997. ACM, New York.
No context found.
Pedro C. Diniz and Martin C. Rinard. Synchronization Transformation for Parallel Computing. In Proceedings of the 25th ACM SIGPLANSIGACT Symposium on Principles of Programming Languages (POPL '97), pages 187--200, 1997.
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