This document describes HFSP, a fair scheduling protocol for Hadoop that aims to improve performance for interactive jobs. It does so by estimating job sizes and simulating a processor-sharing model to determine job completion order. Key aspects include initial job size estimation that is refined over time, treating map and reduce phases separately, and using OS signals to suspend and resume reduce tasks for preemption instead of waiting or killing tasks. Experiments on Facebook workload traces showed HFSP significantly reduced average job completion times compared to Hadoop's default scheduler, especially for smaller clusters.