Preview

Труды Института системного программирования РАН

Расширенный поиск

Обнаружение и оценка количества промахов когерентности на основе вероятностной модели

https://doi.org/10.15514/ISPRAS-2015-27(4)-3

Аннотация

Ложное разделение кэша возникает, когда нити, параллельно выполняющиеся на разных ядрах, поочередно обновляют разные переменные, попадающие в одну строку кэша. В статье для оценки количества промахов предлагается использовать инструментацию кода и постобработку ее результатов: по наблюденным промахам кэша в трассе обращений к памяти с временными метками для каждой нити вычисляется вероятность того, что во время обращения, записанного в трассу, и следующего обращения к этой строке в этой же нити была запись в ту же строку в другой нити. Трассировщик программы реализован как проход в открытом компиляторе GCC, анализатор реализован в виде отдельного приложения, которому подается на вход сгенерированная на тестовом наборе данных трасса анализируемого приложения. Замедление работы программы при трассировке составляет примерно 10 раз, при этом оно зависит от вероятности выборки и практически не зависит от длины кэш-линии.

Об авторе

Е. А. Велесевич
ИСП РАН
Россия


Список литературы

1. Erik Berg, Håkan Zeffer and Erik Hagersten, A Statistical Multiprocessor Cache Model, In Proceedings of the 2006 IEEE International Symposium on Performance Analysis of System and Software, Austin, Texas, USA, March 2006

2. E. Berg and E. Hagersten. StatCache: A probabilistic approach to efficient and accurate data locality analysis, Technical report 2003-058, Department of Information Technology,Uppsala University, November 2003.

3. E. Berg and E. Hagersten. StatCache: A probabilistic approach to efficient and accurate data locality analysis. In Proceedings of International Symposium on Performance Analysis of Systems And Software, March 2004

4. S. R. Goldschmidt and J. L. Hennessy. The accuracy of trace-driven simulations of multiprocessors. In SIGMETRICS ’93, pages 146-157. ACM Press, 1993.

5. J. Mellor-Crummey, R. Fowler, and D. Whalley. Tools for Application-Oriented Performance Tuning. In Proceedings of 15th ACM International Conference on Supercomputing, Italy, June 2001.

6. R.A. Uhlig and T.N. Mudge, Trace-driven memory simulation: A survey, ACM Computing Surveys, 29 (2), 1997, 128-170.

7. Stunkel, C. and Fuchs, W. TRAPEDS: producing traces for multicomputers via execution-driven simulation. In Proceedings of the 1989 SIGMETRICS Conference on Measurement and Modeling of Computer Systems, Berkeley, CA, ACM, 70-78, 1989.

8. F. Rawson. Mempower: A simple memory power analysis tool set. Technical report, IBM Austin Research Laboratory, 2004

9. X. Gao, B. Simon, and A. Snavely, ALITER: An Asynchronous Lightweight Instrumentation Tool for Event Recording, Workshop on Binary Instrumentation and Applications, St. Louis, Mo. Sept. 2005.

10. Erik Berg, Methods for Run Time Analysis of Data Locality, Licentiate Thesis 2003-015, Department of Information Technology, Uppsala University, December 2003.

11. GCC, the GNU Compiler Collection. https://gcc.gnu.org.


Рецензия

Для цитирования:


Велесевич Е.А. Обнаружение и оценка количества промахов когерентности на основе вероятностной модели. Труды Института системного программирования РАН. 2015;27(4):39-48. https://doi.org/10.15514/ISPRAS-2015-27(4)-3

For citation:


Velesevich E. Evaluating a number of cache coherency misses based on a statistical model. Proceedings of the Institute for System Programming of the RAS (Proceedings of ISP RAS). 2015;27(4):39-48. (In Russ.) https://doi.org/10.15514/ISPRAS-2015-27(4)-3



Creative Commons License
Контент доступен под лицензией Creative Commons Attribution 4.0 License.


ISSN 2079-8156 (Print)
ISSN 2220-6426 (Online)