<!DOCTYPE article
PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.4 20190208//EN"
       "JATS-journalpublishing1.dtd">
<article 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" article-type="research-article" dtd-version="1.4" xml:lang="en">
 <front>
  <journal-meta>
   <journal-id journal-id-type="publisher-id">Program systems: theory and applications</journal-id>
   <journal-title-group>
    <journal-title xml:lang="en">Program systems: theory and applications</journal-title>
    <trans-title-group xml:lang="ru">
     <trans-title>Программные системы: теория и приложения</trans-title>
    </trans-title-group>
   </journal-title-group>
   <issn publication-format="print">2079-3316</issn>
  </journal-meta>
  <article-meta>
   <article-id pub-id-type="publisher-id">1274</article-id>
   <article-id pub-id-type="doi">10.12737/2420</article-id>
   <article-categories>
    <subj-group subj-group-type="toc-heading" xml:lang="ru">
     <subject>Программное и аппаратное обеспечение распределенных и суперкомпьютерных систем</subject>
    </subj-group>
    <subj-group subj-group-type="toc-heading" xml:lang="en">
     <subject></subject>
    </subj-group>
    <subj-group>
     <subject>Программное и аппаратное обеспечение распределенных и суперкомпьютерных систем</subject>
    </subj-group>
   </article-categories>
   <title-group>
    <article-title xml:lang="en">Using parallel Batcher sort in Active Storage System</article-title>
    <trans-title-group xml:lang="ru">
     <trans-title>Интеграция алгоритма параллельной сортировки Бэтчера и активной системы хранения данных</trans-title>
    </trans-title-group>
   </title-group>
   <contrib-group content-type="authors">
    <contrib contrib-type="author">
     <name-alternatives>
      <name xml:lang="ru">
       <surname>Тютляева</surname>
       <given-names>Екатерина Олеговна</given-names>
      </name>
      <name xml:lang="en">
       <surname>Tyutlyaeva</surname>
       <given-names>Ekaterina Олеговна</given-names>
      </name>
     </name-alternatives>
     <email>ordi@xgl.pereslavl.ru</email>
    </contrib>
   </contrib-group>
   <pub-date publication-format="print" date-type="pub" iso-8601-date="2013-11-15T00:00:00+04:00">
    <day>15</day>
    <month>11</month>
    <year>2013</year>
   </pub-date>
   <pub-date publication-format="electronic" date-type="pub" iso-8601-date="2013-11-15T00:00:00+04:00">
    <day>15</day>
    <month>11</month>
    <year>2013</year>
   </pub-date>
   <volume>4</volume>
   <issue>4</issue>
   <fpage>127</fpage>
   <lpage>142</lpage>
   <self-uri xlink:href="https://riorpub.com/en/nauka/article/1274/view">https://riorpub.com/en/nauka/article/1274/view</self-uri>
   <abstract xml:lang="ru">
    <p>В статье описан разработанный алгоритм сортировки больших объемов данных при помощи модифицированной версии алгоритма&#13;
параллельной сортировки Бэтчера. Принципиальной новизной полученного решения является интеграция распространенного и доказавшего свою&#13;
эффективность алгоритма параллельной сортировки Бэтчера и концепции&#13;
системы активного хранения на базе библиотеки шаблонных классов TSim&#13;
и кластерной файловой системы Lustre. В статье представлены результаты&#13;
тестирования производительности разработанного алгоритма на реальной&#13;
научной задаче обработки данных сейсмической разведки. Полученные результаты демонстрируют линейное ускорение на задаче, обрабатывающей&#13;
большой (более 100 Гб) массив данных.</p>
   </abstract>
   <trans-abstract xml:lang="en">
    <p>This paper describes a modified parallel Batcher sort algorithm for big data&#13;
