Articles of parallel processing

Qual é a diferença entre programação assíncrona e multithreading?

Eu pensei que eles eram basicamente a mesma coisa – escrever programas que dividem tarefas entre processadores (em máquinas que possuem 2+ processadores). Então estou lendo https://msdn.microsoft.com/en-us/library/hh191443.aspx , que diz Os methods asynchronouss devem ser operações sem bloqueio. Uma expressão await em um método asynchronous não bloqueia o thread atual enquanto a tarefa aguardada está […]

Correntes paralelas, coletores e segurança de roscas

Veja o exemplo simples abaixo que conta o número de ocorrências de cada palavra em uma lista: Stream words = Stream.of(“a”, “b”, “a”, “c”); Map wordsCount = words.collect(toMap(s -> s, s -> 1, (i, j) -> i + j)); No final, wordsCount é {a=2, b=1, c=1} . Mas meu stream é muito grande e quero […]

Como posso imprimir ao usar% dopar%

Eu tenho um loop foreach que usa %dopar% com doSNOW como o back-end. Como posso fazer com que o loop imprima algo em cada iteração? Meu código abaixo é o que estou usando atualmente, mas não imprime nada. foreach(ntree=rep(25,2),.combine=combine,.packages=’randomForest’, .inorder=FALSE) %dopar% { print(“RANDOM FOREST”) randomForest(classForm,data=data,na.action=na.action,do.trace=do.trace,ntree=ntree,mtry=mtry) }

Parallel.ForEach limita o número de threads ativos?

Dado este código: var arrayStrings = new string[1000]; Parallel.ForEach(arrayStrings, someString => { DoSomething(someString); }); Todos os 1000 threads aparecerão quase simultaneamente?

O programa OpenMP é mais lento que o seqüencial

Quando eu tento o seguinte código double start = omp_get_wtime(); long i; #pragma omp parallel for for (i = 0; i <= 1000000000; i++) { double x = rand(); } double end = omp_get_wtime(); printf("%f\n", end – start); O tempo de execução é de cerca de 168 segundos, enquanto a versão sequencial gasta apenas 20 […]

Como criar encadeamentos em nodejs

Existe alguma maneira de criar threads para executar vários methods por vez. Se algum método falhar entre todos os outros segmentos deve ser morto. desde já, obrigado

Como esperar por um número de threads para completar?

O que é uma maneira de simplesmente esperar que todo o processo encadeado termine? Por exemplo, digamos que eu tenha: public class DoSomethingInAThread implements Runnable{ public static void main(String[] args) { for (int n=0; n<1000; n++) { Thread t = new Thread(new DoSomethingInAThread()); t.start(); } // wait for all threads' run() methods to complete before […]

Por que o pacote paralelo é mais lento que apenas o uso de aplicar?

Eu estou tentando determinar quando usar o pacote parallel para acelerar o tempo necessário para executar algumas análises. Uma das coisas que preciso fazer é criar matrizes comparando variables ​​em dois frameworks de dados com um número diferente de linhas. Eu fiz uma pergunta sobre uma maneira eficiente de fazer no StackOverflow e escrevi sobre […]

Qual é a diferença entre programação concorrente e programação paralela?

Qual é a diferença entre programação concorrente e programação paralela? Eu perguntei ao Google, mas não encontrei nada que me ajudasse a entender essa diferença. Você poderia me dar um exemplo para ambos? Por enquanto eu encontrei esta explicação: http://www.linux-mag.com/id/7411 – mas “concorrência é uma propriedade do programa” vs “execução paralela é uma propriedade da […]

Coordenando a execução paralela em node.js

O modelo de programação orientada a events do node.js torna um pouco complicado coordenar o stream do programa. A execução sequencial simples é transformada em retornos de chamada nesteds, o que é bastante fácil (embora um pouco complicada para escrever). Mas como sobre a execução paralela? Digamos que você tenha três tarefas A, B, C […]