
Hi,
I am designing a server which will going to run on multiprocessor and which will going to provide service to thousand of clients concurrently. I am using boost asio library to do this. I want to use one io_service object per CPU approach for this. Let me describe what I want...
1. I want to create ioservice object as per the no of CPU I have, so that I can distribute the load evenly. 2. How to create a list of ioservice object & make them running all the time even when there is no request to process. What's the definition of idle ioservice in this case... the one which is this the one which is not handling any connection? How can I choose a ioservice out of a pool of idle service whenever a new request comes from the client. 3. Can I restrict no of clients(connections) on each io service, lets say 500 connection on each ioservice or so ?
As far as I am aware, doing io_service.run() in multiple threads works just fine.