Table of Contents
...
Decimal
Code Block WorkerCpuAffinity = 31
The setting above exposes cores #0,1,2,3,4
(see Backward compatibility)Hexadecimal
Info Introduced in FA C++ 2.27.1
Code Block WorkerCpuAffinity = 0x1F3A
The setting above exposes cores #1,3,4,5,8,9,10,11,12
Cores-set format (like Linux' taskset command)
Info Introduced in FA C++ 2.27.1
Code Block # core numbers: integer values of set [0..63] Session.Default.RecvCpuAffinity = 2-4 # separator character: ',' HelperCpuAffinity = 1,4 # grouping characters: '{' '}' WorkerCpuAffinity = {0}
The settings above expose cores respectively #2,3,4; #1,4; #0;
Info NOTE: To avoid erroneous reading with the cores-set format, use a grouping of characters in case of single-core in the mask:
WorkerCpuAffinity = 31 - it means cores #0,1,2,3,4
WorkerCpuAffinity ={31} - it means cores #31core #31
Support ranges
Use comma-separated list instead of bitmask (decimal values in the range [0..63] separated by comma)
Code Block Session.Default.RecvCpuAffinity = {1,3,4,5,8,9,10,11,12}
Supports ranges (like Linux' taskset command)
Code Block Session.Default.RecvCpuAffinity = 1,3-5,8-12
...
by default - the decimal format is used.
Examples of conflicting configuration:
Code Block |
---|
# The new settings uses core #2 WorkerCpuAffinity = 2 4 WorkerCpuAffinity = 0x2 0x4 WorkerCpuAffinity = {2} # The old behavior uses cores # 1, 2, 3. Not using core #0 WorkerCpuAffinity = 14 # The old behavior uses cores #0 WorkerCpuAffinity = 1 # The new behavior uses cores #2 and #4 WorkerCpuAffinity = 0x14 # The new behavior uses core #14 WorkerCpuAffinity = {14} # The new behavior uses core #2 and #4 WorkerCpuAffinity = {2,4} # The old behavior means all cores for mapping (default) WorkerCpuAffinity = 0 # The new behavior uses core #0 WorkerCpuAffinity = {0} # The new representation to map all cores: WorkerCpuAffinity = {0-63} WorkerCpuAffinity = 0xFFFFFFFFFFFFFFFF |
...
Linux thread name | FIX Antenna thread name | Description | |
---|---|---|---|
1 | FA: Timer | Timer | Several timer threads which can be used for:
|
2 | FA: Worker_0 ... FA: Worker_N | Worker_0 | Several threads. Session processing (receive/send) threads from thread pool used by EVEN and DIRECT_SEND modes and configuring by NumberOfWorkers parameter |
3 | FA: Dispacher | Dispacher | Thread that is listening and handling incoming and outgoing connections. |
4 | FA: AbsolutTime | AbsolutTimer | Public timer scheduling tasks. |
5 | FA: ExlusiveRec | ExlusiveReceiveTaskDedicatedWorker | A dedicated thread for receiving in aggressive mode. |
6 | FA: NewInLinkTa | NewInLinkTask | Thread that accepts a new connection. |
7 | FA: ExlusiveSen | ExlusiveSendTaskDedicatedWorker | A dedicated thread to send in the aggressive mode if sending try in the current thread has failed. |
8 | FA: AsyncConnec | AsyncConnectTask | Asynchronous connection to the initiator. |
9 | FA: DBLDispache | DBLDispacher | Thread that is listening and handling incoming and outgoing connections for Myricom DBL network cards. |
10 | FA: LSCommunica | LSCommunicator_Impl |
|
11 | <Unnamed threads> |
|
...