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 ?
Task parallel library does not handles the race conditions by default.
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.
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.
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.
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.
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?
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With