问题标签 [multiple-processes]

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 投票
3 回答
454 浏览

distributed-computing - 为什么简单的 3 路多数投票不能解决拜占庭错误?

我最近读了很多关于拜占庭容错的论文。有一个常见的证明是需要 3m+1 台计算机来处理 m 个拜占庭错误。一般证明是这样的:

有三个“将军”:A、B 和 C。假设将军像这样交流,其中 C 是“叛徒”:

因此,我们不能保证大多数参与者会达成共识。

我有点理解这个证明,但它似乎错过了一个重点。A、B、C不也做自己内部计算怎么办吗?由于A&B是这里的“忠诚”将军,看来“正确”的行动是进攻。在决定做什么时,不允许 B 考虑他自己的计算吗?在这种情况下,他可以轻松打破相互冲突的 A&C 输入之间的联系并决定发起攻击。然后,A&B都出击了,我们解决了问题。这是一个不同于经典拜占庭将军问题的问题吗?

0 投票
1 回答
196 浏览

python - 该程序中的某些进程是否可能比其他进程更快完成?

我有一个设计为高度可并行化的程序。我怀疑某些处理器比其他处理器更早地完成了这个 Python 脚本,这可以解释我在此代码上游观察到的行为。此代码是否有可能允许某些 mpi 进程比其他进程更快完成?

0 投票
1 回答
1071 浏览

python - mpi4py 将值 id 附加到每个通信器实例的列表中

如果我想列出每个通信者的变量 id,我该怎么做?下面是一个试图证明这个想法的尝试:

0 投票
1 回答
171 浏览

c - Linux 中的进程:让每个子进程休眠随机秒数

我想让一个变量(属于一个进程)在每次新进程启动时获得一个新的随机值。

我需要这个随机生成来使每个创建的进程睡眠随机数秒。在我使用的程序开始时,在我使用 srand(time(NULL))的进程将运行的函数中

int sleeptime = rand() % 16 + 5; //that's because I need values from 5 to 20.

我试图实现这样的事情,但我看到对于每个进程,变量的值都是相同的。

我认为,如果我将当前时间(以毫秒为单位)(各个进程开始的时间)作为 srand(..) 的参数,我会得到随机值。问题是我没有找到任何相关信息。不同页面上唯一建议的是众所周知的:(srand(time(NULL));其中 time(NULL) 以秒为单位返回当前时间)。

请你给我一些方法来实现这个?先感谢您。

0 投票
1 回答
779 浏览

django - 如何确定 mod_wsgi 的最有效线程和进程数?

我通常使用 AWS Elastic Beanstalk、Heroku 和 Microsoft Asure 来托管我的 Django 项目。我也经常使用 MySQL。但是,我很难确定 mod_wsgi 设置的有效线程数和进程数。预先感谢您的信息。

0 投票
1 回答
2308 浏览

javascript - 在 node.js 中生成一个新的独立进程

有没有办法从当前运行的脚本中产生一个新的独立进程?

我正在尝试从已经运行的脚本运行新脚本。新脚本应该独立于调用它的脚本。

0 投票
1 回答
246 浏览

bash - 在 bash 中启动 n 个子进程并等待一切完成

我想测试几个 ffmpeg 设置并将多个命令作为“子进程”运行。不过,我不想一次启动超过 4 个进程。有什么好方法可以做到这一点?也许像在 bg 中运行进程之前捕获进程 ID 并等到它们不再在进程列表中?还是 xargs?

这是没有“排队”的脚本:

0 投票
0 回答
359 浏览

node.js - 为什么我的节点 child_process 提前终止?

我正在尝试运行一个运行 docker 容器的异步节点 child_process。

temp.js 包含一个for loop. 有时它会运行一半的循环,有时会运行三分之一等等。然后它会终止。

我可以让它工作,child_process.execSync但这有点令人讨厌。为什么它会那样退出,我如何让它活着?

0 投票
0 回答
1273 浏览

python-3.x - Python SQLite3 使用多个进程进行并发读取:在大数据集上经常挂起而不会引发错误

概述
我正在尝试为财务数据分析项目创建大量变量(宽数据集)。我有一个包含 140,000 行的 pandas 数据框“position_history”,每行包含一只股票和买卖日期/价格。

我有一个函数 create_domain 接受输入(股票、买入日期、卖出日期)和:

  1. 对我的 SQLite3 数据库进行查询,以在给定这些日期的情况下提取该股票的时间序列。
  2. 使用时间序列构造我的变量

我使用 df.apply 将函数 create_domain 应用于 position_history

当我按顺序运行我的代码时,构建变量需要大约 4 个小时,我想使用多个进程来加快这个速度,因为我必须这样做很多次并且可能需要更广泛的数据集。

对于多个进程,我将 position_history 垂直拆分为多个块,创建一个数据帧列表。我将此列表传递给 joblib(多处理)。我的代码几乎总是无限期挂起而不会引发任何错误(但有时会在小样本上运行)。

我的怀疑是我的工作进程试图同时读取同一个 SQL 表时出现了问题。

我尝试了以下补救措施

相关的stackoverflow条目

(伪)代码片段
我对joblib的调用:

我的 create_domain 函数:

摘要:我的代码永远挂起,使内核崩溃,并且没有引发任何错误。我将不胜感激任何见解:

  • 为什么会这样?
  • 我该如何解决?
  • 有没有更好的方法来做我想做的事情?我尽我所能对我的 SQL 查询进行矢量化和优化。
  • 这是 SQLite3 的问题吗?像 MySQL 这样的东西会更好吗?
  • 有小费吗; 我是编码/python/数据科学的新手。

详细信息:我在一个超级计算机集群上,运行 Linux,并在 Python 3.4.3 上使用 iPython。

这是我的第一个 stackoverflow 问题 - 提前为失礼道歉并感谢您的帮助!

0 投票
1 回答
2295 浏览

python - python多处理脚本不退出

我试图让 python2.7 多处理模块更加舒适。所以我编写了一个小脚本,它将文件名和所需的进程数作为输入,然后启动多个进程以将函数应用于队列中的每个文件名。它看起来像这样:

该脚本工作正常,并且每次旧进程完成时都会启动一个新进程(我认为这就是它的工作原理?),直到队列中的所有对象都用完。但是,脚本在完成队列后不会退出,而是处于空闲状态,我必须使用Ctrl+C. 这里有什么问题?

感谢您的回答!