HOL blocking
from: https://en.wikipedia.org/wiki/Head-of-line_blocking#/media/File:HOL_blocking.png |
switch 에 여러개의 input queue 가 있고, input queue 들로 들어오는 packet 들은 어떤 output 으로 갈지 정해져 있다. 이런 구조에서 1번 input queue 에서 output 4로 가려는 packet 이 들어왔고, 3번 input queue 에도 output 4 로 가려는 packet 이 들어왔다고 해보자.
그리고 이것들이 동시에 처리되는 시점에 있다고 하자. 그러면, 둘 다 4번 output 으로 보내야 하지만, output 은 한번에 1개밖에 보낼 수 없다. 그래서 1번이나 3번 input queue 중에 선택을 해야 한다.
그래서 만약 3번을 택했다면, 1번 input queue 는 자신의 packet(4번으로 가려는) 을 "3번 input queue 의 packet" 이 처리된 후에 처리해야만 한다.
그렇게 되면 어쩔 수 없이, 이번 clock 에는 아무런 일도 할 수 없다. 그냥 쉬게 된다.
이런식으로 block 이 되는 것이 Head-Of-Line blocking 이다. 당연히 이로 인해 처리능력이 줄어들게 된다. 그래서 이를 해결하기 위한 방법중 하나로 Virtual output queueing 이 쓰인다고 한다.
댓글 없음:
댓글 쓰기