Welcome to the MacNN Forums.

If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

You are here: MacNN Forums > Community > Team MacNN > [FAH] New Monitor

[FAH] New Monitor
Thread Tools
Professional Poster
Join Date: Sep 2000
Location: San Francisco
Status: Offline
Reply With Quote
Apr 5, 2003, 01:37 PM
 
I wrote a little app to monitor the progress of a team, a user, and a machine simultaneously. You can download the entire PB project here . I hard coded the path to my current work unit log file. Someone will have to edit this portion of the code to make it more flexible (perhaps using an Open dialog to designate the 'work' directory and then letting the app find the log file dynamically so it reacts well when a new wu is started).

Just enter your username and team id and hit refresh. It will then refresh every five minutes. Please feel free to make changes, but return your changes to the community.

kman
     
kman42  (op)
Professional Poster
Join Date: Sep 2000
Location: San Francisco
Status: Offline
Reply With Quote
Apr 5, 2003, 02:04 PM
 
There was a bug in the refresh code, but I am uploading the corrected version now.

kman
     
Administrator
Join Date: May 2000
Location: California
Status: Online
Reply With Quote
Apr 5, 2003, 03:27 PM
 
Check for the workunit file:
wudata_xx.dat

Only the current one will be present. Checking the xx part will give you the number for the current logfile.

You should probably save that info. When the unit is finished, the data file is deleted. So you'd have to remember which logfile to check. That or check all logfiles, and default to the one last modified.
     
kman42  (op)
Professional Poster
Join Date: Sep 2000
Location: San Francisco
Status: Offline
Reply With Quote
Apr 5, 2003, 04:18 PM
 
Originally posted by reader50:
Check for the workunit file:
wudata_xx.dat

Only the current one will be present. Checking the xx part will give you the number for the current logfile.

You should probably save that info. When the unit is finished, the data file is deleted. So you'd have to remember which logfile to check. That or check all logfiles, and default to the one last modified.
I don't know what you mean. Are you suggesting a method to get the number of the logfile? There is only one logfile as well. The easiest thing would just be to open the only logfile present in the folder. Are you trying to get something else across?

kman
     
Administrator
Join Date: May 2000
Location: California
Status: Online
Reply With Quote
Apr 5, 2003, 04:31 PM
 
At least in my install, previous workunit logfiles remain. My work folder currently has logfiles 00-04 (of which 04 is the current one).
     
kman42  (op)
Professional Poster
Join Date: Sep 2000
Location: San Francisco
Status: Offline
Reply With Quote
Apr 5, 2003, 05:36 PM
 
Originally posted by reader50:
At least in my install, previous workunit logfiles remain. My work folder currently has logfiles 00-04 (of which 04 is the current one).
Huh. I only have one logfile: 03

Can someone else cofirm one way or the other?

thanks,
kman
     
kman42  (op)
Professional Poster
Join Date: Sep 2000
Location: San Francisco
Status: Offline
Reply With Quote
Apr 5, 2003, 05:45 PM
 
I put up a new version with an open dialog for choosing the log file. I started the code to have it remember the directory and increment when a new wu is started, but didn't finish that part. It should be obvious where that code is since it is all commented out.

There also seems to be a slow memory leak that results in the app quiting after a couple of hours. I can't seem to find it, but will keep looking.

kman
     
Forum Regular
Join Date: May 2001
Location: Oviedo, Floriduh USA
Status: Offline
Reply With Quote
Apr 5, 2003, 07:05 PM
 
Originally posted by reader50:
Check for the workunit file:
wudata_xx.dat

Only the current one will be present. Checking the xx part will give you the number for the current logfile.

You should probably save that info. When the unit is finished, the data file is deleted. So you'd have to remember which logfile to check. That or check all logfiles, and default to the one last modified.
I've found in my progress monitor, it was more valuable to check the wudata_xx.arc file as this is the one where the data is added after calculations. It's part of the way I'm calculating the estimated time to completion.
folding@home is good for you.
     
