Virtual Views - Milestone Report
1 Group Info
Kevin Chang <kevincha@andrew.cmu.edu>
Vivek Seshadri <vseshadr@cs.cmu.edu>
3 Major Changes}
We don't have any changes to our goals as of now.
4 Accomplishments
4.1 Micro-Benchmark
As described in the proposal, the goal of this project is to improve the performance of applications that access certain data structures with multiple different access patterns. To this end, we initially created a microbenchmark which represents a database application that runs two types of queries on a table. Type 1 query: a short transaction that accesses almost all fields of a particular record. Type 2 query: a long running operation that touches only a few fields of almost all records. Type 1 queries benefit from a row-oriented organization of the table whereas type 2 queries benefit from a column-oriented organization of the table.
4.2 Maintaining Consistency
We have created test applications that explicitly specify virtual views, but without explicit store amplification (i.e., additional stores for views). We wrote a compiler pass which will use the virtual view specification from the application and automatically generate the additional stores required for maintaining consistency across views. We tested this pass on a toy version of our microbenchmark.
5 Meeting Milestone
With respect to the timeline provided in the proposal, we are little less than a week behind schedule. We also couldn't identify real benchmarks that can benefit from virtual views yet.
6 Surprises
Our initial evalutations using the microbenchmark suggest that the store amplification can be a significant bottleneck for performance when the fraction of updates to the data structure is high (even when the write-to-read ratio is as low as 1/8).
7 Revised Schedule
We don't expect any revisions to our schedule at this point.
8 Resources Needed
At this point, we believe LLVM will be sufficient to finish the remainder of our project.