Abstract
A number of multiversion concurrency control algorithms have been proposed in the past few years. These algorithms use previous versions of data items in order to improve the level of achievable concurrency. This paper describes a simulation study of the performance of several multiversion concurrency control algorithms, investigating the extent to which they provide increases in the level of concurrency and also the CPU, I/O, and storage costs resulting from the use of multiple versions. The multiversion algorithms are compared with regard to performance with their single-version counterparts and also with each other. It is shown that each multiversion algorithm offers significant performance improvements despite the additional disk accesses involved in accessing old versions of data; the nature of the improvement depends on the algorithm in question. It is also shown that the storage overhead for maintaining old versions that may be required by ongoing transactions is not all that large under most circumstances. Finally, it is demonstrated that it is important for version maintenance to be implemented efficiently, as otherwise the cost of maintaining old versions could outweigh their concurrency benefits.
- 1 AGRAWAL, R., CAREY, M., AND LIVNY, M. Models for studying concurrency control performance: Alternatives and implications. In Proceedings of the A CM SIGMOD International Conference on Management of Data (Austin, Tex., May 28-30). 1985. Google Scholar
- 2 BAYER, R., HELLER, H., AND REISER, A. Parallelism and' recovery in database systems. ACM Trans. Database Syst. 5, 2 (June 1980), 139-156. Google Scholar
- 3 BERNSTEIN, P. A., AND GOODMAN, N. Concurrency control in distributed database systems. ACM Comput. Surv. 13, 2 (June 1981), 185-221. Google Scholar
- 4 BERNSTEIN, P. i., AND GOODMAN, N. Multiversion concurrency control--Theory and algorithms. ACM Trans. Database Syst. 8, 4 (Dec. 1983), 465-483. Google Scholar
- 5 BRYANT, R. SIMPAS--A simulation language based on PASCAL. Tech. Rep. 390, Computer Sciences Dept., Univ. of Wisconsin-Madison, June 1980.Google Scholar
- 6 CAREY, M. Modeling and evaluation of database concurrency control algorithms. Ph.D. dissertation, Computer Science Div. (EECS), Univ. of California, Berkeley, Aug. 1983. Google Scholar
- 7 CAREV, M. Multiple versions and the performance of optimistic concurrency control. Tech. Rep. 517, Computer Sciences Dept., Univ. of Wisconsin-Madison, Oct. 1983.Google Scholar
- 8 CAREY, M., AND STONEBRAKER, M. The performance of concurrency control algorithms for database management systems. In Proceedings of the I Oth International Conference on Very Large Data Bases (Singapore, Aug.). VLDB Foundation, 1984. Google Scholar
- 9 CHAN, A., AND GRAY, R. Implementing distributed read-only transactions. IEEE Trans. So{tw. Eng~ SE-11, 2 (Feb. 1985).Google Scholar
- 10 CHris, A., DAVAL, U., AND HSU, M. Providing database management capabilities for mission critical applications. Paper presented at the International Workshop on High-Performance Transaction Processing Systems (Asilomar, Calif., Sept.). IEEE, New York, 1985.Google Scholar
- 11 CtiAN, A., FOX, S., LIN, W., NORI, A., AND RIES, D. The implementation of an integrated concurrency control and recovery scheme. In Proceedings of the A CM SIGMOD International Conference on Management of Data (Orlando, Fla., june 2-4). ACM, New York, 1982. Google Scholar
- 12 DATE, C. An Introduction to Database Systems (Vol. II). Addison-Wesley, Reading, Mass., 1982. Google Scholar
- 13 DuBOURD,EU, D. Implementation of distributed transactions. In Proceedings of the 6th Berkeley Workshop on Distributed Data Management and Computer Networks. 1982.Google Scholar
- 14 GRAY, J. Notes on database operating systems. In Operating Systems: An Advanced Course, R. Bayer, R. Graham, and G. Seegmuller, Eds. Springer-Verlag, New York, 1979. Google Scholar
- 15 GRAY, J., MCJONES, P., BLASGEN, M., LINDSAY, B., LORIE, R., PRICE, T., PUTZOLU, F., AND TRAIGER, I. The recovery manager of the system R database manager. ACM Comput. Surv. 13, 2 (June 1981), 223-242. Google Scholar
- 16 KUNG, H. T., AND ROBINSON, J. T. On optimistic methods for concurrency control. ACM Trans. Database Syst. 6, 2 (June 1981), 213-226. Google Scholar
- 17 LAI, M., AND WILKINSON, W. Distributed transaction management in JASMIN. In Proceedings of the lOth International Conference on Very Large Data Bases (Singapore, Aug.). VLDB Foundation, 1984. Google Scholar
- 18 LIN, W., AND NOLTE, J. Basic timestamp, multiple version timestamp, and two-phase locking. In Proceedings of the 9th International Conference on Very Large Data Bases (Florence, Italy). VLDB Foundation, 1983. Google Scholar
- 19 LIN, W., AND NOLTE, J. Performance of distributed concurrency control. In Distributed Database Control and Allocation. Final Tech. Rep., vol. 2, Computer Corporation of America, Cambridge, Mass., 1983.Google Scholar
- 20 LIVNY, M., KHOSHAFIAN, S., AND BORAL, H. Multi-disk management algorithms. Paper presented at the International Workshop on High-Performance Transaction Processing Systems (Asilomar, Calif., Sept.). 1985. (Also MCC Tech. Rep., Microelectronics and Computer Technology Corporation, Austin, Tex., Dec. 1985.)Google Scholar
- 21 PAPADIMITRIOU, C., AND KANELAKIS, P. On concurrency control by multiple versions. ACM Trans. Database Syst. 9, 1 (Mar. 1984), 89-99. Google Scholar
- 22 PEINL, P., AND REUTER, A. Empirical comparison of database concurrency control schemes. In Proceedings of the 9th International Conference on Very Large Data Bases (Florence, Italy). VLDB Foundation, 1983. Google Scholar
- 23 REED, D. Naming and synchronization in a decentralized computer system. Ph.D. dissertation, Dept. of Electrical Engineering and Computer Science, MIT, Cambridge, Mass., 1978.Google Scholar
- 24 REED, D.P. Implementing atomic actions on decentralized data. A CM Trans. Comput. Sys. 1, 1 {Feb. 1983), 3-23. Google Scholar
- 25 RIES, D. The effects of concurrency control on database management system performance. Ph.D. dissertation, Dept. of Electrical Engineering and Computer Science, Univ. of California at Berkeley, 1979. Google Scholar
- 26 RIES, D. R., kND STONEBRAKER, M. Effects of locking granularity on database management system. ACM Trans. Database Syst. 2, 3 (Sept. 1977), 233-246. Google Scholar
- 27 RIEs, D. R., AND STONEBRAKER, M.R. Locking granularity revisited. ACM Trans. Database Syst. 4, 2 (June 1979), 210-227. Google Scholar
- 28 ROBINSON, J. Design of concurrency controls for transaction processing systems. Ph.D. dissertation, Dept. of Computer Science, Carnegie-Mellon University, Pittsburgh, Pa., 1982. Google Scholar
- 29 ROOME, W. A content-addressabIe intelligent store. Bell Syst. Tech. J. 61, 9 (Nov. 1982).Google Scholar
- 30 SARGENT, R. Statistical analysis of simulation output data. In Proceedings of the 4th Annual Symposium on the Simulation o{ Computer Systems. National Bureau of Standards, Boulder, Colo., 1976. Google Scholar
- 31 STEARNS, R., AND ROSENKRANTZ, D. Distributed database concurrency controls using beforevalues. In Proceedings of the A CM SIGMOD International Conference on Management of Data (Ann Arbor, Mich., Apr. 29-May 1). ACM, New York, 1981. Google Scholar
- 32 ULLMAN, J. Principles of Database Systems, 2nd ed. Computer Science Press, Rockville, Md., 1983. Google Scholar
Index Terms
- The performance of multiversion concurrency control algorithms
Recommendations
Multiversion concurrency control—theory and algorithms
Concurrency control is the activity of synchronizing operations issued by concurrently executing programs on a shared database. The goal is to produce an execution that has the same effect as a serial (noninterleaved) one. In a multiversion database ...
Rethinking serializable multiversion concurrency control
Multi-versioned database systems have the potential to significantly increase the amount of concurrency in transaction processing because they can avoid read-write conflicts. Unfortunately, the increase in concurrency usually comes at the cost of ...
Multiversion Cautious Schedulers for Database Concurrency Control
Let MC stand for a class of logs (i.e. sequences of read/write steps of transactions) that are serializable when multiple versions of the data items are maintained. The multiversion cautious scheduler, MCS(MC) which is introduced, outputs a sequence ...
Comments