Page 1 of 52

HFM.NET - Monitoring Application for Folding@Home v7

Posted: Sat May 09, 2009 8:28 pm
by harlam357
Image

HFM.NET - Client Monitoring Application for the Folding@Home Distributed Computing Project

HFM.NET on GitHub: https://github.com/harlam357/hfm-net

Please see GitHub for the latest version.

HFM.NET on Google Code (archive): https://code.google.com/archive/p/hfm-net/

Google Group: http://groups.google.com/group/hfm-net/

Please see the Google Group for complete release notes and help.

Image

Re: HFM.NET - Client Monitoring Application for Folding@Home

Posted: Sun May 10, 2009 1:18 pm
by kiore
Hi just downloaded this to see how it went in relation to FahMon, which is having issues at present..
OK yes, does not show my GPUs at all, but showing my cpu console and SMP client nicely.
Do like the "failed" feature, handy for monitoring problems especially when you have multiple clients.
Is not showing the names of the clients, perhaps I have not configed it properly.
Shows my VM SMP as having a deadline of 21hrs, but only downloaded 9 hrs ago so that can't be right.. mind you Fahmon is saying I downloaded it 1 hour ago. Understand that VMware a bit tricky like that.
Looking good so far.
kiore.

OS=winXPpro32.

Re: HFM.NET - Client Monitoring Application for Folding@Home

Posted: Sun May 10, 2009 4:39 pm
by harlam357
Hi kiore,

- "does not show my GPUs at all"

Can you elaborate on that? I've had no reports of problems with GPU monitoring to this point.

- "Is not showing the names of the clients"

Can you give me a screen shot of that please. Also, if you don't mind... send me your configuration (.hfm) file.

- "Shows my VM SMP as having a deadline of 21hrs, but only downloaded 9 hrs ago"

That "download time" is read directly from the unitinfo.txt file. It's a UTC time stamp so it must be offset to your local time using your machines UTC offset. What is your UTC offset as I see you're in Paris or Australia. I have a beta tester who lives in Australia and he did not have a problem with time conversions.

Re: HFM.NET - Client Monitoring Application for Folding@Home

Posted: Sun May 10, 2009 8:13 pm
by francois
Nice program, but it takes 44M of Virtual Memory.
So unless it really does more than FahMon, I'm staying with Fahmon instead.
No offense!

Best regards,
François

Re: HFM.NET - Client Monitoring Application for Folding@Home

Posted: Sun May 10, 2009 10:46 pm
by harlam357
It does show Time per Frame and Completed/Failed WU counts... which FahMon does not have. If enough people like those features... I'm sure uf can add it to FahMon as well.

Even a simple, simple Forms app can eat 10~15MB. It's the managed code at work... not much I can do about this. I am always looking for places to improve and optimize, but I doubt the process working set is going to get much smaller than it is now.

Thanks for trying my application! As I continue to add new features maybe you'll be enticed to try it again later on. :)

Re: HFM.NET - Client Monitoring Application for Folding@Home

Posted: Mon May 11, 2009 3:46 am
by kiore
Sorry for taking a while to get back to you. Had system problem and crash (while trying to take a screen shot) then lost internet service to my area for 12 hrs.. Lost HFM in crash, (not fault of HFM though). Will try it again soon.
Yes perhaps the VMware is reading different timezones, I am currently in Australia at GMT +9.
FYI: Fahmon says I downloaded current work unit 2982615 days and 19hrs ago when was actually 1 hr ago so seems problematic on the VM side.
kiore.

Re: HFM.NET - Client Monitoring Application for Folding@Home

Posted: Mon May 11, 2009 4:40 am
by harlam357
I'd have to guess you're using a notfred's Virtual Appliance maybe? Even if just another VM... there is a bug in the client when it writes out the UnitInfo.txt file. Sometimes the darn thing gets really huge... I've seen one in the neighborhood of ~150MB. I've added code to HFM to halt the download of such large files and continue parsing the main log without the UnitInfo.txt file. That will result in no download time and strange looking times in the 'Deadline' column.

If this is the case you'll see a message in the debug output (messages window) that says something like this...

[5/10/2009-11:30:39 PM] ! HFM.Instances.ClientInstance.RetrievePathInstance (Notfred VM - 750i - 1) UnitInfo copy (file is too big: 343751 bytes).

Re: HFM.NET - Client Monitoring Application for Folding@Home

Posted: Mon May 11, 2009 5:37 am
by bruce
kiore wrote:Yes perhaps the VMware is reading different timezones, I am currently in Australia at GMT +9.
FYI: Fahmon says I downloaded current work unit 2982615 days and 19hrs ago when was actually 1 hr ago so seems problematic on the VM side.
kiore.
Maybe, but be sure it's not a problem with your VMware or your Linux Distro. Other discussions have mentioned both support for the high-resolution timer and a clock fix (called an AMD clock fix) so that the TOD clock runs correctly.

