{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,6,10]],"date-time":"2026-06-10T15:33:13Z","timestamp":1781105593269,"version":"3.54.1"},"reference-count":21,"publisher":"IGI Global Scientific Publishing","issue":"3","content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2020,7]]},"abstract":"<jats:p>Thread-level speculation (TLS) is an approach to enhance the opportunity of parallelization of programs. A TLS system enables multiple threads to begin the execution of tasks in parallel even if there may be the dependency between tasks. When any dependency violation is detected, the TLS system enforces the violating thread to abort and re-execute the task. So, the frequency of aborts is one of the factors that damage the performance of the speculative execution. This article proposes a new technique named the code shelving, which enables threads not to need to abort. It is available not only for TLS but also as a flexible synchronization technique in conventional and non-speculatively parallel execution. The authors implemented the code shelving on their parallel execution system called Speculative Memory (SM) and verified the effectiveness of the code shelving.<\/jats:p>","DOI":"10.4018\/ijsi.2020070102","type":"journal-article","created":{"date-parts":[[2020,5,28]],"date-time":"2020-05-28T10:46:05Z","timestamp":1590662765000},"page":"19-34","source":"Crossref","is-referenced-by-count":4,"title":["Decoupling Computation and Result Write-Back for Thread-Level Parallelization"],"prefix":"10.4018","volume":"8","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-1382-4928","authenticated-orcid":true,"given":"Hiroaki","family":"Hirata","sequence":"first","affiliation":[{"name":"Kyoto Institute of Technology, Japan"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-1911-3075","authenticated-orcid":true,"given":"Atsushi","family":"Nunome","sequence":"additional","affiliation":[{"name":"Kyoto Institute of Technology, Japan"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"2432","reference":[{"key":"IJSI.2020070102-0","doi-asserted-by":"crossref","unstructured":"Fujisawa, K., Nunome, A., Shibayama, K., & Hirata, H. (2017). A Software Implementation of Speculative Memory. In Proceedings of the 18th International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel\/Distributed Computing (SNPD 2017) (pp. 437\u2013443). ACIS & IEEE.","DOI":"10.1109\/SNPD.2017.8022759"},{"key":"IJSI.2020070102-1","doi-asserted-by":"crossref","unstructured":"Fujisawa, K., Nunome, A., Shibayama, K., & Hirata, H. (2018). Design Space Exploration for Implementing a Software-based Speculative Memory System. International Journal of Software Innovation, 6(2), 37\u201349.","DOI":"10.4018\/IJSI.2018040104"},{"key":"IJSI.2020070102-2","doi-asserted-by":"publisher","DOI":"10.1109\/40.848474"},{"key":"IJSI.2020070102-3","doi-asserted-by":"crossref","first-page":"388","DOI":"10.1145\/949305.949340","article-title":"Language Support for Lightweight Transactions.","author":"T.Harris","year":"2003","journal-title":"Proceedings of the 18th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA \u201903)"},{"key":"IJSI.2020070102-4","doi-asserted-by":"crossref","unstructured":"Hertzberg, B., & Olukotun, K. (2011). Runtime automatic speculative parallelization. In Proceedings of the 9th Annual International Symposium on Code Generation and Optimization (pp. 64\u201373). ACM & IEEE.","DOI":"10.1109\/CGO.2011.5764675"},{"key":"IJSI.2020070102-5","doi-asserted-by":"crossref","unstructured":"Hirata, H., Kimura, K., Nagamine, S., Mochizuki, Y., Nishimura, A., Nakase, Y., & Nishizawa, T. (1992). An elementary processor architecture with simultaneous instruction issuing from multiple threads. In Proceedings of the 19th Annual International Symposium on Computer Architecture (ISCA \u201992) (pp. 136\u2013145). ACM & IEEE.","DOI":"10.1145\/139669.139710"},{"key":"IJSI.2020070102-6","doi-asserted-by":"publisher","DOI":"10.1109\/ICIS.2016.7550843"},{"key":"IJSI.2020070102-7","doi-asserted-by":"crossref","first-page":"365","DOI":"10.1145\/305138.305214","article-title":"Clustered speculative multithreaded processors.","author":"P.Marcuello","year":"1999","journal-title":"Proceedings of the 13th International Conference on Supercomputing"},{"key":"IJSI.2020070102-8","doi-asserted-by":"crossref","unstructured":"Matsunaga, D., Nunome, A., & Hirata, H. (2019). Shelving a Code Block for Thread-Level Speculation. In Proceedings of the 20th International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel\/Distributed Computing (SNPD 2019) (pp. 427\u2013434). ACIS & IEEE.","DOI":"10.1109\/SNPD.2019.8935751"},{"key":"IJSI.2020070102-9","doi-asserted-by":"publisher","DOI":"10.1145\/1542476.1542495"},{"key":"IJSI.2020070102-10","doi-asserted-by":"publisher","DOI":"10.1109\/IISWC.2014.6983060"},{"key":"IJSI.2020070102-11","first-page":"79","article-title":"Implicit parallelism with ordered transactions.","author":"C.Praun","year":"2007","journal-title":"Proceedings of the 12th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP \u20197)"},{"key":"IJSI.2020070102-12","doi-asserted-by":"publisher","DOI":"10.1002\/j.1538-7305.1957.tb01515.x"},{"issue":"1","key":"IJSI.2020070102-13","first-page":"24","article-title":"A large-scale speculation for the thread-level parallelization.","volume":"17","author":"Y.Shoji","year":"2016","journal-title":"International Journal of Computer and Information Science"},{"key":"IJSI.2020070102-14","doi-asserted-by":"publisher","DOI":"10.1145\/1082469.1082471"},{"key":"IJSI.2020070102-15","unstructured":"The OpenMP ARB (Architecture Review Board). (1997). The OpenMP API Specification for Parallel Programming. Retrieved from http:\/\/www.openmp.org"},{"key":"IJSI.2020070102-16","unstructured":"The Standard Performance Evaluation Corporation. (2006). SPEC CPU2006. Retrieved from https:\/\/www.spec.org\/cpu2006\/"},{"key":"IJSI.2020070102-17","unstructured":"Tian, C., Feng, M., Nagarajan, V., & Gupta, R. (2008). Copy or discard execution model for speculative parallelization on multicores. In Proceedings of the 41st IEEE\/ACM International Symposium on Microarchitecture (MICRO-41) (pp. 330\u2013341). ACM & IEEE."},{"key":"IJSI.2020070102-18","doi-asserted-by":"crossref","unstructured":"Tullsen, D. M., Eggers, S. J., & Levy, H. M. (1995). Simultaneous Multithreading: Maximizing On-Chip Parallelism, In Proceedings of the 22nd Annual International Symposium on Computer Architecture (ISCA \u201995) (pp. 369\u2013380). ACM & IEEE.","DOI":"10.1145\/223982.224449"},{"key":"IJSI.2020070102-19","doi-asserted-by":"publisher","DOI":"10.1109\/71.970565"},{"key":"IJSI.2020070102-20","author":"H.Zima","year":"1990","journal-title":"Supercompilers for parallel and vector computers"}],"container-title":["International Journal of Software Innovation"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.igi-global.com\/viewtitle.aspx?TitleId=256234","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,10,1]],"date-time":"2023-10-01T12:39:37Z","timestamp":1696163977000},"score":1,"resource":{"primary":{"URL":"http:\/\/services.igi-global.com\/resolvedoi\/resolve.aspx?doi=10.4018\/IJSI.2020070102"}},"subtitle":[""],"short-title":[],"issued":{"date-parts":[[2020,7]]},"references-count":21,"journal-issue":{"issue":"3"},"URL":"https:\/\/doi.org\/10.4018\/ijsi.2020070102","relation":{},"ISSN":["2166-7160","2166-7179"],"issn-type":[{"value":"2166-7160","type":"print"},{"value":"2166-7179","type":"electronic"}],"subject":[],"published":{"date-parts":[[2020,7]]}}}