{"title":"共享内存并行 Edmonds Blossom 算法,用于一般图中的最大卡方匹配。","authors":"Gregory Schwing, Daniel Grosu, Loren Schwiebert","doi":"10.1109/ipdpsw63119.2024.00107","DOIUrl":null,"url":null,"abstract":"<p><p>The Edmonds Blossom algorithm is implemented here using depth-first search, which is intrinsically serial. By streamlining the code, our serial implementation is consistently three to five times faster than the previously fastest general graph matching code. By extracting parallelism across iterations of the algorithm, with coarse-grain locking, we are able to further reduce the run time on random regular graphs four-fold and obtain a two-fold reduction of run time on real-world graphs with similar topology. Solving very sparse graphs (average degree less than four) exhibiting community structure with eight threads led to a slow down of three-fold, but this slow down is replaced by marginal speed up once the average degree is greater than four. We conclude that our parallel coarse-grain locking implementation performs well when extracting parallelism from this augmenting-path-based algorithm and may work well for similar algorithms.</p>","PeriodicalId":90848,"journal":{"name":"IEEE International Symposium on Parallel & Distributed Processing, Workshops and Phd Forum : [proceedings]. IEEE International Symposium on Parallel & Distributed Processing, Workshops and Phd Forum","volume":"2024 ","pages":"530-539"},"PeriodicalIF":0.0000,"publicationDate":"2024-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC11308447/pdf/","citationCount":"0","resultStr":"{\"title\":\"Shared-Memory Parallel Edmonds Blossom Algorithm for Maximum Cardinality Matching in General Graphs.\",\"authors\":\"Gregory Schwing, Daniel Grosu, Loren Schwiebert\",\"doi\":\"10.1109/ipdpsw63119.2024.00107\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"<p><p>The Edmonds Blossom algorithm is implemented here using depth-first search, which is intrinsically serial. By streamlining the code, our serial implementation is consistently three to five times faster than the previously fastest general graph matching code. By extracting parallelism across iterations of the algorithm, with coarse-grain locking, we are able to further reduce the run time on random regular graphs four-fold and obtain a two-fold reduction of run time on real-world graphs with similar topology. Solving very sparse graphs (average degree less than four) exhibiting community structure with eight threads led to a slow down of three-fold, but this slow down is replaced by marginal speed up once the average degree is greater than four. We conclude that our parallel coarse-grain locking implementation performs well when extracting parallelism from this augmenting-path-based algorithm and may work well for similar algorithms.</p>\",\"PeriodicalId\":90848,\"journal\":{\"name\":\"IEEE International Symposium on Parallel & Distributed Processing, Workshops and Phd Forum : [proceedings]. IEEE International Symposium on Parallel & Distributed Processing, Workshops and Phd Forum\",\"volume\":\"2024 \",\"pages\":\"530-539\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2024-05-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC11308447/pdf/\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"IEEE International Symposium on Parallel & Distributed Processing, Workshops and Phd Forum : [proceedings]. IEEE International Symposium on Parallel & Distributed Processing, Workshops and Phd Forum\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/ipdpsw63119.2024.00107\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"2024/7/26 0:00:00\",\"PubModel\":\"Epub\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"IEEE International Symposium on Parallel & Distributed Processing, Workshops and Phd Forum : [proceedings]. IEEE International Symposium on Parallel & Distributed Processing, Workshops and Phd Forum","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ipdpsw63119.2024.00107","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"2024/7/26 0:00:00","PubModel":"Epub","JCR":"","JCRName":"","Score":null,"Total":0}
Shared-Memory Parallel Edmonds Blossom Algorithm for Maximum Cardinality Matching in General Graphs.
The Edmonds Blossom algorithm is implemented here using depth-first search, which is intrinsically serial. By streamlining the code, our serial implementation is consistently three to five times faster than the previously fastest general graph matching code. By extracting parallelism across iterations of the algorithm, with coarse-grain locking, we are able to further reduce the run time on random regular graphs four-fold and obtain a two-fold reduction of run time on real-world graphs with similar topology. Solving very sparse graphs (average degree less than four) exhibiting community structure with eight threads led to a slow down of three-fold, but this slow down is replaced by marginal speed up once the average degree is greater than four. We conclude that our parallel coarse-grain locking implementation performs well when extracting parallelism from this augmenting-path-based algorithm and may work well for similar algorithms.