<?xml version="1.0" encoding="UTF-8"?>
<article article-type="research-article" dtd-version="1.3" xml:lang="ru" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://metafora.rcsi.science/xsd_files/journal3.xsd">
  <front>
    <journal-meta>
      <journal-id journal-id-type="publisher-id">moitvivt</journal-id>
      <journal-title-group>
        <journal-title xml:lang="ru">Моделирование, оптимизация и информационные технологии</journal-title>
        <trans-title-group xml:lang="en">
          <trans-title>Modeling, Optimization and Information Technology</trans-title>
        </trans-title-group>
      </journal-title-group>
      <issn pub-type="epub">2310-6018</issn>
      <publisher>
        <publisher-name>Издательство</publisher-name>
      </publisher>
    </journal-meta>
    <article-meta>
      <article-id pub-id-type="doi">10.26102/2310-6018/2026.58.7.010</article-id>
      <article-id pub-id-type="custom" custom-type="elpub">2433</article-id>
      <title-group>
        <article-title xml:lang="ru">Двухмоментная оценка совместного исполнения независимых программных последовательностей</article-title>
        <trans-title-group xml:lang="en">
          <trans-title>Two-moment evaluation of joint execution of independent program sequences</trans-title>
        </trans-title-group>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <name-alternatives>
            <name name-style="eastern" xml:lang="ru">
              <surname>Буевич</surname>
              <given-names>Евгений Андреевич</given-names>
            </name>
            <name name-style="western" xml:lang="en">
              <surname>Buevich</surname>
              <given-names>Evgeniy Andreevich</given-names>
            </name>
          </name-alternatives>
          <email>gftregs@gmail.com</email>
          <xref ref-type="aff">aff-1</xref>
        </contrib>
      </contrib-group>
      <aff-alternatives id="aff-1">
        <aff xml:lang="ru">Московский государственный технологический университет “СТАНКИН”</aff>
        <aff xml:lang="en">Moscow State Technological University "STANKIN"</aff>
      </aff-alternatives>
      <pub-date pub-type="epub">
        <day>01</day>
        <month>01</month>
        <year>2026</year>
      </pub-date>
      <volume>1</volume>
      <issue>1</issue>
      <elocation-id>10.26102/2310-6018/2026.58.7.010</elocation-id>
      <permissions>
        <copyright-statement>Copyright © Авторы, 2026</copyright-statement>
        <copyright-year>2026</copyright-year>
        <license license-type="creative-commons-attribution" xlink:href="https://creativecommons.org/licenses/by/4.0/">
          <license-p>This work is licensed under a Creative Commons Attribution 4.0 International License</license-p>
        </license>
      </permissions>
      <self-uri xlink:href="https://moitvivt.ru/ru/journal/article?id=2433"/>
      <abstract xml:lang="ru">
        <p>Компиляция исходного кода на языке высокого уровня в машинный код является NP сложной задачей. Одной из проблем, возникающих в процессе компиляции и имеющих огромное пространство решений, является наличие в коде несвязанных по данным последовательностей операций. В данной работе рассматривается алгоритм поиска оптимального равномерного смешивания произвольных последовательностей инструкций, которые можно представить в виде ациклического связного графа. Целью подобного смешивания является увеличение параллелизма уровня инструкций. Для этого последовательность описывается как вектор случайных величин, каждая из которых характеризует его потребность в определенном ресурсе. Подобное представление позволяет приблизительно оценить математическое ожидание задержек, возникающих при исполнении их смеси, вследствие конкуренции нескольких последовательностей за ресурсы, без выполнения собственно компиляции. Алгоритм оперирует скалярными данными, описывающими последовательности и их комбинации, вместо длинных векторов инструкций. Поиск оптимального разбиения последовательностей на группы выполняется за время O(nk), где n – число последовательностей, а k – некоторое предельное значение числа последовательностей в смеси, зависящее от кода, латентности инструкций и числа регистров. Для вычислительных ядер современных процессоров в большинстве практических задач k не превышает 4.</p>
      </abstract>
      <trans-abstract xml:lang="en">
        <p>Compiling high-level language source code into machine code is an NP-hard problem. One of the problems arising during compilation, which has a huge solution space, is the presence of data-independent sequences of operations in the code. This paper considers an algorithm for finding an optimal uniform mixing of arbitrary instruction sequences, which can be represented as an acyclic connected graph. The purpose of such mixing is to increase the instruction-level parallelism. To this end, a sequence is described as a vector of random variables, each of which characterizes its demand for a specific resource. This representation allows for an approximate estimation of the expected value of delays arising during the execution of their mixture due to competition among several sequences for resources, without actually compiling the code. The algorithm operates on scalar data describing sequences and their combinations, instead of long instruction vectors. The search for the optimal partitioning of sequences into groups is performed in O(nk) time, where n is the number of sequences, and k is some limiting value of the number of sequences in the mixture, depending on the code, instruction latency, and the number of registers. For computing cores of modern processors, in most practical problems k does not exceed 4.</p>
      </trans-abstract>
      <kwd-group xml:lang="ru">
        <kwd>параллелизм уровня инструкций</kwd>
        <kwd>ациклический граф зависимостей</kwd>
        <kwd>алгоритм Рейзера-Лавенберга</kwd>
        <kwd>замкнутая сеть массового обслуживания</kwd>
        <kwd>смешивание кода</kwd>
        <kwd>оптимизация компилятора</kwd>
      </kwd-group>
      <kwd-group xml:lang="en">
        <kwd>instruction-level parallelism</kwd>
        <kwd>acyclic dependence graph</kwd>
        <kwd>Reiser-Lavenberg algorithm</kwd>
        <kwd>closed queueing network</kwd>
        <kwd>code mixing</kwd>
        <kwd>compiler optimization</kwd>
      </kwd-group>
      <funding-group>
        <funding-statement xml:lang="ru">Исследование выполнено без спонсорской поддержки.</funding-statement>
        <funding-statement xml:lang="en">The study was performed without external funding.</funding-statement>
      </funding-group>
    </article-meta>
  </front>
  <back>
    <ref-list>
      <title>References</title>
      <ref id="cit1">
        <label>1</label>
        <mixed-citation xml:lang="ru">Ахо А.В., Лам М.С., Сети Р. и др. Компиляторы: принципы, технологии и инструментарий. 2-е изд. Москва: ООО «И.Д. Вильямс»; 2017. 1184 с.</mixed-citation>
      </ref>
      <ref id="cit2">
        <label>2</label>
        <mixed-citation xml:lang="ru">Логунов Б.А., Харин И.А. Методика разработки скоростного компилятора на основе модифицированного метода оптимизации loop fusion: модели и инструменты его реализации. Computational Nanotechnology. 2023;10(1):103–111. https://doi.org/10.33693/2313-223X-2023-10-1-103-111</mixed-citation>
      </ref>
      <ref id="cit3">
        <label>3</label>
        <mixed-citation xml:lang="ru">Ziraksima M., Lotfi S., Izadkhah H. Loop Fusion Methods: A Critical Review. International Journal of Advanced Research in Computer and Communication Engineering. 2017;6(7):1–8.</mixed-citation>
      </ref>
      <ref id="cit4">
        <label>4</label>
        <mixed-citation xml:lang="ru">Xu R.G., Van Zee F.G., van de Geijn R.A. GEMMFIP: Unifying GEMM in BLIS. arXiv. URL: https://doi.org/10.48550/arXiv.2302.08417 [Accessed 16th May 2026].</mixed-citation>
      </ref>
      <ref id="cit5">
        <label>5</label>
        <mixed-citation xml:lang="ru">Буевич Е.А. Влияние размера образа ключа на производительность хеш-таблиц в современных архитектурах. Моделирование, оптимизация и информационные технологии. 2025;13(3). https://doi.org/10.26102/2310-6018/2025.50.3.014</mixed-citation>
      </ref>
      <ref id="cit6">
        <label>6</label>
        <mixed-citation xml:lang="ru">Carroll S., Ling W.M. A Queuing Model for CPU Functional Unit and Issue Queue Configuration. arXiv. URL: https://doi.org/10.48550/arXiv.1807.08586 [Accessed 16th May 2026].</mixed-citation>
      </ref>
      <ref id="cit7">
        <label>7</label>
        <mixed-citation xml:lang="ru">Вишневский В.М. Теоретические основы проектирования компьютерных сетей. Москва: Техносфера; 2003. 512 с.</mixed-citation>
      </ref>
      <ref id="cit8">
        <label>8</label>
        <mixed-citation xml:lang="ru">Reiser M., Lavenberg S.S. Mean-Value Analysis of Closed Multichain Queuing Networks. Journal of the ACM. 1980;27(2):313–322. https://doi.org/10.1145/322186.322195</mixed-citation>
      </ref>
      <ref id="cit9">
        <label>9</label>
        <mixed-citation xml:lang="ru">Reiser M. A Queueing Network Analysis of Computer Communication Networks with Window Flow Control. IEEE Transactions on Communications. 1979;27(8):1199–1209. https://doi.org/10.1109/TCOM.1979.1094531</mixed-citation>
      </ref>
      <ref id="cit10">
        <label>10</label>
        <mixed-citation xml:lang="ru">Suri R. A Concept of Monotonicity and Its Characterization for Closed Queueing Networks. Operations Research. 1985;33(3):469–703. https://doi.org/10.1287/opre.33.3.606</mixed-citation>
      </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>