kman42  (op)
Professional Poster
Join Date: Sep 2000
Location: San Francisco
Status: Offline
Reply With Quote
Apr 6, 2003, 04:26 PM
 
I just posted a much improved version. It will now remember your username and team ID and will prompt you for you log file when you first start using it. It should automatically increment the log file as you complete WUs. I also included buttons to open your team stats and individual stats in a web browser. Let me know how you like it.

kman
     
Administrator
Join Date: May 2000
Location: California
Status: Online
Reply With Quote
Apr 6, 2003, 06:29 PM
 
Got it and attempted to test.

First suggestion: offer a separate download of the compiled app. The full source folder stuffs to 3.4 MB, the app stuffs to 24 KB. It took nearly 15 minutes for me to download the entire package.

Second suggestion: it came up with your name / account ID info. This probably isn't an issue on Folding, but I'd suggest having it come up blank.

Third, it popped up an Open dialog on launch. I'd assume it wanted me to find the current logfile, but it did not give any instructions. It would not allow me to use the Cancel button in the dialog. When I selected the current logfile, it did not accept that either. Just stayed on the Open dialog, waiting for me to select. I tried most of the files in my work folder, none were accepted.

The application's Quit command was disabled while in the Open dialog. I had to force-quit to escape.
     
kman42  (op)
Professional Poster
Join Date: Sep 2000
Location: San Francisco
Status: Offline
Reply With Quote
Apr 6, 2003, 07:40 PM
 
All great suggestions. Thanks! I just uploaded a modified version with your suggestions. It is only 24k, just as you indicated.

kman
     
kman42  (op)
Professional Poster
Join Date: Sep 2000
Location: San Francisco
Status: Offline
Reply With Quote
Apr 8, 2003, 12:17 AM
 
I just put up a new version that can monitor two processors and that has a separate preferences panel. Note: you currently have to select Preferences... from the menu. I'll put in a button at a later time.

Please let me know what you think.

Kurt
     
Administrator
Join Date: May 2000
Location: California
Status: Online
Reply With Quote
Apr 8, 2003, 01:58 AM
 
I've been having a crash problem with it. It seems to crash on launch or refresh ... if I am not connected to the internet at the time.

Also, can you try killing the animation in the progress bar? The app was taking 9% of CPU while sitting idle. Hiding the app dropped it's CPU use to zip, which suggests the usage was GUI-related. The progress bar was the only obvious suspect that I could see.
     
kman42  (op)
Professional Poster
Join Date: Sep 2000
Location: San Francisco
Status: Offline
Reply With Quote
Apr 8, 2003, 09:26 AM
 
Originally posted by reader50:
I've been having a crash problem with it. It seems to crash on launch or refresh ... if I am not connected to the internet at the time.

Also, can you try killing the animation in the progress bar? The app was taking 9% of CPU while sitting idle. Hiding the app dropped it's CPU use to zip, which suggests the usage was GUI-related. The progress bar was the only obvious suspect that I could see.
There is currently no error checking for an internet connection. I'll try to add that this week. If you put "Not Entered" into the team and user ID fields, it won't try connecting to the internet. It's a stopgap, but would let you monitor your machine's progress until I get the error checking put in. I am aware of the problem with the progress bars taking up CPU time, but I don't know how to stop them from animating. I posted a note in the developer forum, but haven't heard back.

Kurt
     
kman42  (op)
Professional Poster
Join Date: Sep 2000
Location: San Francisco
Status: Offline
Reply With Quote
Apr 10, 2003, 02:48 PM
 
The progress bar animation seems intractable, so I am planning to put the progress bars into an expanding part of the window controlled by one of those 'list triangles'.

Also, I've been thinking about adding a window that will allow you to monitor all of the machines on your local network. It would basically be a list view with rows corresponding to machines and columns corresponding to the two progress bars (one for each possible processor), frames completed/remaining, time to completion. It would be generated dynamically using Rendezvous. Each machine would have a pref pane for setting the location of the log files and turning the service on and off. This way you could monitor all of your machines from a single computer. And only one machine would take that nasty progress bar cpu hit (I'll probably make them optional anyway). Would people be interested in this?

