Performance increase of in-memory data grids by using software transactional memory

Authors

  • Александр Александрович Подрубайло National technical university of Ukraine “Kyiv polytechnic institute” 37 Peremohy ave., Kyiv, Ukraine, 03056, Ukraine

DOI:

https://doi.org/10.15587/1729-4061.2015.48241

Keywords:

data grid, in-memory grid, transactional memory, software transactional memory. References

Abstract

The aim of the paper is to study the possibility of performance increase of in-memory data grids (IMDG) by using software transactional memory. In the present study, the problems of determining the IMDG performance under the refusal of the locking mechanism and use of local and distributed transactional memory were solved. Studies were conducted in the absence of redundancy, and in the triple replication of the data stored. The operational features of the software transactional memory under a constantly loaded in-memory data grid were determined. It is shown that using software transactional memory and reducing the size of transactions allows to achieve performance gains of in-memory data grids of 13 % - 48 %. The proposed method is applicable for grids, combining background data recording in the grid and frequent reading operations (such as data grids for business intelligence, TV Guide data grids, etc.).

Author Biography

Александр Александрович Подрубайло, National technical university of Ukraine “Kyiv polytechnic institute” 37 Peremohy ave., Kyiv, Ukraine, 03056

Postgraduate student

Department of Computer techniques 

References

  1. Williams, J. W., Aggour, K. S., Interrante, J., McHugh, J., Pool, E. (2014). Bridging high velocity and high volume industrial big data through distributed in-memory storage & analytics. 2014 IEEE International Conference on Big Data (Big Data), 932–941. doi: 10.1109/bigdata.2014.7004325
  2. Pritchett, D. (2008). Base: an acid alternative. Queue, 6 (3), 48–55. doi: 10.1145/1394127.1394128
  3. Lomet, D. B. (1977). Process structuring, synchronization, and recovery using atomic actions. Proceedings of the ACM Conference on Language Design for Reliable Software (Raleigh, NC), 128–137.
  4. Herlihy, M., Moss, J. E. B. (1993). Transactional memory: Architectural support for lock-free data structures. Proceedings of the 20th Annual International Symposium on Computer Architecture, 289–300. doi: 10.1109/isca.1993.698569
  5. Larus, J., Kozyrakis, C. (2008). Transactional memory. Communications of the ACM, 51 (7), 80. doi: 10.1145/1364782.1364800
  6. Grossman, D. (2007). The transactional memory / garbage collection analogy. In Proceedings of the ACM Conference on Object-Oriented Programming Systems, Languages, and Applications (Montreal, Canada), 695–706.
  7. Shavit, N., Touitou, D. (1995). Software transactional memory . In Proceedings of the 14th ACM Symposium on Principles of Distributed Computing (Ottawa, Canada), 204–213.
  8. Herlihy, M., Luchangco, V., Moir, M., Scherer III, W. N. (2003). Software transactional memory for dynamic-sized data structures. In Proceedings of the twenty-second annual symposium on Principles of distributed computing - PODC '03, 92–101. doi: 10.1145/872035.872048
  9. Fraser, K., Harris, T. (2007). Concurrent programming without locks. ACM Transactions on Computer Systems, 25 (2), 5–51. doi: 10.1145/1233307.1233309
  10. Carvalho, N., Romano, P. (2011). A generic framework for replicated software transactional memories. 2011 IEEE 10th International Symposium on Network Computing and Applications, 271–274. doi: 10.1109/nca.2011.45
  11. Saad, M., Ravindran, B. (2011). HyFlow: a high performance distributed software transactional memory framework. Proceedings of the 20th international symposium on High performance distributed computing - HPDC '11, 265–266. doi: 10.1145/1996130.1996167
  12. Zhang, H., Chen, G., Ooi, B. C., Tan, K.-L., Zhang, M. (2015). In-Memory Big Data Management and Processing: A Survey. IEEE Transactions on Knowledge and Data Engineering, 27 (7), 1920–1948. doi: 10.1109/tkde.2015.2427795
  13. Fernandes, S. (2014). Strongly Consistent Transactions for Enterprise Applications. Using Software Transactional Memory to Improve Consistency and Performance of Read-Dominated Workload. Lisbon, 208.

Published

2015-08-25

How to Cite

Подрубайло, А. А. (2015). Performance increase of in-memory data grids by using software transactional memory. Eastern-European Journal of Enterprise Technologies, 4(2(76), 9–14. https://doi.org/10.15587/1729-4061.2015.48241