Our application is quite heavy.

Part 1. RAM

Currently it takes up about 1.3 GB of RAM in the computer memory.

99% of this 1.3 GB is taken up by constructing a matrix of prime numbers.
The matrix of prime numbers is made by the code primesieve.
Specific code snippet: https://github.com/kimwalisch/primesieve/tree/2b2c4a5c62f0cd9dfd9f56cca580ea47fa84dc2d
Original sources from Tomash Brada: here
Adaptated by Demis for SPT project: here

The search code itself (in SPT), according to the constructed matrix, takes up only 5-6MB in memory.
And it doesn't increase.

When our project started, the memory size for the matrix of one task was approximately 620MB.
Now 1.3 GB.
And it will slowly increase.
The longer the numbers, the more memory they require in the primesieve matrix.

One of our tasks takes, on average, from 45 minutes to 1.5 hours.
Although we see exceptions to this rule.
There are cruncher computers that count in 20 minutes.
And there are cruncher computers that count in 240 minutes.

In any case, users have questions.

Most often, those who
   and works on a computer,
   and at the same time considers different boinc projects,
   and watches movies...

The main recommendation would be:
1. Reduce the amount of resources allocated to the project.
This can be easily done in the "Computing preferences" section on the page:
(need login)

When computer is in use
Suspend when non-BOINC CPU usage is above	25 %
Use at most	50 % of memory

When computer is not in use
Suspend when non-BOINC CPU usage is above
Requires BOINC 7.20.3+	25 %
Use at most	90 % of memory

2. Reduce the number of occupied cores in the boinc-manager.
In the main menu of the Options->Computing preferences

Options->Computing preferences->Computing

and Options->Computing preferences->Disk

3. How, approximately, can you independently calculate the settings for your computer?

For example:
I have an x64 computer
   which has 2 cores,
   hyperthreading enabled,
   physical memory 4GB.

2x2 = 4 cores.

1 core must be left free for the OS.
It turns out 4 - 1 = 3 cores can be occupied by SPT calculations (or others projects).

Let's calculate the required memory for the SPT application:
3 x 1.3 = 3.9 GB.
It turns out a lot for 4GB,
since we still have to have resources for the OS and other applications
(boinc or not, it doesn't matter).
There is a high probability that the application will go to a swap file.
This will cause a sharp slowdown.

Therefore, you need to reduce the simultaneous launch of "SPT" by another "one application".
3 - 1 = 2 cores - can be used.

Now you can go to the settings and set the CPU usage to 50% in the boinc-manager.
(100% is 4 cores, 50% is two cores).

In the same way you can calculate
   and for 4-core processors,
   and for 8 core processors,
   and for more multi-core processors.

©2024 Natalia Makarova & Alex Belyshev & Tomáš Brada