Parallel Python-sistemas Operativos Avanzados

download Parallel Python-sistemas Operativos Avanzados

of 21

Transcript of Parallel Python-sistemas Operativos Avanzados

ParallelPython

SISTEMAS OPERATIVOS AVANZADOS - Muccela, Jos Daniel

SISTEMAS OPERATIVOS AVANZADOS

Tema:

ParallelPythonParallelPython ParallelKnoppix

Alumnos: Muccela, Jos Daniel Legajo: 20196

Profesor: Ing. Ricardo Adra

Facultad Regional Tucumn Universidad Tecnolgica Nacional

FRT - UTN

-2-

SISTEMAS OPERATIVOS AVANZADOS - Muccela, Jos Daniel

Introduccin a Python Qu es Python?Python es un lenguaje de programacin creado por Guido van Rossum a principios de los aos 90 cuyo nombre est inspirado en el grupo de cmicos ingleses Monty Python. Es un lenguaje similar a Perl, pero con una sintaxis muy limpia y que favorece un cdigo legible. Se trata de un lenguaje interpretado o de script, con tipado dinmico, fuertemente tipado, multiplataforma y orientado a objetos.

Tipado dinmicoLa caracterstica de tipado dinmico se refiere a que no es necesario declarar el tipo de dato que va a contener una determinada variable, sino que su tipo se determinar en tiempo de ejecucin segn el tipo del valor al que se asigne, y el tipo de esta variable puede cambiar si se le asigna un valor de otro tipo.

Fuertemente tipadoNo se permite tratar a una variable como si fuera de un tipo distinto al que tiene, es necesario convertir de forma explcita dicha variable al nuevo tipo previamente. Por ejemplo, si tenemos una variable que contiene un texto (variable de tipo cadena o string) no podremos tratarla como un nmero (sumar la cadena 9 y el nmero 8). En otros lenguajes el tipo de la variable cambiara para adaptarse al comportamiento esperado, aunque esto es ms propenso a errores.

MultiplataformaEl intrprete de Python est disponible en multitud de plataformas (UNIX, Solaris, Linux, DOS, Windows, OS/2, Mac OS, etc.) por lo que si no utilizamos libreras especficas de cada plataforma nuestro programa podr correr en todos estos sistemas sin grandes cambios.

Orientado a objetosLa orientacin a objetos es un paradigma de programacin en el que los conceptos del mundo real relevantes para nuestro problema se trasladan a clases y objetos en nuestro programa. La ejecucin del Programa consiste en una serie de interacciones entre los objetos.

FRT - UTN

-3-

SISTEMAS OPERATIVOS AVANZADOS - Muccela, Jos Daniel

Python tambin permite la programacin imperativa, programacin funcional y Programacin orientada a aspectos.

Por Qu Python?Python es un lenguaje que todo el mundo debera conocer. Su sintaxis simple, clara y sencilla; el tipado dinmico, el gestor de memoria, la gran cantidad de libreras disponibles y la potencia del lenguaje, entre otros, hacen que desarrollar una aplicacin en Python sea sencillo, muy rpido y, lo que es ms importante, divertido. La sintaxis de Python es tan sencilla y cercana al lenguaje natural que los programas elaborados en Python parecen pseudocdigo. Por este motivo se trata adems de uno de los mejores lenguajes para comenzar a programar. Python no es adecuado sin embargo para la programacin de bajo nivel o para aplicaciones en las que el rendimiento sea crtico. Algunos casos de xito en el uso de Python son Google, Yahoo, la NASA, Industrias Light & Magic, y todas las distribuciones Linux, en las que Python cada vez representa un tanto por ciento mayor de los programas disponibles.

Instalacin de PythonPython viene preinstalado por defecto en la mayora las distribuciones de Linux y en las ltimas versiones de Mac OS, y est disponible como un paquete en todos los otros. Sin embargo hay ciertos rasgos que quisiramos usar los cuales no estn disponibles en el paquete de su distribucin. Usted puede compilar la ltima versin de Python fcilmente desde su sitio Web. http://www.python.org/ En caso de que Python no este preinstalado y tampoco est en los repositorios, usted puede conseguir los paquetes fcilmente para su propia distribucin. Para comprobar si est instalado tiene que abrir una terminal y escribir python. Si est instalado se iniciar la consola interactiva de Python y obtendremos algo parecido a lo siguiente:Python 2.5.1 (r251:54863, May 2 2007, 16:56:35) [GCC 4.1.2 (Ubuntu 4.1.2-0ubuntu4)] on linux2 Type help, copyright, credits or license for more information. >>>

