Adapting Graph Application Performance via Alternate Data Structure Representation
Amlan Kusum, Iulian Neamtiu, Rajiv Gupta

TL;DR
This paper presents a method for transforming graph applications into adaptive systems that dynamically select data structures at runtime, improving performance and dependability under varying conditions.
Contribution
It introduces a runtime adaptation approach for graph applications, enabling dynamic data structure selection based on input graph characteristics and memory availability.
Findings
Adaptive applications complete execution with lower time and memory.
Dynamic data structure selection improves dependability under adverse conditions.
Experiments on real-world and synthetic datasets validate effectiveness.
Abstract
Graph processing is used extensively in areas from social networking mining to web indexing. We demonstrate that the performance and dependability of such applications critically hinges on the graph data structure used, because a fixed, compile-time choice of data structure can lead to poor performance or applications unable to complete. To address this problem, we introduce an approach that helps programmers transform regular, off-the-shelf graph applications into adaptive, more dependable applications where adaptations are performed via runtime selection from alternate data structure representations. Using our approach, applications dynamically adapt to the input graph's characteristics and changes in available memory so they continue to run when faced with adverse conditions such as low memory. Experiments with graph algorithms on real-world (e.g., Wikipedia metadata, Gnutella…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware System Performance and Reliability · Software Engineering Research · Cloud Computing and Resource Management
