<?xml version="1.0" encoding="ISO-8859-1"?><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">
<front>
<journal-meta>
<journal-id>2227-1899</journal-id>
<journal-title><![CDATA[Revista Cubana de Ciencias Informáticas]]></journal-title>
<abbrev-journal-title><![CDATA[Rev cuba cienc informat]]></abbrev-journal-title>
<issn>2227-1899</issn>
<publisher>
<publisher-name><![CDATA[Editorial Ediciones Futuro]]></publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id>S2227-18992020000200015</article-id>
<title-group>
<article-title xml:lang="es"><![CDATA[Biblioteca en C++ para trabajo con clusters]]></article-title>
<article-title xml:lang="en"><![CDATA[C++ library for work with clusters]]></article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Valdés Díaz]]></surname>
<given-names><![CDATA[Beatriz]]></given-names>
</name>
<xref ref-type="aff" rid="Aff"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Artigas Fuentes]]></surname>
<given-names><![CDATA[Fernando José]]></given-names>
</name>
<xref ref-type="aff" rid="Aff"/>
</contrib>
</contrib-group>
<aff id="Af1">
<institution><![CDATA[,Universidad de Oriente Facultad de Ciencias Naturales y Exactas Departamento de Química]]></institution>
<addr-line><![CDATA[ ]]></addr-line>
<country>Cuba</country>
</aff>
<aff id="Af2">
<institution><![CDATA[,Universidad de Oriente Facultad de Ingeniería en Telecomunicaciones, Informática y Biomédica Centro de Estudios de Neurociencias y Procesamiento de Imágenes y Señales]]></institution>
<addr-line><![CDATA[ ]]></addr-line>
<country>Cuba</country>
</aff>
<pub-date pub-type="pub">
<day>00</day>
<month>06</month>
<year>2020</year>
</pub-date>
<pub-date pub-type="epub">
<day>00</day>
<month>06</month>
<year>2020</year>
</pub-date>
<volume>14</volume>
<numero>2</numero>
<fpage>15</fpage>
<lpage>33</lpage>
<copyright-statement/>
<copyright-year/>
<self-uri xlink:href="http://scielo.sld.cu/scielo.php?script=sci_arttext&amp;pid=S2227-18992020000200015&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://scielo.sld.cu/scielo.php?script=sci_abstract&amp;pid=S2227-18992020000200015&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://scielo.sld.cu/scielo.php?script=sci_pdf&amp;pid=S2227-18992020000200015&amp;lng=en&amp;nrm=iso"></self-uri><abstract abstract-type="short" xml:lang="es"><p><![CDATA[RESUMEN Los clusters de computadoras son importantes para el desarrollo de investigaciones científicas complejas. Estudios realizados evidencian que las herramientas empleadas en el proceso de trabajo con clusters, resultan complicadas para los usuarios menos relacionados con especialidades técnicas. Este trabajo presenta el diseño e implementación de una biblioteca en C++ orientada a los programadores, que organiza el proceso de trabajo con un cluster en una jerarquía de capas. Esto permite que el programador solo haga uso de funciones de alto nivel de abstracción, más cercanas al problema a resolver por el usuario. La biblioteca, además de permitir a los programadores integrar aplicaciones de escritorio específicas de los usuarios con clusters, viabiliza parte del trabajo con estos de forma desatendida y agiliza la realización de estudios de escalabilidad de programas paralelos. Asimismo, especifica los recursos del cluster y características de aplicaciones necesarios para ejecutar los programas mediante recetas predefinidas. Como parte de la implementación se utilizó el componente de gestión de trabajo de la biblioteca GridMD, y las bibliotecas boost_serialization y boost_filesystem. Las pruebas realizadas para comprobar el funcionamiento de la biblioteca sobre un cluster con Linux y Slurm mostraron un buen desempeño sin errores identificados.]]></p></abstract>
<abstract abstract-type="short" xml:lang="en"><p><![CDATA[ABSTRACT Computer clusters are important for the development of complex scientific research. Some studies demonstrate that tools used on clusters are complicated for users less related to technical sciences. This paper presents the design and implementation of a C++ library targeted to programmers, which arranges the work with a cluster into layer architecture. This allows programmers to use high-level abstraction functions, closer to the user's problem to be solved. The library allows not only integrate user´s desktop applications with clusters but also makes part of the work with them in an unattended way and speeds up scalability studies of parallel programs. Likewise, specifies cluster resources and job features required to run the programs by using predefined recipes. As part of the implementation, the job manager component of the GridMD library, and the boost_serialization and boost_filesystem libraries were used. All the tests carried out to the library on a cluster with Linux and Slurm have shown a good performance without identified errors.]]></p></abstract>
<kwd-group>
<kwd lng="es"><![CDATA[Biblioteca]]></kwd>
<kwd lng="es"><![CDATA[cluster]]></kwd>
<kwd lng="es"><![CDATA[arquitectura por capas]]></kwd>
<kwd lng="es"><![CDATA[HPC]]></kwd>
<kwd lng="es"><![CDATA[C++]]></kwd>
<kwd lng="en"><![CDATA[library]]></kwd>
<kwd lng="en"><![CDATA[cluster]]></kwd>
<kwd lng="en"><![CDATA[layered architecture]]></kwd>
<kwd lng="en"><![CDATA[HPC]]></kwd>
<kwd lng="en"><![CDATA[C++]]></kwd>
</kwd-group>
</article-meta>
</front><back>
<ref-list>
<ref id="B1">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Adamantiadis]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
</person-group>
<source><![CDATA[The SSH library.]]></source>
<year>2020</year>
</nlm-citation>
</ref>
<ref id="B2">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Bogdanov]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
</person-group>
<source><![CDATA[User interface for a computational cluster: resource description approach.]]></source>
<year>2017</year>
<page-range>145-9</page-range><publisher-name><![CDATA[CEUR Workshop Proceedings]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B3">
<nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Calegari]]></surname>
<given-names><![CDATA[P]]></given-names>
</name>
<name>
<surname><![CDATA[Levrier]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
<name>
<surname><![CDATA[Balczy&#324;ski]]></surname>
<given-names><![CDATA[P]]></given-names>
</name>
</person-group>
<article-title xml:lang=""><![CDATA[Web Portals for High-performance Computing: A Survey.]]></article-title>
<source><![CDATA[ACM Trans. Web]]></source>
<year>2019</year>
<volume>13</volume>
<numero>1</numero>
<issue>1</issue>
<page-range>2-36</page-range></nlm-citation>
</ref>
<ref id="B4">
<nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Carnevale]]></surname>
<given-names><![CDATA[T]]></given-names>
</name>
</person-group>
<article-title xml:lang=""><![CDATA[The neuroscience gateway portal: High performance computing made easy.]]></article-title>
<source><![CDATA[BMC Neuroscience]]></source>
<year>2014</year>
<volume>15</volume>
<numero>S1</numero>
<issue>S1</issue>
<page-range>101</page-range></nlm-citation>
</ref>
<ref id="B5">
<nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Cruz]]></surname>
<given-names><![CDATA[H]]></given-names>
</name>
</person-group>
<article-title xml:lang=""><![CDATA[Making Supercomputing Available to All Cuban Researchers]]></article-title>
<source><![CDATA[Computing in Science &amp; Engineering]]></source>
<year>2018</year>
<volume>20</volume>
<numero>3</numero>
<issue>3</issue>
<page-range>25-30</page-range></nlm-citation>
</ref>
<ref id="B6">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Golemon]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
</person-group>
<source><![CDATA[libssh2]]></source>
<year>2020</year>
</nlm-citation>
</ref>
<ref id="B7">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Potter]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
</person-group>
<source><![CDATA[ParWeb: a front-end interface for cluster computing.]]></source>
<year>2014</year>
<publisher-loc><![CDATA[Michigan ]]></publisher-loc>
<publisher-name><![CDATA[Honors Theses, Western Michigan University]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B8">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Ragni]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
</person-group>
<source><![CDATA[Force]]></source>
<year>2013</year>
</nlm-citation>
</ref>
<ref id="B9">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Sampedro]]></surname>
<given-names><![CDATA[Z]]></given-names>
</name>
<name>
<surname><![CDATA[Hauser]]></surname>
<given-names><![CDATA[T]]></given-names>
</name>
<name>
<surname><![CDATA[Sood]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
</person-group>
<source><![CDATA[Sandstone HPC: A domain-general gateway for new HPC users.]]></source>
<year>2017</year>
<page-range>33</page-range><publisher-name><![CDATA[Success and Impact. ACM]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B10">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Sarasty]]></surname>
<given-names><![CDATA[H]]></given-names>
</name>
</person-group>
<source><![CDATA[Documentación y análisis de los principales frameworks de arquitectura de software en aplicaciones empresariales.]]></source>
<year>2016</year>
<publisher-name><![CDATA[Universidad Nacional de La Plata]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B11">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Sidhu]]></surname>
<given-names><![CDATA[R]]></given-names>
</name>
</person-group>
<source><![CDATA[Machine Learning Based Datacenter Monitoring Framework.]]></source>
<year>2016</year>
<publisher-name><![CDATA[The University of Texas]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B12">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Sterling]]></surname>
<given-names><![CDATA[T]]></given-names>
</name>
<name>
<surname><![CDATA[Anderson]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
<name>
<surname><![CDATA[Brodowicz]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
</person-group>
<source><![CDATA[Chapter 1 Introduction.]]></source>
<year>2017</year>
<page-range>1-12</page-range><publisher-name><![CDATA[Morgan Kaufmann Publishers Inc]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B13">
<nlm-citation citation-type="">
<collab>Universidad De Oriente</collab>
<source><![CDATA[Guía de Usuario del HPC UO]]></source>
<year>2019</year>
</nlm-citation>
</ref>
<ref id="B14">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Valuev]]></surname>
<given-names><![CDATA[I. A]]></given-names>
</name>
<name>
<surname><![CDATA[Morozov]]></surname>
<given-names><![CDATA[I. V.]]></given-names>
</name>
</person-group>
<source><![CDATA[Managing Dynamical Distributed Applications with GridMD Library.]]></source>
<year>2015</year>
<page-range>272-89</page-range><publisher-name><![CDATA[Springer, Cham]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B15">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Van]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
</person-group>
<source><![CDATA[sshj]]></source>
<year>2020</year>
</nlm-citation>
</ref>
<ref id="B16">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Wu]]></surname>
<given-names><![CDATA[X]]></given-names>
</name>
<name>
<surname><![CDATA[Long]]></surname>
<given-names><![CDATA[X]]></given-names>
</name>
</person-group>
<source><![CDATA[Implementation of a global GPU management plugin for Slurm.]]></source>
<year>2017</year>
<page-range>1-5</page-range><publisher-name><![CDATA[IEEE, Ghaziabad]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B17">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Zadka]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
</person-group>
<source><![CDATA[Paramiko.]]></source>
<year>2019</year>
<page-range>111-9</page-range><publisher-name><![CDATA[Apress]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B18">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Zakarya]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
<name>
<surname><![CDATA[Gillam]]></surname>
<given-names><![CDATA[L]]></given-names>
</name>
</person-group>
<source><![CDATA[Energy efficient computing, clusters, grids and clouds: A taxonomy and survey]]></source>
<year>2017</year>
<volume>14</volume>
<page-range>13-33</page-range><publisher-name><![CDATA[Sustainable Computing: Informatics and Systems]]></publisher-name>
</nlm-citation>
</ref>
</ref-list>
</back>
</article>
