{"title":"SeekBin: An automated tool for analyzing thread level speculative parallelization potential","authors":"G. Mustafa, A. Waheed, Waqar Mahmood","doi":"10.1109/ICET.2011.6048489","DOIUrl":null,"url":null,"abstract":"Thread level speculation (TLS) is an emerging parallel computing paradigm to enable parallelization with minimal programmer interaction on state-of-the-art multi-core systems. However, when applied indiscriminately, thread squashing and re-execution can incur significant overhead and TLS may result in performance degradation compared to sequential code. A thorough analysis of code for potentially available parallelism is crucial for choosing between speculative or non-speculative execution. In this paper, we present the outcome of an empirical study on a collection of sequential applications to determine what type of parallelism is available and whether it is beneficial to use TLS. We developed a tool, named SeekBin, which observes Java classes at load time for opportunities of parallelism in the bytecode. SeekBin uses profiler feedback and emits data about actually called methods only, which can be used to determine suitability of applying TLS.","PeriodicalId":167049,"journal":{"name":"2011 7th International Conference on Emerging Technologies","volume":"70 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2011-10-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"2","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2011 7th International Conference on Emerging Technologies","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICET.2011.6048489","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 2
Abstract
Thread level speculation (TLS) is an emerging parallel computing paradigm to enable parallelization with minimal programmer interaction on state-of-the-art multi-core systems. However, when applied indiscriminately, thread squashing and re-execution can incur significant overhead and TLS may result in performance degradation compared to sequential code. A thorough analysis of code for potentially available parallelism is crucial for choosing between speculative or non-speculative execution. In this paper, we present the outcome of an empirical study on a collection of sequential applications to determine what type of parallelism is available and whether it is beneficial to use TLS. We developed a tool, named SeekBin, which observes Java classes at load time for opportunities of parallelism in the bytecode. SeekBin uses profiler feedback and emits data about actually called methods only, which can be used to determine suitability of applying TLS.