Re: Persistent Distributed Objects

2009-10-11 Thread John Haggerty
Does pyro work inside of stackless?

On Sat, Oct 10, 2009 at 9:54 AM, Simon Forman sajmik...@gmail.com wrote:

 On Fri, Oct 9, 2009 at 1:11 AM, John Haggerty bouncy...@gmail.com wrote:
  I am interested in seeing how it would be possible in python to have
  persistent objects (basically be able to save objects midway through a
  computation, etc) and do so across multiple computers.
 
  Something that would allow for memory, disk space, processing power, etc
 to
  be distributed across the nodes not just for number crunching.
 
  So for example a warehouse program started up on 3 machines one for
 adding
  orders, one for searching for orders, one for organizing the warehouse
 and
  them running on a different machine with a single interface.
 
  I've seen evidence about this being done wrt what looks like insanely
  complex stuff on this list but I'm wondering if there is something to do
  this with any number of nodes and just farm out random classes/objects to
  them?


 Check out Pyro (Python Remote Objects): http://pyro.sourceforge.net/

 or perhaps Stackless Python http://www.stackless.com/ (Tasklets can be
 serialized and passed around.)
 --
 http://mail.python.org/mailman/listinfo/python-list

-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Persistent Distributed Objects

2009-10-11 Thread Simon Forman
On Sun, Oct 11, 2009 at 12:46 PM, John Haggerty bouncy...@gmail.com wrote:
 Does pyro work inside of stackless?

I have no idea, but you wouldn't need both.  Only one or the other.

~Simon


 On Sat, Oct 10, 2009 at 9:54 AM, Simon Forman sajmik...@gmail.com wrote:

 On Fri, Oct 9, 2009 at 1:11 AM, John Haggerty bouncy...@gmail.com wrote:
  I am interested in seeing how it would be possible in python to have
  persistent objects (basically be able to save objects midway through a
  computation, etc) and do so across multiple computers.
 
  Something that would allow for memory, disk space, processing power, etc
  to
  be distributed across the nodes not just for number crunching.
 
  So for example a warehouse program started up on 3 machines one for
  adding
  orders, one for searching for orders, one for organizing the warehouse
  and
  them running on a different machine with a single interface.
 
  I've seen evidence about this being done wrt what looks like insanely
  complex stuff on this list but I'm wondering if there is something to do
  this with any number of nodes and just farm out random classes/objects
  to
  them?


 Check out Pyro (Python Remote Objects): http://pyro.sourceforge.net/

 or perhaps Stackless Python http://www.stackless.com/ (Tasklets can be
 serialized and passed around.)
 --
 http://mail.python.org/mailman/listinfo/python-list


-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Persistent Distributed Objects

2009-10-10 Thread OdarR
On 10 oct, 05:39, bouncy...@gmail.com bouncy...@gmail.com wrote:
 Sorry about being interpreted as being vague. `et me try to narrow it down. 
 program a creates objects b c d which each need to use 1 disk space 2 ram 3 
 processor time. I would like to create a heckpoint which would save the work 
 of the object to be later used and then delete it from memory [which I assume 
 from reading about them implimented elsewhere is more or less how they work]. 
 The other part would be to assign the objects via a network depending on the 
 number of network machines. I.e. suppose b c and d see machines e f g on a 
 network they can send those machines objects b c and d and have any work 
 saved on the main machine or local ones. What I was wondering is how would I 
 do that in python. The arbitrary part could be no more complicated than a 
 program where b is calculating a list of prime numbers from x to infinity c 
 is just a notepad program and d is a program that prints say the size of the 
 file as youi type it and says  I like writing a poem of [bytes big] while my 
 computer foun ou that [new prime] is the biggest on [machines #] computers.   
  Rmi supposedly does this for the distribuited part.     Object persistence 
 does this for saving to the best of what I`ve seen nothing distributes and 
 saved at the same time.      Does that help?

hi,

you could imagine architect a system around Pyro and take care of
persistence with simple pickle ?

Olivier

-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Persistent Distributed Objects

2009-10-10 Thread OdarR
On 10 oct, 05:39, bouncy...@gmail.com bouncy...@gmail.com wrote:
 Sorry about being interpreted as being vague. `et me try to narrow it down. 
 program a creates objects b c d which each need to use 1 disk space 2 ram 3 
 processor time. I would like to create a heckpoint which would save the work 
 of the object to be later used and then delete it from memory [which I assume 
 from reading about them implimented elsewhere is more or less how they work]. 
 The other part would be to assign the objects via a network depending on the 
 number of network machines. I.e. suppose b c and d see machines e f g on a 
 network they can send those machines objects b c and d and have any work 
 saved on the main machine or local ones. What I was wondering is how would I 
 do that in python. The arbitrary part could be no more complicated than a 
 program where b is calculating a list of prime numbers from x to infinity c 
 is just a notepad program and d is a program that prints say the size of the 
 file as youi type it and says  I like writing a poem of [bytes big] while my 
 computer foun ou that [new prime] is the biggest on [machines #] computers.   
  Rmi supposedly does this for the distribuited part.     Object persistence 
 does this for saving to the best of what I`ve seen nothing distributes and 
 saved at the same time.      Does that help?

Did you have a look on Zope and ZEO ?
It could be interesting.
http://www.zope.org/Documentation/Books/ZopeBook/2_6Edition/ZEO.stx

br,
Olivier
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Persistent Distributed Objects

2009-10-10 Thread Laszlo Nagy



Sorry about being interpreted as being vague.

