问题标签 [grid-computing]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
grid-computing - 网格计算的商业用途?
我不断从同事那里听到关于网格计算的消息,据我所知,网格计算是高度分布的东西,类似于 SETI@Home。
有没有人在开发这类用于商业用途的系统?我的兴趣是弄清楚在这个领域开始软件开发是否有商业原因。
java - 如何创建一个 Linux 集群以在 java 中运行物理模拟?
我正在开发一个用于执行物理模拟的科学应用程序。使用的算法是 O(n3),因此对于大量数据需要很长时间来处理。该应用程序在大约 17 分钟内运行一次模拟,而我必须运行大约 25,000 次模拟。这大约是一年的处理时间。
好消息是模拟完全相互独立,因此我可以轻松更改程序以在多台计算机之间分配工作。
我可以看到多种解决方案来实现这一点:
- 获得一台多核计算机并在所有内核之间分配工作。不够我需要做的。
- 编写一个连接到多个“处理”服务器并在它们之间分配负载的应用程序。
- 获得一组便宜的 linux 计算机,并让程序将所有内容视为一个实体。
选项 2 相对容易实现,所以我不太会寻找如何实现它的建议(可以通过编写一个在给定端口上等待参数、处理值并返回结果的程序来完成作为序列化文件)。那将是网格计算的一个很好的例子。
但是,我想知道最后一个选项(传统集群)的可能性。在 linux 网格中运行 Java 程序有多难?所有独立的计算机是否都被视为具有多核的单台计算机,从而使程序适应变得容易?是否有任何好的资源指针可以让我开始?或者我让这变得过于复杂,我最好选择第 2 个选项?
编辑:作为额外信息,我对如何实现 Wired Magazine 的这篇文章中描述的内容很感兴趣:Scientific replace a supercomputer with a Playstation 3 linux cluster。绝对第二听起来像是要走的路……但凉爽因素。
编辑 2:计算非常受 CPU 限制。基本上对大矩阵有很多运算,例如逆和乘法。我试图为这些操作寻找更好的算法,但到目前为止我发现我需要的操作是 0(n3) (在通常可用的库中)。数据集很大(用于此类操作),但它是根据输入参数在客户端创建的。
我现在看到我对 linux 下的计算机集群如何工作有一个误解。我的假设是,它会以这样一种方式工作,即看起来您拥有所有可用计算机中的所有处理器,就像您拥有一台具有多核的计算机一样,但情况似乎并非如此。似乎所有这些超级计算机的工作方式是让节点执行由某个中央实体分配的任务,并且有几个不同的库和软件包可以轻松执行这种分配。
所以问题真的变成了,因为没有数字 3 这样的东西:创建集群 Java 应用程序的最佳方法是什么?
cloud - 购买集群/网格/云时间?
我在工业和学术环境中使用过集群,但它们归我工作的组织所有。我从来没有从一家销售集群/云/网格时间的公司购买时间。
假设我想运行一些计算密集型程序,例如大型模拟或数据挖掘应用程序。或者,也许我想通过在外包基础设施上运行分布式构建来优化大型产品套件的完整构建。我在哪里可以购买集群时间来运行这些程序?
我有兴趣了解运行 Linux、BSD、Mac OS X 和 Windows 等流行操作系统平台的集群。
显然,现在有使用快速、廉价硬件的构建你自己的集群解决方案,但我对外包解决方案特别感兴趣。
expect - 如何在我自己的机器(win xp)上的程序中调用可执行文件以在单独的机器上运行?
我的目标是编写一个程序,该程序将调用另一台计算机上的另一个可执行文件(全部使用 win xp),其参数在运行时确定,然后在多台计算机上重复,然后收集结果。简而言之,我正在从事一个网格计算项目。正在使用的算法本身已经在 FORTRAN 中编码,但我们正在寻找一种有效的方法来一次在多台计算机上运行它。
我想实现这一点的一种方法是将脚本上传到每台计算机,然后在每台计算机上运行所述脚本,所有这些都自动并取决于我自己的参数。但是我怎样才能编写一个程序来在另一台计算机上写入、上传和运行脚本呢?
我曾考虑过 GridGain,但该算法已经被编码并且使用了不同的语言,因此被排除在外。
我目前完成这项任务的猜测是使用 Expect ( wiki/Expect ),但我对该工具一无所知。
任何建议表示赞赏。
continuous-integration - 使用 ccnet 建立农场
是否可以使用 CruiseControl.Net 建立构建农场?我们目前有 4 台不同的构建机器在不同的时间构建不同的东西,并且以某种方式手动平衡负载有点头疼。我更愿意指定其中一台作为主构建机器,当它们空闲时将工作委派给其他机器。
cloud - 云计算和网格计算有什么区别?
云计算和网格计算之间的显着区别是什么?两者的精确定义和目标应用领域是什么?我正在寻找概念性见解以及技术性。
就像Windows Azure是一个云操作系统一样,我们有没有这样的网格计算?
过去我从事分布式和并行计算方面的工作,我使用 PVM 和 MPI 等库来处理分布。出于好奇,我想知道网格计算是否是通过互联网扩展的分布式计算?
grid-computing - 网格计算和注销
当用户未登录时,网格计算是否继续 - 例如,在教育系统上,学生必须登录,当注销时,cpu 是否继续云计算?或者在另一种情况下,如果我将家用计算机用于 superdonate.com 之类的东西,如果我退出,处理器还会继续运行吗?
c# - 在服务器之间发送一个类,而不仅仅是一个类接口?
我正在创建一个网格应用程序,它要求我将包装类的软件数据包发送到我的网格中的参与节点。
我想出的第一个想法是让主节点联系每个节点(运行 Windows 服务)并发送一个程序集,其中包含一个遵循公共接口的类以及一个包含配置信息的 .config 文件。
有一个更好的方法吗?除了关于这应该是推动还是拉动的讨论之外,获得有效软件更新的最佳方式是什么?如果我可以使用类似于客户端节点调用的 WCF 服务的东西,那就太好了,但这当然会将真正的处理留在主节点上,这将有效地使我的集群解散。
java - 网格计算和 Java
我似乎找不到与此类似的问题。
我目前正在寻找解决网格计算问题的最佳解决方案。
设置:
- 我有一个服务器/客户端情况,其中有客户端 [通常是大多数逻辑的愚蠢] 并从服务器接收指令
- 有授权请求
- 客户反馈完成任务的速度信息(任务难度以任务类型判断)
- 客户收到最适合他们之前表现的任务(最好的客户收到最坏的问题)
最终的要求是:
- 客户端的占用空间必须小且独立 - 我不能拥有需要大量安装和设置的客户端
- 客户端应该能够从服务器获取新的作业和作业运行时(将网格扩展到引入的新问题[并且新问题将由服务器分发]会很好)
- 我需要一个身份验证层(不必很复杂或符合现有的 ldap)[更简单的要求:客户可以注册新的“会员”并获得访问权限](我不确定 RMI 的优势在于这里)
- 客户端将能够从 Internet 而不是在网络环境中运行
- 这意味着对请求的结果进行加密
我目前正在使用 Web 服务在客户端和服务器之间进行通信。所有信息和结果都会返回到托管服务器 (J2EE)。
我的问题是有一个网格系统设置可以满足所有/大多数这些要求,并且是开源的吗?
我对做云不感兴趣,因为这些任务大部分都很小,但非常频繁(一天一次但任务可能很容易,但会执行维护)。
这个系统的所有代码都是Java。
.net - 分布式计算框架 (.NET) - 专门用于 CPU 密集型操作
我目前正在研究可用于开发分布式应用程序的选项(开源和商业)。
“分布式系统由多个通过计算机网络进行通信的自主计算机组成。” 维基百科
该应用程序专注于分发高度cpu 密集型操作(而不是数据密集型),因此我确信 MapReduce 解决方案不符合要求。
您可以推荐的任何框架(+ 简要总结任何经验或与其他框架进行比较)将不胜感激。