kman
     
Administrator
Join Date: May 2000
Location: California
Status: Online
Reply With Quote
Apr 10, 2003, 03:08 PM
 
Only one CPU to monitor here.

Suggestions for the progress bars. Perhaps a Carbon API call? I've heard it is ok to mix Carbon and Cocoa calls in the same app. Alternatively, what about a non-bar indicator such as a pie indicator? That would adapt well to future 16-CPU PowerMacs.
     
kman42  (op)
Professional Poster
Join Date: Sep 2000
Location: San Francisco
Status: Offline
Reply With Quote
Apr 10, 2003, 04:29 PM
 
Originally posted by reader50:
That would adapt well to future 16-CPU PowerMacs.
You are quite the optimist!

I hadn't thought of the carbon call; I'll look into it. I thought about just making a little progress object myself, but that seems so un-OOP.

kman
     
Mac Elite
Join Date: Jan 2002
Location: Mile High City
Status: Offline
Reply With Quote
Apr 11, 2003, 12:27 AM
 
Maybe rather then a continous indicator, just one that updates manually upon user request or at intervals that can be set by the user such as once every minute or once every 5 minutes.
     
kman42  (op)
Professional Poster
Join Date: Sep 2000
Location: San Francisco
Status: Offline
Reply With Quote
Apr 11, 2003, 10:55 AM
 
Anyone with a dualie:

I've had a report that one of the progress bars doesn't accurately report on a dual-processor machine. It seems to work fine for me, but I'd like to get some feedback from other users. Do both processors seem to report correctly? Specifically, do the text fields report correct frames completed/remaining and does the progress bar seem to reflect this accurately?

thanks,
kman
     
kman42  (op)
Professional Poster
Join Date: Sep 2000
Location: San Francisco
Status: Offline
Reply With Quote
Apr 11, 2003, 06:06 PM
 
New version! Adds greater control over web access. You can now turn off automatic web access and set the time interval.

NOTE: remove your old prefs file before running.

kman
     
Mac Elite
Join Date: Jan 2002
Location: Mile High City
Status: Offline
Reply With Quote
Apr 13, 2003, 06:12 PM
 
Originally posted by kman42:
New version! Adds greater control over web access. You can now turn off automatic web access and set the time interval.

NOTE: remove your old prefs file before running.

kman
Nice!

I can't seem to get mine to provide an "estimated time to completion" though.

Also what would make it better is if it showed the name of the Protein being crunched. Progress and time to completion are relatively meaningless, unless you know what the Protein is.
     
Mac Elite
Join Date: Jan 2002
Location: Mile High City
Status: Offline
Reply With Quote
Apr 13, 2003, 07:31 PM
 
Originally posted by kman42:
Also, I've been thinking about adding a window that will allow you to monitor all of the machines on your local network. ...... And only one machine would take that nasty progress bar cpu hit (I'll probably make them optional anyway). Would people be interested in this?

kman
Yes, definitely interested in that.
     
Dedicated MacNNer
Join Date: Sep 2001
Location: California
Status: Offline
Reply With Quote
Apr 13, 2003, 10:37 PM
 
Hi kman,

Your monitor app is developing quite nicely! I'm on a dualie. The text does reflect changes in frame count for both processors. It's in sync with Fold Factory. Can't tell about the progress bars though as I've only had your app up for about an hour. I'll leave it on overnight and report back. Also, I'm not getting any info for "last frame completed" and "estimated time for WU completion".

My last 2 cents. Is it possible to have an average time for frame completion? I find that to be a useful bit of information. Regarding refresh, a thought I had was to separate the refresh of WU progress from web stats. If a user is on dial-up they may not want this app to initiate a connection all the time. Anyway, that's it. Keep up the great work! I appreciate your efforts.
     
Dedicated MacNNer
Join Date: Sep 2001
Location: California
Status: Offline
Reply With Quote
Apr 14, 2003, 09:58 AM
 
