The UW SandCat is a whole-stack platform for exploring software adaptation. The stack spans data visualization, the client-side web browser, networked databases, application compute servers, operating systems, file systems, and storage devices. A modern system stack is forced to (1) accommodate the growth in data volume and data bandwidth that exceeds Moore's Law; and (2) support energy-efficient mobile devices that can neither store all necessary data nor perform the computation at the desired real-time latency. To meet these two goals, SandCat adapts by aggressively approximating both the data and the computation, as well as by performing the computations incrementally for example by executing database queries on live data incrementally.

The driving application for this DARPA-funded project is adaptive visualization of big data. SandCat will support data scientists who interactively and collaboratively explore a large dataset that is updated live from sensors, cameras, and laboratory instruments. We use data scientists as a model of military data specialists who work in intelligence, reconnaissance, logistics, weapons development, and other tasks. Data visualization is compelling application for adaptive system stacks because a visualization query calls for adaptations at all levels of the stack: in order "compute" a million pixels per 30ms, data analysis must be computed incrementally, the database may need to fetch only the data that are currently visible on the screen, and the storage may need to read only the high-order bits of the requested data. Further adaptations are necessitated by the range of clients, which can be a workstation on a 10Gbps networks or a smartwatch on a 2G cellular connection.