Metodología para el desarrollo de una distribución GNU/Linux para computación paralela
##plugins.themes.bootstrap3.article.main##
Enviado:
Oct 23, 2017
Publicado: Oct 25, 2017
Publicado: Oct 25, 2017
Resumen
En este artículo se presentan las diferentes etapas de desarrollo para una distribución Linux adaptada a las necesidades de cómputo paralelo enfocada a un entorno académico y científico. Se hace especial énfasis en las metodologías de compilación cruzada y enjaulamiento root (Chroot Jail) utilizando código fuente de los paquetes GNU, permitiendo adecuar la distribución para que realice tareas de alto rendimiento como: proyectos MPI, minería de datos y de simulación enfocados en las ciencias básicas e ingenierías. Se desarrolla la distribución SpicaxOS bajo licenciamiento MIT con el propósito de demostrar las etapas que conlleva desarrollar una distribución GNU/Linux a la medida y las ventajas de ejecutar aplicaciones bajo el paradigma de la programación paralela en base a los resultados de esta investigación.
Palabras clave
compilación cruzada, distribuciones GNU/Linux, programación paralela, SpicaxOS, construcción de distribuciones Linux, kernelDescargas
La descarga de datos todavía no está disponible.
##plugins.themes.bootstrap3.article.details##
Cómo citar
Calderón Gómez, H., & Vargas Lombardo, M. (2017). Metodología para el desarrollo de una distribución GNU/Linux para computación paralela. Prisma Tecnológico, 8(1), 38-44. Recuperado a partir de https://revistas.utp.ac.pa/index.php/prisma/article/view/1531
Citas
(1) J. González, “UPCBLAS: a numerical library for unified parallel C with architecture-aware optimizations,” La Coruña, España, 2012.
(2) J. Esteve y R. Suppi, Administración de Sistemas GNU/Linux, 4 ed., 2014.
(3) G. Beekmans y B. Dubbs, Linux From Scratch, 2016, p. 364.
(4) W. J. Shotts, The Linux Command Line: A Complete Introduction, 1 ed., No Starch Press, 2012, p. 480.
(5) H. Calderón y L. Dominguez, “Desarrollo De Una Distribución Linux Para La Implementación De Aplicaciones Paralelas Científicas De Código Abierto,” Panamá, 2015.
(6) I. Arenaza, “Proyecto escomposlinux: Uso de Listas de Control de Acceso (ACLs) en Linux,” 28 Marzo 2004. (En línea). Available: http://webcache.googleusercontent.com/search?q=cache:http://www.escomposlinux.org/iarenaza/articulo-acls/acls-linux-samba.html. (Último acceso: 23 Agosto 2016).
(7) E. Fernández, “mpi-start and MPI-Utils,” CSIC, 2013.
(8) S. Alexander y Y. Artem, The Parallel Universe: 20 Years of the MPI Standard, Intel, 2014.
(9) B. Schäling, The Boost C++ Libraries, 2 ed., 2014.
(10) K. Ahnert y M. Mulansky, “Odeint – Solving ordinary differential equations in C++,” de Numerical Analysis and applied mathematics: ICNAAM 2011, 2011.
(11) J. Hall, “crear distribuciones a medida,” Linux magazine, p. 90, 2013.
(12) D. Herrera, S. Lambert, Y. Fernández, M. Albalat, J. Castillo, H. Baranda y R. Mejías, “Estado actual de los sistemas de construcción de paquetes en diferentes distribuciones de GNU/Linux,” REVISTA CUBANA DE CIENCIAS INFORMÁTICAS, vol. 6, nº 2, p. 17, 2012.
(13) Linux Foundation, “Linux Foundation: FHS,” 3 Junio 2015. (En línea). Available: https://wiki.linuxfoundation.org/en/FHS. (Último acceso: 31 Julio 2016).
(14) Ubuntu, “Change log for openmpi package in Ubuntu,” 11 Febrero 2017. (En línea). Available: https://launchpad.net/ubuntu/+source/penmpi/+changelog. (Último acceso: 27 Abril 2017).
(15) D. Jansen, “Red Hat Buzilla: Bug 1301533 - mpif90 fails to locate mpi.mod,” 25 Enero 2016. (En línea). Available: https://bugzilla.redhat.com/show_bug.cgi?id=1301533. (Último acceso: 27 Abril 2017).
(16) Open MPI, “Open MPI: Version Timeline,” 21 Marzo 2017. (En línea). Available: https://www.open-mpi.org/software/ompi/versions/timeline.php. (Último acceso: 27 Abril 2017).
(17) Open MPI, “Open MPI: Version Number Methodology,” 27 Julio 2016. (En línea). Available: https://www.open-mpi.org/software/ompi/versions/. (Último acceso: 27 Abril 2017).
(18) Open MPI, “FAQ: Running MPI jobs - 2. What ABI guarantees does Open MPI provide?,” 2016 Julio 21. (En línea). Available: https://www.open-mpi.org/faq/?category=running. (Último acceso: 27 Abril 2017).
(19) C. V. Albalat, “Musicogrames mitjançant les TIC del sistema operatiu LliureX,” Repositori Universitat Jaume I, Valenciana, 2015.
(20) Comunitat Valenciana, “Proyecto LliureX,” Comunitat Valenciana, (En línea). Available: http://mestreacasa.gva.es/web/lliurex/proyecto. (Último acceso: 26 Abril 2017).
(21) PelicanHPC, “PelicanHPC: Features,” Michael Creel, (En línea). Available: http://www.pelicanhpc.org/index.html. (Último acceso: 27 Abril 2017).
(22) KestrelHPC, “What is KestrelHPC?,” (En línea). Available: http://kestrelcluster.github.io/index.html#About. (Último acceso: 17 Abril 2017).
(23) I. Castanos, “ABC GNU/Linux,” (En línea). Available: http://www.ehu.eus/AC/ABC.htm. (Último acceso: 27 Abril 2017).
(24) Rocks, “Rocks: About,” University of California, (En línea). Available: http://www.rocksclusters.org/wordpress/?page_id=48. (Último acceso: 27 Abril 2017).
(25) D. Bovet y M. Cesati, Understanding the Linux Kernel, 3 ed., O'REILLY, 2005, p. 944.
(26) W. Almesberger, “Booting Linux: The History and the Future,” de Proceedings of the Ottawa Linux Symposium, 2000.
(27) J. Rajasekhar y R. Venkatesh, “Efficient initial RAM disk creation”. Estados Unidos Patente US 8468334 B1, 18 Junio 2013.
(28) G. Kroah-Hartman, Linux Kernel in a Nutshell, O'Reilly, 2006, p. 202.
(29) E. López, “GNU/Linux embebido: Compilación cruzada,” 2013. (En línea). Available: http://linuxemb.wikidot.com/tesis-c3. (Último acceso: 30 Julio 2016).
(30) L. McFearin, Encyclopedia of Cryptography and Security: Chroot Jail, Springer, 2011.
(31) D. Morril, Configuración de sistemas Linux, España: Anaya Multimedia, 2002.
(32) Gentoo, “Núcleo/Configuración,” 24 Noviembre 2015. (En línea). Available: https://wiki.gentoo.org/wiki/Kernel/Configuration/es. (Último acceso: 23 Agosto 2016).
(33) P. Calleja, I. Miguel y J. Carmona, “Linux embebido en FPGA para sistemas de monitoreo industrial,” Revista Cubana de Ciencias Informáticas, vol. 7, nº 1, p. 11, 2013.
(34) R. Sánchez, “Estado del arte de los gestores de ventanas en GNU/Linux,” Universitat Oberta de Catalunya, España, 2013.
(35) T. Drilling, Justo Antes de las 5: compilación de software KDE 4.10, Linux magazine, 2013, pp. 24-27.
(36) R. Suvorov, M. Nagappan, A. Hassan, Y. Zou y B. Adams, “An empirical study of build system migrations in practice: Case studies on KDE and the Linux kernel,” de Software Maintenance (ICSM), 2012 28th IEEE International Conference on , Trento, 2012.
(37) B. Barney, “Message Passing Interface (MPI),” Lawrence Livermore National Laboratory, 30 Junio 2016. (En línea). Available: https://computing.llnl.gov/tutorials/mpi/. (Último acceso: 31 Julio 2016).
(38) Open MPI, “Open MPI v.1.8.8 documentation,” Open MPI, 27 julio 2016. (En línea). Available: https://www.open-mpi.org/doc/v1.8/. (Último acceso: 1 agosto 2016).
(39) B. Dubbs, “About SBUs,” Linux From Scratch, 1 Septiembre 2014. (En línea). Available: http://www.linuxfromscratch.org/~bdubbs/about.html. (Último acceso: 23 Agosto 2016).
(40) Linux Foundation, “The Linux Kernel Archives,” 16 Agosto 2016. (En línea). Available: https://cdn.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.6.7. (Último acceso: 17 Agosto 2016).
(2) J. Esteve y R. Suppi, Administración de Sistemas GNU/Linux, 4 ed., 2014.
(3) G. Beekmans y B. Dubbs, Linux From Scratch, 2016, p. 364.
(4) W. J. Shotts, The Linux Command Line: A Complete Introduction, 1 ed., No Starch Press, 2012, p. 480.
(5) H. Calderón y L. Dominguez, “Desarrollo De Una Distribución Linux Para La Implementación De Aplicaciones Paralelas Científicas De Código Abierto,” Panamá, 2015.
(6) I. Arenaza, “Proyecto escomposlinux: Uso de Listas de Control de Acceso (ACLs) en Linux,” 28 Marzo 2004. (En línea). Available: http://webcache.googleusercontent.com/search?q=cache:http://www.escomposlinux.org/iarenaza/articulo-acls/acls-linux-samba.html. (Último acceso: 23 Agosto 2016).
(7) E. Fernández, “mpi-start and MPI-Utils,” CSIC, 2013.
(8) S. Alexander y Y. Artem, The Parallel Universe: 20 Years of the MPI Standard, Intel, 2014.
(9) B. Schäling, The Boost C++ Libraries, 2 ed., 2014.
(10) K. Ahnert y M. Mulansky, “Odeint – Solving ordinary differential equations in C++,” de Numerical Analysis and applied mathematics: ICNAAM 2011, 2011.
(11) J. Hall, “crear distribuciones a medida,” Linux magazine, p. 90, 2013.
(12) D. Herrera, S. Lambert, Y. Fernández, M. Albalat, J. Castillo, H. Baranda y R. Mejías, “Estado actual de los sistemas de construcción de paquetes en diferentes distribuciones de GNU/Linux,” REVISTA CUBANA DE CIENCIAS INFORMÁTICAS, vol. 6, nº 2, p. 17, 2012.
(13) Linux Foundation, “Linux Foundation: FHS,” 3 Junio 2015. (En línea). Available: https://wiki.linuxfoundation.org/en/FHS. (Último acceso: 31 Julio 2016).
(14) Ubuntu, “Change log for openmpi package in Ubuntu,” 11 Febrero 2017. (En línea). Available: https://launchpad.net/ubuntu/+source/penmpi/+changelog. (Último acceso: 27 Abril 2017).
(15) D. Jansen, “Red Hat Buzilla: Bug 1301533 - mpif90 fails to locate mpi.mod,” 25 Enero 2016. (En línea). Available: https://bugzilla.redhat.com/show_bug.cgi?id=1301533. (Último acceso: 27 Abril 2017).
(16) Open MPI, “Open MPI: Version Timeline,” 21 Marzo 2017. (En línea). Available: https://www.open-mpi.org/software/ompi/versions/timeline.php. (Último acceso: 27 Abril 2017).
(17) Open MPI, “Open MPI: Version Number Methodology,” 27 Julio 2016. (En línea). Available: https://www.open-mpi.org/software/ompi/versions/. (Último acceso: 27 Abril 2017).
(18) Open MPI, “FAQ: Running MPI jobs - 2. What ABI guarantees does Open MPI provide?,” 2016 Julio 21. (En línea). Available: https://www.open-mpi.org/faq/?category=running. (Último acceso: 27 Abril 2017).
(19) C. V. Albalat, “Musicogrames mitjançant les TIC del sistema operatiu LliureX,” Repositori Universitat Jaume I, Valenciana, 2015.
(20) Comunitat Valenciana, “Proyecto LliureX,” Comunitat Valenciana, (En línea). Available: http://mestreacasa.gva.es/web/lliurex/proyecto. (Último acceso: 26 Abril 2017).
(21) PelicanHPC, “PelicanHPC: Features,” Michael Creel, (En línea). Available: http://www.pelicanhpc.org/index.html. (Último acceso: 27 Abril 2017).
(22) KestrelHPC, “What is KestrelHPC?,” (En línea). Available: http://kestrelcluster.github.io/index.html#About. (Último acceso: 17 Abril 2017).
(23) I. Castanos, “ABC GNU/Linux,” (En línea). Available: http://www.ehu.eus/AC/ABC.htm. (Último acceso: 27 Abril 2017).
(24) Rocks, “Rocks: About,” University of California, (En línea). Available: http://www.rocksclusters.org/wordpress/?page_id=48. (Último acceso: 27 Abril 2017).
(25) D. Bovet y M. Cesati, Understanding the Linux Kernel, 3 ed., O'REILLY, 2005, p. 944.
(26) W. Almesberger, “Booting Linux: The History and the Future,” de Proceedings of the Ottawa Linux Symposium, 2000.
(27) J. Rajasekhar y R. Venkatesh, “Efficient initial RAM disk creation”. Estados Unidos Patente US 8468334 B1, 18 Junio 2013.
(28) G. Kroah-Hartman, Linux Kernel in a Nutshell, O'Reilly, 2006, p. 202.
(29) E. López, “GNU/Linux embebido: Compilación cruzada,” 2013. (En línea). Available: http://linuxemb.wikidot.com/tesis-c3. (Último acceso: 30 Julio 2016).
(30) L. McFearin, Encyclopedia of Cryptography and Security: Chroot Jail, Springer, 2011.
(31) D. Morril, Configuración de sistemas Linux, España: Anaya Multimedia, 2002.
(32) Gentoo, “Núcleo/Configuración,” 24 Noviembre 2015. (En línea). Available: https://wiki.gentoo.org/wiki/Kernel/Configuration/es. (Último acceso: 23 Agosto 2016).
(33) P. Calleja, I. Miguel y J. Carmona, “Linux embebido en FPGA para sistemas de monitoreo industrial,” Revista Cubana de Ciencias Informáticas, vol. 7, nº 1, p. 11, 2013.
(34) R. Sánchez, “Estado del arte de los gestores de ventanas en GNU/Linux,” Universitat Oberta de Catalunya, España, 2013.
(35) T. Drilling, Justo Antes de las 5: compilación de software KDE 4.10, Linux magazine, 2013, pp. 24-27.
(36) R. Suvorov, M. Nagappan, A. Hassan, Y. Zou y B. Adams, “An empirical study of build system migrations in practice: Case studies on KDE and the Linux kernel,” de Software Maintenance (ICSM), 2012 28th IEEE International Conference on , Trento, 2012.
(37) B. Barney, “Message Passing Interface (MPI),” Lawrence Livermore National Laboratory, 30 Junio 2016. (En línea). Available: https://computing.llnl.gov/tutorials/mpi/. (Último acceso: 31 Julio 2016).
(38) Open MPI, “Open MPI v.1.8.8 documentation,” Open MPI, 27 julio 2016. (En línea). Available: https://www.open-mpi.org/doc/v1.8/. (Último acceso: 1 agosto 2016).
(39) B. Dubbs, “About SBUs,” Linux From Scratch, 1 Septiembre 2014. (En línea). Available: http://www.linuxfromscratch.org/~bdubbs/about.html. (Último acceso: 23 Agosto 2016).
(40) Linux Foundation, “The Linux Kernel Archives,” 16 Agosto 2016. (En línea). Available: https://cdn.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.6.7. (Último acceso: 17 Agosto 2016).