Monday, January 25, 2010

Taskfs with one to one mapping

Taskfs is now properly working with one to one mapping between Taskfs resource and single remote node. Current implementation of Taskfs allows users to mount multiple remote nodes inside /remote as subdirectory with any name. Taskfs will find all valid remote resources, and reserve one for current job execution. Currently scheduling between remote resources is not implemented as no information about load or remote session is available. But once this information is available, making informed scheduling decision is trivial modification to this code. Also, the validity of remote resource is checked by presence of local/clone file. The revision no. of this code is 5476644bd5.

Next target for Taskfs is support for one to many mapping. This will allow single Taskfs resource to manage and utilize multiple remote resources. By this mechanism, by sending single command to ctl file in Taskfs resource, that command can be executed on multiple remote resources simultaneously, and output will be automatically aggregated back into single stdout file of Taskfs resource.

Following is the demo of Taskfs with one to one mapping.


; cd /task/remote
; cat clone
cat: cannot open clone: Remote resources not present at [/remote]
; mount -A tcp!127.0.0.1!6666 /remote/host1
; cat clone
0; cd 0
; echo exec pwd > ctl
; cat stdio
/home/pravin/projects/inferno/ericvh/ericvh-brasil
; cd ..
; mount -A tcp!127.0.0.1!6667 /remote/host2
; cat clone
0; cd 0
; echo exec pwd > ctl
; cat stdio
/usr/share/lxr/source/inferno/ericvh-brasil
;


This demo shows that the output of two pwd commands is different. This is because taskfs selected host1 node when only one remote node was available. But it selected host2 node when there were two nodes available.

No comments:

Post a Comment