You wasn't vague. I'm sorry!

 `et me try to narrow it down. program a creates objects b c d which each need to 
use 1 disk space 2 ram 3 processor time. I would like to create a checkpoint which 
would save the work of the object to be later used and then delete it from memory 
[which I assume from reading about them implimented elsewhere is more or less how 
they work]. The other part would be to assign the objects via a network depending on 
the number of network machines. I.e. suppose b c and d see machines e f g on a 
network they can send those machines objects b c and d and have any work saved on 
the main machine or local ones. What I was wondering is how would I do that in 
python. The arbitrary part could be no more complicated than a program where b is 
calculating a list of prime numbers from x to infinity c is just a notepad program 
and d is a program that prints say the size of the file as youi type it and says 
 I like writing a poem of [bytes big] while my computer foun ou that [new 
prime] is the

 biggest on [machines #] computers.Rmi supposedly does this for the 
distribuited part. Object persistence does this for saving to the best of 
what I`ve seen nothing distributes and saved at the same time.  Does that 
help?
  


The pickle module is part of the standard library and it can dump and 
load objects. One thing you need to worry about is that your machines 
must share the same code base. You cannot load a pickled object if its 
class is not available for the interpreter. Apart from that, it is not 
really problematic to send pickled objects over the network. Just choose 
any protocol you want. You can try already existing networking libraries 
for this. Twisted, for example. Or you can use systems that where 
specifically designed for building distributed networks. Look at Pyro. 
They manage things like what computers are available automatically. 
When it comes to distributing objects, the other thing comes in mind is 
security. Sending sensitive data (or even worse, sending code) over the 
network is a security concern.


I hope I could help and sorry again. It's my bad english.

 L


--
http://mail.python.org/mailman/listinfo/python-list


Re: Persistent Distributed Objects

2009-10-10 Thread Simon Forman
On Fri, Oct 9, 2009 at 1:11 AM, John Haggerty bouncy...@gmail.com wrote:
 I am interested in seeing how it would be possible in python to have
 persistent objects (basically be able to save objects midway through a
 computation, etc) and do so across multiple computers.

 Something that would allow for memory, disk space, processing power, etc to
 be distributed across the nodes not just for number crunching.

 So for example a warehouse program started up on 3 machines one for adding
 orders, one for searching for orders, one for organizing the warehouse and
 them running on a different machine with a single interface.

 I've seen evidence about this being done wrt what looks like insanely
 complex stuff on this list but I'm wondering if there is something to do
 this with any number of nodes and just farm out random classes/objects to
 them?


Check out Pyro (Python Remote Objects): http://pyro.sourceforge.net/

or perhaps Stackless Python http://www.stackless.com/ (Tasklets can be
serialized and passed around.)
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Persistent Distributed Objects

2009-10-09 Thread Laszlo Nagy





I've seen evidence about this being done wrt what looks like insanely 
complex stuff on this list but I'm wondering if there is something to 
do this with any number of nodes and just farm out random 
classes/objects to them?
Designing and opreating distributed systems is a complex thing. 
Especially if you do not want to specify an exact problem domain that 
you needed to solve - then you need to design a distributed system that 
is able to solve general problems. It is very complex, and - at least to 
my knowledge - there is no efficient solution out of the box. This is 
not Python specific. It would be a hard task just to design how that 
system should work, regardless of the computer language it is 
implemented in.


  L

--
http://mail.python.org/mailman/listinfo/python-list


Re: Persistent Distributed Objects

2009-10-09 Thread bouncy...@gmail.com
Sorry about being interpreted as being vague. `et me try to narrow it down. 
program a creates objects b c d which each need to use 1 disk space 2 ram 3 
processor time. I would like to create a heckpoint which would save the work of 
the object to be later used and then delete it from memory [which I assume from 
reading about them implimented elsewhere is more or less how they work]. The 
other part would be to assign the objects via a network depending on the number 
of network machines. I.e. suppose b c and d see machines e f g on a network 
they can send those machines objects b c and d and have any work saved on the 
main machine or local ones. What I was wondering is how would I do that in 
python. The arbitrary part could be no more complicated than a program where b 
is calculating a list of prime numbers from x to infinity c is just a notepad 
program and d is a program that prints say the size of the file as youi type it 
and says  I like writing a poem of [bytes big] while m
 y computer foun ou that [new prime] is the biggest on [machines #] computers.  
  Rmi supposedly does this for the distribuited part. Object persistence 
does this for saving to the best of what I`ve seen nothing distributes and 
saved at the same time.  Does that help?

The death of one man is a tragedy. The death of ten million is a statistic--- 
Joseph Stalin

--Original Message--
From: Laszlo Nagy gand...@shopzeus.com
To: John Haggerty bouncy...@gmail.com,python-list (General) 
python-list@python.org
Date: Fri, 9 Oct 2009 09:18:12 PM +0430
Subject: Re: Persistent Distributed Objects




 I've seen evidence about this being done wrt what looks like insanely 
 complex stuff on this list but I'm wondering if there is something to 
 do this with any number of nodes and just farm out random 
 classes/objects to them?
Designing and opreating distributed systems is a complex thing. 
Especially if you do not want to specify an exact problem domain that 
you needed to solve - then you need to design a distributed system that 
is able to solve general problems. It is very complex, and - at least to 
my knowledge - there is no efficient solution out of the box. This is 
not Python specific. It would be a hard task just to design how that 
system should work, regardless of the computer language it is 
implemented in.

   L


-- 
http://mail.python.org/mailman/listinfo/python-list