Lots of cryptocoin sites and in particular mining pools use the term 'worker,' but there is no clear definition. What is a worker?
The concept of "worker" is necessary for the pool to track the hash rate of individual mining devices and adjust difficulty accordingly. If the difficulty is too high then it may take hours for you to get a share, and if difficulty is too low you may report a dozen shares every second and put unnecessary burden on the pool and on your network connection.
In addition to hash rate tracking, the pool also needs to assign different extraNonce values (this is part of data in the generation transaction) for different workers to ensure that workers do not work on colliding merkleRoot values. This helps eliminate duplicate shares.
If you run many different mining devices at different speed, then each device must use a different worker name so the pool knows to track them separately.
It's simply an identifier for you to use so that you can track different machines within your account. This can be useful, e.g. to let you monitor the hash/sec rate of your machines: if they drop unexpectedly, there may be something else eating resources or a cooling issue that you need to address.
Can't you have more than one worker per machine? Feb 14, 2014 at 20:54
Yes. It might make sense to do so if you have multiple mining sources in your machine (e.g. 2 GPUs and a USB ASIC device).– Tim S.Feb 14, 2014 at 20:56