1
KIẾN TRÚC CÁC HỆ THỐNG TÍNH TOÁN
Nguyễn Phú Bình
Trần Trung Kiên
Bộ môn KTMT - Khoa CNTT
Trường ĐH Bách Khoa Hà Nội
2
Lưu ý của tác giả
Không được tự ý sao chép hay quảng bá bài giảng này khi chưa
được sự đồng ý của các tác giả.
Địa chỉ liên hệ của các tác giả:
Nguyễn Phú Bình
Email:
Mobile: 0983533925
Website: />Trần Trung Kiên
Email:
Mobile: 0914919392
Bộ môn Kỹ thuật Máy tính
Khoa Công nghệ Thông tin
Trường Đại học Bách Khoa Hà Nội
C1- P322, Tel: 8696125
Website:
3
Kiến trúc các hệ thống tính toán
Chương 3
MẠNG LIÊN KẾT
(Interconnection Networks)
Nguyễn Phú Bình – Trần Trung Kiên
Bộ môn Kỹ thuật Máy tính, Khoa Công nghệ Thông tin
Trường Đại học Bách Khoa Hà Nội
4
Nội dung chương 3
3.1. Giới thiệu
3.2. Cấu trúc liên kết mạng
3.3. Lựa chọn thiết kế mạng liên kết
5
3.1. Giới thiệu
Telephone
Network
Chiến lược mạng được ứng dụng lần đầu tiên vào
những năm 1950 bởi nền công nghiệp điện thoại như
là một phương tiện giảm thời gian cho các cuộc gọi.
6
Giới thiệu (tiếp)
Computer
Network
N
N
ề
ề
n công nghi
n công nghi
ệ
ệ
p m
p m
á
á
y t
y t
í
í
nh
nh
c
c
ũ
ũ
ng
ng
á
á
p d
p d
ụ
ụ
ng chi
ng chi
ế
ế
n lư
n lư
ợ
ợ
c
c
m
m
ạ
ạ
ng đ
ng đ
ể
ể
cung c
cung c
ấ
ấ
p k
p k
ế
ế
t n
t n
ố
ố
i
i
truy
truy
ề
ề
n thông nhanh gi
n thông nhanh gi
ữ
ữ
a c
a c
á
á
c
c
th
th
à
à
nh ph
nh ph
ầ
ầ
n c
n c
ủ
ủ
a m
a m
á
á
y t
y t
í
í
nh,
nh,
đ
đ
ặ
ặ
c
c
bi
bi
ệ
ệ
t cho c
t cho c
á
á
c m
c m
á
á
y t
y t
í
í
nh song
nh song
song.
song.
7
Giới thiệu (tiếp)
Năng lực của các kiến trúc đơn chip không đáp ứng
được yêu cầu về tốc độ của nhiều ứng dụng.
VD như dự báo thời tiết, xử lý tín hiệu, radar dò tìm, xử lý ảnh.
Các máy tính song song đã chia những bài toán đơn lẻ
thành các công việc song song để có thể thực hiện
đồng thời, giảm đáng kể thời gian xử lý của ứng dụng.
8
Giới thiệu (tiếp)
Bất kỳ hệ thống song song nào sử dụng nhiều hơn một
bộ xử lý (processor) cho một chương trình ứng dụng
phải được thiết kế để cho các bộ xử lý của nó có thể
trao đổi một cách hiệu quả.
Nói cách khác, những ưu điểm của xử lý song song có
thể mất đi nếu sự trao đổi thông tin giữa các bộ xử lý
không hiệu quả.
9
Giới thiệu (tiếp)
Sự thật này đã nhấn mạnh đến tầm quan trọng của
mạng liên kết đối với toàn bộ hiệu suất của hệ thống
song song.
Trong nhiều kiến trúc xử lý song song hiện tại hoặc
đang được đề xuất, một mạng liên kết được sử dụng
để thực hiện sự trao đổi dữ liệu giữa các bộ xử lý hoặc
giữa các bộ xử lý với các module nhớ.
10
Nội dung chương 3
3.1. Giới thiệu
3.2. Cấu trúc liên kết mạng
3.3. Lựa chọn thiết kế mạng liên kết
11
3.2. Cấu trúc liên kết mạng
Cấu trúc liên kết mạng (Network Topology) đề cập đến
sơ đồ các liên kết (link), bộ chuyển mạch (switch) để
thiết lập các liên kết.
Các liên kết này thực chất là các dây vật lý (hoặc các
kênh)
Còn các bộ chuyển mạch là các thiết bị nối một tập hợp
các liên kết đầu vào với một tập các liên kết đầu ra.
12
Cấu trúc liên kết (tiếp)
Có 2 dạng cấu trúc liên kết:
Các mạng liên kết tĩnh:
Cung cấp các liên kết cố định giữa các node (nút mạng).
Một node có thể là một bộ xử lý, một module nhớ hoặc một
module vào-ra hay bất cứ sự tổ hợp nào.
Liên kết giữa các nodes là không thể thay đổi và không dễ dàng
có thể cấu hình lại được.
Các mạng liên kết động:
Cung cấp các kết nối có thể cấu hình lại được giữa các node.
Các bộ chuyển mạch là thành phần cơ bản của mạng liên kết
động.
Các kết nối giữa các node được thiết lập bằng việc cấu hình một
tập các bộ chuyển mạch kết nối với nhau.
13
1. Mạng liên kết tĩnh
Có nhiều loại, được phân biệt bởi bậc của node; bậc
của node là số lượng các kết nối nối với node đó.
Một đơn vị đo, được gọi là đường kính, sử dụng để so
sánh các đặc điểm hoạt động tương đối của các mạng
khác nhau.
Đường kính của mạng được xác định là giá trị lớn nhất
trong số khoảng cách tối thiểu kết nối giữa 2 node bất
kỳ trong mạng.
Khoảng cách tối thiểu giữa 2 node là số lượng nhỏ
nhất các kết nối – bước nhảy (hop) mà dữ liệu từ một
node phải đi qua theo thứ tự để đến được node kia.
14
Một số kiểu mạng liên kết tĩnh
Bậc 1: shared bus (bus dùng chung)
Bậc 2: linear array (mạng tuyến tính), ring (mạng vòng)
Bậc 3: binary tree, fat tree, shuffle-exchange (Cây nhị
phân)
Bậc 4: two-dimensional mesh (llliac, torus) (mạng lưới
2 chiều)
Bậc thay đổi: n-cube, n-dimensional mesh, k-aryn-cube
(siêu khối)
15
a. Bus dùng chung (shared bus)
Là loại mạng liên kết tĩnh đơn giản nhất
Bus dùng chung có tất cả các node chia sẻ một mối liên
kết truyền thông chung.
Mạng liên kết này có bậc 1, mỗi node có thể truy nhập
tới node khác thông qua bus chung.
16
Bus dùng chung (tiếp)
Mạng chia sẻ bus là loại mạng rẻ nhất để triển khai.
Các node có thể dễ dàng thêm hay loại bỏ khỏi mạng
này.
Tuy nhiên, nó yêu cầu một cơ chế cho việc xử lý xung
đột khi nhiều node đồng thời yêu cầu sử dụng đường
bus chung.
Cơ chế này có thể đạt được thông qua một bộ điều
khiển bus.
Đưa ra quyền điều khiển bus hoặc là node nào yêu cầu bus
trước thì được sử dụng trước, node nào yêu cầu bus sau sẽ
sử dụng bus sau.
Hoặc qua một lược đồ ưu tiên.
17
b. Mạng tuyến tính (linear array)
Mạng tuyến tính (bậc 2) có mỗi node được nối với 2
node bên cạnh (trừ node đầu và node cuối).
Tính chất tuyến tính của cấu trúc này được xuất phát từ
node đầu và node cuối không kết nối với nhau.
Có cấu trúc đơn giản, thiết kế của nó có độ trễ truyền
thông lớn, đặc biệt giữa hai node đầu cuối.
Điều đó là do bất kỳ dữ liệu truyền trên mạng từ một node
phải qua một số node để có thể đến được node kia.
Mạng tuyến tính với N node sẽ có đường kính là N-1
18
Mạng vòng (ring)
Mạng vòng có bậc 2, mỗi một node được nối với 2
node bên cạnh, node cuối cùng và node đầu tiên được
kết nối với nhau tạo thành một vòng.
Mạng vòng có thể theo 1 hướng hoặc 2 hướng.
Trong mạng vòng 1 hướng, đường kính mạng là N-1
giống như mạng tuyến tính.
Trong mạng vòng 2 hướng, đường kính mạng chỉ còn
N/2 hoặc nhỏ hơn nếu N chẵn.
19
Mạng vòng (tiếp)
Mặc dù đường kính của mạng vòng tốt hơn so với
mạng tuyến tính nhưng cấu hình của nó vẫn gây ra một
độ trễ truyền thông lớn giữa các node cách xa nhau khi
N lớn.
Độ ổn định của mạng vòng 2 hướng được cải thiện nếu
so sánh với mạng tuyến tính. Nếu 1 node bị hỏng, 1
hướng bị mất kết nối, hướng kia có thể sử dụng để
hoàn thành việc truyền dữ liệu.
Một khi kết nối bị mất giữa bất kỳ 2 node cạnh nhau,
mạng vòng trở thành mạng tuyến tính.
20
c. Cây nhị phân (binary tree)
Node đầu tiên gọi là gốc (root). Các node ở cuối cùng
gọi là node lá (leaf/terminal), phần còn lại gọi là node
giữa (intermediate). Mỗi node giữa có 2 node con. Bậc
của mạng là 3.
Node root có địa chỉ là 1. Địa chỉ của một node con
được xác định bằng thêm vào số 0 và 1 vào địa chỉ của
node mẹ; nghĩa là node con của node x được mang
nhãn 2x và 2x+1.
N
1
N
2
N
3
N
4
N
5
N
6
N
7
001
011010
100 101 110 111
21
Cây nhị phân (tiếp)
Một cây nhị phân với N node có đường kính là 2(h - 1),
trong đó h =[log
2
N] và được gọi là chiều cao của cây.
Cây nhị phân có ưu điểm là có thể mở rộng và triển
khai dễ dàng.
Định tuyến dữ liệu đơn giản.
Tuy nhiên, nó vẫn còn gây ra độ trễ lớn giữa các node
lá ở xa nhau
22
d. Cây nhị phân "béo" (fat tree)
Khắc phục sự tắc nghẽn ở khu vực gần nút gốc bằng
cách tăng dần băng thông của các đường link giữa các
node gần với gốc.
23
e. Mạng tráo đổi (Shuffle-exchange)
Bậc của mạng là 3.
Liên kết của mạng tráo đổi là sự tổ hợp của hai hàm:
Hoán vị (shuffle) và đổi chỗ (exchange).
Mạng tráo đổi cung cấp kiểu mẫu liên kết phù hợp cho
sự thực hiện các thuật toán song song như phép biến
đổi Fourier nhanh (FFT), sắp xếp và biến đổi ma trận.
24
Hàm hoán vị (Shuffle)
Shuffle(s
n-1
s
n-2
s
0
) = s
n-2
s
n-3
s
0
s
n-1
111111110011
101110100010
011101010001
001100000000
ĐíchNguồn ĐíchNguồn
000 000
001 001
010 010
011 011
100 100
101 101
110 110
111 111
25
Hàm hoán vị (tiếp)
Nếu địa chỉ node được thể hiện theo hệ thập phân thì
hàm shuffle được tính như sau:
Giả sử số node N=2
n
, i là địa chỉ thập phân của node
Với 0i (N/2) – 1, node i được nối với node 2i
Với N/2 i N – 1, node i được nối với node 2i+1-N
Ví dụ:
N = 8, các node đánh địa chỉ từ 0 đến 7
Ta có: 00, 12, 24, 36, 41, 53, 65, 77