Okay, progress bars moved and text got updated after doing a refresh after leaving it untouched for about 7 hours. One thing I did notice though was the numbers got repainted over top of themselves like overstrikes on a typewriter. I had to click between processor tabs and minimize the app to clear up the text display.
     
kman42  (op)
Professional Poster
Join Date: Sep 2000
Location: San Francisco
Status: Offline
Reply With Quote
Apr 15, 2003, 10:36 AM
 
Sorry. The 'time to completion' stuff is currently just a place holder. I was working on a way to get this info in a roubdabout way, but there seems to be some movement in the Pande lab to actually get time stamps in the log file so I decided to just wait for the 'real deal'.

I made a lot of progress under the hood this weekend to get things properly 'objectified' for adding in the Rendezvous stuff. The initial version will likely require the app to be running on all machines (although it could be hidden on the remote machines if you like) as I haven't yet delved into making a background daemon. It will likely be about two weeks, but I may release a little bug fix in a week or so.

Please let me know if you run into any major issues or if you want to help out!

kman
     
JRT
Forum Regular
Join Date: Jul 2002
Status: Offline
Reply With Quote
Apr 29, 2003, 09:47 AM
 
I could use a little help here because I can't seem to get this app working. I start it up and set the preference to the log file (logfile_01.txt).

When I hit refresh it tells me that it has done 0 of 400 frames. But when I look at the logfile itself it says "- Frames Completed: 203, Remaining: 197".

What am I doing wrong?

JT
JRT
     
Senior User
Join Date: Feb 2002
Location: Silly Valley, Ca
Status: Offline
Reply With Quote
Apr 30, 2003, 03:21 PM
 
When I try I just get Frames Processed 400, remaining 0 and nothing in last frame completed.
     
Senior User
Join Date: Feb 2002
Location: Silly Valley, Ca
Status: Offline
Reply With Quote
Apr 30, 2003, 03:51 PM
 
Ah I found the problem.
You are assuming the currentLogFile is the highest number logfile it looks like.
Which may not be the case if something happened.
Like it was restarted after clearing out the queue or crashed.
I think you should use the current wudata_XX.dat and wuinfo_XX.dat which you can get the number(XX) from as mentioned before.
Or stat each logfile and look for the most recently modified to get your starting point.

Also if the logfile you grabbed last goes away, you go boom. Better validate it before.
It also seems to fail to parse gromacs logfiles correctly.
     
Forum Regular
Join Date: Nov 2002
Location: Santa Barbara CA
Status: Offline
Reply With Quote
Apr 30, 2003, 04:37 PM
 
I don't think that anything unusual has to happen to not have the highest log file to be the active one. I think on my linux boxen it just went 1, 2, 3, to 0 and then started over. I don't have anything running on those now so I can't check. And I remember that they only had one digit instead of 02 that I am seeing on my Mac, so it might be different anyway.

So since the new client that actually updates the FAHlog.txt why not use that? It is always the same file and it has all of the info that is in the logfile.
     
JRT
Forum Regular
Join Date: Jul 2002
Status: Offline
Reply With Quote
Apr 30, 2003, 06:39 PM
 
Originally posted by mikkyo:
Ah I found the problem.
You are assuming the currentLogFile is the highest number logfile it looks like.
--snip--
Well, I don't know what happenend but I just ran your app again and it worked. I did not even reset the preferences from when it did not work... strange...

BTW, at this point I only have 1 set of work files.

Thanks,
JRT
     
kman42  (op)
Professional Poster
Join Date: Sep 2000
Location: San Francisco
Status: Offline
Reply With Quote
May 3, 2003, 09:19 AM
 
I am planning on doing some major updating, but I want to make it compatible with gromacs. Unfortunately, I can't seem to get a gromacs workunit for the life of me!!! I have two different G4s with a total of three instances of folding 3.25 running using the -advmethods flag. For whatever reason, I have never recieved a gromacs wu on either machine, even during the period when everyone using the -advmethods flag was supposed to. Most frustrating.

