{"title":"动态图分析的有效数据结构","authors":"Benjamin Schiller, J. Castrillón, T. Strufe","doi":"10.1109/SITIS.2015.94","DOIUrl":null,"url":null,"abstract":"In the era of social networks, gene sequencing, and big data, a new class of applications that analyze the properties of large graphs as they dynamically change over time has emerged. The performance of these applications is highly influenced by the data structures used to store and access the graph in memory. Depending on its size and structure, update frequency, and read accesses of the analysis, the use of different data structures can yield great performance variations. Even for expert programmers, it is not always obvious, which data structure is the best choice for a given scenario. In this paper, we present a framework for handling this issue automatically. It provides compile-time support for automatically selecting the most efficient data structures for a given graph analysis application assuming a consistent workload on the graph. We perform a measurement study to better understand the performance of five data structures and evaluate a prototype Java implementation of our framework. It achieves a speedup of up to 4.7× compared to basic data structure configurations for the analysis of real-world dynamic graphs.","PeriodicalId":128616,"journal":{"name":"2015 11th International Conference on Signal-Image Technology & Internet-Based Systems (SITIS)","volume":"269 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2015-11-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"6","resultStr":"{\"title\":\"Efficient Data Structures for Dynamic Graph Analysis\",\"authors\":\"Benjamin Schiller, J. Castrillón, T. Strufe\",\"doi\":\"10.1109/SITIS.2015.94\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"In the era of social networks, gene sequencing, and big data, a new class of applications that analyze the properties of large graphs as they dynamically change over time has emerged. The performance of these applications is highly influenced by the data structures used to store and access the graph in memory. Depending on its size and structure, update frequency, and read accesses of the analysis, the use of different data structures can yield great performance variations. Even for expert programmers, it is not always obvious, which data structure is the best choice for a given scenario. In this paper, we present a framework for handling this issue automatically. It provides compile-time support for automatically selecting the most efficient data structures for a given graph analysis application assuming a consistent workload on the graph. We perform a measurement study to better understand the performance of five data structures and evaluate a prototype Java implementation of our framework. It achieves a speedup of up to 4.7× compared to basic data structure configurations for the analysis of real-world dynamic graphs.\",\"PeriodicalId\":128616,\"journal\":{\"name\":\"2015 11th International Conference on Signal-Image Technology & Internet-Based Systems (SITIS)\",\"volume\":\"269 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2015-11-23\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"6\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2015 11th International Conference on Signal-Image Technology & Internet-Based Systems (SITIS)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/SITIS.2015.94\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2015 11th International Conference on Signal-Image Technology & Internet-Based Systems (SITIS)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/SITIS.2015.94","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Efficient Data Structures for Dynamic Graph Analysis
In the era of social networks, gene sequencing, and big data, a new class of applications that analyze the properties of large graphs as they dynamically change over time has emerged. The performance of these applications is highly influenced by the data structures used to store and access the graph in memory. Depending on its size and structure, update frequency, and read accesses of the analysis, the use of different data structures can yield great performance variations. Even for expert programmers, it is not always obvious, which data structure is the best choice for a given scenario. In this paper, we present a framework for handling this issue automatically. It provides compile-time support for automatically selecting the most efficient data structures for a given graph analysis application assuming a consistent workload on the graph. We perform a measurement study to better understand the performance of five data structures and evaluate a prototype Java implementation of our framework. It achieves a speedup of up to 4.7× compared to basic data structure configurations for the analysis of real-world dynamic graphs.