{"title":"基于并行推测构造二叉搜索树的性能评价","authors":"Hiroaki Hirata, Atsushi Nunome","doi":"10.1007/s44227-023-00013-w","DOIUrl":null,"url":null,"abstract":"Abstract Binary search trees (BSTs) are one of the most important data structures in the field of computer science. We may easily write a parallel construction program of a BST by extending the sequential algorithm straightly. However, in such conventional approaches, the order of nodes inserted into a BST is determined dynamically, depending on the occasional state of the parallel thread execution. It results in a BST with a different structure (node position) generated on every execution of the parallel program. On the other hand, we have been developing parallel construction schemes of the BST with the same structure as a BST generated by the sequential algorithm. One is the speculatively parallel construction of a BST. And another is the purely (non-speculatively) parallel construction, but it was derived through the concept of thread-level speculation. This paper evaluates the performances of those construction schemes on several types of shared-memory multiprocessors. For the large enough size of BST, our new parallel programs can construct a BST with always the same structure on a little lower or sometimes higher performance than the program that makes a BST with a different structure on every execution. And in contrast with the general expectation that simply enlarging the size of parallel tasks increases misspeculation and damages the performance, we found that it sometimes enhances the performance of speculatively parallel execution.","PeriodicalId":42585,"journal":{"name":"International Journal of Networked and Distributed Computing","volume":"51 S256","pages":"0"},"PeriodicalIF":1.3000,"publicationDate":"2023-11-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"Performance Evaluation on Parallel Speculation-Based Construction of a Binary Search Tree\",\"authors\":\"Hiroaki Hirata, Atsushi Nunome\",\"doi\":\"10.1007/s44227-023-00013-w\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Abstract Binary search trees (BSTs) are one of the most important data structures in the field of computer science. We may easily write a parallel construction program of a BST by extending the sequential algorithm straightly. However, in such conventional approaches, the order of nodes inserted into a BST is determined dynamically, depending on the occasional state of the parallel thread execution. It results in a BST with a different structure (node position) generated on every execution of the parallel program. On the other hand, we have been developing parallel construction schemes of the BST with the same structure as a BST generated by the sequential algorithm. One is the speculatively parallel construction of a BST. And another is the purely (non-speculatively) parallel construction, but it was derived through the concept of thread-level speculation. This paper evaluates the performances of those construction schemes on several types of shared-memory multiprocessors. For the large enough size of BST, our new parallel programs can construct a BST with always the same structure on a little lower or sometimes higher performance than the program that makes a BST with a different structure on every execution. And in contrast with the general expectation that simply enlarging the size of parallel tasks increases misspeculation and damages the performance, we found that it sometimes enhances the performance of speculatively parallel execution.\",\"PeriodicalId\":42585,\"journal\":{\"name\":\"International Journal of Networked and Distributed Computing\",\"volume\":\"51 S256\",\"pages\":\"0\"},\"PeriodicalIF\":1.3000,\"publicationDate\":\"2023-11-08\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"International Journal of Networked and Distributed Computing\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1007/s44227-023-00013-w\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"Q3\",\"JCRName\":\"COMPUTER SCIENCE, SOFTWARE ENGINEERING\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"International Journal of Networked and Distributed Computing","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1007/s44227-023-00013-w","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q3","JCRName":"COMPUTER SCIENCE, SOFTWARE ENGINEERING","Score":null,"Total":0}
Performance Evaluation on Parallel Speculation-Based Construction of a Binary Search Tree
Abstract Binary search trees (BSTs) are one of the most important data structures in the field of computer science. We may easily write a parallel construction program of a BST by extending the sequential algorithm straightly. However, in such conventional approaches, the order of nodes inserted into a BST is determined dynamically, depending on the occasional state of the parallel thread execution. It results in a BST with a different structure (node position) generated on every execution of the parallel program. On the other hand, we have been developing parallel construction schemes of the BST with the same structure as a BST generated by the sequential algorithm. One is the speculatively parallel construction of a BST. And another is the purely (non-speculatively) parallel construction, but it was derived through the concept of thread-level speculation. This paper evaluates the performances of those construction schemes on several types of shared-memory multiprocessors. For the large enough size of BST, our new parallel programs can construct a BST with always the same structure on a little lower or sometimes higher performance than the program that makes a BST with a different structure on every execution. And in contrast with the general expectation that simply enlarging the size of parallel tasks increases misspeculation and damages the performance, we found that it sometimes enhances the performance of speculatively parallel execution.
期刊介绍:
The International Journal of Networked and Distributed Computing publishes original articles on both theory and practice which address foundations, crucial challenges, state-of-the-art solutions and implications on all aspects of networked and distributed computing. As a driving force behind the ongoing technological revolution, networked and distributed computing has been transforming just about every part of the world we live in: the way we coordinate and communicate, the way we identify problems and solve them, the way we entertain and enjoy our lives and the way we perceive our future. Networked and distributed computing has touched on a wide range of issues with significant implications, from communication protocols, to the Internet, smartphones, pervasive and ubiquitous cities, etc. Like there are numerous benefits of networked and distributed computing, there are also crucial challenges associated with it. Networked and distributed computing should be more broadly applied to a variety of areas, such as robots, nano-technology, space/sea exploration, (green) energy management, etc. Ultimately, networked and distributed computing should lead to a better future, where distributed systems should help people to achieve their goals in an interoperable, secure, fast, usable and useful manner. Networked and distributed computing should answer what it is that we need, why we need it and how we can achieve it.