Re: HFM.NET - Client Monitoring Application for Folding@Home

Posted: Mon May 11, 2009 8:03 am
by kiore
Yes Notfreds. Will look at the clock setup again.
kiore

Re: HFM.NET - Client Monitoring Application for Folding@Home

Posted: Thu May 14, 2009 3:12 am
by harlam357
New Version: 0.1.1 - Build 14 - Beta - Download

- md5: 793a6e1949b0ee40bb36b6aec666bc0b

- sha1: e9c0ceaf32d6f3c1c6033c5ec4af91bf1c3a4d40

Change Log
  • Fix: Set DoubleBuffering on the DataGridView to fix extremely slow painting on XP while GPU2 is active. If this doesn't fix the problem of slow UI response, then nothing will.
  • Change: Increase maximum UnitInfo.txt size to 1 Megabyte.
  • Change: Fix host path regex to accept fully qualified server names such as my.server.com (patch from smartcat99s).
  • Enhancement: Add capture of Username and Team to the main grid.
  • Enhancement: Allow the log file window to be sized.
Upgrading HFM to the latest release
  • When upgrading HFM, please take the new Zip file and extract it to the same location as your current install and overwrite the older files.
  • The user settings are tied to the location of the HFM.exe file. So if you move or otherwise rename any directory in the path to the HFM.exe file, you will lose your custom settings. Please choose your install location wisely, I recommend a very generic folder name like "\Program Files\HFM". Settings will also not follow the application from machine to machine. It is possible to transfer them and I will post instructions on how to do so at a later time.

Re: HFM.NET - Client Monitoring Application for Folding@Home

Posted: Mon May 25, 2009 4:24 am
by harlam357
New Version: 0.2.0 - Build 17 - Beta - Download

- md5: b2e42fffe2957b2a5894c6d048e57090

- sha1: 5b89491759c8c60e477bb85cd45138f3453959ed

Change Log
  • Enhancement: MAJOR REWORK!!! Added support for Benchmarking Work Units.
  • Enhancement: Added ability to save the currently in progress UnitInfo objects on application exit. This allows the state of the last known projects in progress to be restored the next time the application starts.
  • Enhancement: Added output of completed units to CompletedUnits.csv file. Allows external analysis of completed work. Preliminary at this point, still needs a little work I think.
  • Enhancement: The benchmarking changes yield the functionality to show frame times (PPD, etc) as 'AllFrames' and also 'EffectiveRate' in addition to 'LastFrame' and 'LastThreeFrames'.
  • Enhancement: Added option to Import FahMon style ClientsTab.txt files as a HFM Configuration (used file from v2.3.99.1 to test).
  • Fix: Fixed HUGE BUG in the frmMessages.UpdateMessages() routine which resulted in full UI deadlock (use BeginInvoke in lieu of Invoke).
  • Fix: Unit DownloadTime now handled correctly for clients marked as 'Client is on Virtual Machine'.
  • Fix: Fixed small bug where a DirectoryPathSeparator character was being added to the end of a PathInstance path every time the TextBox was left (added in Rev 15 - no build produced).
  • Change: Add StringOps.cs Class to facilitate validation and parsing of Client Instance data strings.
  • Change: Update ClientInstance Http and Ftp download routines (these are now verified working).
  • Change: Add "Wrapper" classes (that specify DoubleBuffered = true) for the most commonly used controls in an effort to further reduce UI lag.
  • Change: Host Instance Add/Edit Dialog got a much needed work over. Now using StringOps for input validation.
  • Change: Allow the user to continue with Client Input Parameters that fail validation if they choose to do so (not recommended).
Upgrading HFM to the latest release
  • When upgrading HFM, please take the new Zip file and extract it to the same location as your current install and overwrite the older files.
  • The user settings are tied to the location of the HFM.exe file. So if you move or otherwise rename any directory in the path to the HFM.exe file, you will lose your custom settings. Please choose your install location wisely, I recommend a very generic folder name like "\Program Files\HFM". Settings will also not follow the application from machine to machine. It is possible to transfer them and I will post instructions on how to do so at a later time.

Re: HFM.NET - Client Monitoring Application for Folding@Home

Posted: Sat May 30, 2009 7:56 pm
by harlam357
New Version: 0.2.0 - Build 18 - Beta - Download

- md5: 68230b6e6bef4dc37c9a60b6b5cfddc0

- sha1: 9a10b8ada75e0ed69da938947b23c43a011a8491

