问题标签 [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.
algorithm - 计算十亿个数字的中位数
如果您有 10 亿个数字和 100 台计算机,那么找出这些数字中位数的最佳方法是什么?
我拥有的一种解决方案是:
- 在计算机之间平均分配集合。
- 对它们进行排序。
- 找出每组的中位数。
- 按中位数对集合进行排序。
- 一次合并两组从最低到最高的中位数。
如果我们m1 < m2 < m3 ...
首先合并Set1
并且Set2
在结果集中我们可以丢弃所有低于Set12
(合并)中位数的数字。所以在任何时候我们都有相同大小的集合。顺便说一句,这不能以并行方式完成。有任何想法吗?
boost - Boost::Asio for C++ 的问题
对于我的学士论文,我正在实现一个分布式版本的算法,用于分解大整数(寻找素数分解)。这在例如 RSA 密码系统的安全性中具有应用。
我的愿景是,客户端(linux 或 windows)将下载应用程序并计算一些数字(这些是独立的,因此适合并行化)。这些号码(不经常找到)将被发送到主服务器,以收集这些号码。一旦主服务器收集到足够的数字,它将完成其余的计算,这些计算不容易并行化。
无论如何,到技术细节。我正在考虑使用 Boost::Asio 来实现套接字客户端/服务器,以便客户端与主服务器进行通信。因为我想同时为 linux 和 windows 编译,所以我认为 windows 是一个很好的起点。因此,我下载了 Boost 库并对其进行了编译,正如Boost Getting Started 页面上所说:
引导程序
.\bjam
这一切都编译得很好。然后我尝试编译来自 Asio 的教程示例 client.cpp 之一,发现(这里.. 编辑:由于限制无法发布链接)。我正在使用 Microsoft Visual Studio 2008 中的 Visual C++ 编译器,如下所示:
cl /EHsc /ID:\Downloads\boost_1_42_0 client.cpp
但我得到这个错误:
/out:client.exe
客户端.obj
链接:致命错误 LNK1104:无法打开文件“libboost_system-vc90-mt-s-1_42.lib”
任何人都知道可能出了什么问题,或者我该如何前进?我几乎整个星期都在尝试获得一个简单的 C++ 客户端/服务器套接字程序,但没有运气。严重的挫败感袭来。
先感谢您。
architecture - 分布式消息排序
我有一个关于处理消息排序的架构问题。出于这个问题的目的,运输是无关紧要的,所以我不打算指定一个。
假设我们有三个系统,一个网站,一个 CRM 和一个 ERP。在本例中,ERP 将是数据所有权方面的“主”系统。网站和 CRM 都可以向 ERP 系统发送新的客户信息。然后,ERP 系统添加客户并使用新分配的帐号发布客户,以便网站和 CRM 可以将帐号添加到其本地客户记录中。这是一个非常简单的过程。
接下来我们继续下订单。需要帐号才能让 CRM 或网站通过 ERP 系统下订单。然而,即使客户缺少帐号,CRM 也将允许用户下订单。(对于此示例,假设我们无法修改 CRM 行为)这创造了用户可以创建新客户并在 CRM 中更新帐号之前下订单的可能性。
处理这种情况的最佳方法是什么?最好在没有帐号的情况下发送订单消息并让它进入错误队列?让 CRM 端点保存消息并等到 CRM 中更新帐号会更好吗?也许是我没有想到的完全不同的东西?
提前感谢您的帮助。
r - 如何分析包含 SNOW 集群的 R 代码
我有一个嵌套循环,我正在使用 foreach、DoSNOW 和一个 SNOW 套接字集群来解决这个问题。我应该如何分析代码以确保我没有做一些非常低效的事情。
还有是否可以测量 Snow 集群中主节点和节点之间的数据流?
谢谢,
詹姆士
r - 在使用 SNOW(或 Multicore 或 ...)时如何保存计算状态
根据艰苦的经验,我发现偶尔将长时间计算的状态保存到磁盘以在出现故障时稍后启动它们很有用。我可以在 R 中的分布式计算包(如 SNOW 或多核)中执行此操作吗?
似乎不清楚如何做到这一点,因为主人正在以不透明的方式从奴隶那里收集东西。
cluster-computing - 那么分布式和集群有什么区别呢?
这两个词我听过很多次了
但总是很困惑。
我猜:
- 对于分布式服务器,每个服务器都有自己独特的数据来服务
- 对于集群服务器,每个服务器都应该有相同的数据,并有足够的时间进行同步
这就是区别吗?
java - RMI 表中没有此类对象,服务器通信错误
我的目标是创建一个同时启动服务器和客户端的分布式计算程序。我需要它能够安装在几台机器上并让所有机器相互通信,即主节点和 5 个从节点都来自一个应用程序。
我的问题是我无法正确使用 unicastRef,我认为这是在同一个端口上启动所有内容的问题,有没有更好的方法可以忽略?
这是我的代码的一部分(重要的部分)
尝试 {
这是我的主要课程(上)
这是服务器类(下)
公共 RMIServer() { }
我不知道我错过了什么或忽略了什么,但输出看起来像这样。
监听 5225 监听 8776 服务器准备就绪 我们是从属设备 监听 8776 java.rmi.NoSuchObjectException: sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:255) at sun.rmi.transport.StreamRemoteCall 的表中没有这样的对象.executeCall(StreamRemoteCall.java:233) 在 sun.rmi.server.UnicastRef.invoke(UnicastRef.java:359) 在 sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source) 在 Main.main(Main.java:62 )
第 62 行是这样 ::: Call ss = (Call) rr.lookup("FILLER");
c# - 一种使用 .Net 框架解决分布式计算问题的方法
我对编写一个项目感兴趣,该项目在多台计算机上分布在大文件上的特定计算。分布式计算的需求源于我用来进行实际计算的软件的崩溃和不稳定的性质 - 所以它可能会在某些计算机上崩溃,但其他计算机肯定会完成这项工作。到目前为止,我的想法包括: - 使用多台服务器,每个服务器都尽可能从主服务器中提取任务 - 使用 VMwares - 使用负载平衡集群
什么更适合这份工作?我应该注意的任何其他想法?
另外,如果您能推荐任何可靠的分布式计算 C# 框架,那将会很有帮助。
java - 什么是兵马俑?
- 什么是兵马俑?
- 它提供什么服务?
- 它解决了哪些问题?
- 还有哪些产品可以解决与 Terracotta 解决的问题类似的问题?
hadoop - 我从哪里开始使用分布式计算?
我对学习分布式计算技术很感兴趣。作为一名 Java 开发人员,我可能愿意从Hadoop入手。您能否推荐一些书籍/教程/文章开始?