viernes, 9 de marzo de 2012

Computación distribuida en Python usando Pyro

¿Que es Pyro?
Pyro es una librería de python que podemos utilizar para nuestro proyecto de la materia de paralelos y distribuidos, ya que nos permite construir aplicaciones en donde podemos crear objetos que se comuniquen entre ellos mismos atraves de la red, de una manera relativamente fácil.


Podemos hacer llamadas de métodos normales de Python, con casi cualquier parámetro posible y obtendremos una respuesta, con Pyro lo que hace es localizar el objeto para poder ejecutar el método, por lo que tendremos un conjunto de herramientas permitiendonos construir aplicaciones distribuidas muy fácilmente.


Pyro está escrito 100% en python.


Para instalar Pyro simplemente lo puedes descargar desde su pagina (aquí)
Ahí mismo pueden encontrar la documentación la cual viene muy completa.


Según la documentación de Pyro tienen algunos benchmark usando su código.


"2000 connections in 1.139 sec = 1756 conn/sec
2000 new proxy calls in 1.451 sec = 1378 calls/sec
10000 calls in 1.058 sec = 9452 calls/sec" [Aquí has info] 
 Por lo que podemos ver que es relativamente rápido.


Mi aportación de esta semana consiste en realizar un programa utilizando esta librería, para ello hice un código en el cual se hacen llamadas para obtener las funciones trigonométricas.


Para eso, primero que nada realicé un código que me devolviera dichos valores.






Luego necesitamos un servidor, para el cual utilizo las librerías de Pyro.





Y por ultimo el cliente





Por lo que, necesitamos para correrlo, primeramente nombrar el servidor, por lo que vamos a poner en el terminar, en la carpeta donde tengas el código "pyro-ns"




Luego en otra terminal vamos a ejecutar el servidor.




Y en otra terminal vamos a ejecutar el cliente el cual llama a las funciones trigonométricas.




Aquí podemos ver las tres terminales, para que también puedan ejecutarlo.




Como ven es muy sencillo, con esto podemos hacer lo que vimos en clase de RMI, al igual que hacer el computo PI o mandar mensajes.


Esto es todo por mi parte.

1 comentario:

  1. Muy bien :) Te voy a correr dos de los puntos extra que tienes en espera en esta semana para una semana futura para subirte algo de puntos de lab por esta aportación. Ahora que ya está el Wiki en línea otra vez, pon algo de esto ahí por favor.

    ResponderEliminar