Назначьте конкретные параллельные процессы конкретного процессора на более крупных типах компьютеров Google Compute Engine

277
Jacob

Я уже нашел этот вопрос SU (это похоже, но не то же самое):

Как ограничить использование процессора Google Compute Engine до 100%

Я не хочу, чтобы параллельная обработка была изолированной друг от друга, разные процессы должны будут регулярно взаимодействовать друг с другом ... Кубернетес, если я правильно понимаю эту концепцию, занимается песочницей (контейнеризацией) различных процессов, чтобы они не могли мешать друг другу из соображений безопасности. Предполагается, что это более эффективная версия виртуальных машин с песочницей (иначе мне не нужно беспокоиться о других людях и их виртуальных машинах, заражающих мою виртуальную машину) ...

Единственная альтернатива, о которой я могу подумать, - это инициализация нескольких меньших виртуальных машин только с одним ЦП, которые затем взаимодействуют друг с другом через REST API, но это было бы неэффективно для моего конкретного проекта, учитывая, что объем оперативной памяти, необходимый для нейронной сети, немного меньше самой доступной оперативной памяти от самого большого типа машин с высокой памятью ... Я знаю, что чипы Intel предполагают иметь функции оптимизации, но есть очень специфические разделы, которые я мог бы явно назначить для параллельной обработки ... у кого-нибудь есть ссылка?

0

2 ответа на вопрос

0
Jacob

https://www.cyberciti.biz/faq/how-to-run-command-or-code-in-parallel-in-bash-shell-under-linux-or-unix/

Синтаксис: команда & команда arg1 arg2 & custom_function &

ИЛИ prog1 & prog2 и ждать prog3

В приведенном выше примере кода prog1 и prog2 будут запускаться в фоновом режиме, и оболочка будет ждать, пока они не будут завершены, прежде чем запускать следующую программу с именем progr3.

Чтобы отобразить состояние заданий в текущем сеансе оболочки, выполните команду jobs следующим образом: $ jobs

0
Jacob

http://www.acuriousanimal.com/2017/08/12/understanding-the-nodejs-cluster-module.html

Процессы NodeJS выполняются в одном процессе, что означает, что он не использует преимущества многоядерных систем по умолчанию. Если у вас 8-ядерный процессор и вы запускаете программу NodeJS через $ node app.js, она будет выполняться в одном процессе, тратя впустую остальные процессоры.

Надеемся, что для нас NodeJS предлагает модуль кластера, который содержит набор функций и свойств, которые помогают нам создавать программы, использующие все процессоры. Неудивительно, что механизм, используемый модулем кластера для максимизации использования ЦП, был реализован посредством процессов разветвления, аналогично старым системным вызовам Unix системного вызова fork ().

Похожие вопросы