标签: parallel-processing

如何在Visual Studio 2010中并行化数据驱动的单元测试?

我知道通过在测试解决方案中的.testresults文件中指定parallelTestCount属性,可以在多核机器上并行处理常规的ms-test单元测试(当然需要注意).像这样,

<Execution parallelTestCount="1">
    <TestTypeSpecific />
    <AgentRule name="Execution Agents"></AgentRule>
</Execution>
Run Code Online (Sandbox Code Playgroud)

更多信息请访问:http://blogs.msdn.com/b/vstsqualitytools/archive/2009/12/01/executing-unit-tests-in-parallel-on-a-multi-cpu-core-machine.aspx

但是,我有一个数据驱动的测试,类似这样,这只是一个测试,但输入来自csv并通过相同的测试运行1000个记录.

[DeploymentItem("InputDataRows.csv"), Timeout(37800000), DataSource("Microsoft.VisualStudio.TestTools.DataSource.CSV", "|DataDirectory|\\InputDataRow.csv", "InputDataRow#csv", DataAccessMethod.Sequential)]                
[TestMethod]
public void RunProcessing()
{
    int userId = Convert.ToInt32(TestContext.DataRow[0].ToString());
    int connId = Convert.ToInt32(TestContext.DataRow[1].ToString());
    string xml = TestHelper.GetDataFromDb(userId, connId);
    a = doStuffA(xml); 
    b = doStuffB(xml);
    Assert.IsTrue(a == b);
}
Run Code Online (Sandbox Code Playgroud)

因为这是一个缓慢的过程,我正在寻找并行化这个单元测试.

顺序枚举的属性就是它访问数据的方式,另一种选择是随机的,这仍然是串行和不平行.

c# parallel-processing unit-testing mstest visual-studio

17
推荐指数
1
解决办法
1931
查看次数

OpenMP:嵌套并行化有什么好处?

根据我的理解,#pragma omp parallel它的变化基本上在许多并发线程中执行以下块,这对应于CPU的数量.当嵌套并行化时 - 并行为并行,并行函数内的并行函数等 - 内部并行化会发生什么?

我是OpenMP的新手,我想到的情况可能相当简单 - 将矢量与矩阵相乘.这是在两个嵌套的for循环中完成的.假设CPU的数量小于向量中的元素数量,那么尝试并行运行内部循环是否有任何好处?线程总数是否会大于CPU数量,还是内部循环会顺序执行?

c++ parallel-processing multithreading nested openmp

17
推荐指数
2
解决办法
1万
查看次数

Clojure/Java的分布式计算框架

我正在开发一个应用程序,我需要在一个可能非常大的不同机器集群中分配一组任务.

理想情况下,我想在Clojure中使用一种非常简单,惯用的方法,例如:

; create a clustered set of machines
(def my-cluster (new-cluster list-of-ip-addresses))

; define a task to be executed
(deftask my-task (my-function arg1 arg2))

