Serializing functions

Bruno Desthuilliers bruno.42.desthuilliers at websiteburo.invalid
Thu Jun 17 10:01:57 EDT 2010


Matteo Landi a écrit :
> Some weeks ago, here on the mailing list I read about picloud[1], a
> python library used for cloud-computing; I was impressed by its
> simplicity, here is an example:
> 
>>>> import cloud
>>>> def square(x):
> ...  return x * x
>>>> cloud.call(square, 10)
>>>> cloud.result()
> 100
> 
> So, I tried to figure out how to achieve the same result, i.e. define a
> local generic function and send it somewhere for remote execution, and
> the get the result back.
> So I thought about serialization (pickle): I made a few tries and it
> seemed to work.. but I was wrong, because I never tried to load pickled
> data from another session different from the one used to pickle data
> itself. If you try and pickle a function, it is not pickled as a whole,
> indeed, once you unpickle it, it will raise an exception telling you
> that the target function was not found in the current module.
> 
> So I'm here, with nothing in my hands; how would you implement this?

Hint found on picloud's website:

"""
PiCloud's programming library, cloud, automatically transfers the 
necessary source code, byte code, execution state, and data to run your 
function on our cluster.
"""




More information about the Python-list mailing list