ABSTRACT
Optimistic make is a version of make that executes the commands necessary to bring targets up-to-date prior to the time the user types a make request. Side effects of these optimistic computations (such as file or screen updates) are concealed until the make request is issued. If the inputs read by the optimistic computations are identical to the inputs the computation would read at the time the make request is issued, the results of the optimistic computations are used immediately, resulting in improved response time. Otherwise, the necessary computations are reexecuted.
We have implemented optimistic make in the V-System on a collection of SUN-3 workstations. Statistics collected from this implementation are used to synthesize a workload for a discrete-event simulation and to validate its results. The simulation shows a speedup distribution over pessimistic make with a median of 1.72 and a mean of 8.28. The speedup distribution is strongly dependent on the ratio between the target out-of-date times and the command execution times. In particular, with faster machines the median of the speedup distribution grows to 5.1, and then decreases again. The extra machine resources used by optimistic make are well within the limit of available resources, given the large idle times observed in many workstation environments.
- 1.F.W. Burton. Controlling speculative computation in a parallel functional programming language. In Proceedings of the Fifth internalional Conference on Distributed Compnting Systems, pages 453--458, May 1985.Google Scholar
- 2.D. R. Cheriton. The V distributed system. Communications of the A CM, 31(3):314-333, March 1988. Google ScholarDigital Library
- 3.D. R. Cheriton and W. Zwaenepoel. Distributed process groups in the V kernel. ACM Transactions on Computer Systems, 3(2):77-107, May 1985. Google ScholarDigital Library
- 4.D.L. Eager, E.D. Lazowska, and J. Zahorjan. Adaptive load balancing in homogenous distributed systems. IEEE Transactions on Software Engineering, SF_,-12(5):662-675, May 1986. Google ScholarDigital Library
- 5.S. Feldman. Make---a computer program for maintaining computer programs. Software Practice and Experience, 9(4):255-265, April 1979.Google ScholarCross Ref
- 6.R. Hagmann. Process server: Sharing processing power in a workstation environment. In Proceedings of the Sixth International Conference on Distributed Computing Systems, pages 260-267, May 1986.Google Scholar
- 7.R. H. Halstead. Parallel symbolic computing. IEEE Computer, 19(8):35-43, August 1986. Google ScholarDigital Library
- 8.D. A. Hornig. Automatic Partitioning and Scheduling on a Network of Personal Computers. PhD thesis, Carnegie-Mellon University, November 1984. Google ScholarDigital Library
- 9.P. Itudak and L. Smith. Para-functional programming: A paradigm for programming multiprocessor systems. In Proceedings of the Thirteenth Annual Symposium on Principles of Programming Languages, pages 243-254, January 1986. Google ScholarDigital Library
- 10.M. W. Mutka and M. Livny. Scheduling remote processing capacity in a workstation-processor bank network. In Proceedings of the Seventh International Conference on Distributed Computing Systems, pages 2-9, September 1987.Google Scholar
- 11.G. Ross. A practical environment for C programming. In Proceedings of the A CM SIG- SOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environments, pages 42-48, January 1987. Also available as SIGPLAN Notices 22(1), January 1987. Google ScholarDigital Library
Index Terms
- Performance of optimistic make
Recommendations
Performance of optimistic make
Optimistic make is a version of make that executes the commands necessary to bring targets up-to-date prior to the time the user types a make request. Side effects of these optimistic computations (such as file or screen updates) are concealed until the ...
Optimistic Make (Software Design)
The notion of encapsulations is introduced as the basic construct used to support optimistic make (a software tool). The authors describe the implementation of optimistic make in the V-System on a collection of SUN workstations. Statistics measured from ...
Distributed Optimistic Concurrency Control Methods for High-Performance Transaction Processing
There is an ever-increasing demand for more complex transactions and higher throughputs in transaction processing systems leading to higher degrees of transaction concurrency and, hence, higher data contention. The conventional two-phase locking (2PL) ...
Comments