Message boards : Number crunching : Memory usage?
Author | Message |
---|---|
Tribaal Send message Joined: 6 Feb 06 Posts: 80 Credit: 2,754,607 RAC: 0 |
Hi again, all At work we discovered that Rosetta was taking quite a big amount of RAM on servers we installed it onto. I just wanted to know if this is normal / intented (almost 200 megs), and of course, if this will hamper our server's performance at all (when it's used, it does need the extra 200megs of RAM)... Is the priority setting for RAM as low as the one for the CPU? That is, if the server gets under heavy load, will the RAM be freed for business usage? Thanks =) - Trib' |
Feet1st Send message Joined: 30 Dec 05 Posts: 1755 Credit: 4,690,520 RAC: 0 |
Rosetta was taking quite a big amount of RAM The Rosetta suggested requirements call for 512MB, and this is the reason for that. 200MB working storage on a WU is not uncommon (it varies a fair amount with the particular WU). And if you have a dual core CPU, then double that 200MB. I'm trying to say you don't necessarily double the 512MB recommendation, because some of that was for Windows (or your OS) to live in, and it won't double with the dual, but the R@H portion will. Is the priority setting for RAM as low as the one for the CPU? That is, if the server gets under heavy load, will the RAM be freed for business usage? I don't believe RAM has a priority setting per se. If the CPU priority of a task means it is time to run it, then ya have to get the pages of RAM into memory that it needs to run. And so this may well cause degradation to performance of your higher priority tasks. This is because when they get work to do, and kick in with their higher priority, some of their RAM has been swapped out, and so they are impaired as they first start, because there are pages missing that they need to run. However, under heavy load, the task will keep running, and eventually have all of the RAM it needs to run without swapping, and so it will be back to normal. But, still a 70% load may be heavy, but trying to bring R@H in to fill the gaps. On a server, I'm not sure how well the General setting for "Do work while computer is in use? NO" is going to work for you, because I'd think that the server would think it's in use much of the time. If the server is a dual core, you might set the general preference to only run on one CPU. Or, also in the general preferences, you might set the time of day you want to run to your off-peak hours, and then be sure to set the client (in the "commands" pulldown) to "run based on preferences" and update to the project for the setting to take effect. Add this signature to your EMail: Running Microsoft's "System Idle Process" will never help cure cancer, AIDS nor Alzheimer's. But running Rosetta@home just might! https://boinc.bakerlab.org/rosetta/ |
dcdc Send message Joined: 3 Nov 05 Posts: 1831 Credit: 119,448,284 RAC: 11,030 |
On a server, I'm not sure how well the General setting for "Do work while computer is in use? NO" is going to work for you, because I'd think that the server would think it's in use much of the time. I assume it would be the opposite - it will think it's never in use as there's no user interaction - i.e. the mouse and keyboard aren't in use, so that setting would make no difference. As you say though, there might be a delay swapping something into memory, but once its been swapped in then it will remain there during processing. However, rosetta might be swapped back in inbetween calls, but I'd have thought the effect would be negligable as long as the server isn't short of memory. A setting that might be of interest, if there is a noticable delay on the server when its under heavy load, is to run rosetta out of office hours. Of course, it's better for the project if it can be run all the time! |
Dimitris Hatzopoulos Send message Joined: 5 Jan 06 Posts: 336 Credit: 80,939 RAC: 0 |
Tribaal, Rosetta does indeed usually need 40-150MBytes of memory when running. Some rare WUs use up to 250MB and I think the upcoming vaccine WUs will be on the high-end of these requirements. On a dual-processor (when you've setup BOINC to use both processors) it consumes 2x that obviously. If it turns out to be a problem on your work servers, you could setup BOINC to only run during after-hours (e.g. 18:00 - 07:00). Personally, I had been running Rosetta on a very busy (100+ processes) Linux-box with only 256MB RAM since January-06. A few weeks ago I upgraded all my PCs running Rosetta where I also do "work" (i.e. not just word/excel/web/email) by adding a 512MB module (brandname cost ~40euros each) "for Rosetta", so they can cope with the increased memory requirements. Upgrade takes 5min for each PC. Nevertheless, I've also suggested to the project that they consider implementing a BigWU flag, for WUs over e.g. 100-150MB. Best UFO Resources Wikipedia R@h How-To: Join Distributed Computing projects that benefit humanity |
Tribaal Send message Joined: 6 Feb 06 Posts: 80 Credit: 2,754,607 RAC: 0 |
Thanks for the answers guys. It turns out the application being swapped during peak usage (we ran a load test today) is really a negligible action. So basically, if you have a busy server with only 512Mbs of RAM, I suggest you set it to be running on only one processor. We'll keep benchmarking it during the week, though. Basically my boss wanted me to double check with "internet folks", to make sure we'd not have a failure overnight :) By the way, we've got several hosts with only 128Mbs of RAM crunching 24/7, and they're doing pretty well... as long as you stick to linux of course :) Maybe someday I'll put up a Howto on how to set up old hardware to crunch :) |
Feet1st Send message Joined: 30 Dec 05 Posts: 1755 Credit: 4,690,520 RAC: 0 |
make sure we'd not have a failure overnight No, failure is pretty unlikely. It's just a question of responsiveness of that server if it is overcommitted on memory due to adding the R@H workload to it. Add this signature to your EMail: Running Microsoft's "System Idle Process" will never help cure cancer, AIDS nor Alzheimer's. But running Rosetta@home just might! https://boinc.bakerlab.org/rosetta/ |
Tribaal Send message Joined: 6 Feb 06 Posts: 80 Credit: 2,754,607 RAC: 0 |
Thanks, I'll quote that to my boss. Maybe it'll have more weight than my word... You know how the "internet people" always know better than yourself, in your boss's mind, don't you? :P - Trib' |
Robinski Send message Joined: 7 Mar 06 Posts: 51 Credit: 85,383 RAC: 0 |
It would be very nice to have a good system that looks at how much RAM is available, or how much ram you say may be used, so it is able to distribute WU's acording to this. Here I have a desktop machine with 1024MB of ram, and I don't mind Rosetta using about 200 to 300 MB. But I also got a machine that only has 256MB wich of only about max 30 MB should be use to keep it running smooth. Member of the Dutch Power Cows Trying to get the world on IPv6, do you have it? check here: IPv6.RHarmsen.nl |
Feet1st Send message Joined: 30 Dec 05 Posts: 1755 Credit: 4,690,520 RAC: 0 |
Robinski, it sounds like you're aware of it already, but Rosetta would not be recommended for your smaller system due to its memory requirements. Regardless of the WU protein size, it's going to need more than 30MB. An idea I've had is to create an applet that could be run via the project website which would do an assessment of your system. I'm not positive how much info. an applet can retrieve, but it would attempt to assess your CPU speed, available memory, perhaps even your bandwidth and disk space and then give you a report card that boils down to whether you should try and run Rosetta on that machine. Do you think that would help? For people, for example, that don't understand yet that they've only got 30MB to spare on a machine? I'm thinking it would help them avoid finding out the hard way, by installing and then having problems. If you agree, I'll create a new thread for the subject and see if someone knows more about Applet programming. Add this signature to your EMail: Running Microsoft's "System Idle Process" will never help cure cancer, AIDS nor Alzheimer's. But running Rosetta@home just might! https://boinc.bakerlab.org/rosetta/ |
dcdc Send message Joined: 3 Nov 05 Posts: 1831 Credit: 119,448,284 RAC: 11,030 |
Robinski, it sounds like you're aware of it already, but Rosetta would not be recommended for your smaller system due to its memory requirements. Regardless of the WU protein size, it's going to need more than 30MB. I know this is falling off topic, so i'll keep it brief! Rather than suggesting they can't run the project if they don't have much headroom in RAM, it could suggest they run the project when the comp isn't in use - i.e. as a screensaver (with or without the graphics). That way the PC can still contribute, and the user wouldn't be affected. |
Feet1st Send message Joined: 30 Dec 05 Posts: 1755 Credit: 4,690,520 RAC: 0 |
suggest they run the project when the comp isn't in use ...well, I agree with you objective of keeping things positive. My point was that at the time in question there is only 30MB free, and that regardless of any improvements the project might make to reduce the memory of Rosetta, or allow smaller work units... since the current guideline is a 512MB system (double the size he has day or night with that smaller box), and the memory available at the time is 30MB, it's really not a good fit. I'd actually rather lose those cycles for the project, then to have him tell 5 friends (or 5,000 on a msg board) that he couldn't get it to work after days of messing with it... and thus not be able to contribute any cycles to the work anyway... and potentially having his 5 (or 5,000) friends avoid it as well, even though it will probably run fine on their systems. Add this signature to your EMail: Running Microsoft's "System Idle Process" will never help cure cancer, AIDS nor Alzheimer's. But running Rosetta@home just might! https://boinc.bakerlab.org/rosetta/ |
Dimitris Hatzopoulos Send message Joined: 5 Jan 06 Posts: 336 Credit: 80,939 RAC: 0 |
I'd actually rather lose those cycles for the project, then to have him tell 5 friends (or 5,000 on a msg board) that he couldn't get it to work after days of messing with it... and thus not be able to contribute any cycles to the work anyway... and potentially having his 5 (or 5,000) friends avoid it as well, even though it will probably run fine on their systems. Exactly, honesty is best policy. A marginal PC that slows down or starts paging to disk, will just upset his owner. Better make is clear at the start: you need a P4/2.5GHz with 512MB RAM or better to run Rosetta@home (assuming an office PC, being used for other tasks at the same time) and preferrably ADSL Internet. That should be the "official" line, which includes about any PC purchased during the last 3 years. Otherwise, even smaller PCs can make it, but you need to spend a few minutes to "tweak" the settings (e.g. higher "switch between projects every X min", "leave in mem"=yes, set WU-runtime=8,12,24hrs etc). Little tips, which projects like DPC can share among their teammates. Best UFO Resources Wikipedia R@h How-To: Join Distributed Computing projects that benefit humanity |
dcdc Send message Joined: 3 Nov 05 Posts: 1831 Credit: 119,448,284 RAC: 11,030 |
I'd actually rather lose those cycles for the project, then to have him tell 5 friends (or 5,000 on a msg board) that he couldn't get it to work after days of messing with it... and thus not be able to contribute any cycles to the work anyway... and potentially having his 5 (or 5,000) friends avoid it as well, even though it will probably run fine on their systems. I can see your point, but I think it'd be a waste if it isn't made clear that any PC with a CPU that will turn around WUs in time can run Rosie. In fact, I don't think the minimum recommended spec should be anything like as high as a 2.5GHz P4 - a 700MHz P3 will do a good job on rosie, as long as theres sufficent RAM. I agree on the RAM front though - the official line should be 512 is recommended, but it should be noted as a caveat that you can run with less, depending on the use of the computer, and the settings used. |
Robinski Send message Joined: 7 Mar 06 Posts: 51 Credit: 85,383 RAC: 0 |
suggest they run the project when the comp isn't in use First of al i didn't / won't tell any of my friends i have some problems running rosetta on a smaller machine, it works just fine, even on a 400 MHz with only 192 MB of ram (running windows 2000). the only thing is that you better don't do any other things on the machine. I was just asking if it would be possible to reduce requirements so things will keep running smooth on these older machines. To bad none of my friends see any potential in using their computer to run Rosetta Member of the Dutch Power Cows Trying to get the world on IPv6, do you have it? check here: IPv6.RHarmsen.nl |
Tribaal Send message Joined: 6 Feb 06 Posts: 80 Credit: 2,754,607 RAC: 0 |
Well if you want to set up a 100% pure crunshing machine, you can run Rosetta pretty smoothly on pretty old hardware... We're running a couple of old AMD K6 (400Mhz, 128Mb RAM) here at work, and they do just fine. Debian linux is great to run pure crunshers, since you have a minimal installation feature (command-line only though), that sucks up to... 1Mb RAM ;) That leaves plenty for BOINC to use. And you can easily find and install their optimized version of the BOINC client here... |
Grutte Pier [Wa Oars]~GP500 Send message Joined: 30 Nov 05 Posts: 14 Credit: 432,089 RAC: 0 |
I was watching that the new rosetta 4.97 with HBLR wu's go up too 130 of mine 256MB. Windows doesn't like it with the swap mem. etc when you try a game or so. I tink rosettat should try too keep the mem usage as low as possible. Or maybe divide wu's in small en normal. That you can set wich pc's should get small(memory) wu's as an option in the rosetta prefs. Al my pc's have 256MB 1 has 512MB. I want too set 1 up with 128MB. |
Tribaal Send message Joined: 6 Feb 06 Posts: 80 Credit: 2,754,607 RAC: 0 |
Well if I understood it correctly the project sees no interest in scaling down the workunits because the workunit size actually is a protein "blueprint", and theses don't get any smaller than what nature makes them... There is active work in progress to make the "leave application in memory while preempted" thing disapear, though. From what I remember reading somewhere in theses forums (sorry can't find the link), the plan is actually to increase memory usage, in order to study more complex proteins... I'd really like my smaller configs to remain useful to the project, though, and I bet it's in the project's interest not to demand too larger machines... So there probably will be some way to use oldies, wither by code (compression or something) or my settings (having the user select if he wants regular proteins or super-size)... Anyway some very clever persons are working hard on the problem. In the mean time, could I suggest you install a minimal linux distribution on your cruncher? This really helped my small crunchers deal with the memory usage problem (I maintain several with 128Mbs of RAM and they do just fine on debian linux installed instead of windows... Feel free to start a thread in the rosetta cafe if you'd like tips and tricks or general help on how to install a debian operating system for crunching purposes! Keep crunchin' - Trib' |
Message boards :
Number crunching :
Memory usage?
©2024 University of Washington
https://www.bakerlab.org