kman
     
Forum Regular
Join Date: May 2001
Location: Oviedo, Floriduh USA
Status: Offline
Reply With Quote
May 3, 2003, 09:31 AM
 
The following is a restarted, finished Gromacs logfile that you could use:


*------------------------------*
Folding@home Gromacs Core
Version 1.45 (April 21, 2003)

Preparing to commence simulation
- Looking at optimizations...
- Files status OK
- Expanded 340252 -> 1770313 (decompressed 520.2 percent)

Project: 908 (Run 0, Clone 29, Gen 71)

Assembly optimizations on if available.
Entering M.D.
(Starting from checkpoint)
Protein: p908_vill_rnxfld

Writing local files
Completed 127500 out of 250000 steps (51%)
Writing local files
Completed 130000 out of 250000 steps (52%)
Writing local files
Completed 132500 out of 250000 steps (53%)
Writing local files
Completed 135000 out of 250000 steps (54%)
Writing local files
Completed 137500 out of 250000 steps (55%)
Writing local files
Completed 140000 out of 250000 steps (56%)
Writing local files
Completed 142500 out of 250000 steps (57%)
Writing local files
Completed 145000 out of 250000 steps (58%)
Writing local files
Completed 147500 out of 250000 steps (59%)
Writing local files
Completed 150000 out of 250000 steps (60%)
Writing local files
Completed 152500 out of 250000 steps (61%)
Writing local files
Completed 155000 out of 250000 steps (62%)
Writing local files
Completed 157500 out of 250000 steps (63%)
Writing local files
Completed 160000 out of 250000 steps (64%)
Writing local files
Completed 162500 out of 250000 steps (65%)
Writing local files
Completed 165000 out of 250000 steps (66%)
Writing local files
Completed 167500 out of 250000 steps (67%)
Writing local files
Completed 170000 out of 250000 steps (68%)
Writing local files
Completed 172500 out of 250000 steps (69%)
Writing local files
Completed 175000 out of 250000 steps (70%)
Writing local files
Completed 177500 out of 250000 steps (71%)
Writing local files
Completed 180000 out of 250000 steps (72%)
Writing local files
Completed 182500 out of 250000 steps (73%)
Writing local files
Completed 185000 out of 250000 steps (74%)
Writing local files
Completed 187500 out of 250000 steps (75%)
Writing local files
Completed 190000 out of 250000 steps (76%)
Writing local files
Completed 192500 out of 250000 steps (77%)
Writing local files
Completed 195000 out of 250000 steps (78%)
Writing local files
Completed 197500 out of 250000 steps (79%)
Writing local files
Completed 200000 out of 250000 steps (80%)
Writing local files
Completed 202500 out of 250000 steps (81%)
Writing local files
Completed 205000 out of 250000 steps (82%)
Writing local files
Completed 207500 out of 250000 steps (83%)
Writing local files
Completed 210000 out of 250000 steps (84%)
Writing local files
Completed 212500 out of 250000 steps (85%)
Writing local files
Completed 215000 out of 250000 steps (86%)
Writing local files
Completed 217500 out of 250000 steps (87%)
Writing local files
Completed 220000 out of 250000 steps (88%)
Writing local files
Completed 222500 out of 250000 steps (89%)
Writing local files
Completed 225000 out of 250000 steps (90%)
Writing local files
Completed 227500 out of 250000 steps (91%)
Writing local files
Completed 230000 out of 250000 steps (92%)
Writing local files
Completed 232500 out of 250000 steps (93%)
Writing local files
Completed 235000 out of 250000 steps (94%)
Writing local files
Completed 237500 out of 250000 steps (95%)
Writing local files
Completed 240000 out of 250000 steps (96%)
Writing local files
Completed 242500 out of 250000 steps (97%)
Writing local files
Completed 245000 out of 250000 steps (98%)
Writing local files
Completed 247500 out of 250000 steps (99%)
Writing local files
Completed 250000 out of 250000 steps (100%)
Writing final coordinates.
Past main M.D. loop

