标签: distributed-computing

我从哪里开始分布式计算?

我对学习分布式计算技术感兴趣.作为Java开发人员,我可能愿意从Hadoop开始.你能推荐一些书籍/教程/文章吗?

hadoop mapreduce distributed-computing

13
推荐指数
1
解决办法
1642
查看次数

发生网络分区时,Raft 如何保证一致性?

假设发生网络分区并且领导者 A 占少数。Raft 会选出一个新的领导者 B,但 A 认为它仍然是领导者一段时间。我们有两个客户。客户端 1 将键/值对写入 B,然后客户端 2 在 A 下台之前从 A 读取键。因为 A 仍然相信它是领导者,所以它会返回陈旧的数据。

原论文说:

其次,领导者必须在处理只读请求之前检查它是否已被废黜(如果选举了最近的领导者,则其信息可能会过时)。Raft 通过在响应只读请求之前让领导者与集群的大多数人交换心跳消息来处理这个问题。

是不是太贵了?领导者必须为每个读取请求与多数节点交谈?

algorithm distributed-computing distributed-system

13
推荐指数
2
解决办法
1713
查看次数

BOINC的任何编程经验?

我被BOINC吸引到了我的一个小项目.我听说过BOINC,但没有多看它是如何工作的,主要是因为我现在正专注于其他优先事项.我想知道的是,如果你们中的任何人真的试图为BOINC编程并且在分布式计算机网络上运行程序.我特别感兴趣的是以下问题:

  1. 它是如何工作的?你编译代码,在某处发布,客户端下载它,你收到workunit请求和结果?
  2. 它支持哪些语言?它是如何处理运行时的(我想你将能够提供一个包含所有必需内容的完整,独立的包)
  3. 人们如何知道您的项目存在,并选择参与?
  4. 它提供了哪些服务让我的生活更轻松?是否有预先制作的常用任务库?

我更喜欢现实生活.维基百科可以是一个很好的信息来源,但我更喜欢实际的用例.

distributed-computing boinc

12
推荐指数
1
解决办法
2358
查看次数

JavaScript分布式计算项目

我创建了一个绝对没有任何内容网站,我已经向自己证明了人们喜欢呆在那里 - 我已经在页面上记录了超过11个小时的累积时间.

我的问题是,将网站用作分布式计算网站是否可能(或实际).

我的第一个冲动是找出是否有任何JavaScript分布式计算项目已经处于活动状态,以便我可以在页面上放置一段代码并完成.不幸的是,我所能找到的只是一大堆网站,认为这可能是一个很酷的主意.

我想我可能想要从整数分解开始 - 在这种情况下,RSA数字.服务器很容易检查答案是否正确(只需测试模数等于零),并且易于实现.

我的想法可行吗?那里有一个我可以使用的项目吗?

javascript distributed distributed-computing

12
推荐指数
1
解决办法
2120
查看次数

云(虚拟)机器可免费用于开源测试?

任何人都知道云中的位置,您可以创建(虚拟)机器(如Amazon EC2)用于计算任务 - 提供数量(至少5-10)个免费计算机的位置,如果它们用于测试打开源项目?

我不是免费为开源项目寻找像Jenkins,Hudson,TeamCity等CI环境的地方.我正在寻找一个可以运行某些服务器的地方,我可以在集群和分布式环境中设置开源系统.然后从自动化测试(例如,从CI环境执行)开始针对该集群和分布式环境的测试.

open-source distributed-computing cluster-computing virtual-machine

12
推荐指数
1
解决办法
4万
查看次数

Celery喜欢Ruby的软件?

有没有类似Celery for Ruby的东西?有没有经历过rcelery的人?这是生产的好选择吗?

更新:我遇到了resque,它看起来像我可能用于我的任务.欢迎进一步的建议!

ruby distributed-computing

12
推荐指数
2
解决办法
7546
查看次数

如何为API客户端提供1,000,000个数据库结果?

跟进我之前的问题:

在PostgreSQL中使用"Cursors"进行分页

为API客户端提供1,000,000个数据库结果的好方法是什么?

