People who code: we want your input. Take the Survey

New answers tagged

1

The recursive algorithm can be summarized in one sentence: Given an unsorted array $A$, break it into two equal halves $B,C$, calculate their minimum elements $\min(B),\min(C)$ in parallel, and output $\min(A) = \min(\min(B),\min(C))$. When there are infinitely many processors, we can always calculate $\min(B)$ and $\min(C)$ in parallel, and so the ...


0

The exact use of such terms depends on context and author, but generally speaking, I would say that concurrency is a much broader term than parallelism; parallelism is a form of concurrency. The term concurrency is generally used to describe a situation in which processing doesn't necessarily happen in strict sequential order. The things in question can be ...


1

I agree the usage of the terms concurrent and parallel in computing is confusing. Part of the confusion is because the English word concurrent means: "at the same time", but the usage in computing is slightly different. In computing we say two threads have the potential to run concurrently if there are no dependencies between them. When we say ...


1

A simple re-look at the terms used in question will provide the answer. A process is a program in execution. Often a process consist of multiple software threads. The work of the process is divided among the threads. If the work done by threads is relatively independent, they can execute concurrently on available processor cores. Most modern processor ...


1

Each processor gets $\log\log n$ elements, and finds the maximum in time $O(\log\log n)$. Now run the existing algorithm.


0

Concurrency is not parallelism: indeed, concurrency refers to the sharing of resources in the same time frame. As an example, several processes may share the same CPU or share memory or an I/O device. Two processes (or threads) can be defined concurrent if an only if the second process starts execution before the first has terminated (assuming that the ...


Top 50 recent answers are included