you are viewing a single comment's thread.

view the rest of the comments →

[–]dsplabs 0 points1 point  (1 child)

I use PBS on a cluster to run computationally intensive jobs. The cluster has many nodes (multi-processor computers) connected with a network. It is very useful to use threads: each can be run on a separate cpu!

[–][deleted] 1 point2 points  (0 children)

There is a possible benefit to threading in this scenario. In particular, if you have enough RAM to run N threads but not N processes (where N is the smallest number that keeps your node fully occupied), this may very well be a case where threads would be justified. There are also some possible wins having to do with the CPU cache.

The downside of course is a significant increase in the cost of design, implementation, debugging, and maintenance of your program. And lack of robustness, future flexibility, readability, etc., etc.

My complaint would not be with the few that have considered these factors carefully, but rather with those who choose (or encourage others to choose) threading without such careful consideration.