| 研究生: |
林映汝 Lin, Ying-Ru |
|---|---|
| 論文名稱: |
軟體式記憶體管理之研究 A Study of Software Transactional Memory |
| 指導教授: |
徐立群
Shu, Lih-Chyun |
| 學位類別: |
碩士 Master |
| 系所名稱: |
管理學院 - 會計學系 Department of Accountancy |
| 論文出版年: | 2012 |
| 畢業學年度: | 100 |
| 語文別: | 中文 |
| 論文頁數: | 39 |
| 中文關鍵詞: | 軟體式記憶體管理 |
| 外文關鍵詞: | software transactional memory, concurrency |
| 相關次數: | 點閱:72 下載:0 |
| 分享至: |
| 查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
近年來,處理器由單核心成長至多核心,為了發揮其效益,程式撰寫必須由以往的單一執行緒轉為多執行緒,傳統藉由鎖定機制來達到同步,然而鎖定機制在使用上非常複雜且難以撰寫以致於容易出錯,並產生死結、優先權錯逆等問題,為解決上述問題,遂發展出Transaction Memory (TM),並有諸多以軟體為基礎建置TM 之相關研究。本論文針對STM 的設計與建置內容作一全面性的探討,以期能幫助後繼研究者更加了解STM,發展出更好的STM 系統。
Recently, CPU grows from single core to multi-core. In order to maximize multi-core benefits, it requires program execute in parallel. Programmers have traditionally used locks to achieve synchronization. However, the lock mechanism is complex to use and error prone, it suffers from various problems such as deadlocks, priority inversion etc. To overcome those issues, transactional memory (TM) has been proposed as an alternative way. And many implementations of Software Transactional Memory (STM) have been developed. This paper presents the design and implementation of STM to help people deep understand STM and build better STM.
Dice, D., Shalev, O. and Shavit, N. (2006). Transactional locking II. 20th ACM International Symposium on Distributed Computing, (pp. 194-208).
Fraser, K. and Harris, T. (2007). Concurrent programming without locks. ACM Trans. Comput. Syst.
Gray, J. and Reuter, A. (1992). Transaction Processing: Concepts and Techniques. San Francisco, CA: Morgan Kaufmann.
Hammond, L., Wong, V., Chen, M., Carlstrom, B.D., Davis, J.D., Hertzberg, B.,. (2004). Transactional Memory Coherence and Consistency. ISCA ’04: Proceedings of the 31st annual international, (pp. 102-113). Washington, DC.
Harris, T., Marlow, S., Peyton-Jones, S., and Herlihy, M. (2005). Composable Memory Transactions. Tenth ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, Chicago, IL. New York, NY.
Herlihy, M., Eliot, J., and Moss, B. (1993). Transactional Memory: Architectural Support for Lock-free Data Structures. Proceedings of the 20th Annual International Symposium on Computer Architecture, (pp. 289-300).
Herlihy, M., Luchangco, V., Moir, M., and Scherer, W. N. (2003). Software transactional memory for dynamic-sized data structures. the Twenty-Second Annual Symposium on Principles of Distributed Computing, (pp. 92-101). Boston, Massachusetts.
I. William N. Scherer and M. L. Scott. (2005). Advanced contention management for dynamic software transactional memory. twenty-fourth annual ACM symposium on Principles of distributed computing, (pp. 240-248). Las Vegas, NV, USA.
James Larus, Christos Kozyrakis. (2008, July). Transactional memory. Communications of the ACM, 51(7).
James R. Larus & Ravi Rajwar. (2007). Transactional Memory. USA: Morgan & Claypool Publishers.
Marathe, V. J. and Scott, M. L. (2004). A Qualitative Survey of Modern Software Transactional Memory Systems. University of Rochester, Computer Science Dept.
Milo Martin, Colin Blundell , E. Lewis. (2006). Subtleties of Transactional Memory Atomicity Semantics. IEEE Computer Architecture Letters, v.5 n.2, p. 17.
R. Rajwar and M. Hill. (n.d.). Transactional Memory Online. Retrieved from http://research.cs.wisc.edu/trans-memory/
Rajwar, R., Herlihy, M., Lai, K. (2005). Virtualizing transactional memory. ISCA ’05:Proceedings of the 32nd Annual International Symposium on Computer Architecture (pp. 494-505). Washington, DC, USA: IEEE Computer Society.
Riegel, T., Felber, P., Fetzer, C. (2006). A Lazy Snapshot Algorithm with Eager Validation. 20th International Symposium on Distributed Computing (DISC).
Rossbach, J. C., Hofmann, S. O., WitchelE. (2009). Is transactional memory programming actually easier? In Proceedings of the 8th Annual Workshop on Duplicating, Deconstructing, and Debunking (WDDD).
S. D. Fleming, E. Kraemer, R. E. K. Stirewalt, and L. K. Dillon. (2010). Debugging concurrent software: A study using multithreaded sequence diagrams. Proc. 2010 IEEE Symp. Visual Languages and Human-Centric Computing, (pp. 33-40).
S. D. Fleming, E. Kraemer, R. E. K. Stirewalt, S. Xie, and L. K. Dillon. (2008). A study of student strategies for the corrective maintenance of concurrent software. Proc. 30th Int’l Conf. Software Engineering, (pp. 759-768).
Saha, B., Adl-Tabatabai, A., Hudson, R. L., Minh, C., and Hertzberg, B. (2006). McRT-STM: a high performance software transactional memory system for a multi-core runtime. Eleventh ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming. New York, NY.
Shavit, N., & Touitou, D. (1995). Software transactional memory. Proceedings of the 14th Annual ACM Symposium on Principles of Distributed Computing, (pp. 204-213).
Tim Harris, Adrián Cristal , Osman S. Unsal , Eduard Ayguade , Fabrizio Gagliardi , Burton Smith , Mateo Valero. (2007). Transactional Memory: An Overview. IEEE Micro, v.27 n.3, pp. 8-29.
Tim Harris, Adrián Cristal , Osman S. Unsal , Eduard Ayguade , Fabrizio Gagliardi , Burton Smith , Mateo Valero. (2007, May). Transactional Memory: An Overview. IEEE Micro, 27(3), pp. 8-29.
Tim Harris, James R. Larus, Ravi Rajwar. (2010). Transactional Memory, 2nd Edition. USA: Morgan & Claypool Publishers.
Virendra J. Marathe, Michael F. Spear, Christopher Heriot, Athul Acharya, David Eisenstat, William N. Scherer, and Michael L. Scott. (2006). Lowering the Overhead of Nonblocking Software Transactional Memory. 1st Workshop on Languages, Compilers, and Hardware Support for Transactional Computing. Ottawa, Canada.
Y. Lev, V. Luchangco, V. Marathe, M. Moir, D. Nussbaum, and M. Olszewski. (2009). Anatomy of a scalable software transactional memory. Workshop on Transactional Computing (Transact).
校內:2022-12-31公開