Track: Performance and Scalability
A Unified Platform for Data Driven Web Applications with Automatic Client-Server Partitioning
- Fan Yang (Cornell University)
- Nitin Gupta (Cornell University)
- Nicholas Gerner (Cornell University)
- Xin Qi (Cornell University)
- Alan Demers (Cornell University)
- Johannes Gehrke (Cornell University)
- Jayavel Shanmugasundaram(Yahoo!)
Data-driven web applications are structured into three tiers with different programming models at each tier. This division forces developers to manually partition application functionality across the tiers, resulting in complex logic, suboptimal partitioning, and expensive re-partitioning of applications.
In this paper, we introduce a unified platform for automatic partitioning of data-driven web applications. Our approach is based on Hilda, a high-level declarative programming language with a unified data and programming model for all the layers of the application. Based on run-time properties of the application, Hilda's run time system automatically partitions the application between the tiers to improve response time while adhering to memory or processing constraints at the clients. We evaluate our methodology with traces from a real application and with TPC-W, and our results show that automatic partitioning outperforms manual partitioning without the associated development overhead.