From sensor networks to transportation infrastructure to social networks, we are awash in data. Many of these real-world networks tend to be large ("big data") and dynamic, evolving over time. Their evolution can be modeled as a series of graphs. Traditional systems that store and analyze one graph at a time cannot effectively handle the complexity and subtlety inherent in dynamic graphs. Modern analytics require systems capable of storing and processing series of graphs. We present such a system. G* compresses dynamic graph data based on commonalities among the graphs in the series for deduplicated storage on multiple servers. In addition to the obvious space-saving advantage, large-scale graph processing tends to be I/O bound, so faster reads from and writes to stable storage enable faster results. Unlike traditional database and graph processing systems, G* executes complex queries on large graphs using distributed operators to process graph data in parallel. It speeds up queries on multiple graphs by processing graph commonalities only once and sharing the results across relevant graphs. This architecture not only provides scalability, but since G* is not limited to processing only what is available in RAM, its analysis capabilities are far greater than other systems which are limited to what they can hold in memory. This paper presents G*'s design and implementation principles along with evaluation results that document its unique benefits over traditional graph processing systems.
The world is full of evolving networks, many of which can be represented by a series of large graphs. Neither the current graph processing systems nor database systems can efficiently store and query these graphs due to their lack of support for managing multiple graphs and lack of essential graph querying capabilities. We propose to demonstrate our system, G*, that meets the new challenges of managing multiple graphs and supporting fundamental graph querying capabilities. G* can store graphs on a large number of servers while compressing these graphs based on their commonalities. G* also allows users to easily express queries on graphs and efficiently executes these queries by sharing computations across graphs. During our demonstrations, conference attendees will run various analytic queries on large, practical data sets. These demonstrations will highlight the convenience and performance benefits of G* over existing database and graph processing systems, the effectiveness of sharing in graph data storage and processing, as well as G*'s scalability.
Trajectory compression algorithms enable efficient transmission, storage, and processing of trajectory data by eliminating redundant information. While a large number of compression algorithms have been developed, there is no comprehensive and convenient benchmarking system for evaluating these algorithms. We will demonstrate TrajMetrix, our system that meets the above need. We will show how TrajMetrix can be used to gain insights into the benefits and drawbacks of various compression algorithms given different compression requirements. From the knowledge attained by using TrajMetrix, we developed SQUISH-E (Spatial QUalIty Simplification Heuristic - Extended). This algorithm uses a priority queue to preferentially remove points based on the error introduced by their removal. Through live demonstrations that use both synthetic and real data sets, we will show the ability of SQUISH-E to effectively bound compression error with low computational overhead.
Many of today’s data analytics applications require processing a series of large graphs that represent an evolving network. This paper presents a new parallel system that efficiently supports these applications in the cloud. This system, G*, stores large graphs on servers in a scalable fashion while compressing the graphs based on their commonalities. Unlike traditional database and graph processing systems, G* can efficiently execute complex queries on large graphs using operators that process graph data in parallel. G* speeds up queries on multiple graphs by processing commonalities among graphs once and then sharing the result across relevant graphs. G* provides a set of processing primitives that abstract away the complexity of distributed computation and enable easy and succinct implementation of operators. This paper presents evaluation results that substantiate the unique benefits of G* over traditional database and graph processing systems.