IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changes between Version 11 and Version 12 of IPP_Progress_Report_20110314


Ignore:
Timestamp:
Mar 22, 2011, 2:40:56 PM (15 years ago)
Author:
eugene
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • IPP_Progress_Report_20110314

    v11 v12  
    55
    66=== Eugene Magnier ===
     7
     8I worked on 3 issues related to the footprint / peak culling process.  The peak culling process attempts to remove insignificant peaks within a footprint by requiring a significant downward deviation in going from any possible peak to the brighter significant peaks in the same footprint.  First, I finalized the modification of the culling process to use the smoothed image rather than the unsmoothed image.  This reduces the rate of false positives coming from background deviations.  Next, I modified the culling process for saturated stars so that it requires a more substantial downward deviation than for fainter sources.  This helps to group detections in the saturated cores which otherwise remain as many distinct detections.  Finally, I modified the culling process to be faster for large footprints with many peaks.  The original algorithm drew a unique threshold footprint for each peak of interest, leading to very long processing times in images with excess backgrounds.  Chris discovered that these images, especially coming from a few specific chips where the background variations are worst, take up to half of our processing time (for less than 10% of our data).  My modification to the code uses slightly more coarse threshold bins, and only draws a single footprint for each threshold bin.  This speeds up processing by factors of 30 - 100.  The sample of slow images, each of which took 10k - 30k seconds in the original analysis, now took an average of about 200 seconds per chip. 
     9
     10We found 2 other throughput issues this week which will help us a lot.  The first was in the area of nebulous.  We identified 2 different issues with easy fixes.  First, we have long had a problem where the apache server can get into a states in which in generates segmentation faults.  We discovered that these are caused by some internal apache bug when there are too many apache threads.  The segfaults can be avoided if we limit the number of threads to < 128.  The segfaults are probably introducing a small amount of additional slowness.  We also realized that the apache server used for the nebulous interface has a tendency to take a large amount of memory on that machine, especially if the nebulous mysql starts to get a little slow.  Both of these issues acted as a runaway problem: as the nebulous load would get high, apache would spawn more threads, either slowing things down by segfaulting or by taking more memory.  The slowness on apache meant more queries would be pending, driving up the apache load, etc.  As a result, we see periods where the apache error rates goes to very high values and the mysql rates plummets, with everything getting extra slow.
     11
     12The configuration change fixed the segfaults. To address the memory load, we moved the apache server from ippdb00 (where mysql lives) to another machine.  This was a big success: the load on ippdb00 has gone from a typical value of 20-25 during heavy processing to 4-5, and the rate of nebulous operations has increased from a maximum of roughly 150 per second to roughly 600 per second.  We also suspect that we could push nebulous harder if we set up web redirects and use 2 or 3 machines for the apache server.  There are also some optimizations to the SOAP interface code run on the server which Serge has identified.
     13
     14The other throughput improvement is in nighttime processing / registration.  We had some occasional problems in the past couple of weeks in which the registration process, including the burntool analysis, was getting sluggish and causing high load on the gpc1 database.  This problem has only had modest impact in the past, but last week it caused processing to come to a halt one day until we stopped everything and restarted the mysql server.  We discovered that slowness comes from the query used to identify images for burntool processing.  This particular query needs to join 2 tables (summitExp and summitImfile), but the only joining key is a string.  Mysql is not smart enough to limit the query to only interesting rows; it ends up checking millions of database rows.  We have made an additional restriction to the query which acts as a short term hack while we work out the code to add a veritable auto-increment index. 
     15
     16Finally, I launched some MD04 test data sets for PSPS to demonstrate the current state of the code.
    717
    818=== Serge Chastel ===
     
    3545
    3646 * sick 1.5 days
     47
    3748=== Roy Henderson ===
    3849