<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.3 20210610//EN" "JATS-journalpublishing1-3.dtd">
<article article-type="research-article" dtd-version="1.3" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xml:lang="ru"><front><journal-meta><journal-id journal-id-type="publisher-id">intechngu</journal-id><journal-title-group><journal-title xml:lang="ru">Вестник НГУ. Серия: Информационные технологии</journal-title><trans-title-group xml:lang="en"><trans-title>Vestnik NSU. Series: Information Technologies</trans-title></trans-title-group></journal-title-group><issn pub-type="ppub">1818-7900</issn><issn pub-type="epub">2410-0420</issn><publisher><publisher-name>НГУ</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.25205/1818-7900-2018-16-2-78-85</article-id><article-id custom-type="elpub" pub-id-type="custom">intechngu-34</article-id><article-categories><subj-group subj-group-type="heading"><subject>Research Article</subject></subj-group><subj-group subj-group-type="section-heading" xml:lang="ru"><subject>Статьи</subject></subj-group></article-categories><title-group><article-title>РАЗРАБОТКА И РЕАЛИЗАЦИЯ АЛГОРИТМОВ РАЗРЕШЕНИЯ КОНФЛИКТОВ ПО ДОСТУПУ К ПАМЯТИ В ДИНАМИЧЕСКОМ КОМПИЛЯТОРЕ JAVA ДЛЯ ПРОЦЕССОРА «ЭЛЬБРУС»</article-title><trans-title-group xml:lang="en"><trans-title>DEVELOPMENT AND IMPLEMENTATION OF MEMORY DISAMBIGUATION ALGORITHMS IN DYNAMIC JAVA COMPILER FOR ELBRUS PROCESSOR</trans-title></trans-title-group></title-group><contrib-group><contrib contrib-type="author" corresp="yes"><name-alternatives><name name-style="eastern" xml:lang="ru"><surname>Малых</surname><given-names>А. Е.</given-names></name><name name-style="western" xml:lang="en"><surname>Malykh</surname><given-names>A. E.</given-names></name></name-alternatives><email xlink:type="simple">awa149@rambler.ru</email><xref ref-type="aff" rid="aff-1"/></contrib></contrib-group><aff-alternatives id="aff-1"><aff xml:lang="ru"><institution>Новосибирский государственный университет; ООО НЦИТ «УНИПРО»</institution><country>Россия</country></aff><aff xml:lang="en"><institution>Novosibirsk State University; UNIPRO Ltd</institution><country>Russian Federation</country></aff></aff-alternatives><pub-date pub-type="collection"><year>2018</year></pub-date><pub-date pub-type="epub"><day>30</day><month>10</month><year>2020</year></pub-date><volume>16</volume><issue>2</issue><fpage>78</fpage><lpage>85</lpage><permissions><copyright-statement>Copyright &amp;#x00A9; Малых А.Е., 2020</copyright-statement><copyright-year>2020</copyright-year><copyright-holder xml:lang="ru">Малых А.Е.</copyright-holder><copyright-holder xml:lang="en">Malykh A.E.</copyright-holder><license xml:lang="ru" license-type="creative-commons-attribution" xlink:href="https://creativecommons.org/licenses/by/4.0/" xlink:type="simple"><license-p>Данная работа распространяется под лицензией Creative Commons Attribution 4.0.</license-p></license><license xml:lang="en" license-type="creative-commons-attribution" xlink:href="https://creativecommons.org/licenses/by/4.0/" xlink:type="simple"><license-p>This work is licensed under a Creative Commons Attribution 4.0 License.</license-p></license></permissions><self-uri xlink:href="https://intechngu.elpub.ru/jour/article/view/34">https://intechngu.elpub.ru/jour/article/view/34</self-uri><abstract><p>Рассмотрены особенности разработки алгоритмов разрешения конфликтов по доступу к памяти и их реализация в динамическом компиляторе Java для отечественной платформы «Эльбрус». Эти алгоритмы позволяют существенно расширить возможности планировщика инструкций - ключевой оптимизации VLIW-процессоров. В работе исследуются статические и динамические подходы к анализу зависимостей по памяти, и приводится сравнение эффективности реализованных алгоритмов на основе стандартной тестовой сюиты SpecJVM2008.</p></abstract><trans-abstract xml:lang="en"><p>This article describes algorithms for memory disambiguation in dynamic Java compiler for Russian processor Elbrus with their implementation. These algorithms let significantly improve possibilities for instruction scheduler which is a key optimization for VLIW-processors. Static and dynamic approaches for memory disambiguation are described in this work. All implemented algorithms' efficiency is shown based on popular testing suite SpecJVM2008.</p></trans-abstract><kwd-group xml:lang="ru"><kwd>Эльбрус</kwd><kwd>планировщик инструкций</kwd><kwd>оптимизации компилятора</kwd></kwd-group><kwd-group xml:lang="en"><kwd>Java</kwd><kwd>JIT-компилятор</kwd><kwd>Elbrus</kwd><kwd>Java</kwd><kwd>JIT-compiler</kwd><kwd>instruction scheduler</kwd><kwd>compiler optimizations</kwd></kwd-group></article-meta></front><back><ref-list><title>References</title><ref id="cit1"><label>1</label><citation-alternatives><mixed-citation xml:lang="ru">Андреенко С. А. Межблоковое планирование инструкций в динамическом компиляторе java для VLIW-процессора. Новосибирск, 2016. Ghosh, Soumyadeep, Yongjun Park, and Arun Raman. Enabling efficient alias speculation // ACM SIGPLAN Notices. 2015. Vol. 50. No. 5.</mixed-citation><mixed-citation xml:lang="en">Андреенко С. А. Межблоковое планирование инструкций в динамическом компиляторе java для VLIW-процессора. Новосибирск, 2016. Ghosh, Soumyadeep, Yongjun Park, and Arun Raman. Enabling efficient alias speculation // ACM SIGPLAN Notices. 2015. Vol. 50. No. 5.</mixed-citation></citation-alternatives></ref><ref id="cit2"><label>2</label><citation-alternatives><mixed-citation xml:lang="ru">Paleczny M., Vick C., Click C. The Java HotSpot Server Compiler, Sun Microsystems // Java Virtual Machine Researchand Technology Symposium (JVM '01), 2001. Микросхема интегральная 1891ВМ7Я (Система команд): Руководство программиста. ТВГИ.00742-01 33 01-1. Ч. 1.</mixed-citation><mixed-citation xml:lang="en">Paleczny M., Vick C., Click C. The Java HotSpot Server Compiler, Sun Microsystems // Java Virtual Machine Researchand Technology Symposium (JVM '01), 2001. Микросхема интегральная 1891ВМ7Я (Система команд): Руководство программиста. ТВГИ.00742-01 33 01-1. Ч. 1.</mixed-citation></citation-alternatives></ref><ref id="cit3"><label>3</label><citation-alternatives><mixed-citation xml:lang="ru">Общие сведения. Hwu, Wen-Mei W. et al. The superblock: an effective technique for VLIW and superscalar compilation // Instruction-Level Parallelism. Springer, Boston, MA, 1993. Р. 229-248.</mixed-citation><mixed-citation xml:lang="en">Общие сведения. Hwu, Wen-Mei W. et al. The superblock: an effective technique for VLIW and superscalar compilation // Instruction-Level Parallelism. Springer, Boston, MA, 1993. Р. 229-248.</mixed-citation></citation-alternatives></ref><ref id="cit4"><label>4</label><citation-alternatives><mixed-citation xml:lang="ru">Mahlke, Scott A. et al. Effective compiler support for predicated execution using the hyperblock // ACM SIGMICRO Newsletter. IEEE Computer Society Press, 1992. Vol. 23. No. 1-2.</mixed-citation><mixed-citation xml:lang="en">Mahlke, Scott A. et al. Effective compiler support for predicated execution using the hyperblock // ACM SIGMICRO Newsletter. IEEE Computer Society Press, 1992. Vol. 23. No. 1-2.</mixed-citation></citation-alternatives></ref><ref id="cit5"><label>5</label><citation-alternatives><mixed-citation xml:lang="ru">Faraboschi P., Fisher J. A., Young C. Instruction scheduling for instruction level parallel processors // Proceedings of the IEEE. 2001. Vol. 89.11. Р. 1638-1659.</mixed-citation><mixed-citation xml:lang="en">Faraboschi P., Fisher J. A., Young C. Instruction scheduling for instruction level parallel processors // Proceedings of the IEEE. 2001. Vol. 89.11. Р. 1638-1659.</mixed-citation></citation-alternatives></ref><ref id="cit6"><label>6</label><citation-alternatives><mixed-citation xml:lang="ru">Yang T., Gerasoulis A. List scheduling with and without communication delays // Parallel Computing. 1993. Vol. 19.12. P. 1321-1344.</mixed-citation><mixed-citation xml:lang="en">Yang T., Gerasoulis A. List scheduling with and without communication delays // Parallel Computing. 1993. Vol. 19.12. P. 1321-1344.</mixed-citation></citation-alternatives></ref><ref id="cit7"><label>7</label><citation-alternatives><mixed-citation xml:lang="ru">Huang A. S., Slavenburg G., Shen J. P. Speculative disambiguation: A compilation technique for dynamic memory disambiguation // ACM SIGARCH Computer Architecture News. IEEE Computer Society Press, 1994. Vol. 22. No. 2.</mixed-citation><mixed-citation xml:lang="en">Huang A. S., Slavenburg G., Shen J. P. Speculative disambiguation: A compilation technique for dynamic memory disambiguation // ACM SIGARCH Computer Architecture News. IEEE Computer Society Press, 1994. Vol. 22. No. 2.</mixed-citation></citation-alternatives></ref><ref id="cit8"><label>8</label><citation-alternatives><mixed-citation xml:lang="ru">Maalej M. et al. Pointer disambiguation via strict inequalities // Proceedings of the 2017 International Symposium on Code Generation and Optimization. IEEE Press, 2017.</mixed-citation><mixed-citation xml:lang="en">Maalej M. et al. Pointer disambiguation via strict inequalities // Proceedings of the 2017 International Symposium on Code Generation and Optimization. IEEE Press, 2017.</mixed-citation></citation-alternatives></ref><ref id="cit9"><label>9</label><citation-alternatives><mixed-citation xml:lang="ru">Shpeisman T., Lueh G.-Y., Adl-Tabatabai A-R. Just-in-time Java compilation for the Itanium/spl reg/processor // Parallel Architectures and Compilation Techniques. Proceedings International Conference. IEEE, 2002.</mixed-citation><mixed-citation xml:lang="en">Shpeisman T., Lueh G.-Y., Adl-Tabatabai A-R. Just-in-time Java compilation for the Itanium/spl reg/processor // Parallel Architectures and Compilation Techniques. Proceedings International Conference. IEEE, 2002.</mixed-citation></citation-alternatives></ref><ref id="cit10"><label>10</label><citation-alternatives><mixed-citation xml:lang="ru">Péricles A. et al. Runtime pointer disambiguation // ACM SIGPLAN Notices. 2015. Vol. 50. No. 10.</mixed-citation><mixed-citation xml:lang="en">Péricles A. et al. Runtime pointer disambiguation // ACM SIGPLAN Notices. 2015. Vol. 50. No. 10.</mixed-citation></citation-alternatives></ref><ref id="cit11"><label>11</label><citation-alternatives><mixed-citation xml:lang="ru">Gallagher D., Chen W., Mahlke S., Gyllenhaal J., Hwu W. Dynamic Memory Disambiguation Using the Memory ConflictBuffer // ASPLOS-VI Proceedings. Center for Reliable and High-Performance Computing, University of Illinois, 1994.</mixed-citation><mixed-citation xml:lang="en">Gallagher D., Chen W., Mahlke S., Gyllenhaal J., Hwu W. Dynamic Memory Disambiguation Using the Memory ConflictBuffer // ASPLOS-VI Proceedings. Center for Reliable and High-Performance Computing, University of Illinois, 1994.</mixed-citation></citation-alternatives></ref></ref-list><fn-group><fn fn-type="conflict"><p>The authors declare that there are no conflicts of interest present.</p></fn></fn-group></back></article>
