[Gems] Torus Topology

Lab.work 2010. 7. 4. 20:41
GEMS wiki says that PT_TO_PT and FILE_SPECIFIED topologies are recommended for CMP protocols.
Its probably fine for a rough model of a single CMP.  The auto-generated
TORUS_2D network will not create a hierarchy (for a Multiple-CMP) and will
not do anything special for the directory/memory controllers.

'Lab.work' 카테고리의 다른 글

Meeting 12월 29일  (0) 2009.12.29
11월 11일 Meeting  (0) 2009.11.11
Weekly Report (11/9)  (0) 2009.11.10
11월 4일 Meeting  (0) 2009.11.04
Weekly Report  (0) 2009.11.04
블로그 이미지

민둥

,

Meeting 12월 29일

Lab.work 2009. 12. 29. 15:42
Implementation

1) nINTER, nLOCAL 대신 Round-Robin으로 선택하게 하고
Rx, Ry의 같은 방향으로 가는 port에 대해서만 prioritized arbitration구현

2) Pipeline stage
모두다 no VA stage
Baseline router: I, SA, ST, LT
Turning packet: SA/STx/INT, STy/LT
X->X: SA/STx/LT (1 cycle)
Y->Y: SA/STy/LT (1 cycle)

3) Network-only simulator
ex)  a uniform random traffic

Evaluation

1)  n value를 6개 사용한것과 4개 사용한것 비교

2) Count number: How many times is nX > n_max used

3) CPI & Average network latency

4) Baseline router의 Input Buffer: 2, 4로 실험

5) Network-only simulator에서 
for the network-only, you dont' need VCs.. so 16x1 should be sufficient.


Pipeline (I/VA/SA/ST/LT 원래 그대로 실험)

@ BASELINE
/home/berebere/gems2/simics
buf가 2, 4일때 -> baseline_buf_4, baseline_buf_2

@ 4개 n value, Prioritized arbitration
/home/berebere/gems/simics
buf=2, inter_buf=4, n_max=4 일때 -> low_cost_max4

@ 6개 n value, Prioritized arbitration
/home/berebere/gems3/simics
buf=2, inter_buf=4, n_max=4 일때 -> low_cost_6n_max4

nX > n_max used 개수 비교
CPI, Average network latency 비교.

Flexible Pipeline

@ Baseline router: I, SA, ST, LT (flexible pipeline, 4 cycle)
/home/berebere/gems4/simics
buf가 2, 4일때 -> baseline_buf_4, baseline_buf_2
buf가 2이고 5stage (VA 포함) 일때 -> baseline_buf_2_5stage

Single Cycle Router

@ Baseline router
pipeline: I/VA, SA, ST, LT (4 cycle)
/home/berebere/gems5/simics
buf가 2, 4일때 -> baseline_buf_4, baseline_buf_2

@ 4개 n value, Prioritized arbitration
Turning packet: SA/STx/INT, STy/LT
X->X or Y->Y : SA/(STx or STy)/LT (1 cycle) 

Network only Simulator

@ Fixed-pipeline
Uniform Random traffic, 0.1~1.0까지 실험
buffer size = 16

@ Flexible-pipeline
Uniform Random traffic, 0.1~1.0까지 실험
buffer size = 16, pipeline_stage = 5

0.1   /home/berebere/gems_net_only/simics
0.2   /home/berebere/gems_net_only2/simics
0.3   /home/berebere/gems_net_only3/simics
0.4   /home/berebere/gems_net_only4/simics
0.5   /home/berebere/gems_net_only5/simics
0.6   /home/berebere/gems_net_only6/simics
0.7   /home/berebere/gems_net_only7/simics
0.8   /home/berebere/gems_net_only8/simics
0.9   /home/berebere/gems_net_only9/simics

'Lab.work' 카테고리의 다른 글

[Gems] Torus Topology  (0) 2010.07.04
11월 11일 Meeting  (0) 2009.11.11
Weekly Report (11/9)  (0) 2009.11.10
11월 4일 Meeting  (0) 2009.11.04
Weekly Report  (0) 2009.11.04
블로그 이미지

민둥

,

Seminar - Dec 28 (Mon)

Architecture 2009. 12. 29. 14:05
Sort vs. Hash Revisited: Fast join Implementation on Modern Multi-core CPUs

by Changkyu Kim  (Intel's Microprocessor and Programming Research)

1) Introduction

DB의 문제를 architecture로 어떻게 풀것인가?의 문제.

DB operation인 Join은 매우 heavy한 operation. table size가 커지면 load가 exponential하게 증가한다
memory capacity가 증가하고 faster I/O의 등장으로 과거에는 I/O bottleneck이 문제였지만 이제는 CPU resource가 중요하게 되었음.

Join operation은 Hash join, Sort-merge join의 두 종류가 있다.

