cbrain
cbrain copied to clipboard
Add ability for a task to capture all its outputs in a read-write ext3 overlay
This might be only practical when the task is a singularity task, but it could be useful for the task's work directory to be configured as a blank r/w ext overlay.
That was we consume a lot less inodes on the cluster side.
As a more refined function, this could also be done, maybe, for the just actual output of the task, if it is well-behaved and the overlay paths are sensible as far as CBRAIN goes.
I made some experiments this weekend, in an existing and completed FMRIPRepSingleSubject task:
- created two ext3 filesystems:
truncate -s10G work.ext3
truncate -s2G zzz.ext3 # zzz is name of output folder
mkfs -t ext3 -E root_owner=60003:60003 work.ext3
mkfs -t ext3 -E root_owner=60003:60003 zzz.ext3
- created symlinks that will work only inside container:
ln -s /cap_work work
ln -s /cap_zzz zzz
- edited the .science.FMRIPRep_blahblah.sh script to add bindings:
(singularity command)
-B work.ext3:/cap_work:image-src=/,rw \
-B zzz.ext3:/cap_zzz:image-src=/,rw \
(rest)