Questions tagged [parallel-programming]
For questions about programming in such a way that a task can be divided among multiple threads/workers which work simultaneously ('in parallel') on the subtasks, leading to performance gains.
73 questions
1
vote
1
answer
369
views
Determine when distributed and parallel process is completed
In a distributred system that uses parallel processing to complete tasks and I want to determine when all sub tasks have been completed, what design method or principals can i apply ?
I am using ...
0
votes
0
answers
34
views
What are the typical properties of dependency graphs?
I want to run a complex algorithm consisting of many subtasks in parallel on a number of processors. These subtasks depend on one another, so that this algorithm is characterized by a DAG (Directed ...
-2
votes
1
answer
87
views
Efficient static race detection [closed]
I am supervising a university project on the topic of race detection for multi-threaded processes with shared memory.
We have a complex algorithm consisting of tens of thousands of subtasks, and we ...
0
votes
0
answers
98
views
Optimizing the runtime of greedy scheduling for parallel computing
I have a situation where I want to run a complex algorithm consisting of many subtasks in parallel on a number of processors. These subtasks depend on one another, so that this algorithm is ...
0
votes
1
answer
134
views
Difference between outcome of using mutex/spinlock/semaphore in this deadlock situation?
I'm not sure if my answers to the following exercise is correct:
Suppose the program is run with two threads. Further suppose that the
following sequence of events occurs:
Time Thread 0 ...
1
vote
1
answer
190
views
Distribution of processing across cores between a LINQ and PLINQ query
I am trying to create a simple demonstration of using 'parallel LINQ' (PLINQ). I have two versions of my task, in C#:
var result = Enumerable.Range(1,1000000).Where(x => IsPrime(x)).ToList();
...
3
votes
1
answer
142
views
Design for deduplicating concurrent tasks in flight simultaneously
I have 1-20 agents that issue requests over time with roughly ~50 in total in flight at any given time. Many of these requests are identical. The tasks are idempotent, but if two identical requests ...
-3
votes
2
answers
129
views
How are futures and speculations evaluated differently?
In Practical Foundation of Programming Languages
38 Futures and Speculations
A future is a computation that is performed before it is value is
needed. Like a suspension, a future represents a value ...
2
votes
2
answers
494
views
Is sequential consistency equivalent to performing memory accesses by a processes in program order and performing each memory access atomically?
In Fundamentals of Parallel Multicore Architecture, by Yan Solihin, p304 defines sequential consistency memory model:
Overall, we can express programmers’ implicit expectation of memory
access ...
0
votes
2
answers
949
views
What are the differences between memory coherence and cache coherence?
https://en.wikipedia.org/wiki/Memory_coherence says:
Memory coherence is an issue that affects the design of computer
systems in which two or more processors or cores share a common area
of memory.[1]...
0
votes
2
answers
902
views
Approaches of splitting the same type of work among multiple threads in C++
I have a reinforcement learning project.
For this I created a vectorized environment in C++, which is a handler for multiple instances of a simple game.
It is highly parallelizable. Each worker can ...
0
votes
0
answers
44
views
What is the most fitting thread model to redesign a sequential linear search algorithm?
Let's say that there is a simple sequential algorithm that performs a linear search of a unique key in an array:
public class SearchSeq {
public static int search(int[] a, int key) {
for (int i ...
-2
votes
1
answer
729
views
How to do achieve parallelism in a console application
I have a .net web application, let's say A and a .net console application, let's say B.In A, I have a queue with multiple jobs to be done by B.Once I select the jobs from A, a queue gets created. Each ...
3
votes
3
answers
2k
views
How can I improve the speed of scanning multiple directories recursively at the same?
So I am trying to speed up my program by using concurrency and/or multi-threading and/or process parallelism. The topics are pretty complex and I am sort of new to them so I am still trying to figure ...
3
votes
1
answer
10k
views
How to approach a large number of multiple, parallel HttpClient requests?
I have a website which offers pages in the format of https://www.example.com/X where X is a sequential, unique number increasing by one every time a page is created by the users and never reused even ...
4
votes
3
answers
1k
views
Alternating between Java streams and parallel streams at runtime
This is a question I constantly ask myself when designing a data intensive application: When is it appropriate to use stream() over parallelStream()? Would it make sense to use both? How do I quantify ...
0
votes
2
answers
67
views
Should parallelization be reserved for more important system workflows?
I'm wondering, in general, if a part of a program can be safely parallelized with significant performance gains, should we? Or do we need consider the importance of this work because it can affect ...
9
votes
1
answer
427
views
How to design a good generic tiled image downloader?
Tiled images
Tiled images are large images that have been split in smaller square tiles.
There are several tiled image formats, with different ways of organizing
the tile files.
A tiled image on ...
0
votes
1
answer
340
views
Thread-safe C library with OpenMP
I am writing a C library with routines I want to call from an external driver program using many OpenMP threads. The library will have a main container called lib_workspace, which will be used to do ...
1
vote
0
answers
51
views
MPI Derived Types and Portability
When using derived types in MPI for communication of data which is not contiguous in memory, the sequence of datatype-displacement pairs defining the derived type seems to be assumed to be the same ...
0
votes
1
answer
1k
views
Distribute jobs evenly among a set of servers
I have the need to distribute a set of long running jobs across a cluster of containers in ECS. These jobs essentially would need to open a socket connection with a remote server and begin streaming ...
0
votes
1
answer
170
views
Can Kubernetes help with providing more processing power for the same request?
I am fairly new to Docker and Kubernetes and I have a question for which I could not figure out the answer myself. I am working on an application that does string matching on data extracted from ...
0
votes
3
answers
180
views
Workflow for designing a parallel architecture
I have been interested in parallel computing lately, and I just wanted to check if there's some sort of standard or workflow for designing a parallel architecture.
In particular, I am interested in ...
2
votes
1
answer
151
views
Relation Between Flynn's Taxonomy and Concurrency
I have known about the Flynn taxonomy for a while (SIMD, MIMD, etc.), as well as models of concurrency (actor model, petri nets, etc.). However I am wondering now how they overlap and interrelate. If ...
3
votes
1
answer
190
views
Design for avoiding concurrent calls to an interface implementation
The application I'm developing requires that some data is obtained through different channels. As this is a network process, I have decided to use async programming.
I have designed the following ...
7
votes
3
answers
2k
views
How do I know if a set of code is a good candidate for parallelization?
How can I tell in an application if there are parts that will benefit from using the C# Task library (I believe that is the Parallel processing library.)
Given other optimizations have been done, how ...
1
vote
2
answers
874
views
How Functional Programming addresses concurrent increment/decrement operations invoked by different users?
Using Functional language, How can 2 different parties achieve the result of increment/decrement operations concurrently?
For the below scenario,
Let's say, I've 2 quantities in stock and 2 users in ...
7
votes
1
answer
709
views
Immediately awaiting an asynchronous call [duplicate]
While working on an inherited project, I noticed the original dev(s) created many asynchronous functions that never seem to take advantage of being, well, asynchronous. For example:
// The async ...
3
votes
2
answers
466
views
Parallel sorting algorithm that compares all elements
I'm implementing an algorithm that needs to
Sort elements, in parallel (this will be done on a GPU, but that doesn't matter much)
Compute a comparison metric for every pair of elements. This ...
1
vote
2
answers
261
views
Parallel algorithm: calculations on graph
I have general parallel programming question.
Suppose there is a directed graph with cycles. Let’s assume that each node has fairly small amount of incoming edges ~ from 0 to 20 and potentially ...
0
votes
1
answer
150
views
Celluloid actors parallel work slow?
I'm new to actors and just playing around in ruby using Celluloid. I have this code below
module Enumerable
# Simple parallel map using Celluloid::Futures
def pmap(&block)
futures = map { ...
0
votes
1
answer
258
views
Implement an actor-based concurrent language in ruby?
How would one implement an actor-based concurrent language in ruby? My thought is that only the correct way of creating programs is using actors, but I'm not entirely sure on how this could be done, ...
26
votes
10
answers
7k
views
Programming language where every function call/block is done in a separate thread? [closed]
I'm currently creating a programming language for fun where the idea is that every function call/new block (if clauses, loops etc) will work in a separate thread. Instead of creating new Threads the ...
1
vote
0
answers
86
views
What specific attributes make code able to be executed in parallel? [closed]
List specific programming concepts that should code adhere to that it will run in parallel. For example, if a block of code does not change shared state, it should be able to be done on another thread....
0
votes
1
answer
258
views
How to manage threads in a framework
I'm developing a framework with C++, and it contains three layers:
Low level functions which do the hard work
An upper layer which uses the low level functions to accomplish tasks (functions at this ...
3
votes
2
answers
3k
views
Parallel Image Processing Best Practices
When doing (possibly heavy) pixel processing on a large image, multithreading becomes a must. The standard practice is to initiate a loop whose indices are partitioned into multiple threads within a ...
2
votes
2
answers
126
views
Get service data of future iterations
I have a doubt with threading data service calls within a foreach loop. Here it goes:
Say you need to request data from a service and then process that data, for this example, let's say data request ...
1
vote
1
answer
1k
views
parallel programming memory usage
I am starting to learn parallel programming in c++, and I have a program like this:
for i = 1:N
do something time and memory intensive
end
If I program this in parallel, and my processors have ...
0
votes
3
answers
1k
views
Excute Procedure in Parallel or Async
I have inherited an application which performs approximately 100,000 executions in a C# for-loop against SQL Server.
for (int i=0; i<100000; i++)
{
//Execution can take 0.250 to 5 seconds to ...
1
vote
4
answers
2k
views
Best algorithm to multi-thread this application?
I define an algorithm to be best if it minimizes the total run time over commodity hardware (e.g. normal desktop and server PCs).
I have sets A and B. I also have function f that works like f(a, b, n)...
-1
votes
2
answers
154
views
Designing an application with safe paralleled tasking
The title may have been a little vague... I am working on a piece of software that is designed to perform one task. I would like this task to work in parallel, allowing for multiple asynchronous ...
1
vote
1
answer
419
views
One producer and one consumer vs inconsistent shared resource state
I was reading about implementation of producer-consumer problem with one producer and one consumer. Looking at this paragraph I see the implementation where shared resource access is not synchronized ...
-2
votes
1
answer
65
views
Grand Central Dispatch efficiency
Running a ray tracing program as a single thread on an iMac quad-core processor the CPU utilisation is 12%. OK so one of the Intel hyper-threads has been 100% allocated to the process. When GCD is ...
5
votes
1
answer
935
views
Partially parallel producer-consumer pattern with internal state
I need to implement a producer-consumer pattern for reading, processing and saving electrical values. I have to implement this in C# .NET 4.6.1.
I try to describe this in great detail, so that there ...
2
votes
2
answers
10k
views
Is python list comprehension using multi-threading or parallelized in any way by default?
When I write...
l2 = [my_computation(x) for x in l]
..., I wonder if python is applying my_computation to every x using all cores of my CPU.
If not, why ?
Is there a simple way to make python ...
0
votes
1
answer
193
views
Raspberry pi computer cluster question?
I am wanting to have/ or make a program that runs on a (raspberry pi)computer cluster with one pi executing only video content while the other only handles music, etc under a main program like an AI. ...
1
vote
1
answer
2k
views
Is the logic behind `Asyncio.wait()` and async/await, the same, just the code is written differently (syntax)?
I'm learning Python, more specially parallel programming using Python Parallel Programming Cookbook by Giancarlo Zaccone.
At the time the book was published async/await was still in the beta version ...
50
votes
5
answers
19k
views
What is it about functional programming that makes it inherently adapted to parallel execution? [duplicate]
I've been reading over and over that functional languages are ideal (or at least very often useful) for parallelism. Why is this? What core concepts and paradigms are typically employed and which ...
1
vote
4
answers
1k
views
Executing scripts in parallel based on dependency tree
We have an app that is using a fairly simple stack (Linux, PHP, Oracle, Shell Scripts, etc).
We have a series of scripts that need to be executed:
/scr/app1/start.sh
/scr/app2/start.php
/scr/app3/...
22
votes
11
answers
6k
views
Do algorithms depend on computer architectures?
I read somewhere (forgot which book it is) that algorithms are independent of computer architectures. Some even say algorithms are themselves computation (machines?)?
On the other hand, books on ...