리눅스 환경에서 프로그래밍을 공부하고 있는 학생입니다.
멀티 코어를 통한 병렬처리에 대해서 공부하고 있는데요.
한 프로그램내에서 쓰레드를 이용하여 쓰레드당 CPU의 코어를 배분하고 싶습니다.
일반적으로 쓰레드를 그냥 생성 하면 운영체제에서 알아서 코어를 배분하잖습니까?
그런데, 이를 프로그래머가 제어할 수는 없나요?
근본적인 궁금증은 멀티코어 환경에서 '각 코어를, 한 프로세스 내에서의 각 쓰레드에게 배분(1)' 또는
'각 코어를, 두 개 이상의 각 프로세스에게 배분(2)' 하는 병렬처리 방법들에 대해 알고 싶습니다.
concurrent 한 처리가 아니라 parallel 한 처리 방법을 알고 싶습니다.
다양한 어떠한 방법이 있는지 알고 싶고, 혹시 코드레벨에서 가능하다면(C언어) 꼭 알고 싶네요.