{"title":"图遍历的拓扑自适应策略","authors":"Jia Meng, Liang Cao, Huashan Yu","doi":"10.1109/HPCS.2017.60","DOIUrl":null,"url":null,"abstract":"Graphs are a key form of Big Data. Although graph computing technology has been studied extensively in recent years, it remains a grand challenge to process large-scale graphs efficiently. Computation on a graph is to propagate and update the vertex values systematically. Both its complexity and parallelism are affected mainly by the algorithm's value propagating pattern. Efficient graph computing depends on techniques compatible with the algorithm's value propagating pattern. Graph traversing is a value propagating pattern used by representative graph applications. This paper presents an efficient value propagating framework for large-scale graph traversing applications. By partitioning the input graph based on the topology, it allows values for different source vertices to be propagated together, so as to reduce value propagating overhead. To improve the parallel efficiency of graph traversals, a novel task scheduling mechanism has been devised. The mechanism allows the framework to improve load balance without loss of locality. A prototype for the framework has been implemented. We evaluated the prototype with a set of typical real-world and synthetic graphs. By comparing with the owner-computing rule, experimental results show that this work has an overall speedup from 1.23 to 3.97. The speedup to Ligra is from 4.7 to 20.7.","PeriodicalId":115758,"journal":{"name":"2017 International Conference on High Performance Computing & Simulation (HPCS)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2017-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"A Topology-Adaptive Strategy for Graph Traversing\",\"authors\":\"Jia Meng, Liang Cao, Huashan Yu\",\"doi\":\"10.1109/HPCS.2017.60\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Graphs are a key form of Big Data. Although graph computing technology has been studied extensively in recent years, it remains a grand challenge to process large-scale graphs efficiently. Computation on a graph is to propagate and update the vertex values systematically. Both its complexity and parallelism are affected mainly by the algorithm's value propagating pattern. Efficient graph computing depends on techniques compatible with the algorithm's value propagating pattern. Graph traversing is a value propagating pattern used by representative graph applications. This paper presents an efficient value propagating framework for large-scale graph traversing applications. By partitioning the input graph based on the topology, it allows values for different source vertices to be propagated together, so as to reduce value propagating overhead. To improve the parallel efficiency of graph traversals, a novel task scheduling mechanism has been devised. The mechanism allows the framework to improve load balance without loss of locality. A prototype for the framework has been implemented. We evaluated the prototype with a set of typical real-world and synthetic graphs. By comparing with the owner-computing rule, experimental results show that this work has an overall speedup from 1.23 to 3.97. The speedup to Ligra is from 4.7 to 20.7.\",\"PeriodicalId\":115758,\"journal\":{\"name\":\"2017 International Conference on High Performance Computing & Simulation (HPCS)\",\"volume\":\"1 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2017-07-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2017 International Conference on High Performance Computing & Simulation (HPCS)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/HPCS.2017.60\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2017 International Conference on High Performance Computing & Simulation (HPCS)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/HPCS.2017.60","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Graphs are a key form of Big Data. Although graph computing technology has been studied extensively in recent years, it remains a grand challenge to process large-scale graphs efficiently. Computation on a graph is to propagate and update the vertex values systematically. Both its complexity and parallelism are affected mainly by the algorithm's value propagating pattern. Efficient graph computing depends on techniques compatible with the algorithm's value propagating pattern. Graph traversing is a value propagating pattern used by representative graph applications. This paper presents an efficient value propagating framework for large-scale graph traversing applications. By partitioning the input graph based on the topology, it allows values for different source vertices to be propagated together, so as to reduce value propagating overhead. To improve the parallel efficiency of graph traversals, a novel task scheduling mechanism has been devised. The mechanism allows the framework to improve load balance without loss of locality. A prototype for the framework has been implemented. We evaluated the prototype with a set of typical real-world and synthetic graphs. By comparing with the owner-computing rule, experimental results show that this work has an overall speedup from 1.23 to 3.97. The speedup to Ligra is from 4.7 to 20.7.