Я думаю, что ваши процессорные ядра в любом случае будут делать что-то очень похожее, но я считаю, что этот вопрос следует переформулировать так, чтобы он исследовал, как бы вы решили эту проблему, используя несколько процессоров, предполагая, что у вас есть> = X рисунков, где Xэто количество процессоров.Вы напрямую не назначаете ЦП отдельным изображениям, ОС хорошо оптимизирована, чтобы найти умные способы выбора наилучшего из доступных.
Посмотрите, как рабочие настроены на прослушивание сокетных соединений?Вы можете отправлять данные, которые вы хотите передать каждому рабочему.
Код ниже взят из этого ТАКОГО поста, я немного изменил его.
var cluster = require('cluster');
var os = require('os');
if (cluster.isMaster) {
// we create a HTTP server, but we do not use listen
// that way, we have a socket.io server that doesn't accept connections
var server = require('http').createServer();
var io = require('socket.io').listen(server);
var redis = require('socket.io-redis');
io.adapter(redis({ host: 'localhost', port: 6379 }));
for (var i = 0; i < os.cpus().length; i++) {
cluster.fork();
}
cluster.on('exit', function(worker, code, signal) {
console.log('worker ' + worker.process.pid + ' died');
});
}
if (cluster.isWorker) {
var express = require('express');
var app = express();
var http = require('http');
var server = http.createServer(app);
var io = require('socket.io').listen(server);
var redis = require('socket.io-redis');
io.adapter(redis({ host: 'localhost', port: 6379 }));
io.on('connection', function(socket) {
// grandeFasola - emit what you what to emit here.
socket.emit('data', 'connected to worker: ' + cluster.worker.id);
});
app.listen(80);
}