FRT - UTN

-4-

SISTEMAS OPERATIVOS AVANZADOS - Muccela, Jos Daniel

La primera lnea nos indica la versin de Python que tenemos instalada. Al final podemos ver el prompt (>>>) que nos indica que el intrprete est esperando cdigo del usuario. Podemos salir escribiendo exit(), o pulsando Control + D. Si no te muestra algo parecido no te preocupes, instalar Python es muy sencillo. Puedes descargar la versin correspondiente a tu sistema operativo desde la web de Python, en http://www.python.org/download/. Existen instaladores para Windows y Mac OS. Si utilizas Linux es muy probable que puedas instalarlo usando la herramienta de gestin de paquetes de tu distribucin, aunque tambin podemos descargar la aplicacin compilada desde la web de Python.Nota: Los ejemplos mostrados en este trabajo se realizaron utilizando la distribucin Ubuntu de Linux. Dicha distribucin se ejecut usando una mquina virtual (en nuestro caso: VMware Workstation).

Forma de Programar con Python Existen dos formas de ejecutar cdigo Python:Podemos escribir lneas de cdigo en el intrprete y obtener una respuesta del intrprete para cada lnea (sesin interactiva). Al escribir una lnea de cdigo y presionar Enter, el interprete de Python toma la lnea y la evala.

Resultado de ejecutar el cdigo

Escribimos nuestro cdigo y luego presionamos enter

FRT - UTN

-5-

SISTEMAS OPERATIVOS AVANZADOS - Muccela, Jos Daniel

Podemos escribir el cdigo de un programa en un archivo de texto y ejecutarlo desde el Terminal de Linux.

Llamamos al interprete Python y especificamos el programa a ejecutar y luego presionamos enter

Pros y Contras de Python VentajasDesarrollo ms rpido: Puedes escribir un programa, salvarlo y ejecutarlo. En un lenguaje compilado tienes que pasar por los pasos de compilar y ligar el software, lo cual puede ser un proceso lento. Multiplataforma: El mismo cdigo funciona en cualquier arquitectura, la nica condicin es que disponga del intrprete del lenguaje. No es necesario compilar el cdigo una vez para cada arquitectura.

InconvenientesLentitud: Los programas interpretados son ms lentos que los compilados. Sin embargo los programas interpretados suelen ser cortos, en los que la diferencia es inapreciable.

FRT - UTN

-6-

SISTEMAS OPERATIVOS AVANZADOS - Muccela, Jos Daniel

IndentacionesPython usa el retorno de carro para separar sentencias y los dos puntos y el sangrado para separar bloques de cdigo. C++ y Java usan el punto y coma ( ; ) para separar sentencias y las llaves ( { } ) para separar bloques de cdigo. Python usa la indentacin para iniciar y finalizar sentencias.

Python y otros lenguajesPython puede trabajar en conjunto con una variedad de lenguajes y motores de base de datos, entre los que se pueden mencionar: Lamp (conjunto de aplicaciones compuesto por Linux+MySQL+Apache+Php Perl Python Ruby)

FRT - UTN

-7-

SISTEMAS OPERATIVOS AVANZADOS - Muccela, Jos Daniel

Python + PHP

Python + PostgreSQL

Python + MySQL

Punto py (.py)Hay un convenio por el que los ficheros que contienen programas Python tienen extensin py en su nombre. La extensin de un nombre de fichero son los caracteres del mismo que suceden al (ltimo) punto. Un fichero llamado ejemplo.py tiene extensin py. La idea de las extensiones viene de antiguo y es un mero convenio. Puedes prescindir de el, pero no es conveniente. En entornos grficos (como KDE, Gnome o Microsoft Windows) la extensin se utiliza para determinar qu icono va asociado al fichero y qu aplicacin debe arrancarse para abrir el fichero al hacer clic (o doble clic) en el mismo.

FRT - UTN

-8-

SISTEMAS OPERATIVOS AVANZADOS - Muccela, Jos Daniel

