※ 바운드(bound)? 어떤 일을 바로 하지 못하고 대기해야 하는 상황을 컴퓨터에서는 '바운드 되었다'라는 표현을 많이 쓴다.
이미지 출처: 동기식 처리 모델
※ 콜백(callback) 함수란? 참고
속도 제한이 걸리는 경우는
자료 출처: What do the terms “CPU bound” and “I/O bound” mean?
CPU Bound means the rate at which process progresses is limited by the speed of the CPU. A task that performs calculations on a small set of numbers, for example multiplying small matrices, is likely to be CPU bound.
I/O Bound means the rate at which a process progresses is limited by the speed of the I/O subsystem. A task that processes data from disk, for example, counting the number of lines in a file is likely to be I/O bound.
Memory bound means the rate at which a process progresses is limited by the amount memory available and the speed of that memory access. A task that processes large amounts of in memory data, for example multiplying large matrices, is likely to be Memory Bound.
Cache bound means the rate at which a process progress is limited by the amount and speed of the cache available. A task that simply processes more data than fits in the cache will be cache bound.
노드엔 CPU Bound와 I/O Bound가 대부분의 경우라고 설명 중이다. 메모리 바운드는 메모리 양이 많을 때 바운드 발생, 캐시 바운드도 캐시보다 데이터가 더 많을 때 발생되는 개념인 듯 하다.
I/O 바운드는 메모리 바운드보다 느리고 캐시 바운드는 CPU 바운드보다 느리다고 나와 있고, I/O Bound의 해결 방법이 더 많은 메모리 확보가 아니라고 알려준다.