hi,<br><br>I am trying this little experiment .<br><br><br>Note 1) A List is maintained that contains FileName - PathWhereFileIsStored - Count<br> (When count is zero record is removed from list)<br><br>Note 2) Every site has a shared_directory<br>
<br>For all the Stage_In files required for a job DO<br><div style="margin-left: 40px;">check if file is in List<br>IF file in List then<br><div style="margin-left: 40px;">DO NOT copy file, rather in the temporary directory of this run, create Link to the file in shared directory AND increment count<br>
</div>ELSE if file is NOT in List<br><div style="margin-left: 40px;">Copy the file to shared directory, create Link, create entry in List and set COUNT to 1<br><br><br></div></div>During Stage_out for a job<br><div style="margin-left: 40px;">
IF COUNT value of the file is 1<br><div style="margin-left: 40px;">remove file from the list<br></div>ELSE<br><div style="margin-left: 40px;">decrement COUNT for the file<br><br></div></div><br>I still don't understand a large part of the work flow. <br>
<br>Going through the code i am not able to figure out where exactly the files required to be staged_in for a particular job is determined.<br><br>The above case requires the data files to be present in shared_directory only when a job in need of those files is being executed.The above logic should work best for cases when a series of job dependent on same files are submitted to the scheduler.<br>
<br>Though this experiment is not very useful in this form, i will be trying to run several swiftscripts from different terminals simultaneously and see if the logic is working and then later try to extend it to case where the swiftscripts are run by different users.<br>
<br>And instead of LIST can we use LRUFileCache ?<br><br>Thank You<br>Vipul Kumar Singh<br>