2

Я имел в виду, что в многоядерной системе с числом процессоров 'n' будет ли на каждом процессоре установлено собственное ядро linux, или на всех процессорах будет копия одного и того же образа ядра?

Другой вопрос, касающийся многоядерности - это трассировка ядра. Поскольку трассировка работает на уровне ядра, следует ли выполнять трассировку для каждого процессора отдельно, или можно выполнить трассировку ядра в целом для всей сборки процессора?

3 ответа3

7

Все процессоры используют одну и ту же систему памяти, и загружена только одна копия Linux. Каждый запущенный процесс будет иметь свой собственный стек, но это верно и для однопроцессорных систем.

Strace реализован с помощью ptrace, который, я считаю, работает с отдельными PID, поэтому я думаю, что это означает, что он будет отслеживать только выполнение одного потока.

0

Спасибо всем за ваши ответы. Я провел небольшое исследование и обнаружил, что оба варианта возможны в многоядерных системах. Многоядерная система SMP будет иметь одно ядро Linux для всех ядер, где, как и в многоядерной системе AMP, каждое ядро будет иметь свое собственное ядро. Как правило, некоторые многоядерные системы будут иметь несколько ядер для AMP, выполняющих критические задачи в реальном времени, а остальные будут SMP, выполняющими некритические и обычные задачи.

Вопрос, который я задал, касается трассировки ядра. В настоящее время большинство ядер поставляются со встроенными kprobes, которые позволяют разработчикам ядра получать информацию о производительности ядра. Я думаю, ответ на первый вопрос также решает этот вопрос. В SMP генерируется одна трассировка для ядра, где, как и в AMP, генерируется столько трасс, сколько число процессоров.

AMP расшифровывается как Asymmetric Multi Processing, SMP обозначает Symmetric Multi Processing

0

У вас будет один образ ядра с разделами кода, выполненными по числу ядер / процессоров. Это будет варьироваться в зависимости от параметров ядра / как оно было скомпилировано.

Относительно трассировки ядра у вас все еще будет одна трассировка!

Помните, что одно и то же ядро будет выполняться несколькими процессорами / ядрами ...

Надеюсь, это поможет, С наилучшими пожеланиями, Том.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .