Download Introducción

Document related concepts
no text concepts found
Transcript
Capacidad de procesamiento del compilador Python para el Sistema Operativo
Windows y Linux
Stiven Unsihuay, Paulo Pereira, Norma León
[email protected], [email protected], [email protected]
Resumen
El presente trabajo consiste en medir la capacidad de procesamiento de archivos
científicos en computadoras personales con sistemas operativos Windows, Linux y
con el lenguaje de programación Python, para identificar los tiempos de respuesta
de cada plataforma y conocer el peso de un archivo que necesariamente debe
procesarse en un clúster.
El método empleado tiene cuatro etapas, preparación de archivos de texto con
pesos diferentes, configuración de las Pc con ambos sistemas operativos,
construcción del programa para el procesamiento de los archivos y finalmente se
hizo diferentes pruebas para identificar los parámetros de capacidad de las
computadoras para procesar los archivos en sistemas operativos Windows y Linux,
midiéndose el tiempo de procesamiento por cada archivo en cada sistema operativo
identificando los límites de los pesos de los archivos que pueden ser procesados
en una computadora personal o en un clúster de computadoras.
Palabras Clave: archivo, capacidad, clúster, medir, procesamiento.
Introducción
Los datos científicos hoy en día necesitan sistemas computacionales más
poderosos, por la dimensión de la data, los científicos de cualquier rama necesitan
de la programación paralela para la solución de sus problemas. Para solventar
estas necesidades se requiere investigar y desarrollar sistemas computacionales
automatizados avanzados con calidad de eficiencia y objetividad. Por tal motivo la
USMP ha implementado un clúster de computadoras (Zagonzini, Pablo, & Storti,
2004) a fin de soportar las necesidades científicas de los investigadores. De tal
forma se está implementando pruebas en computadoras personales para el
procesamiento de archivos .vcf.
Por lo que identificar el tamaño de los archivos que pueden procesarse en las
computadoras personales fue uno de los principales problemas que se tuvo que
resolver.
La información científica generalmente viene en diversos formatos, para este trabajo
se ha usado el formato estándar de intercambio de información personal,
específicamente tarjetas personales electrónicas .vcf, (Consorcio Versit, 1996).
Las computadoras personales con las que se cuenta en la investigación son Intel(R)
Core (TM)2 Quad CPU con 4.00 GB de RAM, además se tiene un clúster de diez
nodos de computadoras personales Intel core i7 con 16Gb de RAM.
Se ha trabajado con el lenguaje de programación Python, el cual es un lenguaje de
programación interpretado, interactivo y orientado a objetos (Challenger-Pérez, Ivet,
Díaz-Ricardo, & Roberto, 2014) este lenguaje de programación combina el soporte
de módulos, clases, excepciones y tipos de datos de muy alto nivel con una sintaxis
muy clara. Su librería estándar provee acceso al sistema operativo, librerías graficas
e Internet. Su implementación es portable para Linux, Mac y Windows, y es libre
para uso, modificación y redistribución. Actualmente Python es usado por grandes
centros de investigación como el CERN (Organización Europea para la
Investigación Nuclear) y por parte de científicos en ramas como la Bioinformática,
Neurofisiología, Física, Matemáticas entre otros debido a la disponibilidad de
librerías de visualización, procesamiento de señales, estadísticas, álgebra, entre
otros, de fácil utilización y que cuentan con muy buena documentación (Dalcin,
Storti, & Paz, 2010).
Método
Preparación de archivos: se prepararon diversos archivos .vcf con diferentes pesos:
Pequeños (10 Mb), medianos (38 Mb) y grandes (58 Mb).
Configuración de las computadoras personales: se instaló computadoras con
Windows 8.1 con NetBeans IDE 8.0 y Linux Centos 6.5 con NetBeans IDE 6.5.
Construcción del programa para el procesamiento de los archivos en lenguaje
Python 2.6.6 para Linux Centos y 2.7.8 para Windows 8.1
Pruebas, se realizaron diferentes pruebas para identificar los parámetros de
capacidad de cómputo.
Ilustración 1 Archivo de prueba .vcf
Fuente Propia
Ilustración 2 Código para Lectura de Archivos en Python
Fuente Propia
Ilustración 3 Procesamiento de Archivo de prueba
Fuente Propia
 Lectura de Archivos Pequeños
Se logró leer un archivo .vcf de peso 9.6 Mb. en Python 2.7.8 con Netbeans
IDE 8.0 para Windows 8.1, ya que Netbeans IDE 8.0 tiene la capacidad de
58.3 Mb de procesamiento de lectura como máximo.
Peso = 9.58 Mb
Tiempo = 7.44 segundos
Se logró leer un archivo .vcf de peso 9.58 Mb. en Python 2.6.6 con Netbeans
IDE 6.5 para Centos 6.5 distribución de Linux, ya que Netbeans IDE 6.5 tiene
la capacidad de 58.3 Mb de procesamiento de lectura como máximo.
Peso = 9.6 Mib
Tiempo = 5.61 segundos
Se logró leer un archivo .vcf con Python mediante Sistemas Operativos
Windows 8.1 y Linux Centos 6.5.
Windows 8.1 y Python 2.7.8
Linux – Centos 6.5 y Python 2.6.6 x
Peso = 9.58 MB
Peso = 9.6 MiB
Tiempo = 42.8 segundos
Tiempo= 18.81 segundos
Se logró leer un archivo .vcf de peso de 9.58 Mb, con Excel 2013 para el
sistema operativo Windows 8.1 y con Gedit , para Linux Centos 6.5.
Windows 8.1
Linux – Centos 6.5
Peso = 9.58 Mb
Peso = 9,6 MiB
Tiempo = 4.28 segundos
Tiempo = 2.20 segundos
 Lectura de Archivos Medianos