Implementaciones de Python Python posee diversas implementaciones:CPython es la implementacin original, disponible para varias plataformas en el sitio oficial de Python. IronPython es una implementacin del intrprete Python (cPython) escrita totalmente en C#. El proyecto trata de seguir al pie de la letra el lenguaje Python, como implementacin de Python que es. Esto hace que cualquier programa escrito en Python pueda ser interpretado con IronPython, con las ventajas aadidas de poder usar las bibliotecas de la plataforma .NET y poder compilar el cdigo a bytecode Stackless Python es la variante de CPython que trata de no usar el stack de C (www.stackless.com) Jython (Python en Java) es un lenguaje de programacin de alto nivel, dinmico y orientado a objetos basado en Python e implementado en Java (100%), su antecesor fue JPython, Jython al igual que Python es un proyecto de cdigo libre. El lenguaje de programacin Jython funciona prcticamente igual que el lenguaje Python, en su versin 2.2.

Pippy es la implementacin realizada para Palm (pippy.sourceforge.net) PyPy es Python totalmente escrito en Python (codespeak.net/pypy) El proyecto PyPy pretende producir una versin optimizada y ms rpida de Python. De acuerdo a lo que se ha sealado en algunas listas de correo, una consecuencia de este proyecto es que se minimizarn las diferencias entre diferentes implementaciones como python, jython e ironpython, por ejemplo, y que ser ms sencillo usar python en sistemas empotrados como mviles y PDAs.

Sistema de objetosEn Python, todo es un objeto (incluso las clases). Las clases, al ser objetos, son instancias de una metaclase. Python adems soporta herencia mltiple y polimorfismo y dems caractersticas de la orientacin a objetos.

FRT - UTN

-9-

SISTEMAS OPERATIVOS AVANZADOS - Muccela, Jos Daniel

Python y sus librerasEl intrprete de Python y su extensa biblioteca estndar estn disponibles libremente, en forma de fuentes o ejecutables, para las plataformas ms importantes, en la sede web de Python, http://www.python.org, y se pueden distribuir libremente. La misma sede contiene tambin distribuciones y direcciones de muchos mdulos, programas y herramientas Python de terceras partes, adems de documentacin adicional. Python permite dividir un programa en mdulos reutilizables desde otros programas en Python. Viene con una gran coleccin de mdulos estndar que puedes utilizar como base de nuestros programas (o como ejemplos para empezar a aprender Python). Tambin hay mdulos incluidos que proporcionan E/S de ficheros, llamadas al sistema, sockets y hasta interfaces grficas con el usuario, como Tk.

Python y sus mdulosnumerical python pygtk pyqt tkinter wxpython email doctest mailbox codecs cProfile msilib pkgutil pybench socket spwd tarfile zipfile zlib collections

Ejemplo:Usando el editor y ejecutando desde Terminal:

FRT - UTN

-10-

SISTEMAS OPERATIVOS AVANZADOS - Muccela, Jos Daniel

Parallel Python Qu es Parallel Python?Parallel Python es un mdulo de Python que proporciona el mecanismo para la ejecucin en paralelo de cdigo Python en SMP (sistemas con mltiples procesadores) y Clusters (ordenadores conectados va red), es ligero, fcil para la instalacin y tiene la posibilidad de integrarse con otro software creado en Python. Hoy en da el software escrito en Python encuentra una amplia gama de categoras incluyendo los negocios, el anlisis de datos y clculos cientficos. Esto junto con la amplia disponibilidad de ordenadores SMP y de Clusters en el mercado crea la demanda para la ejecucin paralela de cdigo Python.

Caractersticas1. Ejecucin paralela de Python en SMP (Sistema de MultiProcesamiento) y Clusters. 2. Fcil de entender y poner en prctica la tcnica. 3. Deteccin automtica de la configuracin ptima. 4. Asignacin de procesos dinmicos (el nmero de procesos trabajando puede ser cambiado en el tiempo de ejecucin). 5. Equilibrio de carga dinmico. 6. Autentificacin basada en SHA (Secure Hash Algorithm, Algoritmo de Hash Seguro; es un conjunto de funciones hash diseado por la Agencia de Seguridad Nacional de los Estados Unidos) para conexiones de red. 7. Fcil portabilidad para Windows, Linux, Unix. 8. Open source (cdigo abierto).FRT - UTN

-11-

SISTEMAS OPERATIVOS AVANZADOS - Muccela, Jos Daniel

Qu es un clster?Clster es un grupo de mltiples ordenadores unidos mediante una red de alta velocidad, de tal forma que el conjunto es visto como un nico ordenador, ms potente que los comunes de escritorio. De un cluster se espera que presente combinaciones de los siguientes servicios: Alto rendimiento (High Performance) Alta disponibilidad (High Availability) Equilibrio de carga (Load Balancing) Escalabilidad (Scalability)

La construccin de los ordenadores del cluster es ms fcil y econmica debido a su flexibilidad: pueden tener todos la misma configuracin de hardware y sistema operativo (clster homogneo), diferente rendimiento pero con arquitecturas y sistemas operativos similares (clster semi-homogneo), o tener diferente hardware y sistema operativo (clster heterogneo). Para que un clster funcione como tal, no basta solo con conectar entre s los ordenadores, sino que es necesario proveer un sistema de manejo del clster, el cual se encargue de interactuar con el usuario y los procesos que corren en l para optimizar el funcionamiento. Los nodos que conforman un cluster pueden ser simples ordenadores, sistemas multi-procesador o estaciones de trabajo (Workstations). Cabe aclarar que a la hora de disear un Cluster, los nodos deben tener caractersticas similares, es decir, deben guardar cierta similitud de arquitectura y sistemas operativos, ya que si se conforma un Cluster con Nodos totalmente heterogneos (existe una diferencia grande entre capacidad de procesadores, memoria, HD) ser ineficiente debido a que el middleware (El middleware es un software de conectividad que ofrece un conjunto de servicios que hacen posible el funcionamiento de aplicaciones distribuidas sobre plataformas heterogneas.) delegara o asignara todos los procesos al Nodo de mayor capacidad de Cmputo y solo distribuir cuando este se encuentre saturado de procesos; por eso es recomendable construir un grupo de ordenadores los ms similares posible.

Parallel Knoppix

Logo de Parallel Kanoppix

FRT - UTN

-12-

SISTEMAS OPERATIVOS AVANZADOS - Muccela, Jos Daniel

Qu es Parallel Knoppix?Es una distribucin Linux LiveCD basada en Knoppix, basada a su vez en Debian, que viene preparada para armar un clster de forma rpida y sin tantos detalles de configuracin. ParallelKnoppix es una manera rpida y fcil de crear un cluster de computacin de alto rendimiento. Est diseado para ser fcil de usar, siendo tambin adecuado para trabajos profesionales. De hecho, se puede lograr un trabajo ms serio realizado con ParallelKnoppix usando todas sus alternativas, simplemente porque se gana ms tiempo libre en el uso del cluster, en lugar de tener que instalarlo y administrarlo. ParallelKnoppix sola basarse en la distribucin Knoppix, por lo que ParallelKnoppix nunca habra sido posible sin Knoppix como punto de partida.

ParallelKnoppix + PythonParallelKnoppix facilita la programacin en Python ya que tiene incorporadas la mayora de las libreras necesarias para ejecutar los programas escritos en este lenguaje. En este trabajo se muestran ejemplos de cmo ejecutar un programa escrito en Python de manera muy sencilla. La idea que se persigue es facilitar al desarrollador las tareas relacionadas a las configuraciones del sistema operativo y sus aplicaciones para volcar todo el esfuerzo en la creacin de las lneas de cdigo. Para poder ejecutar nuestros programas de python en ParallelKnoppix es necesaria una configuracin previa. Esta configuracin est orientada a preparar el cluster o SMP para visualizar las virtudes de la programacin en paralelo. Esto es, configurar la cantidad de host disponibles para trabajar con el programa que deseamos ejecutar. Supongamos un sencillo programa; una Suma de nmeros primos. Al ejecutar el mismo usando un cluster, los resultados se obtienen en una menor tiempo que ejecutando el programa en un solo host.

EjemplosPara ejecutar cdigo Python en paralelo dentro de nuestro cluster, lo primero es tener instalado Python y Parallel Python en el host principal y en todos los nodos computacionales de nuestro cluster. Hecho esto, y con nuestro cluster LAM/MPI "lambooted" ejecutaremos ppserver.py en todos los nodos computacionales. Esto se puede hacer de forma sencilla desde el frontend. LAM (Local Area Multicomputer) es un ambiente de programacin de MPI (interfaz de paso de mensajes) y un sistema de desarrollo para las computadoras heterogneas en una red. Con LAM/MPI, un dedicado conjunto de computadoras o una infraestructura de cmputo en red , puede actuar como un simple recurso de cmputo en paralelo.

FRT - UTN

-13-

SISTEMAS OPERATIVOS AVANZADOS - Muccela, Jos Daniel

El entorno LAM/MPI debe ser levantado o buteado antes de que cualquier cliente o aplicacin MPI puede correr. LAM usa un demonio sobre cada nodo para control de procesos, control de meta entorno, y en algunos casos, paso de mensajes. "Butear LAM" se refiere al acto de lanzar ese demonio sobre cada nodo. El comando lamboot es el usado para este fin. En los ejemplos que se muestran a continuacin se explican los pasos que se siguieron para conseguir los resultados. Desde la apertura del sistema operativo dentro de la mquina virtual hasta la ejecucin del programa en python. Ejecutando ParallelKnoppix Primeramente vamos a ejecutar ParallelKanoppix dentro de la mquina virtual. La imagen siguiente muestra la accin.

