Suppose I have a multi-threaded application (say ~40 threads) running on a multiprocessor system (say 8 cores) with Linux as the operating system where different threads are more essentially LWP (Light Weight Processes) being scheduled by the kernel.
What would be benefits/drawbacks of using the CPU affinity?
I was looking around on Wikipedia, and ran across the UltraSPARC T2 processor. This is a processor with 8 cores (8 physical processors) and 8 threads per core (64 logical processors!)
I'm aware of Intel's Hyper-Threading and other technologies, and I know collisions between the threads have the possibility of decreasing the processor's throughput.
I have a application which has two threads ,thread1 would receive multicast packages
from network card eth1 , suppose I use sched_setaffinity to set cpu affinity
for thread1 to cpu core 1 , and then I have thread2 to use these packages
(received from thread1,located in heap area global vars) to do some operations ,
I set cpu affinity for thread2 to core 7 ,suppose core 1 and core 7 are
in the sam
Hi folks,
I am trying to run more than 8 threads in OpenMP team on my HP-UX 11i v3 system (without root access), but NO success.
Compiler: aCC A.06.26
I tried to setup: OMP_NUM_THREADS, omp_set_num_threads(), max_thread_proc=1000, nkthread=8416, set_dynamic=0
Machine has 2 processors with 4 cores.
I am trying run a total of 8 threads on 4 cores.
I bind the threads in sets of 2 to each of the core by setting the affinity.
0,1 -> core A
2,3 -> core B
4,5 -> core C
6,7 -> core D
I am able to poll the threads to check if they are running.
I am using taskset for setting the CPU affinity to particular process.
I want to set the cpu affinity of a process on linux when it is starting.
There are methods like sched_setaffinity and taskset, but they need the processid of the process.
I've been playing with cset to set cpu affinity for running processes. I'm recreating the built-in "shield" function manually with set and proc, to add some subsets for specific threads of my application. I have a bash script that is calling cset to create the sets, and move the correct threads to the correct sets.
How do I get a forked, execve() child process that can run 'vi', etc and redirect all IO to the parent process?
I'm trying to pass shells through from an embedded Linux process to the PC software interface connected over the network.
The IO for the shell process is packaged into app-specific messages for network transport over our existing protocol.
First, I was just redirecting IO using simply