<====================>
  Setiathome speedup
  by GoMoRRaH
<====================>

Introduction
------------

This file was written for the Blacksun Research Facility (http://blacksun.box.sk) by GoMoRRaH on 05/03/2000. The setiathome homepage can be found on
http://setiathome.ssl.berkeley.edu, if you aren't seti'ing already I think you should do it. And if you do so, please join the bsrf team ;))) (see
blacksun.box.sk/seti)

What does setiathome do ?
-------------------------

Setiathome stands for Search for Extra Terrestrial Intelligence AT Home. The principle is the following, every day huge "radio telescopes" around the
world capture space noise, this noise is transformed into packets and by using a client/server system distributed thru all members. A members is a
person like me and you, someone who has some spare cpu time and wants to run a client in the background. This client decodes a piece of noise, and
searches for repetitive parts (if you want to know everything about it, go to the setiathome homepage they have good papers and I'm merely giving an
introduction).
The setiathome client connects to the project's server to download work units, and once it's done with each work unit, it sends it back to the server
and retrieves another one off the net.

I got a setiathome unit, why would I want to speed it up ?
----------------------------------------------------------

Well, these units are rather large and take some processing time. But some people I know prefer doing 64 hours instead of 16 houres per unit.

NOTICE: All tips / tricks mentioned are legal, I know the encryption is easy to crack but if you crack the encryption, why bother joining, you ain't
helping anybody with it. My tips just make better use of your hardware.

When you start setiathome and say you run an os and an application. Suppose these take 25% off your cpu-usage than setiathome will use 75%. If you open
another application setiathome will give away its usage. In a perfect world you shouldn't notice it. But yeah, I know it has a little lag ... Nobody's
perfect ...

'Setiathome will use 75%' so it will take you 1/4th longer to finish a work unit.

Suppose you run windows, this client for windows has a beautiful interface, with cool animations, etc, etc. Well, these animations need to be computed,
and what computes this animations ? The same chip that works on your seti units, right ?

=> TIP: Use a non graphical client, like Setiathome for linux without the XWindows support or seti4nt.
	NOTICE: seti4nt will also run on a Windows 98 box.

This will shorten the cpu time required for each unit.

Tips for Linux users
--------------------

Because I use Linux myself and use Linux to run I played around and come to the following. When you start you Linux machine normally, it
runs deamons, loggers, ... etc. OK, you need this things sometimes, but not all the time, what if we could shut them all down ? And,
lucky enough, it exist, when your system boots, you simply type LILO: linux single (or whatever you type in when you boot up linux with
the word single at the end. This will run Linux in single user mode. You can also type linux 1. More information about runlevels and single user mode
is available in the Byte Me page at blacksun.box.sk).
Then system is booted in single user mode. What does this means? It means that a lot of programs didn't get started. You are now operating a very basic
box (for example: no networking support). Then under normal conditions the cpu usage is 99%, the load average is 0.99. When it takes 16 houres to
decode a packet your pc has to be up for exactly 16 hours (not really it takes about 7 seconds to initialize setitathome).
You can also access single user mode by typing init 1 (this puts you into runlevel one - single user), and return to normality by typing init 3
(usually this would be your regular runlevel. Pay close attention to what your box says at startup to make sure that you're typing the correct number).

I wanna do better ...
---------------------

Did I mention there are such things as priority's *grin* Setiathome has an extra paramter called '-nice' this is used to set the nice level (read:
priority), when you start setiathome under normal conditions, this nice level makes the load not go higher than 0.99. But what if you could get it higher
? Something like 'use more off your cpu than is available' ;))

The root user can give a maximum nice level of -20 (well, actually you can give higher nice levels, but most chances are that nothing on your system,
unless you've set otherwise, has a higher nice level than -20. Btw, -20 is higher than -19. Yes, I know it's the other way around). I haven't calculated
it exactly but my guess is, it takes me two houres less, if not more. You should read nice's man page by typing man nice for more information about
priority handling.

Start setiathome with:

./setiathome -nice -20

This boots setiathome with the highest nicelevel possible.
However, I do not recommend giving seti@home such a high priority, because it may steal resources from "mission-critical" programs that are necessary
to keep your box running. Run

Some other tips
---------------

Some usefull tips that might, help. Recompile your kernel and make sure your cpu is defined correctly ... Use MTRRs. ....
Also, when you compile your kernel, remember to compile as little as possible, and compile functions that you will always need into the kernel, not as
modules (loadable modules allow you to load and unload kernel functions when you need/don't need them. This can save some memory, but this can also slow
things up. Don't modulize things unless you know what you're doing, and also, if you're not sure you know what you're doing, you probably need to compile
sound support and everything under it as a module).

Final note
----------

+> I hope I helped a bit 
+> Suggestions, question, comments can be mailed to GoMoRRaH (metal@digibel.org)
+> Some additions to this tutorial were made by R a v e N.