Applications and the systems that support them are becoming increasingly more
complex, more powerful and more ubiquitous. Applications ranging from traffic sensing
to online retailers to social networks are part of our every day lives. People have begun
to rely on these systems and expect them to perform their operations in a timely fashion.
Providing a quick response is critical in some applications and has a significant effect in
others. The complexity of modern of applications is not the only challenge of meeting user
expectations, providing a personalized experience requires the processing of huge amounts
of raw data. Although generalized schedulers have shown good results for speeding up
many systems, they are not well suited and cannot provide the most efficient solution in
many situations.
In this dissertation, I design, build and evaluate several different specialized
scheduling system for speeding up and providing quality of service across a range of different
systems. I present RG-EDF, Misco and MiscoRT and Cacheflow. Starting with low
level system, RG-EDF is an efficient storage scheduler for sensor devices equipped with
flash memories. Misco is a distributed data processing system and application framework
for mobile smart-phones, MiscoRT is its failure aware, real-time, application scheduler.
Finally,Cacheflow is a system for improving client response times in internet scale content
delivery networks aimed at social networking sites. Through experimental evaluations,
I show that my systems provide a significant performance improvement over generalized
scheduling mechanisms and existing approaches.