<?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">mais</journal-id><journal-title-group><journal-title xml:lang="ru">Моделирование и анализ информационных систем</journal-title><trans-title-group xml:lang="en"><trans-title>Modeling and Analysis of Information Systems</trans-title></trans-title-group></journal-title-group><issn pub-type="ppub">1818-1015</issn><issn pub-type="epub">2313-5417</issn><publisher><publisher-name>Yaroslavl State University</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.18255/1818-1015-2019-1-39-62</article-id><article-id custom-type="elpub" pub-id-type="custom">mais-1161</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>Computer System Organization</subject></subj-group></article-categories><title-group><article-title>Об одном подходе к построению сетевого процессорного устройства</article-title><trans-title-group xml:lang="en"><trans-title>An Approach to the Construction of a Network Processing Unit</trans-title></trans-title-group></title-group><contrib-group><contrib contrib-type="author" corresp="yes"><contrib-id contrib-id-type="orcid">https://orcid.org/0000-0002-2419-7632</contrib-id><name-alternatives><name name-style="eastern" xml:lang="ru"><surname>Беззубцев</surname><given-names>Станислав Олегович</given-names></name><name name-style="western" xml:lang="en"><surname>Bezzubtsev</surname><given-names>Stanislav O.</given-names></name></name-alternatives><bio xml:lang="ru"><p>технический специалист</p><p>Ленинские горы, 1, стр. 77, г. Москва, 119992 </p></bio><bio xml:lang="en"><p>technical expert</p><p>1, bd. 77 Leninskie Gory, Moscow, 119992</p><p> </p></bio><email xlink:type="simple">stas.bezzubtsev@gmail.com</email><xref ref-type="aff" rid="aff-1"/></contrib><contrib contrib-type="author" corresp="yes"><contrib-id contrib-id-type="orcid">https://orcid.org/0000-0002-5759-3105</contrib-id><name-alternatives><name name-style="eastern" xml:lang="ru"><surname>Васин</surname><given-names>Вячеслав Викторович</given-names></name><name name-style="western" xml:lang="en"><surname>Vasin</surname><given-names>Vyacheslav V.</given-names></name></name-alternatives><bio xml:lang="ru"><p>ведущий программист-разработчик</p><p>Ленинские горы, 1, стр. 77, г. Москва, 119992 </p></bio><bio xml:lang="en"><p>senior software developer</p><p>1, bd. 77 Leninskie Gory, Moscow, 119992</p></bio><email xlink:type="simple">vvasin@arccn.ru</email><xref ref-type="aff" rid="aff-1"/></contrib><contrib contrib-type="author" corresp="yes"><contrib-id contrib-id-type="orcid">https://orcid.org/0000-0001-9940-5822</contrib-id><name-alternatives><name name-style="eastern" xml:lang="ru"><surname>Волканов</surname><given-names>Дмитрий Юрьевич</given-names></name><name name-style="western" xml:lang="en"><surname>Volkanov</surname><given-names>Dmitry Yu.</given-names></name></name-alternatives><bio xml:lang="ru"><p>канд. физ.-мат. наук, доцент</p><p>Ленинские горы, 1, г. Москва, 119991 </p></bio><bio xml:lang="en"><p>PhD, assistant professor</p><p>GSP-1, Leninskie Gory, Moscow, 119991</p></bio><email xlink:type="simple">volkanov@lvk.cs.msu.su</email><xref ref-type="aff" rid="aff-2"/></contrib><contrib contrib-type="author" corresp="yes"><contrib-id contrib-id-type="orcid">https://orcid.org/0000-0001-5725-7040</contrib-id><name-alternatives><name name-style="eastern" xml:lang="ru"><surname>Жайлауова</surname><given-names>Шынар Рустембековна</given-names></name><name name-style="western" xml:lang="en"><surname>Zhailauova</surname><given-names>Shynar R.</given-names></name></name-alternatives><bio xml:lang="ru"><p>аспирант</p><p>Ленинские горы, 1, г. Москва, 119991 Россия</p></bio><bio xml:lang="en"><p>PhD student</p><p>GSP-1, Leninskie Gory, Moscow, 119991</p></bio><email xlink:type="simple">szhaylau@cs.msu.ru</email><xref ref-type="aff" rid="aff-2"/></contrib><contrib contrib-type="author" corresp="yes"><contrib-id contrib-id-type="orcid">https://orcid.org/0000-0003-0883-0116</contrib-id><name-alternatives><name name-style="eastern" xml:lang="ru"><surname>Мирошник</surname><given-names>Владислав Александрович</given-names></name><name name-style="western" xml:lang="en"><surname>Miroshnik</surname><given-names>Vladislav A.</given-names></name></name-alternatives><bio xml:lang="ru"><p>программист-разработчик</p><p>Ленинские горы, 1, г. Москва, 119991</p></bio><bio xml:lang="en"><p>software developer</p><p>GSP-1, Leninskie Gory, Moscow, 119991</p></bio><email xlink:type="simple">miroshnikv@lvk.cs.msu.su</email><xref ref-type="aff" rid="aff-2"/></contrib><contrib contrib-type="author" corresp="yes"><contrib-id contrib-id-type="orcid">https://orcid.org/0000-0001-8351-3191</contrib-id><name-alternatives><name name-style="eastern" xml:lang="ru"><surname>Скобцова</surname><given-names>Юлия Александровна</given-names></name><name name-style="western" xml:lang="en"><surname>Skobtsova</surname><given-names>Yuliya A.</given-names></name></name-alternatives><bio xml:lang="ru"><p>студент-магистр</p><p>Ленинские горы, 1, г. Москва, 119991</p></bio><bio xml:lang="en"><p>M.A. student</p><p>GSP-1, Leninskie Gory, Moscow, 119991</p><p> </p></bio><email xlink:type="simple">xenerizes@lvk.cs.msu.su</email><xref ref-type="aff" rid="aff-2"/></contrib><contrib contrib-type="author" corresp="yes"><contrib-id contrib-id-type="orcid">https://orcid.org/0000-0003-2311-4513</contrib-id><name-alternatives><name name-style="eastern" xml:lang="ru"><surname>Смелянский</surname><given-names>Руслан Леонидович</given-names></name><name name-style="western" xml:lang="en"><surname>Smeliansky</surname><given-names>Ruslan L.</given-names></name></name-alternatives><bio xml:lang="ru"><p>чл.-кор. РАН, д-р физ.-мат. наук, проф.</p><p>Ленинские горы, 1, г. Москва, 119991 </p></bio><bio xml:lang="en"><p>Corresponding Member of Russian Academy of Sciences, professor, doctor of sciences</p><p>GSP-1, Leninskie Gory, Moscow, 119991</p></bio><email xlink:type="simple">smel@cs.msu.su</email><xref ref-type="aff" rid="aff-2"/></contrib></contrib-group><aff-alternatives id="aff-1"><aff xml:lang="ru"><institution>Центр прикладных исследований компьютерных сетей</institution><country>Россия</country></aff><aff xml:lang="en"><institution>Applied Research Center for Computer Networks</institution><country>Russian Federation</country></aff></aff-alternatives><aff-alternatives id="aff-2"><aff xml:lang="ru"><institution>Московский государственный университет имени М.В. Ломоносова</institution><country>Россия</country></aff><aff xml:lang="en"><institution>Lomonosov Moscow State University</institution><country>Russian Federation</country></aff></aff-alternatives><pub-date pub-type="collection"><year>2019</year></pub-date><pub-date pub-type="epub"><day>15</day><month>03</month><year>2019</year></pub-date><volume>26</volume><issue>1</issue><fpage>39</fpage><lpage>62</lpage><permissions><copyright-statement>Copyright &amp;#x00A9; Беззубцев С.О., Васин В.В., Волканов Д.Ю., Жайлауова Ш.Р., Мирошник В.А., Скобцова Ю.А., Смелянский Р.Л., 2019</copyright-statement><copyright-year>2019</copyright-year><copyright-holder xml:lang="ru">Беззубцев С.О., Васин В.В., Волканов Д.Ю., Жайлауова Ш.Р., Мирошник В.А., Скобцова Ю.А., Смелянский Р.Л.</copyright-holder><copyright-holder xml:lang="en">Bezzubtsev S.O., Vasin V.V., Volkanov D.Y., Zhailauova S.R., Miroshnik V.A., Skobtsova Y.A., Smeliansky R.L.</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://www.mais-journal.ru/jour/article/view/1161">https://www.mais-journal.ru/jour/article/view/1161</self-uri><abstract><p>В работе предложена архитектура и основные требования к сетевому процессору для OpenFlow коммутаторов программно-конфигурируемых сетей (ПКС). Представлен анализ архитектур известных сетевых процессоров – NP-5 компании EZchip (в настоящее время Mellanox) и Tofino компании Barefoot Networks. Рассмотрены достоинства и недостатки двух разных вариантов архитектур сетевого процессора: на основе конвейеров, ячейки которых представлены набором процессорных ядер общего назначения, и на основе конвейеров, ячейкам которых соответствуют ядра, специализированные под конкретные операции обработки пакета. На основе выделенного набора наиболее общих сценариев обработки пакетов предложена новая архитектура сетевого процессорного устройства (СПУ) с функционально специализированными ячейками (стадиями) конвейера. В статье представлено описание имитационной модели СПУ предложенной архитектуры. Имитационная модель построена на языке C++ с использованием открытой библиотеки SystemC. Для проведения функционального тестирования полученной модели СПУ были реализованы описанные сценарии обработки пакетов на языке С. Для оценки производительности предложенной архитектуры СПУ в ходе исследования были использованы программные средства компании KM211, а также семейство микроконтроллеров KMX32. Оценка производительности СПУ проводилась на основе имитационной модели. Получены оценки времени обработки одного пакета и средняя пропускная способность модели СПУ для каждого сценария. Эти оценки показали, что полученная скорость СПУ позволяет их использование в коммутаторах уровня распределения (агрегации).</p></abstract><trans-abstract xml:lang="en"><p>The paper proposes the architecture and basic requirements for a network processor for OpenFlow switches of software-defined networks. An analysis of the architectures of well-known network processors is presented − NP-5 from EZchip (now Mellanox) and Tofino from Barefoot Networks. The advantages and disadvantages of two different versions of network processor architectures are considered: pipeline-based architecture, the stages of which are represented by a set of general-purpose processor cores, and pipeline-based architecture whose stages correspond to cores specialized for specific packet processing operations. Based on a dedicated set of the most common use case scenarios, a new architecture of the network processor unit (NPU) with functionally specialized pipeline stages was proposed. The article presents a description of the simulation model of the NPU of the proposed architecture. The simulation model of the network processor is implemented in C ++ languages using SystemC, the open-source C++ library. For the functional testing of the obtained NPU model, the described use case scenarios were implemented in C. In order to evaluate the performance of the proposed NPU architecture a set of software products developed by KM211 company and the KMX32 family of microcontrollers were used. Evaluation of NPU performance was made on the basis of a simulation model. Estimates of the processing time of one packet and the average throughput of the NPU model for each scenario are obtained.</p></trans-abstract><kwd-group xml:lang="ru"><kwd>сетевое процессорное устройство</kwd><kwd>коммутатор</kwd><kwd>компьютерные сети</kwd><kwd>программно-конфигурируемые сети</kwd><kwd>архитектура компьютера</kwd><kwd>имитационное моделирование</kwd><kwd>протокол OpenFlow</kwd></kwd-group><kwd-group xml:lang="en"><kwd>network processor</kwd><kwd>network processing unit</kwd><kwd>switch</kwd><kwd>computer networks</kwd><kwd>SDN</kwd><kwd>computer architecture</kwd><kwd>simulation modeling</kwd><kwd>Open Flow protocol</kwd></kwd-group><funding-group><funding-statement xml:lang="ru">грант РФФИ (№ 19-07-01076)</funding-statement><funding-statement xml:lang="en">Russian Foundation for Basic Research, Grant No 19-07-01076</funding-statement></funding-group></article-meta></front><back><ref-list><title>References</title><ref id="cit1"><label>1</label><citation-alternatives><mixed-citation xml:lang="ru">Смелянский Р. Л., “Программно-конфигурируемые сети”, Открытые системы. СУБД, 9 (2012), 15–26.</mixed-citation><mixed-citation xml:lang="en">Smeliansky R.L., “Software Defined Network", Open Systems. DBMS, 9 (2012), 15-26, (in Russian).</mixed-citation></citation-alternatives></ref><ref id="cit2"><label>2</label><citation-alternatives><mixed-citation xml:lang="ru">Смелянский Р. Л., “Технологии реализации программно конфигурируемых сетей: Overlay vs OpenFlow”, Журнал сетевых решений LAN, 2014, № 4, 53–55.</mixed-citation><mixed-citation xml:lang="en">Smeliansky R.L., “Tekhnologii realizacii programmno konfiguriruemyh setej: Overlay vs OpenFlow", Zhurnal setevyh reshenij LAN, 2014, № 4, 53-55, (in Russian).</mixed-citation></citation-alternatives></ref><ref id="cit3"><label>3</label><citation-alternatives><mixed-citation xml:lang="ru">Kornaros G., Multi-core embedded systems, Boca Raton, FL: CRC Press, 2010.</mixed-citation><mixed-citation xml:lang="en">Kornaros G., Multi-core embedded systems, Boca Raton, FL: CRC Press, 2010.</mixed-citation></citation-alternatives></ref><ref id="cit4"><label>4</label><citation-alternatives><mixed-citation xml:lang="ru">Cisco Networking Academy, Connecting Networks Companion Guide, Cisco Press, 2014.</mixed-citation><mixed-citation xml:lang="en">Cisco Networking Academy, Connecting Networks Companion Guide, Cisco Press, 2014.</mixed-citation></citation-alternatives></ref><ref id="cit5"><label>5</label><citation-alternatives><mixed-citation xml:lang="ru">EZchip NP-5 Product Brief, http://www.ezchip.com.</mixed-citation><mixed-citation xml:lang="en">EZchip NP-5 Product Brief, http://www.ezchip.com.</mixed-citation></citation-alternatives></ref><ref id="cit6"><label>6</label><citation-alternatives><mixed-citation xml:lang="ru">Bosshart P., et al., “P4: Programming protocol-independent packet processors”, ACM SIGCOMM Computer Communication Review, 44:3 (2014), 87–95.</mixed-citation><mixed-citation xml:lang="en">Bosshart P., et al., “P4: Programming protocol-independent packet processors”, ACM SIGCOMM Computer Communication Review, 44:3 (2014), 87–95.</mixed-citation></citation-alternatives></ref><ref id="cit7"><label>7</label><citation-alternatives><mixed-citation xml:lang="ru">“Tofino: World's fastest P4-programmable Ethernet switch ASICs", Barefoot, https://barefootnetworks.com/products/brief-tofino/.</mixed-citation><mixed-citation xml:lang="en">“Tofino: World's fastest P4-programmable Ethernet switch ASICs", Barefoot, https://barefootnetworks.com/products/brief-tofino/.</mixed-citation></citation-alternatives></ref><ref id="cit8"><label>8</label><citation-alternatives><mixed-citation xml:lang="ru">Kaushalram A., Budiu M., Kim C., Data-plane stateful processing units in packet processing pipelines, US Patent App 14864088, 2017, http://www.freepatentsonline.com/y2017/0093987.html.</mixed-citation><mixed-citation xml:lang="en">Kaushalram A., Budiu M., Kim C., Data-plane stateful processing units in packet processing pipelines, US Patent App 14864088, 2017, http://www.freepatentsonline.com/y2017/0093987.html.</mixed-citation></citation-alternatives></ref><ref id="cit9"><label>9</label><citation-alternatives><mixed-citation xml:lang="ru">Accellera Standarts: SystemC, http://www.accellera.org/downloads/standards/systemc.</mixed-citation><mixed-citation xml:lang="en">Accellera Standarts: SystemC, http://www.accellera.org/downloads/standards/systemc.</mixed-citation></citation-alternatives></ref><ref id="cit10"><label>10</label><citation-alternatives><mixed-citation xml:lang="ru">“Семейство микроконтроллеров KMX32”, http://km211.ru .</mixed-citation><mixed-citation xml:lang="en">“KMX32 family microcontrollers", http://km211.com, (in Russian).</mixed-citation></citation-alternatives></ref><ref id="cit11"><label>11</label><citation-alternatives><mixed-citation xml:lang="ru">Петров И. С., Смелянский Р. Л., “Минимизация группового трафика и обеспечение его отказоустойчивости в программно-конфигурируемых сетях”, Известия Российской академии наук. Теория и системы управления, 2018, № 3, 64–75.</mixed-citation><mixed-citation xml:lang="en">Petrov I. S., Smeliansky R. L., “Minimization of Multicast Trafic and Ensuring Its Fault Tolerance in Software-Defined Networks", Journal of Computer and Systems Sciences International, 57:3 (2018), 407-419.</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>
