ESTIMA: extrapolating scalability of in-memory applications

ESTIMA: extrapolating scalability of in-memory applications
复制标题

ESTIMA:推断内存应用程序的可扩展性

DOI:
--
复制
发表时间:
2016
期刊:
ACM SIGPLAN Symposium on Principles & Practice of Parallel Programming
影响因子:
--
通讯作者:
R. Guerraoui
R. Guerraoui
中科院分区:
--
文献类型:
--
作者:
Georgios Chatzopoulos;A. Dragojevic;R. Guerraoui

文献摘要

被引文献

相似文献

本文介绍了ESTIMA,一个易于使用的工具,用于推断内存中的应用程序的可扩展性。ESTIMA旨在执行一项简单但重要的任务:考虑到应用程序在具有少数核心的小型机器上的性能,ESTIMA将其可扩展性外推到具有更多核心的大型机器上,同时需要用户的最小输入。ESTIMA的核心思想是使用延迟周期(例如,处理器等待各种事件的周期,例如缓存未命中或等待锁定)。ESTIMA测量几个核心上的停滞周期,并将其外推到更多的核心,估计系统中的等待量。ESTIMA可以有效地用于预测内存应用程序的可伸缩性。例如,在桌面计算机上使用memcached和SQLite的测量,我们可以准确预测它们在服务器上的可伸缩性。我们对大量内存基准测试的广泛评估表明,ESTIMA的预测误差普遍较低。
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.