云计算将功能传递给服务器

时间:2012-02-08 03:42:51

标签: python cloud

假设我有一个带有Python或C的云集群,我希望在云中执行我的功能(作为客户端)。我怎么可能把我在本地编写的函数传递给服务器?

我在其他地方看过这个,我不仅不知道怎么做,而且我想知道是否有很多想法。

谢谢, 安东尼赫斯特

3 个答案:

答案 0 :(得分:1)

用于处理群集中大量数据的最流行的系统之一是Hadoop(http://hadoop.apache.org/)

您可以使用MapReduce编程模式(google)在python中编写函数,将程序上传到集群,它将处理您的数据。

看看并阅读。这是一个很大的话题 - 对于一个问题来说太过分了。如果您有一些特定用例,请使用更多信息编辑您的问题。

答案 1 :(得分:0)

好吧,如果你在本地编写它,你可能不会执行任何需要实时编译的东西(我假设你在寻找效率,并将在云中交换一系列的计算),在这种情况下,你希望发送一些东西就像飞行中的红宝石文件一样? 但这似乎并不实用,因为你真的不希望这个新编写的函数来自客户端发送并在你发送它的集群中很好地扩展。

话虽如此,设置一些你可以以xml,json等形式发送函数周界的东西。如果你需要它,请使用http连接或https,并使用hadoop,mpi等构建它。

答案 2 :(得分:0)

代码移动性在很大程度上是未开发的领域,问题多于答案。通常,您无法在运行时移动任意代码。历史上有一些编程语言支持代码移动性(例如Kali Scheme),但它不适合主流使用。

关于功能,这里我不太清楚你在问什么。有一些函数式编程语言支持我会考虑的内容"前体"编码移动性。例如。在Erlang中,您可以在Cloud Haskell周围传递函数签名,您可以在某些限制内发送Closure(这是一个带有并置数据的函数)。

其他已经达到更高意义的方法是制作插件,即在运行时加载的预编译二进制文件。传递对象代码可能还有其他可能性,以便在从一个平台传递到另一个平台时,不必在运行时编译和链接所有内容。

通常需要明确的是,您开发的是源代码。这需要在运行时解释(在两个平台上都必须加载解释器)或者编译成二进制文件然后启动。然后仍然存在数据和状态等问题,在代码移动性能够按照我们的设想运行之前需要共享它。