Potential issues with multithreaded, intensive computing

I was working on a project that could be summarized as an “intensive computing analysis tool,” and I decided to write code so that multiple threads could be used to process several separate calculations in parallel.

After a series of problems due to the lack of experience in programming multi-threaded projects, it seems that I finally managed to get it to work as I expected. Computations are selected one by one from the queue and processed simultaneously. Following a specific advice (regarding the appropriate number of threads), I got the answer to the previous question , which I set it so that one thread fills the process queue, while the remaining threads in the pool take processes from the queue in a row. On my i7 machine with 8 core cores, I went with 1 manufacturer + 8 consumers = 9 threads.

Now my question is this:

It is not surprising that when everything works as intended, the processor use of the machine gets on the roof. I monitor CPU usage through Gnome System Monitor, and it seems that the cores are 90-100% loaded during the software analysis phase. Besides slowing down the work of other programs (for example, browser, mail, PDF reader, etc.) that exist simultaneously, are there any other potential problems that I should be aware of? Can it create a high load to create any artifacts, for example, in the JVM?

Given that my software is intended to be used as a tool for scientific analysis, and not for a regular desktop application, slowing down other programs is what I am willing to accept, but I would like to know if there are other problems that I should Know Any practical examples or previous experience are very welcome.

Thanks in advance,

+3
source share
1 answer

, . , , , . Windows, , . (Unix/Linux , .)

, , , .

+3

All Articles