Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Using Task Parallel Library with Multiple Computers

Is there any way to use Task Parallel Library in multi computer scenarios ?

I mean if i have huge number of tasks , can i schedule it over LAN in number of servers ?

like image 960
TalentTuner Avatar asked Oct 05 '10 17:10

TalentTuner


People also ask

Which of the following is not handled by the Task Parallel library TPL?

Task parallel library does not handles the race conditions by default.

Do tasks run in parallel?

Concurrent tasks progress at the same time in the worker system but they don't progress simultaneously. Parallel tasks are executed by different workers at the same time. Concurrency refers to how a worker system handles multiple tasks while parallelism refers to how a worker system handles a single task.

What is TPL Task Parallel library?

The Task Parallel Library (TPL) is a set of public types and APIs in the System. Threading and System. Threading. Tasks namespaces. The purpose of the TPL is to make developers more productive by simplifying the process of adding parallelism and concurrency to applications.

How are threads different from TPL?

Compared to the classic threading model in . NET, Task Parallel Library minimizes the complexity of using threads and provides an abstraction through a set of APIs that help developers focus more on the application program instead of focusing on how the threads will be provisioned.


2 Answers

The TPL is geared towards single computer, multiple processor core scenarios.

If you want to work across multiple systems, you'll need to use some type of clustering software, such as MPI (usable in .NET directly via MPI.NET) or one of the many options based on Windows HPC.

That being said, the TPL is very useful on each of the nodes of the cluster. It can be used to have each cluster node scale well across the cores available on that node.

like image 75
Reed Copsey Avatar answered Oct 01 '22 14:10

Reed Copsey


No TPL focuses on local threads within a process. There are however existing projects that do tackle this area.

http://research.microsoft.com/en-us/projects/dryad/

And you can take a look at the answers to this SO question

Any good distributed agent/service models for .NET?

like image 23
Chris Taylor Avatar answered Oct 01 '22 14:10

Chris Taylor