我们目前正在使用PostgreSQL.一些建议的方法:

  • 使用游标进行分页
  • 使用随机数进行分页(为每个查询添加"GREATER THAN BYDER BY")
  • 使用LIMIT和OFFSET进行分页(针对非常大的数据集进行分解)
  • 将信息保存到文件中,然后让客户端下载它
  • 迭代结果,然后将数据POST到客户端服务器
  • 仅返回客户端的密钥,然后让客户端从Amazon S3等云文件中请求对象(仍然可能需要分页才能获取文件名).

我没有想到的是愚蠢的简单和比任何这些选项更好的方式?

api postgresql pagination distributed-computing

12
推荐指数
1
解决办法
2394
查看次数

AKKA远程演员是否可以在p2p swarm环境中使用?

我见过的Akka演员的大部分用例都是高性能的多核服务器或本地集群.

我很好奇它适用于更远程的高延迟高度失败的群体结构,如p2p网络.

我想到的应用程序将有关于群集节点的可信性和/或资源丰富性的规则,给予它们一些状态,就像bittorrent一样.它还需要能够尽可能地在整个群体中传播交易,但最终或部分一致性是可以接受的.可伸缩性比一致性更重要.

AKKA是建立这样的东西的潜在解决方案吗?它会比其他方法有任何特定的优点或缺点.

java scala distributed-computing distributed-transactions akka

12
推荐指数
1
解决办法
1032
查看次数

如何从 count-min-sketch 中获取前 K 个元素?

我正在阅读如何使用概率数据结构count-min-sketch来查找数据流中的前 k 个元素。但我似乎无法理解我们维护堆以获得最终答案的步骤。

问题:

我们有一个项目流[B, C, A, B, C, A, C, A, A, ...]。我们被要求找出前 k 个最常出现的项目。

我的理解是,这可以使用微批处理来完成,在微批处理中,我们在开始做一些实际工作之前积累 N 个项目。

hashmap +heap方法对我来说很容易理解。我们遍历微批次并{B:34, D: 65, C: 9, A:84, ...}通过计算元素来构建频率图(例如 )。然后,我们通过遍历频率图来维护大小为 k 的最小堆,根据[item]:[freq]需要向堆添加和从堆中删除。足够简单,没有什么花哨的。

现在使用CMS+heap,而不是哈希图,我们有了这个概率有损二维数组,我们通过遍历微批次来构建它。问题是:给定这个 CMS,我们如何维护大小为 k 的最小堆?

CMS只包含一堆数字,而不是原始项目。除非我还保留微批次中的一组独特元素,否则我无法知道最后需要针对哪些项目构建堆。但如果我这样做,那不是违背了使用CMS节省内存空间的目的吗?

我还考虑过在遍历列表时实时构建堆。随着每个项目的进入,我们可以快速更新 CMS 并获取该项目在该点的累积频率。但这个频率数字是累积的这一事实对我没有多大帮助。例如,通过上面的示例流,我们将得到[B:1, C:1, A:1, B:2, C:2, A:2, C:3, A:3, A:4, ...]. 如果我们使用相同的逻辑来更新我们的最小堆,我们将得到不正确的答案(有重复)。

我肯定在这里遗漏了一些东西。请帮助我理解。

real-time frequency distributed-computing stream count-min-sketch

12
推荐指数
1
解决办法
2467
查看次数

在 Pytorch 中应该在哪里调用 torch.distributed.destroy_process_group() ?

我注意到文档没有这个功能。因此,不清楚应该在哪里调用它。是否必须:

  1. 在每个工作代码的末尾调用它(即在 mp.spawn 内部)
  2. 或者在 mp.spawn 之外调用它,即通过主进程

请注意,有一个 gitissue 请求将此函数放在文档中: https: //github.com/pytorch/pytorch/issues/48203

这是 2 含义的示例:

def test_setup():
    print('test_setup')
    if torch.cuda.is_available():
        world_size = torch.cuda.device_count()
    else:
        world_size = 4
    master_port = find_free_port()
    mp.spawn(setup_process, args=(world_size, master_port), nprocs=world_size)
    dist.destroy_process_group()
    print('successful test_setup!')
Run Code Online (Sandbox Code Playgroud)

machine-learning distributed-computing neural-network conv-neural-network pytorch

12
推荐指数
1
解决办法
1675
查看次数