Online data services have stringent performance requirement and must tolerate workload fluctuation. This paper introduces Pitstop, a new query language runtime design built on the idea of \emph{interruptible query processing}: the time-consuming task of data inspection for processing each query or update may be interrupted and resumed later at the boundary of fine-grained data partitions. This counter-intuitive idea enables a novel form of \emph{fine-grained concurrency} while preserving \emph{sequential consistency}. We build Pitstop through modifying the language runtime of Cypher, the query language of a state-of-the-art graph database, Neo4j. Our evaluation on the Google Cloud shows that Pitstop can outperform unmodified Neo4j during workload fluctuation, with reduced latency and increased throughput.
Amir Kafshdar Goharshady Hong Kong University of Science and Technology, Chun Kit Lam Hong Kong University of Science and Technology, Lionel Parreaux HKUST (The Hong Kong University of Science and Technology)