This paper presents ESTIMA, an easy-to-use tool for extrapolating the scalability of in-memory applications. ESTIMA is designed to perform a simple, yet important task: given the performance of an application on a small machine with a handful of cores, ESTIMA extrapolates its scalability to a larger machine with more cores, while requiring minimum input from the user. The key idea underlying ESTIMA is the use of stalled cycles (e.g. cycles that the processor spends waiting for various events, such as cache misses or waiting on a lock). ESTIMA measures stalled cycles on a few cores and extrapolates them to more cores, estimating the amount of waiting in the system. ESTIMA can be effectively used to predict the scalability of in-memory applications. For instance, using measurements of memcached and SQLite on a desktop machine, we obtain accurate predictions of their scalability on a server. Our extensive evaluation on a large number of in-memory benchmarks shows that ESTIMA has generally low prediction errors.
Wed 16 Mar
|11:35 - 12:00|
Georgios ChatzopoulosEcole Polytechnique Federale de Lausanne (EPFL), Switzerland, Aleksandar DragojevićMicrosoft Research, Rachid GuerraouiEPFL, SwitzerlandLink to publication DOI
|12:00 - 12:25|
Ananya Muddukrishna, Peter A. JonssonSICS Swedish ICT AB, Artur PodobasKTH Royal Institute of Technology, Mats BrorssonKTH Royal Institute of TechnologyLink to publication DOI
|12:25 - 12:50|
Nuno MachadoINESC-ID / Instituto Superior Técnico, Universidade de Lisboa, Brandon LuciaCarnegie Mellon University, Luís RodriguesUniversidade de Lisboa, Instituto Superior Técnico, INESC-IDLink to publication DOI