Una vez cargado el sistema vamos al men de opciones, generalmente ubicado de manera oculta en el sector inferior de la pantalla.

Clic aqu

A continuacin se abrir el explorador Konqueror mostrando el directorio Home.

FRT - UTN

-14-

SISTEMAS OPERATIVOS AVANZADOS - Muccela, Jos Daniel

Aqu hacemos clic en la carpeta Examples. Se visualizarn las carpetas que contiene.

A continuacin hacemos clic en la carpeta Python.

FRT - UTN

-15-

SISTEMAS OPERATIVOS AVANZADOS - Muccela, Jos Daniel

Luego hacemos clic en la carpeta parallelpython.

Lo que se puede ver son archivos de ejemplo para python, especialmente creados para parallelpython. Ahora vamos a abrir una Terminal (Konsole) en este mismo directorio como se puede ver en la siguiente imagen.

FRT - UTN

-16-

SISTEMAS OPERATIVOS AVANZADOS - Muccela, Jos Daniel

Como se puede ver, el prompt (knoppix@1[parallelpython]$) est listo para que ejecutemos alguna accin relacionada con este directorio (/home/knoppix/Examples/Python/parallelpython/). Entonces escribimos el nombre del ejemplo antecediendo la palabra (comando) python. Ejemplo 1: Suma de nmeros primos

Empezaremos con la suma de nmeros primos hasta 100700 (sum_primes.py), lo ejecutaremos usando solo el host principal (un Pentium 3). Para procesar lo solicitado por el programa el host necesitar casi 59 segundos para ejecutar todo el proceso. Veamos el resultado de la ejecucin del programa.Usage: python sum_primes.py [ncpus] [ncpus] - the number of workers to run in parallel, if omitted it will be set to the number of processors in the system Starting pp with 1 workers Sum of primes below 100 is 1060 Sum of primes below 100000 is 454396537 Sum of primes below 100100 is 454996777 Sum of primes below 100200 is 455898156 Sum of primes below 100300 is 456700218 Sum of primes below 100400 is 457603451 Sum of primes below 100500 is 458407033 Sum of primes below 100600 is 459412387 Sum of primes below 100700 is 460217613 Time elapsed: 58.4337880611 s Job execution statistics: job count | % of all jobs | job time sum | time per job | job server 9 | 100.00 | 51.1004 | 5.677823 | local Time elapsed since server creation 58.4621379375

FRT - UTN

-17-

SISTEMAS OPERATIVOS AVANZADOS - Muccela, Jos Daniel

Ahora supongamos que tenemos un cluster compuesto del host principal ms cuatro nodos computacionales (estos nodos son Pentium 2); ahora le costar algo menos de 19 segundos ejecutar el proceso, como se muestra a continuacin:Usage: python sum_primes.py [ncpus] [ncpus] - the number of workers to run in parallel, if omitted it will be set to the number of processors in the system Starting pp with 1 workers Sum of primes below 100 is 1060 Sum of primes below 100000 is 454396537 Sum of primes below 100100 is 454996777 Sum of primes below 100200 is 455898156 Sum of primes below 100300 is 456700218 Sum of primes below 100400 is 457603451 Sum of primes below 100500 is 458407033 Sum of primes below 100600 is 459412387 Sum of primes below 100700 is 460217613 Time elapsed: 18.7660019398 s Job execution statistics: job count | % of all jobs | job time sum | time per job 2 | 22.22 | 18.3807 | 9.190361 2 | 22.22 | 18.5409 | 9.270460 1 | 11.11 | 9.1975 | 9.197520 3 | 33.33 | 14.6504 | 4.883458 1 | 11.11 | 9.2648 | 9.264778 Time elapsed since server creation 18.7660019398

| | | | | |

job server 10.11.12.2:60000 10.11.12.4:60000 10.11.12.5:60000 local 10.11.12.3:60000

Ejemplo 2: Callbacks

Este programa demuestra el cmputo paralelo usando callbacks. El programa calcular la suma parcial 1-1/2+1/3-1/4+1/5-1/6+... (En el lmite es ln(2)). Esto le costar al host principal unos 283 segundos:

