{"title":"与标准qsort兼容的高效并行排序","authors":"Duhu Man, Yasuaki Ito, K. Nakano","doi":"10.1142/S0129054111008568","DOIUrl":null,"url":null,"abstract":"The main contribution of this paper is to present an efficient parallel sorting \"psort\" compatible with the standard qsort. Our parallel sorting \"psort\" is implemented such that its interface is compatible with \"qsort\" in C Standard Library. Therefore, any application program that uses standard \"qsort\" can be accelerated by simply replacing \"qsort\" call by our \"psort\" . Also, \"psort\" uses standard \"qsort\" as a subroutine for local sequential sorting. So, if the performance of \"qsort\" is improved by anyone in the community, then that of our \"psort\" is also automatically improved. To evaluate the performance of our \"psort\", we have implemented our parallel sorting in a Linux server with two Intel quad-core processors (i. e. eight processor cores). The experimental results show that our \"psort\" is approximately 6 times faster than standard \"qsort\" using 8 processors. Since the speed up factor cannot be more than 8 if we use 8 cores, our algorithm is close to optimal. Also, as far as we know, no previously published parallel implementations achieve a speed up factor less than 4 using 8 cores.","PeriodicalId":312929,"journal":{"name":"2009 International Conference on Parallel and Distributed Computing, Applications and Technologies","volume":"158 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2009-12-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"10","resultStr":"{\"title\":\"An Efficient Parallel Sorting Compatible with the Standard qsort\",\"authors\":\"Duhu Man, Yasuaki Ito, K. Nakano\",\"doi\":\"10.1142/S0129054111008568\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"The main contribution of this paper is to present an efficient parallel sorting \\\"psort\\\" compatible with the standard qsort. Our parallel sorting \\\"psort\\\" is implemented such that its interface is compatible with \\\"qsort\\\" in C Standard Library. Therefore, any application program that uses standard \\\"qsort\\\" can be accelerated by simply replacing \\\"qsort\\\" call by our \\\"psort\\\" . Also, \\\"psort\\\" uses standard \\\"qsort\\\" as a subroutine for local sequential sorting. So, if the performance of \\\"qsort\\\" is improved by anyone in the community, then that of our \\\"psort\\\" is also automatically improved. To evaluate the performance of our \\\"psort\\\", we have implemented our parallel sorting in a Linux server with two Intel quad-core processors (i. e. eight processor cores). The experimental results show that our \\\"psort\\\" is approximately 6 times faster than standard \\\"qsort\\\" using 8 processors. Since the speed up factor cannot be more than 8 if we use 8 cores, our algorithm is close to optimal. Also, as far as we know, no previously published parallel implementations achieve a speed up factor less than 4 using 8 cores.\",\"PeriodicalId\":312929,\"journal\":{\"name\":\"2009 International Conference on Parallel and Distributed Computing, Applications and Technologies\",\"volume\":\"158 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2009-12-08\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"10\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2009 International Conference on Parallel and Distributed Computing, Applications and Technologies\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1142/S0129054111008568\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2009 International Conference on Parallel and Distributed Computing, Applications and Technologies","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1142/S0129054111008568","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
An Efficient Parallel Sorting Compatible with the Standard qsort
The main contribution of this paper is to present an efficient parallel sorting "psort" compatible with the standard qsort. Our parallel sorting "psort" is implemented such that its interface is compatible with "qsort" in C Standard Library. Therefore, any application program that uses standard "qsort" can be accelerated by simply replacing "qsort" call by our "psort" . Also, "psort" uses standard "qsort" as a subroutine for local sequential sorting. So, if the performance of "qsort" is improved by anyone in the community, then that of our "psort" is also automatically improved. To evaluate the performance of our "psort", we have implemented our parallel sorting in a Linux server with two Intel quad-core processors (i. e. eight processor cores). The experimental results show that our "psort" is approximately 6 times faster than standard "qsort" using 8 processors. Since the speed up factor cannot be more than 8 if we use 8 cores, our algorithm is close to optimal. Also, as far as we know, no previously published parallel implementations achieve a speed up factor less than 4 using 8 cores.