Change Log
  • Fix: Fixed the problem with completed units being written to the CompletedUnits.csv file with no frame time or PPD.
  • Fix: Fixed problem with determining client 'Status' when a client resumes from a paused state (specifically a very long pause).
  • Fix: Pull the last Username and Team ID string from the FAHlog.txt file, not the first.
  • Fix: Fixed 'AllFrames' calculation.
  • Fix: Wrap the FAHLogStats.NET Link process start on the About Dialog in a try/catch.
  • Change: Use Path.Combine and remove hard coded "\\" platform specific Path Delimiter characters.
  • Change: Change log file name defaults to their accurate, case-sensitive names "FAHlog.txt" and "unitinfo.txt".
  • Change: Minor UI tweaks to the Benchmarks Form Layout.
  • Change: Replace Forms based timers with System.Timers.Timer objects (no need to Invoke calls anymore).
  • Change: Corrected "\\" to "//" in the commented logo areas of the Overview.xml and Summary.xml files.
  • Change: Changed the HTML Output "Page rendered" strings to read "Page rendered by HFM.NET on...", also reformatted the xslt files.
  • Enhancement: Add "Auto Save Configuration" option.
  • Enhancement: Add support for detecting clients as Hung before they have generated a valid frame time.
Upgrading HFM to the latest release
  • When upgrading HFM, please take the new Zip file and extract it to the same location as your current install and overwrite the older files.
  • The user settings are tied to the location of the HFM.exe file. So if you move or otherwise rename any directory in the path to the HFM.exe file, you will lose your custom settings. Please choose your install location wisely, I recommend a very generic folder name like "\Program Files\HFM". Settings will also not follow the application from machine to machine. It is possible to transfer them and I will post instructions on how to do so at a later time.
Donate to the HFM.NET Project with PayPal
Image

Re: HFM.NET - Client Monitoring Application for Folding@Home

Posted: Sun May 31, 2009 12:58 pm
by weedacres
I installed build 18 yesterday and really like the layout, particularly the "failed" data for gpu's.
I have 4 VMware smp's running and for some reason 3 of the 4 show up offline. The log data is being read and it compares exactly to what I see in FahMon so it's getting to the proper machines. All ppd calculations are 0 and the status bar is red.

Image

added image

Re: HFM.NET - Client Monitoring Application for Folding@Home

Posted: Sun May 31, 2009 4:18 pm
by MtM
Looks nice, got to take a closer look at the source though before I'll say more but the layout is very clean.

Re: HFM.NET - Client Monitoring Application for Folding@Home

Posted: Thu Jun 04, 2009 2:51 am
by harlam357
weedacres wrote:I installed build 18 yesterday and really like the layout, particularly the "failed" data for gpu's.
I have 4 VMware smp's running and for some reason 3 of the 4 show up offline. The log data is being read and it compares exactly to what I see in FahMon so it's getting to the proper machines. All ppd calculations are 0 and the status bar is red.
Debugging this is pretty easy... Just go to the Preferences -> Defaults -> Message Level -> Change it to 'Verbose'. Then refresh one of your clients again and check the Messages Window (Tools -> Show/Hide Messages Window).

Code: Select all

[5/30/2009-2:58:13 PM] + HFM.Instances.ClientInstance.DetermineStatus (WinSMP - HTPC)
[5/30/2009-2:58:13 PM] +  - Retrieval Time (Date) ------- : 5/30/2009 2:58:13 PM
[5/30/2009-2:58:13 PM] +  - Time Of Last Frame (TimeSpan) : 14:51:53
[5/30/2009-2:58:13 PM] +  - Offset (Minutes) ------------ : 0
[5/30/2009-2:58:13 PM] +  - Time Of Last Frame (Adjusted) : 14:51:53
[5/30/2009-2:58:13 PM] +  - Prior Day Adjustment -------- : False
[5/30/2009-2:58:13 PM] +  - Time Of Last Frame (Date) --- : 5/30/2009 2:51:53 PM
[5/30/2009-2:58:13 PM] +  - Terminal Time (Date) -------- : 5/30/2009 2:33:03 PM
You should find some output as you see above. HFM expects the machines it is monitoring to have an analogous clock (system time) setting as the machine on which HFM is running. Understandably this is not always the case. To combat this, one can setup each client with a specific 'Offset' value.

This 'Offset' is used to determine the 'Status' of the client in question. In the above example you'll see that the Time Of Last Frame is later than Terminal Time. If this is the case, the client is deemed to be running. Terminal Time is calculated differently for GPU clients vs. CPU clients. However, in either case, the Time Of Last Frame must be later than the Terminal Time. If the opposite is true, then the client will be deemed Hung and will not show any progress percentage, TPF, PPD, etc.

If these SMP instances are notfred's VM (or any other VM that reports UTC +0)... yes, you will want to check the 'Client is on Virtual Machine' option. Then Debug with the times as I've stated above.

What I would recommend you do is set the system time on your monitored machines to the correct time. If that is done, you won't have to set any 'Offset' value for your clients. Much simpler approach. :)