问题标签 [distributed-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.

0 投票
1 回答
953 浏览

algorithm - 一种面向超立方体的领导者选举算法

我遇到了一些问题,我必须为有向超立方体设计一个领导者选举算法。这应该通过使用轮数等于超立方体的维度 D 的锦标赛来完成。在每个阶段 d 中,当 1 <= d < D 时,相邻 d 维超立方体的两个候选领导者应该竞争成为 (d+1) 维超立方体的单个候选领导者,该超立方体是它们各自超立方体的并集。

0 投票
2 回答
26314 浏览

c++ - C++ Winsock P2P

Scenario

Does anyone have any good examples of peer-to-peer (p2p) networking in C++ using Winsock? It's a requirement I have for a client who specifically needs to use this technology (god knows why). I need to determine whether this is feasible.

Any help would be greatly appreciated.

EDIT

And I would like to avoid using libraries so that I can understand the underlying source code and further my knoweldge.

0 投票
8 回答
4741 浏览

language-agnostic - 任何用于大型图分布式处理的开源 Pregel 框架?

谷歌描述了一种用于大规模图分布式处理的新框架。

http://portal.acm.org/citation.cfm?id=1582716.1582723

我想知道是否类似于 Hadoop (Map-Reduce) 这个框架有任何开源实现?

我实际上正在使用 python 和多处理模块编写一个伪分布式的,因此想知道其他人是否也尝试过实现它。由于有关此框架的公共信息极为稀缺。(上面的链接和 Google Research 的博客文章)

0 投票
1 回答
2185 浏览

javascript - JavaScript 分布式计算项目

我创建了一个完全不做任何事情的网站,并且我向自己证明了人们喜欢呆在那里 - 我已经在页面上记录了 11 多个小时的累积时间。

我的问题是是否可以(或实际)将该网站用作分布式计算站点。

我的第一个冲动是找出是否有任何 JavaScript 分布式计算项目已经在活动,这样我就可以在页面上放一段代码并完成。不幸的是,我所能找到的只是一大堆认为这可能是一个很酷的想法的网站。

我在想我可能想从整数分解之类的东西开始——在这种情况下,是 RSA 数字。服务器很容易检查答案是否正确(只需测试模数是否为零),也很容易实现。

我的想法可行吗?是否已经有一个我可以使用的项目?

0 投票
1 回答
351 浏览

web-applications - 您将如何构建分布式互联网规模系统?

在所需技能列表中,有许多职位描述具有类似于“构建分布式互联网规模系统”的短语。尽管我对它可能涉及的内容(使用 Hadoop、键值存储、消息队列等技术,专注于可伸缩性、可用性等)有基本的了解,但您能描述一下如何去做吗?任何可以阅读的资源都会很棒。

谢谢,
阿比纳夫

0 投票
8 回答
3642 浏览

windows - 请推荐 Microsoft HPC 的替代方案

我们的目标是在集群上实现一个分布式系统,该系统将执行具有大量存储 I/O 的基于图像的资源消耗计算,具有以下特点:

  1. 有一个专用的管理器计算机节点和多达 100 个计算节点。集群必须易于扩展。
  2. 它是围绕工作任务概念构建的。一个作业可能有 1 到 100,000 个任务。
  3. 由用户在管理节点上发起的作业会导致在计算节点上创建任务。
  4. 任务动态创建其他任务。
  5. 一些任务可能会运行几分钟,而另一些可能需要几个小时。
  6. 任务根据依赖层次结构运行,可以动态更新。
  7. 该作业可能会暂停并稍后恢复。
  8. 每个任务都需要特定的资源,如 CPU(内核)、内存和本地硬盘空间。经理在安排任务时应该意识到这一点。
  9. 这些任务将他们的进度和结果告诉经理。
  10. 经理知道任务是活动的还是挂起的。

我们发现 Windows HPC Server 2008 (HPCS) R2 在概念上非常接近我们的需求。但是,有一些关键的缺点:

  1. 随着任务数量的增加,任务的创建速度呈指数级增长。提交超过数千个任务在时间上是难以忍受的。
  2. 任务无法将其进度报告给经理,只有作业可以。
  3. 在任务运行期间没有与任务通信,这使得无法检查任务是否正在运行或可能需要重新启动。
  4. HPCS 只知道节点、CPU 内核和内存作为资源单元。我们不能引入我们自己的资源单元(如可用磁盘空间、自定义硬件设备等)。

这是我的问题:是否有人知道和/或有分布式计算框架的经验可以帮助我们?我们正在使用 Windows。

0 投票
2 回答
538 浏览

.net - .Net/Mono 的分布式计算框架,支持分布式任务的持久化

我正在寻找一个用于.Net / Mono 分布式计算的框架(开源),它不仅基于任务,而且支持分布式任务的持久性。

手头的项目是一个复杂的系统模拟,需要将其分配到更小的独立“子模拟”中。这些子模拟将持续运行很长时间,并且会不时地接收数据并将数据发送回主控,主控会更新汇总结果的视图并将其呈现给用户。

因此,要分发的工作(子模拟)是有状态的,并且应该在多个会话中长时间在工作人员处保持存在(在线或离线)。这将需要 Worker 进行本地持久存储(序列化)(子模拟非常大,每次会话都将它们来回发送给 Master 效率不高)。

该框架应该通过允许使用不同的实现(即本地集群、互联网、单机、第 3 方云平台)来提供关于正在使用的实际底层网络或云平台的透明度。

如果在模型/模拟级别,可以根据网络延迟调整性能(例如通过调整在 Workers 和 Master 之间发送的数据的频率和粒度),那就太好了。

我查看了 NGrid,但这似乎未完成且过时。我还查看了其他一些常见的嫌疑人(MPAPI、MPI.NET、Alchemi 等),但据我所知,这些不符合要求。如果不存在这样的框架,我对设计这种框架的技巧很感兴趣。

0 投票
2 回答
549 浏览

distributed-computing - 分布式计算和进程间通信的基本区别?

我知道分布式计算和进程间通信的理论定义。

但实时我无法得出结论,当我们选择分布式或跨进程时。

告诉我一些场景,我们可以通过示例进行分布式计算或进程间通信。

0 投票
2 回答
2547 浏览

erlang - 启动远程 Erlang 节点

我想用 Erlang 写一个主从应用程序。我正在考虑架构中需要的以下内容:

  • 当主节点死亡时,从节点不应该死,而是在主节点关闭时尝试重新连接到它

  • 如果远程节点未自动连接或已关闭,主节点应自动启动远程节点(可能是OTP中的主管行为)

是否有面向 OTP 的行为来执行此操作?我知道我可以使用 启动远程节点,slave:start_link()也可以使用 监控节点erlang:monitor(),但我不知道如何将其合并到gen_server行为中。

0 投票
2 回答
681 浏览

algorithm - 具有所有修饰的遗传算法开源库,例如细胞遗传算法特性

我想为 SGI UV 系统(核心 = 512,共享内存 = 4TB)实现一个基于 GA 的特征选择程序,其运行方式如下:(特征选择是找到原始特征的最小子集的过程,这使得对于给定的数据,输出类之间的区分比使用原始特征集(或只是相同)更好,例如数据包括:{Atmospheric Pressure, Temperature, myShoeSize} 作为自变量,输出是降雨,可能是特征的结果选择将是 {Atm.Pressure, Temperature})。

GA 保留了一个父池,每个父池代表一个不同的特征子集。这些父母需要使用支持向量机或任何其他机器学习方法(神经网络等)进行评估,所以我希望每个父母都被发送到下一个可用的 cpu 核心,使用任何程序进行评估并将适合度发送回GA。因此,GA 将负责除每个父级的评估(适应度)之外的所有事情 - 相反,GA 会将父级发送到可用核心并等待适应度结果。这就是该方法的分布式特征所在(所以我不希望在不同的核心上运行各种 GA,只在一个核心上运行一个 GA 并在不同的核心中产生适应度评估器)。

为了利用我的硬件的分布式计算特性,我希望 GA 在异步模式下运行,而有两组父母,一组接受过健康评估,另一组正在等待。当有一个空闲核心时,GA 从未评估池中取出一个父级并将其发送到核心。与此同时,GA 从评估池中获取父母,对他们进行变异等。交叉他们并将其孩子发送到未评估池等等。

所以,我的想法是获取一个开源的 GA 库,并就其评估功能对其进行一些修改。如果库提供这种“异步”模式,那就太好了。除了所有这些之外,我还希望该库提供许多功能,例如蜂窝GA。无论结果如何,也将是开源的。

有没有人有什么建议?顺便说一句,有没有人知道任何关于这种“异步”模式的出版物的引用——或者你认为有什么缺点吗?