Le 3/27/13 12:54 PM, IronMan a écrit :
> Sorry, but I am not sure to understood; currently, I have a server
> application that instatiate an IOAcceptor, named "acceptor". The code
> is below:
>
> public static void main(String[] args) throws IOException {
>
> SSMServerIoHandler handler = new SSMServerIoHandler();
> handler.openConsole("- SSMServerIOHandler -");
> NioSocketAcceptor acceptor = new NioSocketAcceptor();
> acceptor.getFilterChain().addLast("protocol", new
> ProtocolCodecFilter(new SSMCodecFactory(false,null)));
> acceptor.setDefaultLocalAddress(new InetSocketAddress(PORT));
> acceptor.setHandler(handler);
> acceptor.bind();
> // System.out.println("event> SSM server is listenig at port " + PORT);
> handler.scope.printOnConsole("event> SSM server is listenig at
> port " + PORT);
>
>
> }
>
> I am running the application on a virtual machine with one core; for
> this reason when I create 10 client there is only two thread executed
> in concurrent way. If we evaluate the 548 core, this core are
> distributed on, about, 18 machine. The previously code is still right?
I have no idea how the JVM can spread the threads on core on other
machines... AFAICT, except if you are using a very specific JVM, the
threads used are local to your machine (ie, in your case, 548/18 cores
will be used)
So base line, you won't be able to exploit the 548 cores on your 18
machines.
--
Regards,
Cordialement,
Emmanuel Lécharny
www.iktek.com