다른 코어를 일반 코어로 사용하면서 단일 코어를 실시간 계산에 집중하는 것이 가능합니까?

다른 코어를 일반 코어로 사용하면서 단일 코어를 실시간 계산에 집중하는 것이 가능합니까?

얼마 전에 시작한 프로젝트의 일부를 마무리하고 있는데 적합한 코어가 필요합니다. 1us보다 큰 지연은 생성된 신호의 품질에 영향을 미칠 수 있으므로 일부 코드는 항상 실행되어야 합니다.

내 하드웨어는 ARM Cortex A-53, 4x1.2GHz, 1GB RAM일 가능성이 높습니다(Pine64 보드에서 테스트됨). 간단히 말해서 코드가 루프에서 실행되어 메모리의 데이터 변경 사항을 확인한 다음 신호를 계산하고 전송합니다. 따라서 콘솔에 출력 인쇄, 파일 열기, malloc/free 등과 같은 GPIO 핀 조작 이외의 시스템 호출은 없습니다. 이 모든 작업은 다른 코어에서 실행됩니다.

GUI 렌더링, OpenGL을 사용한 렌더링 머신의 간단한 에뮬레이션, 명령 수신 등 다른 3개 코어에서 사용하고 싶은 기능이 많기 때문에 Linux를 사용하고 싶습니다. 이렇게 작은 칩을 요구하는 것이 많다는 것을 알고 있지만 이를 달성할 수 있는 방법이 있습니까?

나는 isolcpus=3Linux 커널에 인수를 전달하고 해당 CPU에서 irq를 비활성화하려고 시도했습니다. 그런 다음 다음 taskset을 사용하여 간단한 프로세스를 생성했지만 5us의 지터가 있어서 예상대로 작동하지 않았습니다.

답변1

질문을 완전히 이해했는지는 모르겠습니다만,이 이전 질문비슷한 영역을 다루고 있는 것 같나요?

관련 정보