RocksDB is a general-purpose embedded key-value store used in multiple\ndifferent settings. Its versatility comes at the cost of complex tuning\nconfigurations. This paper investigates maximizing the throughput of RocksDB IO\noperations by auto-tuning ten parameters of varying ranges. Off-the-shelf\noptimizers struggle with high-dimensional problem spaces and require a large\nnumber of training samples. We propose two techniques to tackle this problem:\nmulti-task modeling and dimensionality reduction through a manual grouping of\nparameters. By incorporating adjacent optimization in the model, the model\nconverged faster and found complicated settings that other tuners could not\nfind. This approach had an additional computational complexity overhead, which\nwe mitigated by manually assigning parameters to each sub-goal through our\nknowledge of RocksDB. The model is then incorporated in a standard Bayesian\nOptimization loop to find parameters that maximize RocksDB's IO throughput. Our\nmethod achieved x1.3 improvement when benchmarked against a simulation of\nFacebook's social graph traffic, and converged in ten optimization steps\ncompared to other state-of-the-art methods that required fifty steps.\n
Xin MaSuprateek Kundufor the Alzheimer’s Disease Neuroimaging Initiative
Matthew GrovesMichael PearceJuergen Branke
Matthew GrovesMichael PearceJuergen Branke