Usage: python callback.py [ncpus] [ncpus] - the number of workers to run in parallel, if omitted it will be set to the number of processors in the system Starting pp with 1 workers Partial sum is 0.69314720556 | diff = -2.50000439239e-08 Job execution statistics: job count | % of all jobs | job time sum | time per job | job server 128 | 100.00 | 283.1016 | 2.211731 | local Time elapsed since server creation 283.22504282

FRT - UTN

-18-

SISTEMAS OPERATIVOS AVANZADOS - Muccela, Jos Daniel

Utilizando todos los nodos del cluster, la operacin tardar uno 15 segundos en hacer el clculo.Usage: python callback.py [ncpus] [ncpus] - the number of workers to run in parallel, if omitted it will be set to the number of processors in the system Starting pp with 1 workers Partial sum is 0.69314720556 | diff = -2.50000439239e-08 Job execution statistics: job count | % of all jobs | job time sum | time per job 26 | 20.31 | 14.5316 | 0.558909 27 | 21.09 | 15.0113 | 0.555973 26 | 20.31 | 14.5897 | 0.561143 23 | 17.97 | 14.2961 | 0.621569 26 | 20.31 | 14.5336 | 0.558986 Time elapsed since server creation 15.4670109749

| | | | | |

job server 10.11.12.2:60000 10.11.12.4:60000 10.11.12.5:60000 local 10.11.12.3:60000

Nota: En el CD adjunto se encuentran los archivos de ejemplo en formato de texto (*.txt) y los archivos en formato python (*.py).

FRT - UTN

-19-

SISTEMAS OPERATIVOS AVANZADOS - Muccela, Jos Daniel

ReferenciasPaginas Web visitadas Sitio oficial de Python. Informacin. http://www.python.org/ Este sitio contiene toda la informacin disponible sobre el lenguaje, incluidos los manuales oficiales y por supuesto las versiones disponibles del programa segn la plataforma donde se desee utilizar, listos para descargar. Sitio con informacin sobre LAMP. http://www.noticiasdot.com/publicaciones/2004/0504/1105/noticias110504/noti cias110504-6.htm Sitio para Principiantes http://www.blueportal.org/modules.php?name=News&file=article&sid=5843 Se trata de un link a un libro empieza por lo ms bsico de la programacin en s y despus pasa a explicar la sintaxis de Python con montones de ejemplos. Es el libro idneo para aquel que no sabe programar ningn lenguaje y quiere empezar con Python. El programador experto necesitar ojearlo por encima e ir mirando los ejemplos para ir viendo como se estructura y cul es la sintaxis de Python. Sitio desde donde se descarg la distribucin ParallelKanoppix-2.9. http://pareto.uab.es/mcreel/PelicanHPC/download/ Sitio con Informacin acerca de ParallelKnoppix http://www.icewalkers.com/Linux/Software/527410/ParallelKnoppix.html Sitio oficial de ParallelPython. Informacin y ejemplos. http://www.parallelpython.com/

Documentacin Consultada Python - Reference manual (2004). En ingls. Por Guido van Rossum Fred L. Drake, Jr. Descargado del sitio oficial de Python. http://www.python.org/ Manual Python. En espaol. Descargado del sitio oficial de Python. http://www.python.org/ Python para todos. Por Ral Gonzlez Duque http://mundogeek.net/tutorial-python/ ParallelKnoppix Tutorial http://pareto.uab.es/mcreel/ParallelKnoppix/Tutorial/FRT - UTN

-20-

SISTEMAS OPERATIVOS AVANZADOS - Muccela, Jos Daniel

INDICE Pgina 3 3 3 3 3 4 4 5 6 7 7 8 9 9 10 10 10 11 11 12 12 13 13 13 14 17 18 20 21 Contenido Introduccin a Python - Qu es Python? Tipado dinmico Fuertemente tipado Multiplataforma Orientado a objetos Por Qu Python? Instalacin de Python Forma de Programar con Python Pros y Contras de Python Indentaciones Python y otros lenguajes Punto py (.py) Implementaciones de Python Sistema de objetos Python y sus libreras Python y sus mdulos Ejemplo de programa en Python Parallel Python - Qu es Parallel Python? Caractersticas de ParallelPython Qu es un clster? Parallel Knoppix Qu es Parallel Knoppix? ParallelKnoppix + Python Ejemplos - pasos previos Ejecutando ParallelKnoppix Ejemplo 1: Suma de nmeros primos Ejemplo 2: Callbacks Referencias Indice

FRT - UTN

-21-