«parallel-processing» 태그된 질문

병렬 처리는 단순한 동시 처리와는 대조적으로 병렬 방식으로 실행되는 모든 스레드 수준 및 / 또는 명령 수준 작업을 시작 / 수행 / 완료하도록 보장되며 동시에 실행되는 코드 경로의 완료를 보장합니다.

13
비동기 프로그래밍과 병렬 프로그래밍의 차이점을 분명히 표현하는 방법은 무엇입니까?
많은 플랫폼이 응답 성을 향상시키기위한 수단으로 비동기 및 병렬 처리를 촉진합니다. 나는 그 차이를 일반적으로 이해하지만, 종종 내 자신의 마음과 다른 사람들에게 분명히 표현하기가 어렵다는 것을 알게됩니다. 나는 임시 프로그래머이며 비동기 및 콜백을 상당히 자주 사용합니다. 병렬성은 이국적이다. 그러나 나는 특히 언어 디자인 수준에서 쉽게 혼란스러워하는 것처럼 느낍니다. 그들이 어떻게 …

5
여러 awaits보다 단일 'await Task.WhenAll'을 선호해야하는 이유는 무엇입니까?
작업 완료 순서에 신경 쓰지 않고 모두 완료해야하는 경우에도 await Task.WhenAll여러 개 대신 사용해야 await합니까? 예를 들어 DoWork2다음과 같은 선호하는 방법 이 있습니다 DoWork1. using System; using System.Threading.Tasks; namespace ConsoleApp { class Program { static async Task<string> DoTaskAsync(string name, int timeout) { var start = DateTime.Now; Console.WriteLine("Enter {0}, {1}", name, …

8
Powershell이 ​​명령을 병렬로 실행할 수 있습니까?
여러 이미지에 대해 일괄 처리를 수행하는 powershell 스크립트가 있으며 병렬 처리를 수행하고 싶습니다. Powershell에는 start-job, wait-job 등과 같은 백그라운드 처리 옵션이있는 것 같지만 병렬 작업을 수행하기 위해 찾은 유일한 리소스는 스크립트 텍스트를 작성하고 실행하는 것뿐입니다 ( PowerShell Multithreading ). 이상적으로는 .net 4의 병렬 foreach와 유사한 것을 원합니다. 다음과 같이 꽤 …

4
다중 처리의 공유 메모리 개체
메모리에 numpy 배열이 크고이 func거대한 배열을 입력으로 받는 함수 가 있다고 가정 합니다 (다른 매개 변수와 함께). func다른 매개 변수를 사용하여 병렬로 실행할 수 있습니다. 예를 들면 : def func(arr, param): # do stuff to arr, param # build array arr pool = Pool(processes = 6) results = [pool.apply_async(func, [arr, …

1
22Mb의 총 메모리 사용량에도 불구하고 Haskell 스레드 힙 오버플로?
광선 추적기를 병렬화하려고합니다. 이것은 작은 계산 목록이 매우 길다는 것을 의미합니다. 바닐라 프로그램은 특정 장면에서 67.98 초에 실행되며 총 메모리 사용량은 13MB이며 생산성은 99.2 %입니다. 첫 번째 시도 parBuffer에서 버퍼 크기가 50 인 병렬 전략 을 사용 했습니다. parBuffer스파크가 소모되는 속도로만 목록을 살펴보고 parList많은 메모리를 사용하는 목록의 척추를 강제하지 않기 …

5
parallel.foreach를 중단 하시겠습니까?
어떻게 밖으로 휴식 할 parallel.for 루프? 다음과 같은 매우 복잡한 진술이 있습니다. Parallel.ForEach<ColorIndexHolder>(ColorIndex.AsEnumerable(), new Action<ColorIndexHolder>((ColorIndexHolder Element) => { if (Element.StartIndex <= I && Element.StartIndex + Element.Length >= I) { Found = true; break; } })); 병렬 클래스를 사용하면이 프로세스를 훨씬 최적화 할 수 있습니다. 하나; 병렬 루프를 끊는 방법을 알 …

7
잠금 문은 얼마나 비쌉니까?
저는 다중 스레딩과 병렬 처리를 실험 해 왔으며 처리 속도에 대한 기본적인 계산 및 통계 분석을 수행하기 위해 카운터가 필요했습니다. 내 클래스의 동시 사용 문제를 피하기 위해 내 클래스의 개인 변수에 잠금 문을 사용했습니다. private object mutex = new object(); public void Count(int amount) { lock(mutex) { done += amount; …

4
MapReduce 정렬 알고리즘은 어떻게 작동합니까?
MapReduce의 성능을 입증하는 데 사용되는 주요 예 중 하나는 Terasort 벤치 마크 입니다. MapReduce 환경에서 사용되는 정렬 알고리즘의 기본 사항을 이해하는 데 어려움이 있습니다. 나에게 정렬은 단순히 다른 모든 요소와의 관계에서 요소의 상대적 위치를 결정하는 것을 포함합니다. 따라서 정렬에는 "모든 것"과 "모든 것"을 비교하는 것이 포함됩니다. 평균 정렬 알고리즘 (빠른, …

5
Python에서 하위 프로세스, 다중 처리 및 스레드 중에서 결정합니까?
Python 프로그램이 실행되는 컴퓨터에서 여러 프로세서를 사용할 수 있도록 Python 프로그램을 병렬화하고 싶습니다. 내 병렬화는 프로그램의 모든 병렬 "스레드"가 독립적이고 출력을 별도의 파일에 기록한다는 점에서 매우 간단합니다. 정보를 교환하기 위해 스레드가 필요하지는 않지만 파이프 라인의 일부 단계가 출력에 따라 다르기 때문에 스레드가 언제 완료되는지 아는 것이 중요합니다. Mac, Linux 및 …

13
여러 스레드가 완료 될 때까지 기다리는 방법은 무엇입니까?
모든 스레드 프로세스가 완료 될 때까지 기다리는 방법은 무엇입니까? 예를 들어 다음과 같이 가정 해 보겠습니다. 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 …


2
SLURM`srun` vs`sbatch` 및 매개 변수
SLURM srun과 sbatch명령 의 차이점을 이해하려고 합니다. 다음 질문에 대한 구체적인 답변보다는 일반적인 설명에 만족할 것입니다. 그러나 여기에 시작점이 될 수있는 몇 가지 구체적인 혼란 지점이 있으며 제가 찾고있는 내용에 대한 아이디어를 제공 할 수 있습니다. 문서 에 따르면 , srun작업 제출을위한 것이고 sbatch나중에 실행하기 위해 작업을 제출하기위한 것이지만 실질적인 …

2
여러 프로세스간에 결과 큐 공유
multiprocessing모듈에 대한 문서는로 시작하는 프로세스에 큐를 전달하는 방법을 보여줍니다 multiprocessing.Process. 하지만 시작된 비동기 작업자 프로세스와 큐를 공유하려면 어떻게해야 apply_async합니까? 동적 조인이나 다른 것이 필요하지 않습니다. 작업자가 결과를 다시 기지에 (반복적으로)보고하는 방법 일뿐입니다. import multiprocessing def worker(name, que): que.put("%d is done" % name) if __name__ == '__main__': pool = multiprocessing.Pool(processes=3) q …


2
Repa 배열의 병렬 mapM
최근 작업 에서 Gibbs sampling, 나는 RVar난수 생성에 거의 이상적인 인터페이스를 제공하는 것을 잘 활용했습니다 . 안타깝게도지도에서 모나 딕 액션을 사용할 수 없어서 Repa를 사용할 수 없었습니다. 명확하게 모나 딕 맵은 일반적으로 병렬화 될 수 없지만 RVar효과를 안전하게 병렬화 할 수있는 모나드의 한 가지 예는 될 수 있습니다 (적어도 원칙적으로는의 …

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.