GOAL: Revisit these two join algorithm in the morden CPU and the future CPUs

2) Hash Join

large hash table -> random memory eccess가 증가
random memory access는 cache line unfriendly access or TLB unfriendly access로 memory bound operation이다.

Main Idea: 이를 compute bound problem으로 바꾸기 위해서 cache안에서 Join computing을 할 수 있도록 한다.
Use (4B key, 4B record) tuples in cache, with partial key and another hash function for record.

전체 과정은 Prolog -> Join -> Epilog 의 순으로 진행된다.

Prolog: compaction to (4B partial key, 4B record pointer)
Hash Join operation: table 1을 Key에 따라 Partition, table 2에서 일치하는 key를 찾아서 match, result table에 쓴다.
Epilog: test if false positive, find the real key with the partial key

이러한 방법으로 In-memory hash join을 함으로써 fastest reported performance를 낼 수 있었음.

문제: (4B key, 4B record) tuples이 가능한가
Prolog와 Epilog작업이 얼마나 expensive한가가 관건

3) Sort-merge Join

partition작업 대신에 table 1의 key 전체를 sort한 후에
table 2에서 일치하는 key를 찾아서 merge.

지금까지는 hash join이 sort-merge join보다 더 성능이 좋다고 알려져 있지만
미래에 wider SIMD가 사용되게 되면, sort-merge join이 더 적합할 것으로 보인다.

4) Evaluation

Prolog와 Epilog에 많은 시간이 소요되지만, 이를 포함해도 성능이 좋아짐
(4B key, 4B record) tuples에 대해서는 여전히 논의해야할 문제이다.

'Architecture' 카테고리의 다른 글

GARNET  (0) 2009.09.15
Network traffic patterns  (0) 2009.08.02
Virtual-Channel Flow Control  (0) 2009.07.08
Interconnection Network Topologies  (0) 2009.07.01
PARSEC vs. SPLASH-2  (0) 2009.06.16
블로그 이미지

민둥

,

11월 11일 Meeting

Lab.work 2009. 11. 11. 21:22
다음주 월요일(11월 16일) 까지 해야할일!

@ Phoenix

1) Ideal(p2p)과 mesh에 대해서 src + dest traffic을 뽑아서 비교!
2) 많이 사용되는 node는 왜 많이 사용 되는 거지? 이유알아보기

@ CS710 ICN

1) 발표 준비
"Low-Cost Router Microarchitecture ", John Kim, to appear in MICRO 2009, New York, NY December 2009 

2) 논문의 내용을 Garnet을 사용하여서 재구현 하기 ★★★★★

@ Booksim

1) 3000 cycle 이후에 simulation 정지하도록 구현.
거기 까지의 패킷으로만 결과를 출력하기

'Lab.work' 카테고리의 다른 글

[Gems] Torus Topology  (0) 2010.07.04
Meeting 12월 29일  (0) 2009.12.29
Weekly Report (11/9)  (0) 2009.11.10
11월 4일 Meeting  (0) 2009.11.04
Weekly Report  (0) 2009.11.04
블로그 이미지

민둥

,

Weekly Report (11/9)

Lab.work 2009. 11. 10. 12:07
@ Phoenix

1) Ideal vs. Mesh
 
The CPI gap between ideal and mesh is not so big.
I’m afraid even if we optimize mapreduce on the mesh network, 
It may not represent much to the performance.

2) miss rate of each phase
 
I used 64K 4way L1 cache and 1M 4way L2 cache(shared) for each node.
Garnet does not show the actual miss hit/rate, so we should compare the misses per 1000 inst.

3) injection rate of each node with time.
The result files are attached.
[msg.png] represents the injection rate of coherence messages to the processing time.
[data.png] represents the injection rate of coherence data.

We can see the diagonal lines as expected,
But, at the same time, some nodes are heavily used than other.

@ Booksim

1) injection voq
There was a little problem at the last result.
I fixed the program and the new result is attached.
[3000cycle.xlsx]

Voq is 3~4 times better than no-voq when the injection rate is very high.

2) test on 64 nodes
I also tested 8x8 mesh, 64 ring, and 4ary 3 fly.
For fly topology, voq is 8~9 times better than no-voq.
for mesh and torus, the simulation cannot be done to the high injection rate,
we cannot see the difference between voq and no-voq.

3) A New Scalable and Cost-Effective Congestion Management Strategy for Lossless Multistage Interconnection Networks  (HPCA 05)
Now I am trying to re-implement the system in the paper.

Thanks.
minjeong

'Lab.work' 카테고리의 다른 글

Meeting 12월 29일  (0) 2009.12.29
11월 11일 Meeting  (0) 2009.11.11
11월 4일 Meeting  (0) 2009.11.04
Weekly Report  (0) 2009.11.04
10월 28일 Meeting  (0) 2009.10.28
블로그 이미지

민둥

,