blur man page on Inferno

Man page or keyword search:  
man Server   579 pages
apropos Keyword Search (all sections)
Output format
Inferno logo
[printable version]

BLUR(1)								       BLUR(1)

NAME
       blur  - an example program to demonstrate splitting a task over several
       machines.

SYNOPSIS
       grid/demo/blur [imagefile]	       - master process

       grid/demo/blur			       - slave process

DESCRIPTION
       Blur is a small program that  works  in	two  parts  to	manipulate  an
       image(6).   The	master	process takes an image file as an argument and
       displays the image in a window on screen whilst waiting	for  and  dis‐
       playing	results	 from  the slave processes. Each slave process takes a
       block of the image at a time and blurs it,  reduces  the	 contrast  and
       overlays the result of a simple edge detection analysis.

       The only requirement for a master and slave process to work together is
       that they both have a common /tmp directory. Within this a /blur direc‐
       tory  is created and used by both processes. All communication and syn‐
       chronisation is done through files in this directory. There can be many
       slave processes running concurrently in order to improve performance.

COMMUNICATION
       All the communication takes place through files in the /tmp/blur direc‐
       tory which is common to all the processses. Once the master process has
       started, it creates:

       image.bit	the image being processed

       data.dat		processing parameters e.g. block size, blur radius etc

       working		tells slave processes to continue reading todo/ direc‐
			tory

       todo/		contains files showing which blocks  still  need  pro‐
			cessing

       Within  the todo/ directory, the master process creates a file for each
       block to be processed. Starting at block.0.a, the  name	of  each  file
       denotes	the block number and the version id. The version id is used to
       indicate the current version of a block being worked  on.  This	is  to
       allow  the  master  process  to	ask another slave process to work on a
       block if it believes the current one has crashed or is taking too long.
       Once  a	block  has  been  processed,  the master removes the file from
       todo/.

       Each slave process reads the list of files in todo/ and for each	 block
       in  turn,  attempts  to	create	a  directory  with  the same name e.g.
       block.1.a/ in /tmp/blur.	 It is not possible to create a	 directory  if
       it  already  exists and as the slave will only process blocks for which
       it has been able to create a directory, no two slave processes  can  be
       simultaneously  working	on the same block. Once a slave has managed to
       create a directory, it processes the relevant block of  the  image  and
       writes  the  result  to	img.bit	 in  the directory. Having completed a
       block, the slave creates a file called done in order to let the	master
       process know that it can read the completed result.

       The master process keeps track of all the blocks being processed and if
       any of them have not been completed after a certain time, it creates  a
       new file for that block in todo/ with a new version id. This guarantees
       that all blocks will be processed as long as at least one working slave
       process	remains.  Once	all the blocks have been processed, the master
       process removes all the files created in /tmp/blur.  Each  slave,  upon
       seeing that the working file has gone, will then exit.

SOURCE
       /appl/grid/demo/blur.b
       /appl/grid/demo/block.b

								       BLUR(1)
[top]

List of man pages available for Inferno

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net