cvs history files columns

Started by backgroundman, September 29, 2013, 11:23:14 AM

Previous topic - Next topic

0 Members and 3 Guests are viewing this topic.

backgroundman

Hello,

I use BoincTasks for years. Great application.
I am running mostly Einstein@home boinc project on several PCs (CPU and GPU).
I would like to produce some statistics from the history files (history and long_history) so I develop a simple JAVA app to parse the cvs files and store the columns in a MySQL database for easy manipulation of the data.
The problem is that I can't understand the columns "Elapsed Time Cpu", "Elapsed Time Gpu", "State", "ExitStatus", "Reported" and "Completed".
For example I have a cvs file with the following rows:

         Project Application      Version Number Name PlanClass Elapsed Time Cpu Elapsed Time Gpu State ExitStatus Reported Completed Use
768 Einstein@Home Binary Radio Pulsar Search (Perseus Arm Survey) 139 PA0022_00461_166_3 BRP5-cuda32-nv270 5310 481 2 0 0 0 0.2 CPUs + 0.33 NVIDIA GPUs 1379870776.680125 21635403776.000000 107270144.000000 -1x -1x -1x -1x -1x
769 Einstein@Home Gravitational Wave S6 Directed Search (CasA) 105 h1_0537.05_S6Directed__S6CasAf40a_537.35Hz_280_1 X64 933 926 2 0 0 0 1380182094.847520 307212288.000000 223485952.000000 -1x -1x -1x -1x -1x



which produce the following rows in boinctasks history tab:


Einstein@Home 1.39 Binary Radio Pulsar Search (Perseus Arm Survey) (BRP5-cuda32-nv270) PA0024_00761_180_0 08:56:41 (00:45:16) 29/9/2013 9:12:33 ðì 29/9/2013 9:14:35 ðì 0,2C + 0,33NV 8,43 Reported: OK * localhost 20633.14 MB 102.30 MB
Einstein@Home 1.05 Gravitational Wave S6 Directed Search (CasA) (X64) h1_0537.00_S6Directed__S6CasAf40a_537.4Hz_206_0 06:35:00 (06:32:10) 29/9/2013 11:15:52 ðì 29/9/2013 11:17:54 ðì         99,28 Reported: OK * localhost      334.86 MB 255.13 MB



1. I would like to know how to calculate the cpu/gpu time from the "elapsed_time_cpu" and elapsed_time_gpu". How I can calculate the 08:56:41(00:45:16) of the history tab from "5310" and "481".

2. Is there any documentation about the "State" and "ExitStatus" flags ?

3. In the following example the columns "Reported" and "Completed" are 0,  while in the history tab I show the date (today). In other tasks in the cvs file there is an integer in these columns (e.g. 1380449558) in tasks correspond to the same date (today).

4. There are several columns after the last column "Use". Is there any documentation for these columns?

Thank you

fred

Quote from: backgroundman on September 29, 2013, 11:23:14 AM

1. I would like to know how to calculate the cpu/gpu time from the "elapsed_time_cpu" and elapsed_time_gpu". How I can calculate the 08:56:41(00:45:16) of the history tab from "5310" and "481".

2. Is there any documentation about the "State" and "ExitStatus" flags ?

3. In the following example the columns "Reported" and "Completed" are 0,  while in the history tab I show the date (today). In other tasks in the cvs file there is an integer in these columns (e.g. 1380449558) in tasks correspond to the same date (today).

4. There are several columns after the last column "Use". Is there any documentation for these columns?

Thank you
1) the CPU time is the wall clock time, the GPU time is the part the CPU used to feed the GPU.
Times should be in seconds.

This produces the lines:

      sFormat.Format("%d",iNr); AddString(psHistory, &sFormat, true);
      AddString(psHistory, pHistoryItem->m_pcProject);
      AddString(psHistory, pHistoryItem->m_pcApplication);
      sFormat.Format("%d",pHistoryItem->m_iVersion); AddString(psHistory, &sFormat);
      AddString(psHistory, pHistoryItem->m_pcName);
      AddString(psHistory, pHistoryItem->m_pcPlanClass);
      sFormat.Format("%d",pHistoryItem->m_iElapsedTimeCpu); AddString(psHistory, &sFormat);
      sFormat.Format("%d",pHistoryItem->m_iElapsedTimeGpu); AddString(psHistory, &sFormat);
      sFormat.Format("%d",pHistoryItem->m_iState>>16); AddString(psHistory, &sFormat);
      sFormat.Format("%d",pHistoryItem->m_iExitStatus); AddString(psHistory, &sFormat);
      sFormat.Format("%d",pHistoryItem->m_i64ReportedTime); AddString(psHistory, &sFormat);
      sFormat.Format("%d",pHistoryItem->m_i64CompletedTime); AddString(psHistory, &sFormat);
      AddString(psHistory, pHistoryItem->m_pcUse);      // added V 0.56
      sFormat.Format("%f",pHistoryItem->m_dReceivedTime); AddString(psHistory, &sFormat);      // added V 0.94
      sFormat.Format("%f",pHistoryItem->m_dVirtualMemory); AddString(psHistory, &sFormat);   // added V 1.50
      sFormat.Format("%f",pHistoryItem->m_dMemory); AddString(psHistory, &sFormat);         // added V 1.50


2)
The state:

#define STATE_COMPUTATON_ERROR   0x30000
#define STATE_COMPUTATON_ERROR_HP   0x30001
#define STATE_COMPUTATON_ERROR_WR   0x30100
#define STATE_UPLOADING         0x40000
#define STATE_READY_TO_REPORT   0x50000
#define STATE_ABORTED         0x60000
#define STATE_ABORTED_HP      0x60001
#define STATE_ABORTED1         0x60100
#define STATE_ABORTED2         0x60200
#define STATE_ABORTED2_HP      0x60201

// 2 missed status missed 2 is what missed ends up......
#define STATE_MISSED2         0xf0000
#define STATE_MISSED         0xffff0
#define STATE_DUMMY_SUSPENDED   0xfffff

Exit state application dependent.

backgroundman

Thank you for the info but I can not see how 5310 sec of "Elapsed Time CPU" will much 8h 56m 41s in history tab (this is 32201 sec) in my example. Moreover, 481 sec of "Elapsed Time GPU" do not much with 45m 16s of history tab (this is 2716 sec).

Furthermore, in my example the second wu "Gravitational Wave S6 Directed Search (CasA) (X64)" has "Elapsed Time CPU" and "Elapsed Time GPU" of "933" and "926" but this application doesn't use any GPU for the calculations.

fred

Quote from: backgroundman on September 29, 2013, 02:06:30 PM
Thank you for the info but I can not see how 5310 sec of "Elapsed Time CPU" will much 8h 56m 41s in history tab (this is 32201 sec) in my example. Moreover, 481 sec of "Elapsed Time GPU" do not much with 45m 16s of history tab (this is 2716 sec).

Furthermore, in my example the second wu "Gravitational Wave S6 Directed Search (CasA) (X64)" has "Elapsed Time CPU" and "Elapsed Time GPU" of "933" and "926" but this application doesn't use any GPU for the calculations.
I found  :o an error in the time to string, that gave a small rounding error, 2 - 3 %
Never looked at it for a couple of years.
Now it is:

   iDay = iTime / (60*60*24);
   iTime = iTime - (iDay*60*60*24);
   iHour = iTime / (60*60);
   iTime = iTime - (iHour*60*60);
   iMinute = iTime / 60;
   iTime = iTime - (iMinute * 60);
   iSecond = iTime;

But even so, your numbers don't explain the difference.

If you find a GPU in the use, then there is a () otherwise don't look.

backgroundman

I found the "problem". I noticed that in the history file for a host at the last lines there are the current running tasks for the specific host.
These tasks (not yet finished) can be identified by the 0 at "completed" or "reported" column...

Thank you for the info and sorry for the inconvenience..