풀 할당 설정
- 업데이트 날짜:2023-02-17
- 4분 (읽기 시간)
풀 할당 설정
자동적으로 로드 균형을 조정하도록 리얼타임 OS(RTOS)에 있는 각 CPU의 풀 할당을 설정합니다.
입력/출력

CPU 풀
시스템에서 각 CPU에 할당되는 풀.
배열의 각 원소는 하나의 CPU를 나타냅니다. 배열 인덱스 0 - N은 CPU 인덱스 0 - N에 대응합니다.
| System and Timed Structures | 수동으로 특정 CPU에 할당되지 않은 모든 스레드의 자동 로드 균형을 위해 CPU를 시스템 풀 및 Timed 구조 풀 모두에 할당합니다. |
| System | Timed 루프가 아닌 스레드의 자동 로드 균형을 위해 CPU를 시스템 풀에 할당합니다. |
| Timed Structures | Timed 루프 스레드의 자동 로드 균형을 위해 CPU를 Timed 구조 풀에 할당합니다. |
| Reserved | CPU를 풀에 할당하지 않습니다. CPU는 수동 프로세서 할당으로 설정된 Timed 루프를 위해 예약되었습니다. |

에러 입력
이 노드가 실행되기 전에 발생하는 에러 조건.
노드는 표준 에러 동작에 따라 이 입력에 반응합니다,
Default value: 에러 없음

할당된 CPU 풀
각 CPU의 풀 할당.
| System and Timed Structures | 특정 CPU에 수동으로 할당되지 않은 모든 스레드의 자동 로드 균형을 위해 CPU는 시스템 풀 및 Timed 구조 풀 모두에 할당됩니다. |
| System | Timed 루프가 아닌 스레드의 자동 로드 균형을 위해 CPU는 시스템 풀에 할당됩니다. |
| Timed Structures | Timed 루프 스레드의 자동 로드 균형을 위해 CPU는 Timed 구조 풀에 할당됩니다. |
| Reserved | CPU가 풀에 할당되지 않았습니다. CPU는 수동 프로세서 할당으로 설정된 Timed 루프를 위해 예약되었습니다. |

시스템 마스크
시스템 풀 할당에 상응하는 비트 마스크.

Timed 구조 마스크
Timed 구조 풀 할당에 상응하는 비트 마스크.
타이밍 결정성이 높은 Timed 루프의 성능 극대화하기
Timed 루프를 Reserved 상태의 높은 인덱스의 CPU에 할당하여 타이밍 결정성이 높은 Timed 루프에서 성능을 극대화 할 수 있습니다. 예를 들어 리얼타임 OS(RTOS)가 0-3으로 인덱스된 CPU 코어 4개를 포함하는 경우, CPU 3의 상태를 Reserved로 설정하고 타이밍 결정성이 높은 Timed 루프를 CPU 3에 할당합니다.
고성능 및 타이밍 결정성이 높은 Timed 루프를 높은 인덱스의 CPU에 할당하면, RTOS는 최고 인덱스 CPU에서 시작하여 Timed 루프의 실행 순서를 지정할 때 감소하므로 지연 시간이 최소화됩니다. 우선 순위가 같은 여러 Timed 루프가 동시에 시작되도록 설정된 경우, 낮은 인덱스 CPU에서 실행되는 Timed 루프의 시작 대기 시간은 높은 인덱스 CPU에서 실행되는 Timed 루프의 시작 대기 시간보다 여러 마이크로초만큼 더 걸릴 수 있습니다. 이러한 스레드의 경우 스케줄러가 CPU 0에서 시작하여 증가하기 때문에 Timed-루프가 아닌 스레드에서는 위와 반대가 됩니다. NI는 시스템 풀에 낮은 인덱스의 CPU를 할당하고, 타이밍 결정성이 있는 Timed 루프에 인덱스가 높은 CPU를 할당하여 지연 시간을 최소화할 것을 권장합니다.
CPU를 Reserved 상태로 지정하면, CPU가 사용자가 수동으로 CPU에 할당한 Timed 루프만 실행하도록 예약됩니다. 예약된 CPU에 Timed 루프를 하나만 할당하는 경우, 이 CPU의 처리 용량을 독점하여 높은 빈도 또는 처리 속도를 얻을 수 있습니다.
CPU 사용 극대화하기
프로세서 사용을 최대화하려면 Timed 루프 전용 처리 시간과 시스템 스레드 전용 처리 시간의 비율을 예상하고, 이에 기반하여 각 풀에 지정할 CPU 개수를 조정할 수 있습니다. [RT CPU 로드 얻기] 노드를 사용하여 프로세스 로드 배포를 예측할 수 있습니다.
CPU 사용을 최대화하는 또 다른 방법은 풀이 부분적으로 겹치는 것을 피하는 것입니다. 시스템 및 Timed 구조 풀이 부분적으로 겹치도록 이 두 풀을 정의하는 경우, 자동 로드 균형 조정 프로세스가 프로세서를 최적으로 사용하도록 결정을 내리지 못 할 수도 있습니다.
스레드 기아 상태 방지
시스템 스레드의 기아 상태를 방지하려면 시스템 스레드 전용으로 적어도 하나의 CPU를 예약하는 것이 좋습니다. 예를 들어 시스템 풀에 CPU 0을 할당하고 Timed 구조 풀에는 CPU를 할당하지 않고, Timed 루프가 CPU 0을 타겟으로 하지 않도록 하면, CPU 0은 항상 시스템 스레드를 실행할 수 있습니다.
