Thread 'Way to limit all hard drive activity of projects?'

Message boards : BOINC client : Way to limit all hard drive activity of projects?
Message board moderation

To post messages, you must log in.

AuthorMessage
froehli

Send message
Joined: 10 Nov 10
Posts: 4
Austria
Message 35896 - Posted: 27 Nov 2010, 11:48:30 UTC

Since I now own a machine having an SSD as a system drive, I was wondering if there is a way to limit the minimum time between disk writes for all tasks/projects.

Although there already seems to be an option doing exactly that ("Tasks checkpoint to disk at most every"), this setting doesn't seem to be effective on this machine - if left at the defaul 60 seconds, iotop still shows hard disk writes by the projects every few seconds. Even when increasing the above value (to something ridiculous like 3600), this changes nothing about the writes every few seconds.
I have to admit the german version of the above text sounded far more promising (literally translated it says there "write to disk at most every"). The english description suggests that this setting really only concerns checkpoints; so I guess there just is much data other than checkpoints, which boinc projects also write to disk. I just can't see the sense in that.

I know that modern SSDs are supposed to be able to endure a really big amount of writes, but since this machine runs 24/7, I'm still worried a bit that running BOINC might wear out the SSD prematurely.
ID: 35896 · Report as offensive
Pepo
Avatar

Send message
Joined: 3 Apr 06
Posts: 547
Slovakia
Message 35920 - Posted: 30 Nov 2010, 11:48:23 UTC - in response to Message 35896.  

I have to admit the german version of the above text sounded far more promising (literally translated it says there "write to disk at most every"). The english description suggests that this setting really only concerns checkpoints; so I guess there just is much data other than checkpoints, which boinc projects also write to disk. I just can't see the sense in that.

You've really got it - the parameter limits only checkpointing.

Sense? Checkpointing should assure the application, after being stopped and removed from memory, will be able to continue at the point of computation, where it checkpointed. If the app generates more intermediate data to be continuously written, then maybe it is able to checkpoint an much finer steps, but maybe it is not, its algorithm just needs to put the data down.

I'm still worried a bit that running BOINC might wear out the SSD prematurely.

Then maybe you should select (by the trial&error method) a set of projects/applications for this particular machine, which do not write more often than the predefined interval.

Peter
ID: 35920 · Report as offensive
Jim1348

Send message
Joined: 8 Nov 10
Posts: 310
United States
Message 35929 - Posted: 1 Dec 2010, 16:16:17 UTC - in response to Message 35896.  
Last modified: 1 Dec 2010, 16:44:20 UTC

I know that modern SSDs are supposed to be able to endure a really big amount of writes, but since this machine runs 24/7, I'm still worried a bit that running BOINC might wear out the SSD prematurely.

I am now using a disk cache for my Generation 1 SSD with the JMicron JMF602B controller, which does not like a large amount of writes at once. It wasn't really a problem until CEP2 showed up on WCG, but running multiple CEP2 jobs at once on my quad-core really gives the SSD a beating.
http://www.xtremesystems.org/forums/showpost.php?p=4643525&postcount=38

FancyCache is now running stably on my system, and has solved the problem of low CPU % (around 90 percent as measured by BoincTasks) when running multiple CEP2 jobs. It is now around 97.5 percent even when 4 CEP2 jobs are running at once. But more to the point for your question, it seems to have reduced the writes to my SSD by about a factor of 2 or 3. I have just started monitoring the writes today using the Performance Monitor in FancyCache, and won't really know for a day or two, but it looks promising.
ID: 35929 · Report as offensive
froehli

Send message
Joined: 10 Nov 10
Posts: 4
Austria
Message 35933 - Posted: 1 Dec 2010, 20:54:02 UTC

Sense? Checkpointing should assure the application, after being stopped and removed from memory, will be able to continue at the point of computation, where it checkpointed. If the app generates more intermediate data to be continuously written, then maybe it is able to checkpoint an much finer steps, but maybe it is not, its algorithm just needs to put the data down.

I definitely do see the sense in checkpointing. What I meant here was that in my eyes, checkpoints should be the only thing applications write to disk (might be a radical standpoint from a project developer's perspective, but hey, I provide the computing power here *g*); everything else belongs into the RAM in my eyes. What sense would it otherwise make to tell the application to write checkpoints every minute only (or an even longer interval), when it writes status/checkpoint-like information to disk every few seconds anyway? Maybe that setting is just for those apps where checkpointing takes a very long time, where it makes sense to limit the number of checkpoints that are written, to reduce the ratio of time used for computation vs. time used for writing checkpoints?

Then maybe you should select (by the trial&error method) a set of projects/applications for this particular machine, which do not write more often than the predefined interval.

If I have time I'll do that, but I was hoping there was a way around that ;-).

Thanks Jim1348 for your suggestions, I'm on Linux here so FancyCache won't work for me :-( - I guess this application works "magically in the background"? So you don't have to configure which directories should be cached or some such things?
I might try something like that - using tmpfs probably - but I'd have to find out where these boinc projects write to. Anybody got a hint for me? I'd guess the boinc data directory (/var/lib/boinc-client as far as I can tell on my ubuntu server machine).
I'd probably also have to find a solution so that the tmpfs contents are mirrored back to the SSD every few minutes, so that I don't loose my whole computation progress in case of power outages (or I might ignore that, since those are rather rare here in Austria anyway).

Thanks guys for your replies! I'd still be glad to hear about any more experiences in tuning BOINC for SSDs!
ID: 35933 · Report as offensive
Jim1348

Send message
Joined: 8 Nov 10
Posts: 310
United States
Message 35937 - Posted: 2 Dec 2010, 0:10:07 UTC - in response to Message 35933.  
Last modified: 2 Dec 2010, 0:11:00 UTC

Thanks Jim1348 for your suggestions, I'm on Linux here so FancyCache won't work for me :-( - I guess this application works "magically in the background"? So you don't have to configure which directories should be cached or some such things?

Yes, it is pretty magical. You just choose the disk drive (which includes all the partitions) if you are using the Disks version, or you can select the particular partition on a single drive if you use the Volumes version. It supposedly distinguishes between application data that should be cached and system stuff that doesn't need to be, but I don't know the details.

I'd probably also have to find a solution so that the tmpfs contents are mirrored back to the SSD every few minutes, so that I don't loose my whole computation progress in case of power outages (or I might ignore that, since those are rather rare here in Austria anyway).

Yes, I have a UPS since I would lose at least 30 seconds of writes and corrupt at least one work unit if I had a power outage. We have brief ones here during thunderstorms, so I can't take that chance. And you could have an avalanche that could take it out ...
ID: 35937 · Report as offensive

Message boards : BOINC client : Way to limit all hard drive activity of projects?

Copyright © 2025 University of California.
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.