Finished Work Unit:
- Reading up to 929676 from "work/wudata_00.arc": Read 929676
- Reading up to 0 from "work/wudata_00.xtc": Read 0
goefile size: 0
logfile size: 24664
Leaving Run
- Writing 961788 bytes of core data to disk...
... Done.
- Shutting down core

Folding@home Core Shutdown: FINISHED_UNIT
folding@home is good for you.
     
Administrator
Join Date: May 2000
Location: California
Status: Online
Reply With Quote
May 3, 2003, 12:45 PM
 
Folding logfile set from gromacs at 98% done: foldfiles.sit
     
kman42  (op)
Professional Poster
Join Date: Sep 2000
Location: San Francisco
Status: Offline
Reply With Quote
May 4, 2003, 11:18 AM
 
Thanks for the log files. I'll try to get started on it, but it would really help if I had the WUs running myself so that I could debug in case something goes haywire when the file is updated, etc. Also, I'll have to see how to determine which core is running. Basically, I'm just frustrated that I haven't received a gromacs WU yet.

kman
     
Forum Regular
Join Date: May 2001
Location: Oviedo, Floriduh USA
Status: Offline
Reply With Quote
May 4, 2003, 08:25 PM
 
Originally posted by kman42:
Thanks for the log files. I'll try to get started on it, but it would really help if I had the WUs running myself so that I could debug in case something goes haywire when the file is updated, etc. Also, I'll have to see how to determine which core is running. Basically, I'm just frustrated that I haven't received a gromacs WU yet.

kman
The first line of the log file tells you that it's a Tinker WU (or an SPG WU, if you were also monitoring x86 as I am, which you're not.) The second line of the Gromacs log file tells you that it's Gromacs.

When the Gromacs log file is first written, it will write:
Writing local files
Completed 0 out of 250000 steps (0%)

before any progress has been made.

It should be fairly simple, depending on how you've been parsing the Tinker log file.
folding@home is good for you.
     
kman42  (op)
Professional Poster
Join Date: Sep 2000
Location: San Francisco
Status: Offline
Reply With Quote
May 25, 2003, 12:44 PM
 
There is a new version available here, including the source if anyone wants it.

New features:

1)works with Gromacs
2)estimated completion time now works (only with Gromacs though)
3)graphical rank history log
4)now works by choosing the FAHlog.txt file

This should be considered beta, so any bug reports would be great.

kman
     
kman42  (op)
Professional Poster
Join Date: Sep 2000
Location: San Francisco
Status: Offline
Reply With Quote
May 25, 2003, 01:47 PM
 
Sorry. There's another new version as of 1145PST. I realized that the ranking graphs weren't so useful in their previous form, so I changed them around a bit.

Download at the same location.

kman
     
kman42  (op)
Professional Poster
Join Date: Sep 2000
Location: San Francisco
Status: Offline
Reply With Quote
May 25, 2003, 07:09 PM
 
One more time. Last time for a while, I promise. 1700PST

kman
     
kman42  (op)
Professional Poster
Join Date: Sep 2000
Location: San Francisco
Status: Offline
Reply With Quote
May 29, 2003, 09:34 AM
 
Version 1.0a1 is now available! Be sure to trash your prefs before running.

It now includes Rendezvous support, as well as a ton of under-the-hood bug fixes and enhancements.

The interface has become a bit unruly, but I am working on that for the final release. I'm also trying to work on manually adding remote clients and creating a thin client that can be run on remote machines in the background.

Please let me know if you find any bugs.

kman
     
   
Thread Tools
Forum Links
Forum Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On
Top
Privacy Policy
All times are GMT -5. The time now is 09:14 PM.
All contents of these forums © 1995-2011 MacNN. All rights reserved.
Branding + Design: www.gesamtbild.com
vBulletin v.3.8.7 © 2000-2011, Jelsoft Enterprises Ltd., Content Relevant URLs by vBSEO 3.3.2