Abstract
Workload optimized systems consisting of large number of general and special purpose cores, and with a support for shared memory programming, are slowly becoming prevalent. One of the major impediments for effective parallel programming on these systems is lock-based synchronization. An alternate synchronization solution called Transactional Memory (TM) is currently being explored. We observe that most of the TM design proposals in literature are catered to match the constrains of general purpose computing platforms. Given the fact that workload optimized systems utilize wider hardware design spaces and on-chip parallelism, we argue that Hardware Transactional Memory (HTM) can be a suitable implementation choice for these systems. We re-evaluate the criteria to be satisfied by a HTM and identify possible scope for relaxations in the context of workload optimized systems. Based on the relaxed criteria, we demonstrate the scope for building HTM design variants, such that, each variant caters to a specific workload requirement. We carry out suitable experiments to bring about the trade-off between the design variants. Overall, we show how the knowledge about the workload is extremely useful to make appropriate design choices in the workload optimized HTM.
The research was funded by Intel under the IITM-Intel Shared University Research program.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
LaPotin, D.P., Daijavad, S., Johnson, C.L., Hunter, S.W., Ishizaki, K., Franke, H., Achilles, H.D., Dumarot, D.P., Greco, N.A., Davari, B.: Workload and Network-Optimized Computing Systems. IBM Journal of Res. and Dev. 54(1), 1:1–1:12 (2010)
AMD APUs, http://sites.amd.com/us/fusion/apu/Pages/fusion.aspx
Franke, H., Xenidis, J., Basso, C., Bass, B.M., Woodward, S.S., Brown, J.D., Johnson, C.L.: Introduction to the Wire-Speed Processor and Architecture. IBM Journal of Res. and Dev. 54(1), 1–11 (2010)
Herlihy, M., Eliot, J., Moss, B.: Transactional memory: Architectural Support for Lock-Free Data Structures. In: Proc. of the 20th Ann. Int. Symp. on Computer Architecture, pp. 289–300 (1993)
Shavit, N., Touitou, D.: Software Transactional Memory. In: Proc. of the 14th Ann. ACM Symp. on Principles of Distributed Computing, pp. 204–213 (1995)
Kumar, S., Chu, M., Hughes, C.J., Kundu, P., Nguyen, A.: Hybrid Transactional Memory. In: Proc. of Symp. on Principles and Practice of Parallel Programming, pp. 209–220 (2006)
Shriraman, A., Marathe, V.J., Dwarkadas, S., Scott, M.L., Eisenstat, D., Heriot, C., Scherer, W.N., Michael, I., Spear, F.: Hardware Acceleration of Software Transactional Memory. Tech. Rep., Dept. of Computer Science, Univ. of Rochester (2006)
Witchel, E., Rossbach, C.J., Hofmann, O.S.: Is Transactional Memory Programming Actually Easier? In: Proc. of the Principles and Practice of Parallel Programming, pp. 47–56 (2010)
Cascaval, C., Blundell, C., Michael, M., Cain, H.W., Wu, P., Chiras, S., Chatterjee, S.: Software Transactional Memory: Why Is It Only a Research Toy? Queue 6(5), 46–58 (2008)
McKenney, P.E., Michael, M.M., Walpole, J.: Why the Grass may not be Greener on the Other Side: A Comparison of Locking vs. Transactional Memory. In: Proc. of the 4th Workshop on Programming Languages and Operating Systems, pp. 1–5 (2007)
Liptay, J.S.: Structural aspects of the System/360 Model 85, II: The Cache. IBM Sys. Journal 7(1), 15–21 (1968)
Blundell, C., Devietti, J., Christopher Lewis, E., Martin, M.M.K.: Making the Fast Case Common and the Uncommon Case Simple in Unbounded Transactional Memory. SIGARCH Comput. Archit. News 35(2), 24–34 (2007)
Wang, S., Wu, D., Pang, Z., Yang, X.: Software Assisted Transact Cache to Support Efficient Unbounded Transactional Memory. In: Proc. of the 10th Int. Conf. on High Performance Computing and Communications, pp. 77–84 (2008)
Bobba, J., Goyal, N., Hill, M.D., Swift, M.M., Wood, D.A.: TokenTM: Efficient Execution of Large Transactions with Hardware Transactional Memory. In: Proc. of Int. Symp. on Computer Architecture, pp. 127–138 (2008)
OpenSPARC T1, http://www.opensparc.net/opensparc-t1/index.html
Moore, K.E., Bobba, J., Moravan, M.J., Hill, M.D., Wood, D.A.: LogTM: Log-based Transactional Memory. In: Proc. of the 12th Int. Symp. on High-Performance Computer Architecture, pp. 254–265 (2006)
Yen, L., Bobba, J., Marty, M.M., Moore, K.E., Volos, H., Hill, M.D., Swift, M.M., Wood, D.A.: LogTM-SE: Decoupling Hardware Transactional Memory from Caches. In: Proc. of the 13th Int. Symp. on High-Performance Computer Architecture, pp. 261–272 (2007)
Swift, M., Volos, H., Goyal, N., Yen, L., Hill, M., Wood, D.: OS Support for Virtualizing Hardware Transactional Memory. In: Proc. of the 3rd Workshop on Transactional Computing (2008)
Technology XMOS, http://www.xmos.com/technology
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Korgaonkar, K., Jain, P., Tomar, D., Garimella, K., Kamakoti, V. (2011). Reconstructing Hardware Transactional Memory for Workload Optimized Systems. In: Temam, O., Yew, PC., Zang, B. (eds) Advanced Parallel Processing Technologies. APPT 2011. Lecture Notes in Computer Science, vol 6965. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-24151-2_1
Download citation
DOI: https://doi.org/10.1007/978-3-642-24151-2_1
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-24150-5
Online ISBN: 978-3-642-24151-2
eBook Packages: Computer ScienceComputer Science (R0)