; run a task 10000 times on the cluster
(def my-job (run-task my-cluster my-task {:repeat 10000})

; do something with the results:
(some-function (get-results my-job))
Run Code Online (Sandbox Code Playgroud)

如果能在集群上做Map-Reduce之类的话也可以获得奖励......

实现这样的目标的最佳方法是什么?也许我可以包装一个合适的Java库?

更新:

感谢Apache Hadoop的所有建议 - 看起来它可能符合要求,但是它看起来有点像矫枉过正,因为我不需要像Hadoop那样使用分布式数据存储系统(即我不需要处理数十亿条记录)...更轻量级的东西,专注于计算任务,如果存在的话,它会更好.

java parallel-processing clojure distributed-computing

17
推荐指数
2
解决办法
5357
查看次数

使用exec在新进程中执行系统命令

我正在尝试生成一个执行系统命令的进程,而我自己的程序仍在进行,两个进程将并行运行.我正在研究linux.

我在网上查了一下,听起来我应该使用exec()系列.但它并不像我预期的那样有效.例如,在下面的代码中,我只看到"之前"打印,但不是"完成".

如果我发布任何东西,我很好奇吗?

#include <unistd.h>
#include <iostream>

using namespace std;

main()
{
   cout << "before" << endl;
   execl("/bin/ls", "/bin/ls", "-r", "-t", "-l", (char *) 0);
   cout << "done" << endl;
}
Run Code Online (Sandbox Code Playgroud)

[UPDATE]

谢谢你们的评论.现在我的程序看起来像这样.一切正常,除了最后,我必须按回车完成程序.我不知道为什么我要按最后一次输入?

#include <unistd.h>
#include <iostream>

using namespace std;

main()
{
   cout << "before" << endl;
   int pid = fork();
   cout << pid << endl;
   if (pid==0) {
      execl("/bin/ls", "ls", "-r", "-t", "-l", (char *) 0);
   }
   cout << "done" << endl;
}
Run Code Online (Sandbox Code Playgroud)

c++ linux parallel-processing process exec

17
推荐指数
2
解决办法
5万
查看次数

Erlang在多核CPU上

我正在学习erlang,并且对于并行化工作是多么容易印象深刻.为了练习一点,我挖出了好的纤维Fibanocci序列.在下面的代码中,我尝试通过一次计算三个昂贵的产品来利用并行化.

-module (fib4).
-export ( [main/1] ).

main (N) ->
    fib (list_to_integer (atom_to_list (hd (N) ) ) ),
    halt (0).

path (1, Acc) -> Acc;
path (N, Acc) when N rem 2 =:= 0 ->
    path (N - 1, [step | Acc] );
path (N, Acc) ->
    path ( (N - 1) div 2, [jump | Acc] ).

fib (N) -> fib (1, 1, path (N, [] ) ).

fib (N, Nplus1, [Last] ) ->
    case Last of
        step -> …
Run Code Online (Sandbox Code Playgroud)

parallel-processing erlang

17
推荐指数
3
解决办法
6814
查看次数

Node.js - Async.js:并行执行如何工作?

我想知道async.js中的并行执行是如何工作的

async = require('async')

async.parallel([
    function(callback){
        for (var i = 0; i < 1000000000; i++) /* Do nothing */;
        console.log("function: 1")
    },
    function(callback){
        console.log("function: 2")
    }
]);
Run Code Online (Sandbox Code Playgroud)

在上面的例子中,我希望获得输出:

功能:2

功能:1

但是,控制台抛出反转,发生了什么?谢谢.

javascript parallel-processing node.js async.js

17
推荐指数
2
解决办法
1万
查看次数

OpenMP threadprivate和private之间的区别

我正在尝试使用OpenMP并行化C程序.

我想了解更多:

  1. threadprivate指令和private子句之间的区别
  2. 在哪些情况下,我们必须使用其中任何一个.

据我所知,区别在于threadprivate的全局范围以及跨并行区域的保留值.我在几个例子中发现,当一段代码包含一些必须私有化的全局/静态变量时,这些变量包含在threadprivate列表中,并且使用copyin将它们的初始值复制到私有副本中.

但是,是否有任何规则阻止我们使用private子句来处理全局/静态变量?也许任何实施细节?

我在OpenMP3.0规范中找不到任何解释.

parallel-processing private openmp

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

tm_map在Mac上的R 3.0.1中有parallel :: mclapply错误

我在平台上使用R 3.0.1:x86_64-apple-darwin10.8.0(64位)

我正在尝试使用tm库中的tm_map.但是当我执行这段代码时

library(tm)
data('crude')
tm_map(crude, stemDocument)
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

Warning message:
In parallel::mclapply(x, FUN, ...) :
  all scheduled cores encountered errors in user code
Run Code Online (Sandbox Code Playgroud)

有谁知道这方面的解决方案?

parallel-processing r mclapply tm

17
推荐指数
3
解决办法
2万
查看次数

Hadoop MapReduce vs MPI (vs Spark vs Mahout vs Mesos) - When to use one over the other?

I am new to parallel computing and just starting to try out MPI and Hadoop+MapReduce on Amazon AWS. But I am confused about when to use one over the other.

For example, one common rule of thumb advice I see can be summarized as...

  • Big data, non-iterative, fault tolerant => MapReduce
  • Speed, small data, iterative, non-Mapper-Reducer type => MPI

But then, I also see implementation of MapReduce on MPI (MR-MPI) which does not provide fault tolerance but seems …

parallel-processing hadoop mapreduce mpi

17
推荐指数
2
解决办法
6827
查看次数

烧瓶中的Python多处理

这个问题可能已被提出,而且很可能已经回答了,但我不知道在哪里可以找到它.

问题:我有一个用于python烧瓶的路由器,需要一段时间来处理每个呼叫的数据.我需要让每个对路由的调用本身都是一个线程,因此它不必等待加载请求.

python parallel-processing flask

17
推荐指数
3
解决办法
2万
查看次数