Se logró leer un archivo .vcf de peso 38.3 Mb. en Python 2.7.8 para Netbeans
IDE 8.0 y Windows 8.1, ya que Netbeans IDE 8.0 tiene una capacidad de
58.3 Mb de procesamiento de lectura como máximo.
Peso = 38.3 Mb
Tiempo = 17.64 segundos
Se logró leer un archivo .vcf de peso 38.3 Mb. en Python 2.6.6 con Netbeans
IDE 6.5 para Centos 6.5 distribución de Linux, ya que Netbeans IDE 6.5 tiene
la capacidad de 58.3 Mb de procesamiento de lectura como máximo.
Peso = 38.3 Mib
Tiempo = 13.52 segundos
Se logró leer un archivo .vcf con Python mediante Sistemas Operativos
Windows 8.1 y Linux Centos 6.5.
Windows 8.1 y Python 2.7.8
Linux – Centos 6.5 y Python 2.6.6 x
Peso = 38.3 Mb
Peso = 38.3 Mib
Tiempo = 110.86 segundos
Tiempo = 74.49 segundos
Se logró leer un archivo .vcf de peso de 38.3 Mb. directamente con los
Sistemas Operativos Windows 8.1 y Linux Centos 6.5.
Windows 8.1
Linux – Centos 6.5
Peso = 38.3 Mb
Peso = 38.3 MiB
Tiempo = 12.98 segundos
Tiempo = 7.37 segundos
 Lectura de Archivos Capacidad Máxima
Se logró leer un archivo .vcf de peso 58.3 Mb. en Python 2.7.8 para Netbeans
IDE 8.0 y Windows 8.1, ya que Netbeans IDE 8.0 tiene una capacidad de
58.3 Mb de procesamiento de lectura como máximo.
Peso = 58.3 Mb
Tiempo = 26.74 segundos
Se logró leer un archivo .vcf de peso 58.3 Mb. en Python 2.6.6 con Netbeans
IDE 6.5 para Centos 6.5 distribución de Linux, ya que Netbeans IDE 6.5 tiene
la capacidad de 58.3 Mb de procesamiento de lectura como máximo.
Peso = 58.3 Mib
Tiempo = 22.58 segundos
Se logró leer un archivo .vcf con Python mediante Sistemas Operativos
Windows 8.1 y Linux Centos 6.5.
Windows 8.1 y Python 2.7.8
Peso = 58.3 MB
Tiempo= 279.6 segundos
Linux – Centos 6.5 y Python 2.6.6 x
Peso = 58.3 MiB
Tiempo= 112.58 segundos
Se logró leer un archivo .vcf de peso de 58.3 Mb. directamente con los
Sistemas Operativos Windows 8.1 y Linux Centos 6.5.
Windows 8.1
Linux – Centos 6.5
Peso = 58.3 MB
Peso = 58.3 MiB
Tiempo = 19.86 segundos
Tiempo = 9.42 segundos
300
250
200
150
100
50
0
A. pequeños
A. Medianos
A. Grandes
Python/NetBeans/W8
Python/NetBeans/Centos
Python/Windows
Python/Linux
SO. Linux Centos
SO. Windows
Ilustración 4 Tiempo en seg. de procesamiento de archivos .vcf
Fuente Propia
Lectura de archivos mayores .vcf mediante la consola del sistema operativo y
Python sin el uso de un IDE.
Windows 8.1
Linux – Centos 6.5
Peso = 117 MB
Peso =117.1 MiB
Tiempo= 358.6 segundos
Tiempo= 225.5 segundos
Peso = 1.02 GB
Tiempo= 3612 segundos
Peso = 1.0 GiB
Tiempo= 2038.89 segundos
Conclusión
Se puede observar en el grafico “Tiempo en segundos de procesamiento de
archivos .vcf”, que los archivos .vcf que se abren con Phyton directamente desde la
consola del sistema operativo ya sea Linux o Windows consumen más tiempo en su
lectura.
Los archivos que son procesados con Python sobre el IDE Netbeans en cualquiera
de los sistemas operativos consumen menos tiempo en su lectura que los primeros.
Los archivos que son procesados directamente con el sistema operativo y un
software de lectura son los que consumen muchísimo menos tiempo en su
procesamiento.
Para archivos con capacidad mayor a 58.3 MB el tiempo de procesamiento crece de
manera exponencial, por lo que se recomienda su procesamiento en un clúster y su
código debe realizarse con programación paralela (Almeida, Gimenez, Mantas, &
Vidal, 2007) para una óptima lectura.
Bibliografía
Almeida, F., Gimenez, D., Mantas, J., & Vidal, A. (2007). Introducción a la programación Paralela.
Thomson Paraninfo.
Challenger-Pérez, Ivet, Díaz-Ricardo, Y., & Roberto, B.-G. (2014). El lenguaje de programación
Python/The programming language Python. la Habana.
Consorcio Versit. (1996). La tarjeta de presentación electrónica. Obtenido de
http://www.imc.org/pdi/vcard-21.txt
Dalcin, L., Storti, M., & Paz, R. (2010). DESARROLLO DE APLICACIONES PARALELAS EN PYTHON. Santa
Fé.
Zagonzini, V., Pablo, S., & Storti, m. (2004). Resolución de grandes sistemas de ecuaciones en un
cluster de computadores. Santa Fe.