Io바운드는 스레드로 일 시키고 대기중에 cpu로 딴 짓을 할 수 있는데 cpu바운드는 cpu 사용이 주여서 어차피 그러지 못 하니까
사용중인 스레드 수가 논리 프로세스의 수를 넘어가면 병렬성보다는 동시성이 증가하고 오히려 컨텍스트스위칭으로 오버헤드가 발생하면서 늦어질 수도 있어서 멀티스레드로 최적화를 못 한다는 거지?
Os공부 1주한 뉴비인데 제대로 이해한 거 맞음?
근데 그럼 cpu바운드는 어케 최적화함?
사용중인 스레드 수가 논리 프로세스의 수를 넘어가면 병렬성보다는 동시성이 증가하고 오히려 컨텍스트스위칭으로 오버헤드가 발생하면서 늦어질 수도 있어서 멀티스레드로 최적화를 못 한다는 거지?
Os공부 1주한 뉴비인데 제대로 이해한 거 맞음?
근데 그럼 cpu바운드는 어케 최적화함?
못함. 아니면 gpgpu같은거 쓰기
일반적으로 병렬처리를 하겠지. Parallel Computing으로 검색하면 자료 많이 나옴
알고리즘으로 최적화하는 것도 있고
연산 횟수 자체를 줄이던가 멀티코어를 쓰던가
컴공 1 학년인데요.. cpu 코어 한개가 여러개의 쓰레드를 사용할 수 있는건가요 - dc App
아키텍쳐마다 다름 인텔처럼 하이퍼스레드라고 코어 하나에 물리 스레드 두개씩 박혀있는 경우에는 코어 하나가 스레드 두개 처리 가능 애플 실리콘처럼 깡성능 단일코어인 경우에는 하나씩
가능함 일을 쪼개는 만큼 일하는 놈이 많아지는게 아니라 한놈이 쪼개진 만큼 일을 번갈아가면서 하는거
ㄴ아 이분말처럼 동시성 말하는거면 맞는거고 병렬은 코어 내에서 단일스레드면 물리적으로 안됨