That makes no sense, don't put a bunch of S3's on one worker, you lose way too much hash power by doing so.
This is flat out wrong. You do not lose ANY hash power by putting multiple machines on one worker on ANY pool. It's not recommended purely because it means idle notifications won't work unless all machines go down at the same time, and the stats will be merged for all hardware. But you don't lose any speed.
I've been seeing people talk about combining workers and wondering which is the correct way to set the difficulty. Say I want to connect 4 S3's to the same worker ID, do I set the difficulty as I would an individual miner or do I add all the hashrates together and set the difficulty based on that.
I set mine individually. I have 3 workers(s1,s2,s3). I set the S1 worker to 128 and point all my S1's to that worker. Is this correct?
You set the difficulty per the combined hashrate of all the devices on that mining software instance.
This is the correct answer. If your workers share a single miner instance (either a single BFGMiner or a single stratum proxy), you should set the difficulty to the combined speed, since vardifficulty will be doing that whether you want it to or not (and it works the same on every pool).
If your workers are running their own miner instance, you just use that miner's speed.
I think the confusing part of this is that he is claiming to have multiple S1, multiple S2, multiple S3.
Instead of running individual worker for each individual device, it appears that he is only using 3 workers. One for each Model of Device.
The Antminer S1, S2, S3, all have the miner instance built in to the firmware of each individual device but he seems to say that he is pointing All S1's (multiple devices) to the same (single) worker. Then using a new worker for his S2's, etc.
If he created a single worker per device (S1a, S1b, S1c, S2a, S2b...) under one account name; then he would be able to distinguish the performance achieved on the pool for each individual device and the recommended "diff" should be set according to the speed of that individual device.
If in his view, listing the devices individually is to busy of a presentation of the miner information, then he may intentionally decide to continue pointing each "model" of equipment (S1,S2,S3) to one of his three workers.
If that is what he does, the pool software will interpret the hash rate of say worker S1, which may actually have 3 devices pointed at it, as say 1500 GH/s and eventually send a signal to him that "Diff is changed to 1024" for that S1 worker.
I'm not using S1,S2, ...etc. equipment but combining multiple USB devices which are all on the same "instance" of miner software, would increase "Diff" ex.-30 U2+'s would be Diff:32. And will operate very well that way.
You could create 30 separate workers and run 30 separate instances of BFG Miner at Diff:2 but that would be silly in the case of 2 GH/s miners.
Antminer S1, S2, S3 all have the CG Miner software installed individually on each device, nothing you can do about that, but in my opinion..... it would be "better" to assign each device its own worker and set the Diff:? to the speed of that device, both on the device and under worker settings of the pool he's on if that is possible and it is on BTC Guild.