Browsing by Author "Mittal, Sumit"
Now showing 1 - 2 of 2
Results Per Page
Sort Options
Item A consistent and transparent solution for caching dynamic Web content(2005) Mittal, Sumit; Cox, Alan L.Caching is an effective means for reducing load on web servers, especially for those that dynamically generate documents in dynamic web applications. While adding caching to a web application can greatly reduce response times for requests, the logic to ensure consistency with the backend database requires considerable effort to develop. Much of the complexity is in minimizing unnecessary page invalidations, a key goal for improving the cache hit rate and response times. In this thesis I explore a range of invalidation policies that are progressively more precise. A policy is more precise than the other if it produces less false positives (removal of valid pages). A contribution of this work is in achieving precise invalidations at the application server layer automatically. To explore these issues, I introduce AutoWebCache, a system for adding server-side caching for dynamic content automatically to web applications having a back-end database. To achieve automation, it uses aspect-oriented programming for injecting the cache code into the application. Dependencies between the read and write requests are determined automatically, during run-time. Formulating the dependencies requires SQL query analysis be performed at run-time, which is costly. I demonstrate how to reduce this dynamic analysis overhead through effective caching of intermediate analysis results. In two e-commerce benchmarks, RUBiS and TPC-W, I show my method can be highly effective, reducing the response times, 63% and 97%, respectively.Item An Efficient Threading Model to Boost Server Performance(2004-09-13) Chanda, Anupam; Cox, Alan L.; Elmeleegy, Khaled; Gil, Romer; Mittal, Sumit; Zwaenepoel, WillyWe investigate high-performance threading architectures for I/O intensive multi-threaded servers. We study thread architectures from two angles: (1) number of user threads per kernel thread, and (2) use of synchronous I/O vs. asynchronous I/O. We underline the shortcomings of 1-to-1threads with synchronous I/O, N-to-1 threads with asynchronous I/O, and N-to-M threads with synchronous I/O with respect to server performance We propose N-to-M threads with asynchronous I/O, a novel and previously unexplored thread model, for such servers. We explain the architectural benefits of this thread model over the above mentioned architectures. We have designed and implemented ServLib, a thread library, modeled in this architecture. We optimize ServLib to reduce context switches for large I/O transfers. ServLib exports standard POSIX threads (pthreads) API and can be slipped transparently beneath any multi-threaded application using such API. We have evaluated ServLib with two applications, the Apache multi-threaded web server, and the MySQL multi-threaded database server. Our results show that for synthetic and real workloads Apache with ServLib registers a performance improvement of 10-25%over Apache with 1-to-1 thread and N-to-1 thread libraries. For TPC-W workload, ServLib improves the performance of MySQL by 10-17% over 1-to-1 and N-to-1thread libraries.