假设我有一个使用Python或C或其他语言的云集群,我想在云中执行我的函数(作为客户端)。我怎么可能把我在本地写的函数传递到服务器上呢?
我在其他地方看到过这种情况,我不仅不知道如何做,而且我想看看是否有很多想法。
谢谢,安东尼·赫斯特
发布于 2012-02-08 11:50:13
在集群中处理大量数据的最流行的系统之一是Hadoop (http://hadoop.apache.org/)。
您可以使用MapReduce编程模式(google it)用Python语言编写函数,将您的程序上传到集群,它将处理您的数据。
看一看,好好读一读。这是一个巨大的话题--对于一个问题来说太多了。如果您有一些特定的用例,请编辑您的问题,并提供更多信息。
发布于 2012-02-08 11:52:43
好吧,如果你是在本地写的,你可能不会执行任何需要实时编译的东西(我假设你在寻找效率,并且会在云中交换一系列的计算),在这种情况下,你想要动态地发送一些像ruby文件一样的东西吗?
但这似乎不太实际,因为您真的不会将来自客户端的这个新编写的函数发送过来,并在您要将其发送到的集群中进行很好的缩放。
这就是说,设置一些东西,你可以发送xml,json等形式的函数边界。如果你需要安全的话,使用http连接或https,并使用hadoop,mpi等构建它。
发布于 2012-02-18 08:30:15
代码移动性在很大程度上是一个未被探索的领域,问题多于答案。通常,您不能在运行时移动任意代码。历史上有一些编程语言支持代码迁移(例如Kali Scheme),但它还没有准备好供主流使用。
关于函数,这里我不太确定你在问什么。有一些函数式编程语言支持我认为的代码迁移的“前兆”。例如,在Erlang中,你可以传递函数签名,在Cloud Haskell中,你可以在某些限制内发送闭包(即具有并置数据的函数)。
其他已经达到更高意义的方法是制作插件,即在运行时加载的预编译二进制文件。可能还有更多的可能性来传递对象代码,这样当它从一个平台传递到另一个平台时,并不是所有的东西都必须在运行时编译和链接。
一般来说,你需要清楚的是,你开发的是源代码。这要么需要在运行时解释(意味着在两个平台上都必须加载解释器),要么编译成二进制文件然后启动。然后,仍然存在数据和状态等问题,在代码迁移工作之前,需要共享这些数据和状态等。
https://stackoverflow.com/questions/9187578
复制相似问题