[Tilesathome] New features of the t at h client

Steve Dommett steve at st4vs.net
Thu Dec 13 22:14:46 GMT 2007


On Thursday 13 December 2007, Dirk-Lüder Kreie wrote:
> $ (while [ ! -e stopfile.txt ]; do ./tilesGen.pl upload; sleep 30; done)&
I think it might be better to call upload_conditional which will check if 
there's anything to upload before bothering the server. I use an essentially 
identical script, upload.sh:
#!/bin/bash
while [[ ! -e stopfile.txt ]]; do
	nice -n19 perl tilesGen.pl upload_conditional
	echo
	echo "Sleeping for 60 seconds..."
	sleep 60
done

For what it's worth I was having trouble keeping 4 CPU cores busy when running 
just one client with Fork=2, and ForkForUpload=1.   A particular problem was 
very complex tiles running out of RAM with 4 threads on a 16GB machine.
It seems Inkscape inflates to 3-5 times the RAM usage for the last few seconds 
of each render, and the threads were often closely synchronised which 
exacerbated the problem.

Now I run four separate clients in different folders, all of which use a fifth 
client running in upload mode, and all four CPU cores are much, much busier.  
As there's only a single thread working on each request, the threads are no 
longer syncronised at all, and most tiles are not very complex, the RAM 
problems haven't surfaced since.  This machine has now done over 450 requests 
in the 18 hours since I made this change, without any failures that I've 
seen.

In brief, each of the render clients needs to be configured with a different:
WorkingDirectory=/home/tah/tilesAtHome1/tmp/
but all using the same:
UploadToDirectory=1
UploadTargetDirectory=/home/tah/uploadAtHome/tmp/uploadable

The upload client needs to have:
UploadToDirectory=0
WorkingDirectory=/home/tah/uploadAtHome/tmp/
ForkForUpload=0

Cheers folks,
  Steve.




More information about the Tilesathome mailing list