Questions tagged [smp]

Symmetric multiprocessing

"Symmetric multiprocessing (SMP) involves a multiprocessor computer hardware architecture where two or more identical processors are connected to a single shared main memory and are controlled by a single OS instance. Most common multiprocessor systems today use an SMP architecture." [Source: Wikipedia.]

151 questions
11
votes
1 answer

Understanding link between CONFIG_SMP, Spinlocks and CONFIG_PREEMPT in latest (3.0.0 and above) Linux kernel

To give you full context my discussion begun with an observation that I am running a SMP linux (3.0.1-rt11) on ARM cortex A8 based SoC which is a uniprocessor. I was curious to know if there will be any performance advantage by disabling SMP…
Satpal Parmar
  • 361
  • 3
  • 12
9
votes
1 answer

How is Heterogeneous Multi-Processing (HMP) scheduling implemented in Linux Kernel (Samsung Exynos5422)?

Does anybody know how Heterogeneous Multi-Processing (HMP) scheduling is implemented in the Linux kernel scheduler? This has been implemented in the kernel supplied with the ODROID-XU3 board. (https://github.com/hardkernel/linux.git -b…
nico
  • 9,668
  • 8
  • 26
  • 28
8
votes
3 answers

____cacheline_aligned_in_smp for structure in the Linux kernel

In the Linux kernel, why do many structures use the ____cacheline_aligned_in_smp macro? Does it help increase performance when accessing the structure? If yes then how?
K_K
  • 759
  • 9
  • 18
8
votes
1 answer

How to use the APIC to create IPIs to wake the APs for SMP in x86 assembly?

In a post-boot enviroment (no OS), how would one use the BSP (first core/processor) to create IPIs for the APs (all other cores/processors)? Essentially, how does one wake and set the instruction pointer for the other cores when starting from one?
QRXQ
  • 148
  • 1
  • 6
8
votes
1 answer

Pin processor CPU Isolation on Windows

In linux where I work mostly, we use a technique called CPU isolation, that effectively locks a process on to a processor and also prevents the processor from running anything else. Our kernel guys did some magic to handle the interrupts. In…
user805547
  • 1,245
  • 1
  • 15
  • 23
8
votes
2 answers

OpenMP and NUMA relation?

I have a dual socket Xeon E5522 2.26GHZ machine (with hyperthreading disabled) running ubuntu server on linux kernel 3.0 supporting NUMA. The architecture layout is 4 physical cores per socket. An OpenMP application runs in this machine and i have…
labotsirc
  • 722
  • 7
  • 21
7
votes
7 answers

How can I re-sort an array in-place to put the even indexed items before the odd?

I have a sorted array that I want to re-sort such that the previously even indexed items are at the beginning, followed by the odd indexed items. Ex: [a, b, c, d, e, f] => [a, c, e, b, d, f]. I'll also (separately) want to do the opposite, with odd…
Jon Thysell
  • 377
  • 1
  • 10
7
votes
2 answers

does the linux kernel in an SMP system guarantee that UDP packets arriving from a network in order will be read from a socket in order?

on a project I am working on, we are seeing out-of-order issues in certain circumstances on a SMP system when we are reading a UDP stream from the network. We can see it arrives from the network in order by sniffing off a hub connected between the…
tylernol
  • 171
  • 6
7
votes
2 answers

how is a memory barrier in linux kernel is used

There is an illustration in kernel source Documentation/memory-barriers.txt, like this: CPU 1 CPU 2 ======================= ======================= { B = 7; X = 9; Y = 8; C = &Y } STORE A = 1 STORE B =…
dspjm
  • 5,473
  • 6
  • 41
  • 62
7
votes
3 answers

parallel python, or MPI?

I have a code with heavy symbolic calculations (many multiple symbolic integrals). Also I have access to both an 8-core cpu computer (with 18 GB RAM) and a small 32 cpu cluster. I prefer to remain on my professor's 8-core pc rather than to go to…
owari
  • 369
  • 3
  • 14
6
votes
3 answers

What limits scaling in this simple OpenMP program?

I'm trying to understand limits to parallelization on a 48-core system (4xAMD Opteron 6348, 2.8 Ghz, 12 cores per CPU). I wrote this tiny OpenMP code to test the speedup in what I thought would be the best possible situation (the task is…
Douglas B. Staple
  • 10,510
  • 8
  • 31
  • 58
6
votes
1 answer

How to limit the number of cores used by the Erlang VM (BEAM)?

I'm running experiments on a node with 2 x Quad-Core Xeon E5520 2.2GHz, 24.0GB RAM, and Erlang R15B02 (SMP enabled). I wonder if I can limit the number of cores used by the Erlang VM so that I can temporarily disable some cores and increase the…
Xiao Jia
  • 4,169
  • 2
  • 29
  • 47
5
votes
1 answer

Kinds of IPI for x86 architecture in Linux

I would like to know what are the different kinds of IPIs available for x86_64 in Linux. In particular, I want to find out the different interrupts handlers for IPI interrupts. In Understanding the Linux Kernel, 3rd Edition by Daniel P. Bovet,…
5
votes
2 answers

Why does linux kernel need idle thread?

Rather than "do nothing" if there is nothing to do (including SMP), why linux kernel runs idle thread?
jaeyong
  • 8,951
  • 14
  • 50
  • 63
5
votes
2 answers

Why do we need separate kernel stack for each CPU

In practice, many operating systems are designed to have one kernel stack for each thread, or at least one for each CPU. But for an operating system that the kernel is locked every time a process traps, it seems unnecessary to have separated kernel…
Phil Guo
  • 67
  • 2
1
2
3
10 11