| | 1 | = Throughput Demonstration 2009.11.04 = |
| | 2 | |
| | 3 | == start @ 11:30am == |
| | 4 | |
| | 5 | Bill, Heather & I have been running small-scale tests of the full |
| | 6 | processing -> distribution to ensure all of the steps are working. |
| | 7 | We've ironed out a few bugs and have a solid demonstration of the full |
| | 8 | sequence including automatic diffs, magic, destreak, and distribution. |
| | 9 | |
| | 10 | I've just (at 11:35) launched a full-scale throughput demonstration |
| | 11 | using 611 exposures. These are 3pi exposures from July for the RA,DEC |
| | 12 | range 270.0 - 300.0, 0.0 - 20.0. There are g,r,i exposures, |
| | 13 | supposedly all taken as TTI pairs. Obviously, the fact that 611 is |
| | 14 | odd, and 612 is the closest multiple of 6, says that at least one is |
| | 15 | missing. |
| | 16 | |
| | 17 | I've also modified pantasks.pro (in ~ipp, not yet checked in) to fix |
| | 18 | the problem where we get paths of the form /data/any.0/foo/bar |
| | 19 | (something of a hack, I attempt to replace @HOST@.0 and @HOST@.1 |
| | 20 | before doing just @HOST@). This should help with nfs load during |
| | 21 | camera. |
| | 22 | |
| | 23 | === update 1 === |
| | 24 | |
| | 25 | my fix to the camera paths had no effect: the paths are now of the form: |
| | 26 | |
| | 27 | neb://any/gpc1/throughput.20091104/o4999g0217o.78668/o4999g0217o.78668.cm.29757.smf |
| | 28 | |
| | 29 | but they are still all going to ipp039, who is getting quite a load. |
| | 30 | I'm going to remove it as a processing node so it can deal with the |
| | 31 | camera I/O. |
| | 32 | |
| | 33 | === update 2 === |
| | 34 | |
| | 35 | we are having some trouble in this test because ipp039 is getting |
| | 36 | really slammed. |
| | 37 | |
| | 38 | the situation is that the 'any' neb host problem is affecting more |
| | 39 | than just camera: a number of every diff and warp run are also going |
| | 40 | to 'any', which means ipp039. I'm checking into the cause, but it |
| | 41 | shows we need to fix this nebulous bug. |
| | 42 | |
| | 43 | === update 3 === |
| | 44 | |
| | 45 | i found a bug in the skycell by host pantasks function that allowed |
| | 46 | the range to be larger than count, which in turn set a number of the |
| | 47 | target hosts and nebulous volumes to 'any'. i've fixed this, so |
| | 48 | hopefully the load on ipp039 will fall again... |
| | 49 | |
| | 50 | == report @ 3pm == |
| | 51 | |
| | 52 | looks like the fix I put in for this is now working: we have no |
| | 53 | skycells with path_base including 'any' since the fix, and the load on |
| | 54 | ipp039 has been mostly sensible since then as well. there are |
| | 55 | probably still a few warps sitting there that are being used for |
| | 56 | diffs, so it will be elevated until those are done. |
| | 57 | |
| | 58 | the processing speed is looking mostly reasonable, except for the |
| | 59 | diff_skycells, which were heavily hit by the ipp039 collisions. I'll |
| | 60 | be looking for those times to drop somewhat as well. |
| | 61 | |
| | 62 | So far, we are 3 hours into the test, and we have only processed 1/6 |
| | 63 | of the chips (and somewhat less of the other stages). Since the goal |
| | 64 | is 12 hours, we are running a bit behind. I'm hopeful that the ipp039 |
| | 65 | collisions account for most of the gap... |
| | 66 | |
| | 67 | == report @ 6pm == |
| | 68 | |
| | 69 | It has been 6 hours now, and the chip and diff processing times are |
| | 70 | not much better than before. We've only done about 30% of the data |
| | 71 | set, so it is still going slowly. At this rate, it will be 20 hours |
| | 72 | before we finish this batch, which is kind of slow. I'm going to |
| | 73 | change my plan and try to boost the number of hosts. |
| | 74 | |
| | 75 | At the moment, our limiting steps have used the following number of seconds: |
| | 76 | |
| | 77 | chip: 1,021,709.35 sec |
| | 78 | warp: 610,303.59 sec |
| | 79 | diff: 540,536.4 sec |
| | 80 | destreak: 259,726 sec |
| | 81 | dist process: 177,430.2 sec |
| | 82 | camera: 69,067.08 sec |
| | 83 | |
| | 84 | === update 1 === |
| | 85 | |
| | 86 | oops. |
| | 87 | |
| | 88 | I just attempted to load another set of wave 2 nodes and got a |
| | 89 | segfault from pantasks... |
| | 90 | |
| | 91 | I'm going to wait 5 min for jobs to complete, and then I'll restart pantasks... |
| | 92 | |
| | 93 | === update 2 === |
| | 94 | |
| | 95 | OK, I've restarted the stdscience pantasks, and I've bumped up the |
| | 96 | number of hosts to: |
| | 97 | |
| | 98 | 1x1 3x2 4x3 4xC |
| | 99 | |
| | 100 | continuing to exclude ipp005 and ipp039 from processing. |
| | 101 | |
| | 102 | == report @ 9pm == |
| | 103 | |
| | 104 | we've managed to get through 110 chips in the last 3 hours, compared |
| | 105 | with about 100 in the first 3 hours and 72 in the second three hours, |
| | 106 | so the rate is a bit faster now due to the larger number of machines. |
| | 107 | but, compared with the previous setup (1x1, 2x2, 3x3, 3xC) vs (1x1 3x2 |
| | 108 | 4x3 4xC), we have 15 + 15 + 17 = 32 more CPUs out of a previous total |
| | 109 | of 137 CPUs, or 25% more CPUs. I don't think the processing is going |
| | 110 | 25% faster that the first 3 hours (before the ipp039 bottleneck became |
| | 111 | a problem), but it is a little hard to judge. If not, then it is |
| | 112 | evidence that we have still some I/O bottlenecks. I'll look more |
| | 113 | closely at the times reported by the warp, diff, magic, and rc stages |
| | 114 | |
| | 115 | == report @ 9 am == |
| | 116 | |
| | 117 | I've gone through most errors and found the following: |
| | 118 | |
| | 119 | * all of the chip failures were caused by the issue with ipp014 -> |
| | 120 | these would be addessed by fixing the nebulous randomization. |
| | 121 | * all but one of the warp failures were caused by the chmod problem -> |
| | 122 | these can be addressed with one of the options I listed |
| | 123 | * the remaining warp failure was a more traditional NFS I/O problem, |
| | 124 | and would be naturally cleaned up with the revert pass |
| | 125 | * the diff failures I checked seemed to be the traditional NFS I/O |
| | 126 | problems, but we do not seem to have a diff revert task -- that is |
| | 127 | surprising! |
| | 128 | |
| | 129 | there are also some destreak failures which I did not investigate. |
| | 130 | also, destreak advance was getting timeouts, which says either the |
| | 131 | query needs to be adjust or the timeout period in pantasks does. |
| | 132 | finally, dist_component.pl had some failures, which are probably NFS |
| | 133 | I/O issues as well. |
| | 134 | |
| | 135 | == throughput summary == |
| | 136 | |
| | 137 | last night I proposed that we might be I/O bound since the processing |
| | 138 | rate did not seem to increase as much as I would have expected. Here |
| | 139 | is evidence that I was wrong. Attached is a plot of the number of |
| | 140 | completed 'camera' stage analyses per half hour during the test |
| | 141 | yesterday. You can see that we start at about the 13/bin rate for the |
| | 142 | first period of the test, during which I had jobs running on 137 |
| | 143 | nodes[1]. You can see the period around 6pm last night when I crashed |
| | 144 | pantasks and waited a bit to restart the system. Then you can see the |
| | 145 | rate goes up to about 20/bin for the last part of the test, during |
| | 146 | which I had jobs running in 169 nodes. So, adding 23% more CPU |
| | 147 | increased the rate by 54%. hmm. I think we are seeing two effects: |
| | 148 | the added CPUs and the reduced amount of nebulous collisions from the |
| | 149 | change in the skycell assignments. |
| | 150 | |
| | 151 | All in all, we are not in bad shape. The green line indicates a good |
| | 152 | comfort level where we would be doing 600 exposures in 12 hours; the |
| | 153 | yellow line is 600 exposures in 18 hours, which is slower than we |
| | 154 | would like; the red line is bad: 600 exposures in 24 hours. So, it |
| | 155 | looks like we are comfortably in the yellow to green range if we use |
| | 156 | the same collection of machines as last night. We also have a bit |
| | 157 | more room for increased processing: there are several machines not |
| | 158 | currently in the list, and we probably could add another set of jobs |
| | 159 | to the wave 1 machines which have not been crashing. There were also |
| | 160 | some I/O contention issues during this experiment that we have partly |
| | 161 | addressed, and more that can be improved on (ie, the nebulous |
| | 162 | randomization). |
| | 163 | |
| | 164 | [1] -- roughly : ipp005 and ipp039 came in and out of the list at |
| | 165 | different times. |