[실험 설정]
Topology: 4x4 mesh, 16 ring, 16 fly
Traffic: Uniform Random, Uniform Random + 25% hotspot to dest 0
Packet size: 1 flit, 4 flit packet
[Average Throughput]
Throughput = # of packets / cycle
대부분의 topology에 대해서 average throughput은 Voq < No-Voq. Why?
packet size=1일때는 그래도 결과가 비슷한데, size=4일경우에는 No-VOQ가 좋음.
전체 # of packets은 Voq가 많은데, cycle도 Voq가 많음.
cycle 수는 max # of packets에 좌우되는가?
Voq와 No-Voq에서의 data 분포를 알아볼 필요가 있음.
[Packet Distribution to VCs]
injection rate이 커질때 max-min이나 stdev가 Voq > No-Voq
cycle은 max값에 의해 결정된다.
injection rate이 클때
MAXvoq - MINvoq > MAXnovoq - MINnovoq
STDEVvoq > STDEVnovoq
단, fly topology에 대해서는 그 차이가 매우 작은편이고
그 이유에 대해서는 하나의 router가 각각 4개의 src/dest만 공유.
따라서 각 router별로 16개의 vc가 아닌 4개의 vc로 하면
결과가 많이 좋아질것으로 추측됨쓰!!!
4개의 vc를 사용하면 vc=16을 사용한 Voq보다 결과가 좋아지긴 하지만
No-Voq 보다 좋아지지는 않음.
vc의 개수가 줄어들면 최대값과 최소값의 차이, 즉 stdev가 줄어들고 따라서 성능이 좋아지는것으로 보임
[Injection rate과 Average Throughput의 관계]
신기한 점은 Injection rate가 작을때는 Voq결과가 No-Voq보다 좋은데
특정 시점을 기점으로 No-Voq 결과가 Voq보다 더 좋아진다.
이 시점 p를 지나면 Average Latency가 증가하면서 infinity로 가고,
따라서 p 바로 다음이 Throughput이 되는것을 알수있음.
이 p 시간까지는 cycle도 거의 비슷한데, 이는 Voq와 No-Voq의 packet distribution에 별 차이가 없다는것을 의미.
p 시점을 지나면 Voq의 cycle이 엄청나게 늘어나면서 throughput이 안좋아지는데
이것은 packet들의 stdev가 커져서 그런거임...
여기서 논의할점:
p 시점이 지나서도 Voq가 굳이 더 좋은 결과를 내야할 필요가 있는가?
일단은 최대 thoughput까지 Voq가 결과가 좋으면 당연히 좋지만, 그럴만한 의미가 있는가가 중요.
그렇다면 어떻게 해야 좋아질까? 를 고민해야함..
그리고 Voq에서 packet 분포를 균일하게 할 방법이 있는가?
그렇게 되면 전반적인 Voq의 성능이 많이 향상될것으로 보임!
Idea:
Voq를 그대로 사용하되, 하나의 vc에 packet이 일정양을 넘으면 다른 vc를 선택적으로 사용할 수 있게하면 어떨까?