<div dir="ltr">Dear kepler-users:<div><br></div><div>We have constructed some Java/JNI actors that make use of GDAL as an external library for i/o.  A recent change in computing platforms exposed some thread-safety issues in GDAL that we are now struggling to address.  </div>
<div><br></div><div><b>Nature of problem:  </b></div><div>We have two GDAL-based actors.  One for reading raster imagery (ERDAS IMG files) into a matrix, one for writing raster imagery into a matrix (and, at some point, we would like to contribute these to Kepler). These actors are used heavily in PN workflows.  While GDAL is thread safe for reading (multiple thread can read at the same time), it is not thread safe for writing (problems occur if any thread is writing while other threads are either reading or writing).</div>
<div><br></div><div><b>Possible fix:</b>  </div><div>The GDAL discussions suggest using Java synchronization to avoid thread safety issues.  </div><div><br></div><div><b>Questions:</b></div><div>1. Will using java synchronization in an actor cause other problems with Kepler/Ptolemy under PN?</div>
<div>2. Does anybody have a model of an actor that uses java synchronization to avoid thread safety issues in external libraries that they would be willing to share?  </div><div>3. Are there other solutions we should consider?</div>
<div><br></div><div>Many thanks,</div><div>Tom Parris</div><div><br></div><div><br></div><div>Thomas M. Parris</div><div>Vice President</div><div>ISciences, L.L.C.</div><div>61 Main Street, Suite 200</div><div>Burlington, VT  05401</div>
<div>(802) 864-2999; <a href="mailto:parris@isciences.com">parris@isciences.com</a></div><div><br></div></div>