processing. The main novelty of implemented sort algorithm is to integrate effective&#13;
parallel batcher sort and Active Storage concept. We use Active Storage based on Lustre&#13;
File System and TSim C++ template library for parallelization. This paper presents&#13;
experimental testing results for scientific processing real seismic data. Presented results&#13;
indicate that described algorithm can reach linear acceleration on sorting big data sets&#13;
(More then 100 Gb).</p>
   </trans-abstract>
   <kwd-group xml:lang="ru">
    <kwd>параллельная сортировка</kwd>
    <kwd>сортировка Бэтчера</kwd>
    <kwd>обработка больших массивов данных</kwd>
    <kwd>активное хранилище</kwd>
    <kwd>распределенная обработка данных.</kwd>
   </kwd-group>
   <kwd-group xml:lang="en">
    <kwd>parallel sort</kwd>
    <kwd>Batcher sort</kwd>
    <kwd>Big data processing</kwd>
    <kwd>Active Storage</kwd>
    <kwd>Distributed data processing.</kwd>
   </kwd-group>
  </article-meta>
 </front>
 <body>
  <p>Работа выполнена в рамках проекта «Методы и программные средства разработки параллельных приложений и обеспечения функционирования вычислительных комплексов и сетей нового поколения».ВведениеСортировка является одной из базовых операций при обработке данных, которая используется в самом широком спектре задач, включая обработку коммерческих, сейсмических, космических и прочих данных. Часто сортировка является просто вспомогательной операцией для упорядочивания данных, упрощения последующих алгебраических действий над данными и т.п.В классическом учебнике [1, стр. 21] Д. Кнута упоминается что «по оценкам производителей компьютеров в 60-х годах в среднем более четверти машинного времени тратилось на сортировку. Во многих вычислительных системах на нее уходит больше половины машинного времени. Исходя из этих статистических данных, можно заключить, что либо (i) сортировка имеет много важных применений,  либо (ii) ею часто пользуются без нужды, либо (iii) применяются в основном неэффективные алгоритмы сортировки». В настоящее время, в связи с экспоненциально возросшими объемами данных, вопрос эффективной сортировки данных снова стал актуальным.Эффективная обработка больших (в несколько десятков Гб) объемов данных на распределенных вычислительных установках требует переработки старых алгоритмов для решения задач минимизации пересылок данных между узлами, эффективного распределения данных по оперативной памяти доступных узлов и эффективного использования доступных вычислительных ресурсов. Наиболее эффективными являются архитектурно-зависимые решения, которые используют преимущества конкретной архитектуры.В настоящее время разработкой эффективных распределенных алгоритмов и реализаций сортировки занимается значительное количество коммерческих и исследовательских команд. К примеру, на сайте [2] можно найти результаты производительности алгоритмов сортировки для ряда ведущих центров данных. При этом используются различные критерии оценки эффективности, например, «количество данных, которое может быть отсортировано за минуту», «время, затрачиваемое на сортировку 1 миллиона записей» и т.п.В данной работе был проведен обзор наиболее популярных методов и алгоритмов параллельной сортировки больших объемов данных. На основании проведенного обзора был разработан новый, эффективный алгоритм сортировки интегрированный с системой активного хранения данных, позволяющей приближать вычисления к местам хранения данных [3]. </p>
 </body>
 <back>
  <ref-list>
   <ref id="B1">
    <label>1.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">Кнут Д. Э., Козаченко Ю. В., Красиков И. В. Искусство программирования: Сортировка и поиск. Классический труд, Т. 3. М. : Вильямс, 2000. -- 824 c.</mixed-citation>
     <mixed-citation xml:lang="en">Knut D. E., Kozachenko Yu. V., Krasikov I. V. Iskusstvo programmirovaniya: Sortirovka i poisk. Klassicheskiy trud, T. 3. M. : Vil&amp;#180;yams, 2000. -- 824 c.</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B2">
    <label>2.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">Sorting Benchmarks, http://sortbenchmark.org/, Дата доступа: 12 ноября 2013.</mixed-citation>
     <mixed-citation xml:lang="en">Sorting Benchmarks, http://sortbenchmark.org/, Data dostupa: 12 noyabrya 2013.</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B3">
    <label>3.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">Тютляева Е. О., Московский А. А., Курин Е. А. Применение концепции активных хранилищ в задачах обработки данных сейсмических наблюдений // Труды Международной суперкомпьютерной конференции «Научный сервис в сети Интернет: поиск новых решений»/ Новороссийск, Россия -- М. : Изд-во МГУ, 2012, c. 350-355.</mixed-citation>
     <mixed-citation xml:lang="en">Tyutlyaeva E. O., Moskovskiy A. A., Kurin E. A. Primenenie kontseptsii aktivnykh khranilishch v zadachakh obrabotki dannykh seysmicheskikh nablyudeniy. Trudy Mezhdunarodnoy superkomp&amp;#180;yuternoy konferentsii «Nauchnyy servis v seti Internet: poisk novykh resheniy»/ Novorossiysk, Rossiya -- M. : Izd-vo MGU, 2012, c. 350-355.</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B4">
    <label>4.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">Якобовский М.В. Параллельные алгоритмы сортировки больших объемов данных // Фундаментальные физико-математические проблемы и моделирование технико-технологических систем: Сб. науч. тр. : Янус-К, 2004, c. 235-249.</mixed-citation>
     <mixed-citation xml:lang="en">Yakobovskiy M.V. Parallel&amp;#180;nye algoritmy sortirovki bol&amp;#180;shikh ob&amp;#180;&amp;#180;emov dannykh. Fundamental&amp;#180;nye fiziko-matematicheskie problemy i modelirovanie tekhniko-tekhnologicheskikh sistem: Sb. nauch. tr. : Yanus-K, 2004, c. 235-249.</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B5">
    <label>5.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">O’Malley O. Terabyte Sort on Apache Hadoop/ Yahoo, 2008, http://sortbenchmark.org/YahooHadoop.pdf, Дата доступа: 12 сентября 2013.</mixed-citation>
     <mixed-citation xml:lang="en">O’Malley O. Terabyte Sort on Apache Hadoop/ Yahoo, 2008, http://sortbenchmark.org/YahooHadoop.pdf, Data dostupa: 12 sentyabrya 2013.</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B6">
    <label>6.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">Munavalli S. M Efficient Algorithms for Sorting on GPUs, Visveswaraiah Technological University, Belgaum, 2012. - 47 p.</mixed-citation>
     <mixed-citation xml:lang="en">Munavalli S. M Efficient Algorithms for Sorting on GPUs, Visveswaraiah Technological University, Belgaum, 2012. - 47 p.</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B7">
    <label>7.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">Satish N., Kim Ch., Chhugani J., Nguyen A. D., Lee V.W., Kim D., Dubey P. Fast sort on CPUs and GPUs: a case for bandwidth oblivious SIMD sort // Proceedings of the 2010 ACM SIGMOD International Conference on Management of Data. SIGMOD ’10 -- New York, NY, USA : ACM, 2010, p. 351-362, http: //doi.acm.org/10.1145/1807167.1807207.</mixed-citation>
     <mixed-citation xml:lang="en">Satish N., Kim Ch., Chhugani J., Nguyen A. D., Lee V.W., Kim D., Dubey P. Fast sort on CPUs and GPUs: a case for bandwidth oblivious SIMD sort. Proceedings of the 2010 ACM SIGMOD International Conference on Management of Data. SIGMOD ’10 -- New York, NY, USA : ACM, 2010, p. 351-362, http: //doi.acm.org/10.1145/1807167.1807207.</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B8">
    <label>8.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">Amato N., Iyer R., Sundaresan Sh., Wu Ya. A Comparison of Parallel Sorting Algorithms on Different Architectures/ Texas A &amp;amp; M University College Station. USA, 1998, Technical Report.</mixed-citation>
     <mixed-citation xml:lang="en">Amato N., Iyer R., Sundaresan Sh., Wu Ya. A Comparison of Parallel Sorting Algorithms on Different Architectures/ Texas A &amp;amp; M University College Station. USA, 1998, Technical Report.</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B9">
    <label>9.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">Sohn A., Kodama Yu. Load Balanced Parallel Radix Sort // International Conference on Supercomputing, 1998, p. 305-312.</mixed-citation>
     <mixed-citation xml:lang="en">Sohn A., Kodama Yu. Load Balanced Parallel Radix Sort. International Conference on Supercomputing, 1998, p. 305-312.</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B10">
    <label>10.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">Bilardi G., Nicolau A. Adaptive Bitonic Sorting: An Optimal Parallel Algorithm for Shared-Memory Machines // SIAM J. Comput., 1989. Vol.18, no. 2, p. 216-228.</mixed-citation>
     <mixed-citation xml:lang="en">Bilardi G., Nicolau A. Adaptive Bitonic Sorting: An Optimal Parallel Algorithm for Shared-Memory Machines. SIAM J. Comput., 1989. Vol.18, no. 2, p. 216-228.</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B11">
    <label>11.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">Frazer W. D., McKellar A.C. Samplesort: A Sampling Approach to Minimal Storage Tree Sorting // J. ACM, July 1970. Vol.17, no. 3, p. 496-507.</mixed-citation>
     <mixed-citation xml:lang="en">Frazer W. D., McKellar A.C. Samplesort: A Sampling Approach to Minimal Storage Tree Sorting. J. ACM, July 1970. Vol.17, no. 3, p. 496-507.</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B12">
    <label>12.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">Московский А. А. Реализация библиотеки для параллельных вычислений на основе шаблонных классов языка С++ // Труды Международной научной конференции «Параллельные вычислительные технологии (ПаВТ’2007)». -- Челябинск : изд. ЮУрГУ, 2007, c. 256.</mixed-citation>
     <mixed-citation xml:lang="en">Moskovskiy A. A. Realizatsiya biblioteki dlya parallel&amp;#180;nykh vychisleniy na osnove shablonnykh klassov yazyka S++. Trudy Mezhdunarodnoy nauchnoy konferentsii «Parallel&amp;#180;nye vychislitel&amp;#180;nye tekhnologii (PaVT’2007)». -- Chelyabinsk : izd. YuUrGU, 2007, c. 256.</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B13">
    <label>13.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">Cohen J. K., Stockwell J. J.W. CWP/SU: Seismic Unix Release 43R3: a free package for seismic research and processing, 2012, http://www.cwp.mines.edu/cwpcodes/, Дата доступа: 12 сентября 2013.</mixed-citation>
     <mixed-citation xml:lang="en">Cohen J. K., Stockwell J. J.W. CWP/SU: Seismic Unix Release 43R3: a free package for seismic research and processing, 2012, http://www.cwp.mines.edu/cwpcodes/, Data dostupa: 12 sentyabrya 2013.</mixed-citation>
    </citation-alternatives>
   </ref>
  </ref-list>
 </back>
</article>
