分布式计算对于.NET /单声道框架,支持分布式任务持久性 [英] Framework for distributed computing for .Net / Mono that supports persistence of distributed tasks

查看:128
本文介绍了分布式计算对于.NET /单声道框架,支持分布式任务持久性的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在寻找一个框架(开源)的分布式计算对于.NET /单声道不是简单的任务为基础,但支持的分布式任务持久性。

在手的项目是需要被分配到更小的独立的subsimulations一个复杂的系统仿真。这些subsimulations将继续运行很长一段时间,并会每隔接收和发送回数据,凡与总结果的看法是更新和presented给用户的主。

所以工作分发(在subsimulations)是有状态的,应在工人继续存在(或脱机)很长一段时间,在多个会话。这将需要本地永久存储(序列化)的工人(在subsimulations非常大,它不会有效地送他们来回法师为每个会话)。

中所用的框架应提供透明度,以正在使用通过允许不同的实现实际的底层网络或云平台(即本地群集,因特网,单个机器,第三方云平台)。

这将是很好,如果在模型/模拟级别,性能可能会因网络延迟调整(例如通过调节频率和数据的粒度正被工人师傅之间发送)。

我看着NGrid但这似乎未完成的并注明日期。我也看了一些其他的秋后算账(MPAPI,MPI.NET,Alchem​​i等),但据我可以告诉这些不符合要求的。如果没有这样的框架存在,我感兴趣的是在这样一个框架的设计技巧。

解决方案

你看微软DSS / CCR框架

?这是对机器人平台最初开发的SOA,并发框架。我们previously用它来创建一个交通仿真。这不是开放的每本身,而是它不贵,而且我相信,免费为学术界。

您必须编写的逻辑来创建并行作业,但是这在理论上应该不会是困难的。该框架有一堆的管理工具。

Hadoop是另一种替代方案,可能我会推荐。你提出的存储要求是更可行的使用Hadoop的文件系统,这个解决方案。

http://wiki.apache.org/hadoop/HadoopStreaming http://stackoverflow.com/questions/339344/is-there-a-net-equivalent-to-apache-hadoop

另外,在上述的SO线程是MySpace的技术 HTTP://$c$c.google.com/p/qizmt/

I'm looking for a framework (open source) for distributed computing for .Net / Mono that is not simply task-based but supports persistence of distributed tasks.

The project at hand is a complex system simulation which needs to be distributed into smaller independent "subsimulations". These subsimulations will keep running for a long time and will at intervals receive and send back data to the Master where a View with aggregate results is being updated and presented to the user.

So the work to be distributed (the subsimulations) is stateful and should remain in existence (on or offline) at the Workers for a long time, across multiple sessions. This will require local persistent storage (serialization) by the Worker (the subsimulations are quite large and it will not be efficient to send them back and forth to the Master for every session).

The framework should offer transparency as to the actual underlying network or cloud platform that is being used by allowing different implementations to be used (i.e. local cluster, Internet, single machine, 3rd party cloud platforms).

It would be nice if at the model/simulation level, performance could be tuned depending on network latency (for instance by adjusting the frequency and granularity of data that is being sent between Workers and Master).

I looked at NGrid but this seems unfinished and dated. I also looked at some of the other usual suspects (MPAPI, MPI.NET, Alchemi, etc.) but as far as I can tell these don't meet the requirements. If no such framework exists, I'm interested in tips on the design of such a framework.

解决方案

Have you looked at the Microsoft DSS / CCR framework? It's a SOA, Concurrent framework initially developed on the robotics platform. We previously used it to create a traffic simulator. It's not open per-se but its not to expensive, and I believe free for academia.

You would have to write the logic to create parallel jobs, but this in theory should not be to difficult. The framework has a bunch of management tools.

Hadoop is also another alternative and probably what I'd recommend. The storage requests you made are more viable with this solution using the hadoop file system.

http://wiki.apache.org/hadoop/HadoopStreaming http://stackoverflow.com/questions/339344/is-there-a-net-equivalent-to-apache-hadoop

Also in the above SO thread is the myspace technology http://code.google.com/p/qizmt/

这篇关于分布式计算对于.NET /单声道框架,支持分布式任务持久性的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