mersenneforum.org  

Go Back   mersenneforum.org > Great Internet Mersenne Prime Search > Software

Reply
 
Thread Tools
Old 2008-11-01, 18:22   #1
rudi_m
 
rudi_m's Avatar
 
Jul 2005

2×7×13 Posts
Default v25.7 linux: MaxLoad/MinLoad

Hi,

On v24 I always used such settings like
MaxLoad=3.9
MinLoad=2.2
PauseTime=5

to make my servers more responible under heavy load.

With v25.7 it still suspends the worker threads when MaxLoad is reached but they never wake up again.
It would be nice to fix that again.
Since 25.7 is multithreaded it could be even more comfortable as in past (not suspending all worker threads on MaxLoad but just as many to hold the load down).

BTW1
While workers are suspended the signal handling does not work properly (SIGTERM does not work in this case).

BTW2
In 25.7 the worker threads are still niced 19 by default but the main thread is not. Its not a real problem but I (admin) have more work to explain the thing to concerned users who don't understand the whole thing if they see such processes on their machines:
Code:
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 3673 rudi      18   0  335m 195m 2220 S  399  0.6   1513:34 mprime
So maybe completely nice 19 again would be a good Idea - but not really important.

Last fiddled with by rudi_m on 2008-11-01 at 18:24
rudi_m is offline   Reply With Quote
Old 2008-11-02, 08:32   #2
gbvalor
 
gbvalor's Avatar
 
Aug 2002

11011112 Posts
Default

Quote:
With v25.7 it still suspends the worker threads when MaxLoad is reached but they never wake up again.
I can confirm that. I also suffered the problem and had to dissable MaxLoad/MinLoad options.

Of course it would be nice to fix it.

Guillermo
gbvalor is offline   Reply With Quote
Old 2008-11-05, 16:31   #3
garo
 
garo's Avatar
 
Aug 2002
Termonfeckin, IE

5·7·79 Posts
Default

nice in v25.7 doesn't work well. If you use the Linux commandline to assign a nice or renice value it only gets assigned to the main thread and not to the worker threads. If anything, the nice value should only apply to the worker threads and not the main/comm thread. The way to get around this is to look for individual threads usig ps -eFly (I think) and renice them instead of the main process.

Sorry for the OT post but this may be related to mprime linux behaviour and why Max/MinLoad does not work.
garo is offline   Reply With Quote
Old 2008-11-05, 19:39   #4
Prime95
P90 years forever!
 
Prime95's Avatar
 
Aug 2002
Yeehaw, FL

1E6016 Posts
Default

The priority setting in the prime.txt file should affect the worker threads - just like Windows.
Prime95 is online now   Reply With Quote
Old 2008-11-06, 21:45   #5
garo
 
garo's Avatar
 
Aug 2002
Termonfeckin, IE

53158 Posts
Default

Perhaps instead of saying nice doesn't work well I should have said it doesn;t work the way it used to in v24. In a multi-threaded application the way v25 works is probably correct.
garo is offline   Reply With Quote
Old 2008-11-07, 02:37   #6
rudi_m
 
rudi_m's Avatar
 
Jul 2005

2×7×13 Posts
Default

nice 19 works ALMOST perfect.
But it slows down the throughput of your niced 0 processes about 5-15% (dependent on the count of threads, kind of cpu cores etc.)

Some examples:

1. On office desktops or webservers I wouldn't care about about the load and I run mprime always on all cores.

2. On our developer desktops 4 core CPUs I always run only 2 mprime threads and they shall going to sleep on MaxLoad ~3.5. They shall awake on MinLoad ~1.0. (I really don't want any negative impact to the user)

3. Another example are my gameservers (my hobby business).
Here the CPU usage is mostly not more then 10%. But full CPU usage with niced processes makes any gaming completely impossible sometimes because gameservers needs very high responsibility. With Max/MinLoad settings like on our developer desktops it's not too bad but here I would like to be able to control mprime threads from my own scripts - say "go sleep when I got more than 50 players online".


So Max/MinLoad is very important to me - I can't run v25.7 on my gameservers and I got a bad conscience while running it on our devel machines.

My favorite feature request is this :
Instead of implementing complicated config rules like "pauseWhileRunning x workers" etc. (which never can satisfy all users needings!) - just let mprime listen to a unix socket using a simple protocoll to say "let worker x sleep/wakeUp".
So it would be easy to run monitoring/controlling scripts like:
"let mprime sleep if cpu is too hot"
"let some mprime threads sleep if games servers are heavy loaded"
... and any rule you could imagine!

I dowloaded alerady mprime sources and if I got time I will add that.
For now I will use "PauseWhileRunning" and scripts which starts "pseudo processes" to control mprime's worker threads.

Last fiddled with by rudi_m on 2008-11-07 at 02:41
rudi_m is offline   Reply With Quote
Reply

Thread Tools


Similar Threads
Thread Thread Starter Forum Replies Last Post
AMD Linux support fivemack GPU Computing 1 2015-12-11 03:28
A few questions on Linux. kracker GPU Computing 3 2012-08-17 21:57
64-bit CD or DVD Linux henryzz Linux 15 2008-06-29 12:30
Prime95 (32-bit) on 64-bit Linux OK? fes016 Software 1 2007-10-29 01:50
Linux Drooling_Sheep Software 8 2003-11-22 05:50

All times are UTC. The time now is 00:33.


Fri Jan 28 00:33:44 UTC 2022 up 188 days, 19:02, 3 users, load averages: 1.04, 1.28, 1.32

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.

This forum has received and complied with 0 (zero) government requests for information.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.
A copy of the license is included in the FAQ.

≠ ± ∓ ÷ × · − √ ‰ ⊗ ⊕ ⊖ ⊘ ⊙ ≤ ≥ ≦ ≧ ≨ ≩ ≺ ≻ ≼ ≽ ⊏ ⊐ ⊑ ⊒ ² ³ °
∠ ∟ ° ≅ ~ ‖ ⟂ ⫛
≡ ≜ ≈ ∝ ∞ ≪ ≫ ⌊⌋ ⌈⌉ ∘ ∏ ∐ ∑ ∧ ∨ ∩ ∪ ⨀ ⊕ ⊗ 𝖕 𝖖 𝖗 ⊲ ⊳
∅ ∖ ∁ ↦ ↣ ∩ ∪ ⊆ ⊂ ⊄ ⊊ ⊇ ⊃ ⊅ ⊋ ⊖ ∈ ∉ ∋ ∌ ℕ ℤ ℚ ℝ ℂ ℵ ℶ ℷ ℸ 𝓟
¬ ∨ ∧ ⊕ → ← ⇒ ⇐ ⇔ ∀ ∃ ∄ ∴ ∵ ⊤ ⊥ ⊢ ⊨ ⫤ ⊣ … ⋯ ⋮ ⋰ ⋱
∫ ∬ ∭ ∮ ∯ ∰ ∇ ∆ δ ∂ ℱ ℒ ℓ
𝛢𝛼 𝛣𝛽 𝛤𝛾 𝛥𝛿 𝛦𝜀𝜖 𝛧𝜁 𝛨𝜂 𝛩𝜃𝜗 𝛪𝜄 𝛫𝜅 𝛬𝜆 𝛭𝜇 𝛮𝜈 𝛯𝜉 𝛰𝜊 𝛱𝜋 𝛲𝜌 𝛴𝜎 𝛵𝜏 𝛶𝜐 𝛷𝜙𝜑 𝛸𝜒 𝛹𝜓 𝛺𝜔