BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
TRẦN HOÀNG VŨ
NGHIÊN CỨU GIẢI PHÁP TIẾT KIỆM NĂNG
LƯỢNG TRONG THIẾT KẾ CHUYỂN MẠCH SỬ
DỤNG Ở TRUNG TÂM DỮ LIỆU
Chuyên nghành: Kỹ thuật Điện tử
Mã số: 62520203
TÓM TẮT LUẬN ÁN TIẾN SĨ KỸ THUẬT ĐIỆN TỬ
HÀ NỘI - 2015
Công trình này được hoàn thành tại:
Trường Đại học Bách Khoa Hà Nội
Người hướng dẫn khoa học:
PGS. TS. Phạm Ngọc Nam
Phản biện 1:
Phản biện 2:
Phản biện 3:
Luận án sẽ được bảo vệ trước Hội đồng chấm luận án tiến sĩ cấp
trường họp tại Trường Đại học Bách khoa Hà Nội.
Vào hồi ….. giờ, ngày … tháng…. năm ……….
Có thể tìm hiểu luận án tại:
1. Thư viện Tạ Quang Bửu, Trường ĐHBK Hà Nội
2. Thư viện Quốc gia Việt Nam
1
MỞ ĐẦU
1. Năng lƣợng tiêu thụ của thiết bị mạng trong trung tâm dữ liệu
Theo các nghiên cứu gần đây, các trung tâm dữ liệu điều tra dân số toàn cầu
Dynatmics 2012 cho thấy, năng lượng tiêu thụ của các trung tâm dữ liệu giữa các năm 2011
và 2012 trên toàn cầu tăng 63%. Năng lượng tiêu thụ của mạng Internet toàn cầu sẽ
tăng rất nhanh trong thời gian tới 2010 - 2020. Trong đó các thiết bị mạng chiếm từ 20%
đến 30% năng lượng tiêu thụ. Chi phí năng lượng cho trung tâm dữ liệu chiếm 44% tổng chi
phí hoạt động. Đồng thời, với mức tiêu thụ năng lượng rất lớn, các trung tâm dữ liệu đang
thải ra khoảng từ 2% đến 4% lượng khí thải cacbon, với đà phát triển công nghiệp hiện nay,
con số đó có thể tăng gấp đôi vào khoảng năm 2020.
Một trong những nguyên nhân của tình trạng trên là do mạng Internet nói chung cũng
như các trung tâm dữ liệu nói riêng được thiết kế để có thể chịu tải tại giờ cao điểm ban
ngày và ban đêm khi lưu lượng tải đạt giá trị cực đại. Tuy nhiên tại các khoảng thời gian
còn lại (từ 0am – 6am), lúc này lưu lượng trên mạng thường thấp hơn nhiều so với lưu
lượng tối đa. Mặt khác các thiết bị mạng hiện nay được thiết kế để có khả năng xử lý tối đa
lượng tải tại mọi thời điểm. Điều này dẫn đến hiệu năng về mặt năng lượng của các thiết bị
mạng hiện nay khá thấp.
Ngoài ra, năng lượng tiêu thụ của các thiết bị mạng hiện tại khá tĩnh, nghĩa là năng
lượng tiêu thụ của thiết bị trong trạng thái tải thấp, hoặc trạng thái nghỉ cao gần bằng năng
lượng tiêu thụ trong trường hợp tải cao. Hầu hết các thiết bị mạng hiện nay không sử dụng
năng lượng một cách hiệu quả.
Hiện nay, có một số phương pháp nghiên cứu năng lượng tiêu thụ hợp lý cho chuyển
mạch trong trung tâm dữ liệu. Về cơ bản, phần lớn các phương pháp này được phân loại như
sau: (1) Tái thiết kế (Re-engineering), (2) Tương thích động (Dynamic adaptation), (3) Chế
độ nghỉ thông minh (Smart sleeping/standby)
2. Những vấn đề còn tồn tại
Trong số các công trình nghiên cứu được công bố nói trên, ta nhận ra rằng:
Khó có thể tìm thấy những công trình mang lại cho ta thấy chi tiết về năng lượng tiêu
thụ của các thành phần bên trong NetFPGA. Để thiết kế lại các bộ chuyển mạch có
khả năng tiết kiệm năng lượng thì hiệu suất năng lượng của các thành phần bên trong
các bộ chuyển mạch NetFPGA hiện nay cần được nghiên cứu chi tiết hơn.
Các phương pháp để cải thiện hiệu quả năng lượng được đề xuất trong các công trình
công bố trên vẫn còn dưới mức tối ưu bởi vì trong hầu hết kết quả nghiên cứu thích
ứng tần số được áp dụng cho một số khối chức năng nhưng không phải cho toàn bộ
hệ thống.
Chưa có chỉ số đánh giá rõ ràng mức năng lượng tiêu thụ và năng lượng tiết kiệm tại
một mức lưu lượng được sử dụng nhất định.
Qua khảo sát về các công trình nghiên cứu trên về tiết kiệm năng lượng trong trung tâm
dữ liệu. Ta thấy rằng công trình nghiên cứu về tiết kiệm năng lượng cho thiết bị mạng hiện
nay chưa được quan tâm đúng mức và không có nhiều công trình được công bố trên các tạp
chí, hội thảo khoa học trong nước và quốc tế. Mặc dù năng lượng tiêu thụ của các thiết bị
2
mạng chiếm không nhỏ khoảng từ 20% đến 30% năng lượng tiêu thụ trong trung tâm dữ
liệu. Vì vậy, việc “Nghiên cứu giải pháp tiết kiệm năng lượng trong thiết kế chuyển mạch
sử dụng ở trung tâm dữ liệu” đã trở thành đề tài mang tính thời sự.
3. Mục tiêu, đối tƣợng và phạm vi nghiên cứu
Mục tiêu nghiên cứu:
Đề xuất các giải pháp tiết kiệm năng lượng và thiết kế chuyển mạch mới có chức
năng tiết kiệm năng lượng theo bộ điều khiển NOX hoặc POX. Đề xuất giải pháp
thiết kế một chuyển mạch tự động tiết kiệm năng lượng theo lưu lượng đầu vào.
Đề xuất các thuật toán về giới hạn nhỏ nhất, lớn nhất và trung bình của năng lượng
tiêu thụ trên các thiết bị mạng dưới lưu lượng tải khác nhau. Đề xuất chỉ số công suất
trung bình API (Average Power Index) để đánh giá tỉ lệ năng lượng tiết kiệm.
Đề xuất giải pháp WOL (Wake on Lan) cho chuyển mạch OpenFlow giúp cho việc
dễ dàng quản lý và tăng khả năng điều khiển linh hoạt cho chuyển mạch OpenFlow
trong trường hợp hệ thống trung tâm dữ liệu có quy mô lớn hoặc khi sự cố xảy ra.
Đối tƣợng và phƣơng pháp nghiên cứu:
Tập trung vào kiến trúc chuyển mạch OpenFlow trên nền tảng Kit NetFPGA-1G, và
bản tin điều khiển OpenFlow được phát triển đầu tiên bởi Đại học Standford.
Tập trung nghiên cứu các thuật toán thuật mô hình hóa năng lượng cho chuyển mạch
OpenFLow.
Phương pháp nghiên cứu lý thuyết kết hợp thực nghiệm.
Phạm vi nghiên cứu:
Nghiên cứu các giải pháp tiết kiệm năng lượng và chức năng WOL cho chuyển mạch
OpenFlow trên nền tảng NetFPGA, triển khai trên hệ thống thực nghiệm bao gồm bộ
điều khiển NOX /POX, bộ phát và thu lưu lượng và sử dụng board PCIEXT-64UB
để đo đạc, đánh giá năng tiết kiệm được cho chuyển mạch.
Mô hình hóa năng lượng tiêu thụ của chuyển mạch và đưa ra thuật toán tối ưu cho
NetFPGA-1G (4 cổng) trong thực nghiệm, đồng thời đánh giá thuật toán bằng Matlab
trên các mô hình năng lượng của chuyển mạch NetFPGA mở rộng có số cổng lớn
hơn 16.
Nội dung của luận án chỉ tập trung nghiên cứu các giải pháp tiết kiệm năng lượng
tiêu thụ cho chuyển mạch OpenFlow. Các kết quả đạt được của luận án được các
đồng nghiệp sử dụng đánh giá mức năng lượng tiêu thụ trên toàn mạng trong kiến
trúc thử nghiệm ECODANE.
4. Cấu trúc nội dung của luận án
Nội dung của luận án bao gồm 4 chương. Giới thiệu lý thuyết tổng quan, và vấn đề tiết
kiệm năng lượng trong trung tâm dữ liệu được trình bày ở Chương 1. Toàn bộ đóng góp
khoa học của luận án thể hiện ở các nội dung đề xuất và thực hiện trong Chương 2, Chương
3, Chương 4. Cuối cùng là kết luận với các đóng góp khoa học của luận án và hướng phát
triển nghiên cứu trong thời gian tới.
3
Chƣơng 1
Tổng quan lý thuyết và các công nghệ sử dụng trong trung tâm dữ liệu
Giới thiệu chƣơng
Chương này cũng giới thiệu về kiến trúc mạng ECODANE (Reducing Energy
Consumption in DAta Centre NEtworks based on Traffic Engineering) và các công nghệ
sử dụng trong mạng. ECODANE là một kiến trúc mới dựa trên công nghệ SDN cho phép
tùy chọn và bổ sung các chức năng mới vào mạng một cách nhanh chóng và mềm dẻo. Kiến
trúc mạng ECODANE cho phép tạo ra một môi trường thử nghiệm tích hợp thuật toán
tối ưu hoá RA-TAH cùng với chuyển mạch OpenFlow trên nền tảng NetFPGA để tiết kiệm
năng lượng cho trung tâm dữ liệu.
1.2. Kiến trúc mạng ECODANE
1.1.
Hình 1.5. Kiến trúc thử nghiệm ECODANE
1.3. Các công nghệ phát triển kiến trúc mạng ECODANE
1.3.1. Công nghệ OpenFlow
Công nghệ OpenFlow là một công nghệ mạng điều khiển bằng phần mềm SDN
(Software Defined Networking) là phương tiện cho phép các nhà nghiên cứu chạy các
giao thức thử nghiệm trên hệ thống mạng mà ta sử dụng hàng ngày. Bộ chuyển mạch
OpenFlow dựa trên nguyên tắc của các chuyển mạch Ethernet, bao gồm ba thành phần
chính: Bảng Flow (Flow-table), kênh an toàn (Secure Channel), giao thức OpenFlow
(OpenFlow Protocol), như trên Hình 1.6.
Hình 1.6. Cấu trúc của chuyển mạch OpenFlow
4
1.3.2. Công nghệ NetFPGA
Nền tảng NetFPGA (Hình 1.8) cho phép các nhà nghiên cứu xây dựng nguyên mẫu của
những hệ thống mạng tốc độ cao, được tăng tốc bằng phần cứng một cách nhanh chóng.
Nền tảng này giúp cho các nhà nghiên cứu xây dựng những chuyển mạch Ethernet và các bộ
định tuyến IP trên phần cứng thay vì trên phần mềm, có thể sử dụng NetFPGA để thử
nghiệm các dịch vụ mạng tiên tiến phục vụ cho các mạng thế hệ tiếp theo. Nền tảng
NetFPGA bao gồm ba thành phần chính: phần cứng, gateware, phần mềm.
Hình 1.8. Nền tảng NetFPGA
1.3.3. Chuyển mạch OpenFlow trên nền tảng NetFPGA
Việc xây dựng bộ chuyển mạch OpenFlow trên kit NetFPGA được dựa trên mô hình
đường ống (Hình 1.13) mô tả kiến trúc đơn giản trong nf2_core.
Hình 1.13. Mô hình đường ống áp dụng cho việc thiết kế phần cứng mạng
1.4. Tổng kết chƣơng
Chương này đã trình bày về tầm quan trọng, đặc điểm kiến trúc mạng trung tâm dữ liệu.
Ngoài ra, chương này cũng giới thiệu về kiến trúc mạng ECODANE và các công nghệ được
sử dụng trong mạng. Xuất phát từ các ưu điểm của kiến trúc mạng ECODANE, các đề xuất
nghiên cứu trong các chương tiếp theo của luận án tập trung nghiên cứu các giải pháp tiết
kiệm năng lượng cho chuyển mạch OpenFlow trên nền tảng NetFPGA.
Chƣơng 2
Các giải pháp tiết kiệm năng lƣợng cho chuyển mạch OpenFlow
2.1. Giới thiệu chƣơng
Chương này xây dựng hệ thống đo đạc và đưa ra phân bổ năng lượng tiêu thụ của từng
khối chức năng trong Kit NetFPGA-1G. Từ đó đánh giá và đưa ra quyết định nên cắt giảm
điện năng tiêu thụ của các khối trong chuyển mạch. Dựa trên sự đánh giá này, tác giả đề
xuất các giải pháp thiết kế chuyển mạch OpenFlow mới có chức năng tiết kiệm năng lượng.
Mở rộng bản tin điều khiển OpenFlow kết hợp với bộ điều khiển NOX /POX để điều khiển
5
chuyển mạch nhằm tiết kiệm năng lượng. Ngoài ra chương này cũng xây dựng chuyển mạch
tự động tiết kiệm năng lượng dựa theo lưu lượng đầu vào.
2.2. Phân ổ năng lƣợng của chuyển mạch OpenFlow
2.2.1 Hệ thống đo đạc năng lƣợng tiêu thụ của Kit NetFPGA-1G
Hệ thống đo đạc sử dụng Kit NetFPGA-1G là cơ sở cho phát triển chuyển mạch có chức
năng tiết kiệm năng lượng. Kit gồm 4 cổng Ethernet 1Gbps và một bộ điều khiển dựa trên
Virtex II Pro 50 FPGA dòng sản phẩm của Xilinx. Thiết kế ban đầu của chuyển mạch được
thiết kế dựa trên dự án chuyển mạch OpenFlow phiên bản 1.0.0.4. Hình 2.2 mô tả chi tiết
kiến trúc của hệ thống đo đạc và kiểm tra.
C0
C0
Chuyển mạch
C1
C1 NetFPGA
C2
C0
C3
C2
Chuyển mạch
C1
NetFPGA C2
C0
C2
Chuyển mạch
NetFPGA
C1
C3
C0
C2Chuyển mạch
NetFPGA C1
C0
C0
C2
C1
C3
Chuyển mạch
C2 NetFPGA
C1
Phát lưu lượng 2
Phát lưu lượng 1
Host PC
Bo mạch hiển thị
công suất
5.0V
3.3V
PCIEXT-64UB
Thiết bị
Oscilloscope
Chú ý: Băng thông
800Mbps
1Gbps
Hình 2.2. Hệ thống đo đạc năng lượng của chuyển mạch trên nền tảng NetFPGA
2.2.2 Đặc tính năng lƣợng chi tiết của Kit NetFPGA-1G
Quá trình đo đạc đặc tính năng lượng của chuyển mạch NetFPGA bao gồm 4 bước: (1)
đường đặc tính năng lượng cơ bản, (2) đặc tính giao tiếp năng lượng mạng, (3) đặc tính
năng lượng động, (4) chi tiết đặc tính năng lượng của từng khối chức năng trong chuyển
mạch OpenFlow. Kết quả đo lường được tóm tắt như Hình 2.4.
Hình 2.4 Đặc tính năng lượng của Kit NetFPGA khi chạy như chuyển mạch OpenFlow
Nhận xét kết quả đo được: 3 điểm đáng chú ý của đặc tính năng lượng Kit NetFPGA
chạy như một chuyển mạch OpenFlow được chỉ rõ như sau: Năng lượng cơ bản tiêu thụ gần
39% của tổng năng lượng. Trong khi đó chip FPGA chiếm khoảng 23.3% và khối Ethernet
chiếm khoảng 37.7%.
2.3. Giải pháp giảm tần
Đặc tính năng lượng của Kit NetFPGA ở Mục 2.2.2, ta thấy rằng năng lượng tiêu thụ
chip FPGA chiếm khoảng 23.3% có thể cắt giảm. Dựa vào điều này tác giả đề xuất giải
pháp tiết kiệm năng lượng cho chuyển mạch OpenFlow bằng cách thiết kế một bộ điều
6
khiển tần số CC (Clock Controller), và mở rộng bản tin điều khiển từ NOX /POX để giảm
tần số hoạt động của chuyển mạch nhằm tiết kiệm năng lượng.
2.3.1. Nguyên lý giảm tần
Năng lượng tiêu thụ Pc của thiết bị CMOS, chính là chip FPGA tỉ lệ thuận với tần số
clock được chỉ ra ở công thức (2.1)
(2.1)
Theo công thức (2.1), để tiết kiệm năng lượng, tác giả đề xuất giảm tần số hoạt động sẽ
được giảm xuống còn: f/2, f/4, f/8, f/16, f/32, f/64...
2.3.2. Thiết kế khối điều khiển tần số CC (Clock Controller)
Trong mục này tác giả đề xuất thiết kế khối điều khiển đồng hồ CC tạo ra một nguồn
xung nhịp độc lập và linh hoạt với nhiều mức đầu ra tần số, bằng cách bổ sung thêm khối
điều khiển tần số CC và khối chia tần số CD (Clock Divider) được chỉ ra ở Hình 2.5 nhằm
tiết kiệm năng lượng.
NF2TOP
Clock
Divider
cpci clk
Giảm tần
Clock
Controller
master_clock
Gói tin vào
Gói tin ra
Bộ đệm
vào
Xử lý gói
tin
Bộ đệm ra
Xử lý gói
tin
NF2CORE
core clk
UDP
Hình 2.5. Bốn khối chức năng mới được nhúng trên Core FPGA (khối nét đứt)
Như được chỉ ra ở Hình 2.5, xung nhịp chính được sử dụng trong khối mở rộng
core_clk, với tần số mặc định là 125 Mhz. Để tiết kiệm năng lượng, tần số làm việc của hệ
thống giảm xuống bằng cách chia tần số chính ra với các hệ số 2, 4, 8. 16, vv. Trên thực
nghiệm, chuyển mạch không thể phục hồi về trạng thái bình thường nếu tần số làm việc
được giảm xuống thấp hơn 3.90625 Mhz. Do đó, tác giả đề xuất giữ tần số làm việc của hệ
thống nhỏ nhất là 3.90625 Mhz.
2.3.3. Mở rộng ản tin OpenFlow điều khiển giảm tần
Để giảm công suất tiêu thụ của chuyển mạch tác giả mở rộng các bản tin giao thức
OpenFlow để điều khiển tần số hoạt động của chuyển mạch. Bản tin mở rộng OpenFlow
được định nghĩa như sau:
Bảng 2.1. Bản tin OFPT_SWITCH_MOD giảm tần
Opflow
header
8bytes
Datapath ID
Switch state
Option
Pad
8 bytes
1bytes
4bytes
3bytes
7
F
Flag
0
-
-
-
Reserved
-
M2
M1
Mode
Hình 2.6. Trường Switch state
M0
7
2.4. Giải pháp điều khiển trạng thái các cổng Ethernet
Đặc tính năng lượng của Kit NetFPGA ở Mục 2.2.2 đưa ra năng lượng tiêu thụ của các
cổng Ethernet lớn nhất chiếm khoảng 37.7% khi được thiết lập ở chế độ 1Gbps. Dựa vào
điều này tác giả đề xuất giải pháp tiết kiệm năng lượng cho chuyển mạch OpenFlow bằng
cách xây dựng phần mềm điều khiển và mở rộng bản tin OpenFlow để thay đổi tốc độ liên
kết của các cổng Ethernet nhằm tiết kiệm năng lượng cho chuyển mạch.
2.4.1. Nguyên lý thay đổi tốc độ liên kết (link_rate)
Trong BCM5464SR NIC có 4 thanh ghi MII để điều khiển 4 cổng Ethernet riêng biệt.
Do vậy, bằng cách thay đổi driver OpenFlow, chuyển mạch có thể nhận được bản tin điều
khiển OpenFlow từ bộ điều khiển (NOX hay POX) và thiết lập giá trị của thanh ghi MII để
thay đổi chế độ hoạt động. Cấu trúc của tin nhắn MDIO mô tả ở Hình 2.8.
31
30
29
28
27
0
1
-
-
-
2 bit đầu
22
-
-
-
-
-
Địa chỉ vật lý[4:0]
Hoạt động
-
-
-
17
16
15
-
-
-
-
TA
Địa chỉ thanh ghi [4:0]
0
-
-
-
Bit điều khiển dữ liệu [15:0]
Hình 2.8. Cấu trúc bản tin MDIO
Kết hợp bit 6 và bit 13 của thanh ghi MII để chọn 3 trạng thái băng thông khác: a) “00”
cho 10 Mbps; b) “01” cho 100 Mbps; c) “10” cho 1 Gbps và “11” không sử dụng (Hình 2.9)
Tự động thương lượng
Chế độ công suất thấp
15
R
13
-
SP0
AN
LP
-
-
-
-
6
5
SP1
-
0
-
-
-
-
-
Lựa chọn tốc độ
Hình 2.9. Chức năng các bit trong thanh ghi MII
2.4.2. Mở rộng ản tin OpenFlow điều khiển cổng Ethernet
Để thay đổi tốc độ liên kết các cổng Ethernet cho chuyển mạch nhằm tiết kiệm năng,
tác giả mở rộng bản tin điều khiển OpenFlow.
Trường link_state chứa thông tin điều khiển cổng như trên Hình 2.10. Giá trị „1‟ tại ô
cờ (Flag) sẽ quyết định có hay không đổi trạng thái của chuyển mạch. Cặp bit {P1, P0} xác
định số hiệu cổng, cặp bit {B1, B0} xác định băng thông trên cổng đã chọn: “11” tức là
1Gbps, “10” nghĩa là 100Mbps, “01” sẽ giới hạn băng thông về 10Mbps, và “00” biểu thị
cho việc tắt cổng đó.
Bảng 2.4. Bản tin OFPT_PORT_MOD
OpenFlow
header
Port no
MAC
address
Config
Mask
Link
state
Advertise
Pad
8bytes
2bytes
6bytes
4bytes
4bytes
1bytes
4bytes
3bytes
7
F
Flag
0
-
-
Reserved
-
B1
B0
Link Rate
P1
P0
Port No.
Hình 2.10. Trường Link state mô tả tốc độ liên kết của cổng Ethernet
8
2.5. Giải pháp thiết kế chuyển mạch OpenFlow tiết kiệm năng lƣợng
dƣới sự điều khiển của NOX / POX
2.5.1. Thiết kế phần cứng chuyển mạch
Dựa trên giải pháp giảm tần được đưa ra, khối điều khiển tần số có tên là Clock
Controller (CC) được xây dựng thêm như một khối chức năng của chuyển mạch. Chức năng
của khối CC lấy thông tin từ phần mềm thông qua PCI bus để điều khiển việc chia tần số
hoạt động của chuyển mạch.
Hình 2.12. Vị trí của khối Clock Controller trong khối User Data Path
2.5.2. Thiết kế phần mềm chuyển mạch
Xây dựng phần mềm điều khiển tốc độ link_rate cho cổng Ethernet
Mở rộng bản tin điều khiển OpenFlow cho chuyển mạch
Phần mềm điều khiển tốc độ các cổng Ethernet của chuyển mạch Openlow dựa vào lưu
lượng đầu vào nhằm tiết kiệm năng lượng. Đầu tiên mô hình điều khiển phần mềm được mô
tả như Hình 2.16.
FPGA
PORT
[0:3]
PC SOFTWARE
USER DATA
PATH
MII Control
Register
NF2_REG_GRP
ETHERNET
DRIVER
CONTROL
SOFTWARE
MDIO
Hình 2.16. Khối điều khiển mềm (PC Software)
Khối phần mềm lập trình điều khiển mỗi cổng: bật /tắt hoặc đặt tốc độ liên kết đến
10Mbps, 100Mbps, và 1Gbps bằng cách cấu hình cho các bit 6, bit 13 và bit 11 của thanh
ghi MII.
2.5.2.1. Định nghĩa chế độ làm việc cho chuyển mạch OpenFLow
Các chế độ hoạt động mới của chuyển mạch được định nghĩa như sau:
Bảng 2.5. Các chế độ hoạt động mới của chuyển mạch
Chế độ
Tần số
Băng thông trên mỗi cổng
Công suất cao
125 MHz
Idle/10Mbps/100Mbps/1Gbps
Công suất thấp
62.5 MHz
Idle/10Mbps/100Mbps
Ngủ
3.90625 MHz
Idle
9
2.5.2.2. Mở rộng bản tin OpenFlow cho các chế độ làm việc
Để thực hiện các chế độ hoạt động mới cho chuyển mạch nhằm tiết kiệm năng, tác giả
mở rộng bản tin điều khiển OpenFlow.
Trường Switch_mode lưu trữ các thông tin cấu hình chuyển mạch như trong Bảng 2.6.
Giá trị „1‟ ở vị trí cờ (F) cho phép chuyển mạch thay đổi trạng thái. Trường Switch_ mode
chỉ ra chế độ làm việc của chuyển mạch như sau: chế độ công suất cao (M1M0=00), chế độ
công suất thấp (M1M0=01) và chế độ ngủ (M1M0=10). M1M0=11 dự phòng (Hình 2.19).
Bảng 2.6. Bản tin OFPT_Switch_mode cho 3 chế độ hoạt động
OpenFlow Header
Switch Mode
Pad
8 Bytes
1 Bytes
3 Bytes
7
0
F
-
Flag
-
-
-
-
M1
M0
Mode
Reserved
Hình 2.19. Trường Switch Mode định nghĩa các chế độ hoạt động
2.6. Giải pháp thiết kế chuyển mạch OpenFlow tự động tiết kiệm năng
lƣợng theo lƣu lƣợng đầu vào
Lưu lượng thường lên mức đỉnh vào ban ngày và hạ xuống rất thấp vào ban đêm. Khi
lưu lượng thấp các thiết bị mạng vẫn đang ở trạng thái hoạt động, điều này gây ra tiêu tốn
nhiều năng lượng không cần thiết để chạy các thiết bị mà không có lưu lượng đi qua. Vì vậy
để tăng hiệu quả tiết kiệm năng lượng cho chuyển mạch, tác giả đề xuất một giải pháp khác
giúp chuyển mạch Openflow có thể tự động tiết kiệm năng lượng theo lưu lượng đầu vào
mà không cần sự can thiệp của bộ điều khiển NOX /POX.
2.6.1. Giải pháp thiết kế
Thông thường một thiết bị mạng có chức năng tiết kiệm năng lượng tiêu thụ thì nó
thường hoạt động ở hai chế độ: chế độ làm việc (working mode) và chế độ ngủ (sleep mode.
Như vậy, năng lượng tiêu thụ của một thiết bị mạng nói chung có thể được mô hình hóa như
sau:
E = Pworking * Tworking + Psleep * Tsleep
(2.2)
Trong đó Tworking và Tsleep là thời gian thiết bị hoạt động ở chế độ làm việc và chế độ
ngủ, Pworking và Psleep là công suất tiêu thụ của thiết bị tương ứng trong mỗi chế độ. Do vậy,
để tăng sự tiết kiệm năng lượng cho chuyển mạch OpenFlow, chúng ta có thể tăng thời gian
Tsleep bằng cách cho gói tin chứa trong hàng đợi đầu vào và chờ đợi đến một ngư ng lớn
nhất có thể mà không ảnh hưởng đến chất lượng truyền dữ liệu thì chuyển mạch sẽ tự động
được đánh thức (Wake up) để xử lý và chuyển tiếp các gói tin (Hình 2.21).
Lưu lượng (Mbps)
Th i gian h
Số gói tin lớn nhất
Tín hiệu
đầu vào
Tín hiệu
đầu ra
Th i gian (Phút)
Chiều dài hàng đợi lớn nhất
Hình 2.21. Hoạt động của chuyển mạch tự động tiết kiệm năng lượng
10
2.6.2. Thiết kế khối phát hiện dữ liệu trên chuyển mạch OpenFlow
Để thiết kế chuyển mạch tự động tiết kiệm năng lượng theo dữ liệu đầu vào, tác giả xây
dựng thêm khối phát hiện dữ liệu DD (Data Detector) và khối điều khiển tần số FC
(Frequency Controller) cho chuyển mạch OpenFlow như mô tả Hình 2.22. Khối phát hiện
dữ liệu này có chức năng quản lý các trạng thái của chuyển mạch và đưa ra tín hiệu điều
khiển đến khối điều khiển tần số để thay đổi tần số cho chuyển mạch nhằm tiết kiệm năng
lượng.
2.6.2.1. Vị trí khối phát hiện dữ liệu
Khối phát hiện dữ liệu được thiết kế nằm trong NF2 Core như mô tả trên Hình 2.22,
nhằm lấy tín hiệu đầu vào từ các khối CPCI Bus, NF2 DMA, CPU DMA Queue, NF2 Reg
grp, User Data Path và NF2 Mac.
NF2 TOP
NF2 CORE
CPU DMA QUEUE
CPU RX
Queue
CPU TX
Queue
FC
NF2 DMA
CPCI BUS
NF2 REG
GRP
DD
(Frequency
Controller)
(Data Detector)
NF2_MAC
USER DATA PATH
TX
RX
Queue Queue
Input
Arbiter
Ethernet MAC
VLAN
remover
Output
Port
Lookup
VLAN
adder
Output
Queues
Watchdog
Hình 2.22. Vị trí khối phát hiện d liệu trong chuyển mạch
2.6.2.2. Xây dựng khối phát hiện dữ liệu
Dựa trên cấu trúc của chuyển mạch OpenFlow trên nền tảng NetFPGA, tác giả đã tổng
hợp và tìm ra các tín hiệu báo có gói tin tới chuyển mạch và tín hiệu báo chuyển mạch đã
chuyển hết các gói tin tới các thiết bị khác trong mạng. Từ đó, khối phát hiện dữ liệu dựa
vào các tín hiệu đầu vào này đã được đề xuất. Các tín hiệu được trình bày trong Hình 2.23.
Data Detector
NF2 MAC
Queue
Condition
Mac_grp_core_en
NF2 DMA
Packets
Manager
Max Queue L
Max Num Packet
Registers
Wait timeout
Software
Register
Idle timeout
Core_clk_packet_en
Frequency
Core Clock Core_clk_en Controller
Controller
Working state
Core_clk_reg_en
USER DATA
PATH
System
States
Registers
Manager
NF2 REG
GROUP
CPCI BUS
CPU QUEUE
Hình 2.23. Thiết kế chi tiết khối phát hiện d liệu
11
Trong thiết kế này bao gồm các khối chức năng nhỏ: Khối trạng thái hệ thống (System
States), khối thanh ghi (Registers), khối điều kiện hàng đợi (Queue Condition), khối quản lý
gói tin (Packets Manager), khối quản lý thanh ghi (Registers Manager) và khối điều khiển
Core Clock (Core Clock Controller).
Từ những tín hiệu trên, ba trạng thái mới cho chuyển mạch tiết kiệm năng lượng
OpenFlow được đề xuất như Hình 2.25.
mac_grp_core_en |dma_vld_c2n
| working_state = 1
IDLE
WORKING
core_clk_packet_en
=1
core_clk_packet_en
=1
le
Id
tim
e
>
le
id
tim
SLEEP
ut
eo
core_clk_packet_en
=0
ma
|d c _ g r
ma p_
_vl cor
d_ e_e
c2 n n
=1
mac_grp_core_en |dma_vld_c2n
| working_state = 0
Hình 2.25. S đ chuyển trạng thái của chuyển mạch tiết kiệm năng lượng
Sự thay đổi các trạng thái này được biểu diễn như trên Hình 2.25. Tại WORKING mode
và IDLE mode thì tín hiệu core_clk_packet_en = 1 để yêu cầu duy trì tần số hoạt động ở
125 MHz. Tần số hoạt động này sẽ được giảm xuống 0 MHz ở SLEEP mode (tín hiệu
core_clk_packet_en= 0) để tiết kiệm năng lượng tiêu thụ của chuyển mạch OpenFlow.
2.6.3.
Thiết kế khối điều khiển tần số FC (Frequency Controller)
Khối này có nhiệm vụ sử dụng tín hiệu core_clk_en để phát hiện trạng thái của chuyển
mạch và lựa chọn cung cấp tần số cho chuyển mạch ở 125MHz hoặc 0. Việc có thể chuyển
tần số về 0 không gây ảnh hưởng tới hệ thống khi bật do hệ thống luôn duy trì một khối phát
hiện dữ liệu cho phép bật core_clk. Toàn bộ khối này đều hoạt động ở miền clock khác
(gmii_tx_clk) không bị tắt. Sơ đồ cấu tạo khối FC như Hình 2.28. Khối FC gồm 1 khối
Digital Clock Managers (DCM), khối BUFGMUX và khối BUFG.
core_clk_en
DCM
core_clk = 125MHz
CLKIN
CLK0
125MHz
Io
0
CLKFB
core_clk_int
I1
BUFGMUX
BUFG
Hình 2.28. S đ khối FC
2.6.4. Định nghĩa các chế độ hoạt động cho chuyển mạch OpenFlow
Chế độ Normal: Đây là chế độ hoạt động bình thường của chuyển mạch. Ở chế độ
này chuyển mạch OpenFlow hoạt động với tần số là core clock là 125 MHz và không
tiết kiệm năng lượng.
Chế độ High Performance: Mục đích của chế độ này là đưa chuyển mạch về chế độ
hoạt động bình thường sau khi nhận hoàn chỉnh 1 gói tin. Vì cơ chế hoạt động của
12
chuyển mạch là nó nhận hoàn chỉnh gói tin thì mới bắt đầu xử lý nên việc bật trước
khi xử lý cũng không mang lại tác dụng. Do vậy các thông số được cấu hình như sau:
Idle Timeout = 5 clocks, Max Queue Length = 2000 bytes, Max Number packet =
1gói tin, Wait_Timeout = 12500 clocks = 100us.
Chế độ Save Power: Mục đích của chế độ này là cài đặt các thông số lớn nhất có thể
với mong muốn có thể tiết kiệm được nhiều năng lượng nhất. Do vậy, các thông số
được cấu hình như sau: Idle Timeout = 5 clocks, Max Queue Length = 5120 bytes,
Max Number packet = 127 gói tin, Timeout = 12500000 clocks = 100ms.
2.7. Hệ thống đo đạc và kết quả đạt đƣợc
Tác giả xây dựng một hệ thống kiểm tra đo đạc năng lượng cho chuyển mạch
OpenFlow trên nền tảng NetFPGA. Mô hình hoàn chỉnh của hệ thống kiểm tra được cho
trên Hình 2.31.
Hình 2.31. Hệ thống thực nghiệm đo đạc và kiểm tra
2.7.1. Kết quả đo đạc giải pháp giảm tần
Để đo công suất tiêu thụ của chuyển mạch hoạt động ở các chế độ giảm tần. Đầu tiên,
tác giả đo điện năng tiêu thụ của chuyển mạch đồng thời thay đổi tần số đầu vào. Kết quả đo
đạc này được mô tả Bảng 2.9. Bằng phương pháp thực nghiệm, tác giả giảm tần số của
chuyển mạch xuống thấp hơn 3.90625MHz thì chuyển mạch không thể chuyển tiếp các gói
tin, có nghĩa là ta có thể đưa chuyển mạch sang trạng thái ngủ.
Bảng 2.9. Công suất tiêu thụ của chuyển mạch khi giảm tần
Chế độ
Tần số hoạt động của
Số lần
Công suất tiêu
Công suất tiết
chuyển mạch (MHz)
giảm
thụ (mW)
kiệm (mW)
0
125
1
11576
0
1
62.5
1/2
10228
1348
2
31.25
1/4
9872
1701
3
15.625
1/8
9554
2022
4
7.8125
1/16
9271
2305
5
3.90625
1/32
8965
2611
13
Kết quả thực nghiệm: Cho thấy khối điều khiển tần số CC giúp cho chuyển mạch có
khả năng tiết kiệm được khoảng 22.5% năng lượng tiêu thụ (2611mW của 11576mW).
2.7.2. Kết quả đo đạc giải pháp thay đổi trạng thái cổng Ethernet
Đo công suất tiêu thụ của chuyển mạch hoạt động ở các băng thông khác nhau. Kết quả
đo được hiển thị trên Bảng 2.10.
Bảng 2.10. Thay đổi tốc độ link-rate của cổng Ethernet
Chế độ
Băng thông
Công suất tiêu thụ của
Công suất tiết kiệm
trên 4 cổng
chuyển mạch P(mW)
P(mW)
1
1Gbps
11525.6
0
2
100Mbps
7372
4154
3
10 Mbps
6537.6
4988
4
Idle (tắt cổng)
6440.6
5085
Kết quả thực nghiệm: cho thấy rằng chuyển mạch có thể giảm khoảng 35% điện năng
tiêu thụ khi thay đổi băng thông từ 1Gbps xuống 100Mbps. Ngoài ra, con số này có thể lên
đến gần 41,6% nếu chúng ta tắt tất cả các cổng của chuyển mạch.
2.7.3. Kết quả đo đạc chuyển mạch OpenFlow tiết kiệm năng lƣợng dựa trên
ộ điều khiển NOX /POX
Để đo công suất tiêu thụ của chuyển mạch hoạt động ở các chế độ làm mới. Các kết quả
đo được hiển thị như trong Bảng 2.12.
Bảng 2.12. Công suất tiêu thụ của chuyển mạch ứng với các chế độ hoạt động
Chế độ
Tần số (MHz)
Băng thông (Mbps)
Công suất (mW)
Công suất cao
125
1000
11574
Công suất thấp
62.5
100
6175
Ngủ
3.9065
0
4577
Kết quả thực nghiệm: ta có thể tiết kiệm đến 46.6% năng lượng của chuyển mạch khi
thiết lập chế độ công suất thấp và hơn nữa mức tiết kiệm có thể lên đến 60% nếu chế độ ngủ
so với chế độ công suất cao.
2.7.4. Kết quả đo và đánh giá chuyển mạch tự động tiết kiệm theo lƣu lƣợng
đầu vào
2.7.4.1. Kết quả đo công suất tiêu thụ của chuyển mạch
Xây dựng hệ thống kiểm tra, đo đạc công suất tiêu thụ của các chế độ hoạt động đã đề
xuất cho chuyển mạch OpenFlow tự động tiết kiệm năng lượng theo lưu lượng đầu vào.
Thí nghiệm số 1: Sự phụ thuộc công suất tiêu thụ theo mức lưu lượng đầu vào.
Tác giả sử dụng phần mềm Packet Generator để tạo ra lưu lượng đi vào chuyển mạch
theo các mức khác nhau từ 0 tới 1Gbps (Hình 2.34)
Lưu lượng (Mbps)
14
1500
1000
500
0
0
10
20
30
40
50
Thời gian (phút)
60
70
Hình 2.34. Lưu lượng đi vào chuyển mạch từ mức 0 đến 1Gb
Sau đó, đo đạc công suất tiêu thụ trung bình của chuyển mạch trong tại các chế độ đã đề
xuất: chế độ Normal, chế độ High Performance, và chế độ Save Power. Kết quả đo đạc
như Hình 2.35.
Hình 2.35. Đ thị công suất tiêu thụ của chuyển mạch tại các chế độ
Thí nghiệm số 2: Sự phụ thuộc năng lượng tiêu thụ theo các lưu lượng đầu vào khác nhau.
Trong phép đo số 2 này, các đặc tính lưu lượng đầu vào khác nhau trên PC1 được tạo ra
để gửi cho PC2 qua chuyển mạch OpenFlow. Sử dụng phần mềm Packet Generator tạo ra
các đặc tính lưu lượng đầu vào khác nhau: Lưu lượng đầu vào 1, Lưu lượng đầu vào 2, Lưu
lượng đầu vào 3. Sau đó lần lượt phát các đặc tính lưu lượng này và đo tổng năng lượng tiêu
thụ trong vòng 15 phút của chuyển mạch tại các chế độ đã đề xuất: chế độ Normal, chế độ
High Performance, và chế độ Save Power. Kết quả đo đạc được trình bày trong Bảng 2.14.
Bảng 2.14. Năng lượng tiêu thụ tại các chế độ trong
Đặc tính
Năng lượng tiêu thụ tại c c chế độ (J)
Chế độ
Normal
Chế độ High Chế độ Save
Performance
power
ph t
Năng lượng tiết kiệm (%)
Chế độ High
Performance
Chế độ Save
power
Lưu lượng đầu vào 1
10314J
7088J
6881J
31.27%
33.3%
Lưu lượng đầu vào 2
10314J
6530J
6453J
36.68%
37.43%
Lưu lượng đầu vào 3
10314J
6625J
6510J
35.77%
36.88%
15
Dựa trên kết quả Bảng 2.14, ta thấy năng lượng tiết kiệm của chuyển mạch phụ thuộc
vào các lưu lượng đầu vào khác nhau. Với lưu lượng đầu vào thấp, ít sử dụng như buổi đêm
(khoảng 0h đến 6h) thì năng lượng tiết kiệm được lớn. Trong thí nghiệm số 2, kết quả thu
được cũng cho thấy mức năng lượng tiết kiệm được của chế độ Save Power là lớn nhất dao
động từ 33% - 37%.
2.7.4.2. Đánh giá khả năng đáp ứng của chuyển mạch mới
Từ các kết quả đo đạc, tác giả đã đánh giá trễ và mất gói tin của các chế độ hoạt động
mới đã đề xuất cho chuyển mạch, có thể tổng kết các kết quả theo Bảng 2.15.
Bảng 2.15. Đánh giá thời gian trễ và mất gói tin so với chuyển mạch thường
Tham số
High Performance
Save Power
Thời gian trễ
Khoảng 16ns – 24ns
Twait timeout + Tprocess
Mất gói tin
Không
Không
2.8. Tổng kết chƣơng
Qua chư ng này tác giả thực hiện bốn công việc chính:
Đề xuất giải pháp thay đổi tần số hoạt động trên toàn bộ chip FPGA, do đó năng
lượng tiết kiệm sẽ được nhiều hơn.
Trong chương này đã đề xuất phương pháp điều khiển mỗi cổng Ethernet chạy ở một
số băng thông khác nhau tiết kiệm năng lượng nhiều hơn.
Thiết kế chuyển mạch OpenFlow tiết kiệm năng lượng dựa theo bộ điều khiển NOX
/POX và mở rộng bản tin điều khiển OpenFlow
Thiết kế thành công chuyển mạch tự động tiết kiệm năng lượng cho mạng OpenFlow
dựa theo lưu lượng đầu vào.
Chƣơng 3
Mô hình hóa năng lƣợng cho chuyển mạch
3.1. Giới thiệu chƣơng
Chương 3 trình bày mô hình hóa điện năng tiêu thụ của một chuyển mạch các chế độ
hoạt động khác nhau, đề xuất thuật toán giới hạn năng lượng tối đa và thuật toán giới hạn
năng lượng tối thiểu cũng như năng lượng sử dụng trung bình, chỉ số công suất trung bình
API (Average Power Index) để đánh giá tỉ lệ năng lượng tiết kiệm khi lưu lượng đầu vào tốt
hơn chỉ số EPI.
3.2. Chỉ số tỉ lệ năng lƣợng tƣơng đối (EPI)
Chỉ số EPI (Energy Proportionality Index) để định lượng được tỉ lệ năng lượng của
thiết bị mạng :
(3.1)
16
3.3. Mô hình tuyến tính của công suất tiêu thụ
Phần này sẽ đưa ra mô hình tuyến tính của điện năng tiêu thụ trong chuyển mạch liên
quan đến lưu lượng sử dụng. Mô hình tuyến tính được đề xuất có thể được biểu diễn bằng
công thức dưới đây:
(
)
( )(
)
(3.4)
3.4. X y dựng thuật toán tính đƣ ng iên công suất cực tiểu
Thuật toán 1. Tìm kiếm trạng thái tiêu thụ năng lượng nhỏ nhất ứng với một lưu lượng
qua chuyển mạch
Switch_state get_min_power_state(throughput T){
N1000 = (int)floor(T*1.0/999);
check1000:
if(N1000 >= N){
N1000 = N; N100 = 0; N10 = 0;
goto finish;
}
N100 = (int)floor(max((T-N1000*999), 0)*1.0/99);
check100:
if((N100 > N - N1000) || (N100*P100 > P1000)){
N1000++;
goto check1000;
}
N10 = (int)ceil(max((T-N1000*1000-N100*99),
0)*1.0/9);
if((N10 > N-N1000-N100) || (N10*P10 > P100)){
N100++;
goto check100;
}
finish:
N0 = N - N1000 - N100 - N10;
return Switch_state(N1000,N100,N10,N0);
}
3.5. X y dựng thuật toán tính đƣ ng iên công suất cực đại
Thuật toán 2. Tìm kiếm trạng thái tiêu thụ năng lượng lớn nhất ứng với một lưu lượng
qua chuyển mạch
Switch_state get_max_power_state(throughput T){
N1000 = (int)floor(T * 1.0 / 100);
if(N1000 >= N){
N1000 = N; N100 = 0; N10 = 0; N0 = 0;
}else{
N100 = (int)floor(max((T-N1000*100), 0) * 1.0 / 10);
if(N100 >= N - N1000){
N100 = N-N1000; N10 = 0; N0 = 0;
}else{
N10 = max((T - N1000*100 - N100*10), 0);
if(N10 >= N - N1000 - N100){
N10 = N - N1000 - N100; N0 = 0;
else{
N0 = N - N1000 - N100 - N10;
}
}
}
return Switch_state(N1000,N100,N10,N0);
}
*
Thủ tục get_max_power_state() trong thuật toán 2 trả về trạng thái
+ tương ứng với công suất tiêu thụ cực đại của chuyển mạch
17
Pmax(T) tại lưu lượng T. Do đó đường biên công suất cực đại của chuyển mạch được biểu
diễn bởi công thức Pmax(T);
,
-.
3.6. Tính toán đƣ ng cong công suất trung ình
Đường công suất trung bình được biểu diễn theo hàm:
̅( ) ∑
,
( )
-;
(3.12)
3.7. Đề xuất chỉ số công suất trung ình (API)
Để thể hiện các đặc điểm công suất của thiết bị mạng tốt hơn, chỉ số mới API (Average
Power Index) ch s c ng su t trung nh được đề xuất, để chỉ ra bao nhiêu năng lượng mà
thiết bị có thể tiết kiệm được dựa trên đường công suất trung bình. API được định nghĩa là tỉ
lệ phần trăm của tổng công suất trung bình tiết kiệm được so với công suất tiêu thụ cực đại
khi chuyển mạch hoạt động ở trạng thái tối đa. API được tính như sau:
̅(
∫ *
)+
∫ ̅(
)
∫
(3.13)
Với khái niệm API, chuyển mạch có API cao hơn sẽ tiết kiệm được nhiều năng lượng
hơn. Như miêu tả của Hình 3.2, API của thiết bị 1 được chỉ ra là vùng diện tích được giới
hạn bởi đường cong công suất trung bình (đường nét liền) với đường công suất hằng số
100% . Tương tự, thiết bị 2 cũng có API với đường biên là đường nét đứt. Ta có thể thấy
rằng, diện tích của API1 lớn hơn so với API2; điều đó có nghĩa là thiết bị 1 tiết kiệm năng
lượng tốt hơn thiết bị 2.
Hình 3.2. Chỉ số EPI và API của thiết bị mạng
3.8. Đánh giá hiệu năng
3.8.1. Biểu đồ sử dụng năng lƣợng của chuyển mạch NetFPGA
Đo và tính toán công suất của chuyển mạch theo lưu lượng đầu vào sử dụng các thuật
toán đường công suất cực đại, đường công suất cực tiểu, đường công suất trung bình ta được
biểu đồ đặc tính năng lượng theo lưu lượng đầu vào biểu diễn trên Hình 3.3.
Hình 3.3. Đặc tính năng lượng của chuyển mạch NetFPGA 4 cổng
18
Theo biểu đồ Hình 3.3, ta có một số nhận xét về năng lượng tiêu thụ của chuyển mạch
như sau: Cả đường biên giới hạn của Pmax và Pmin đều có dạng bậc thang do sự nhảy bậc
năng lượng sử dụng của các trạng thái cổng Ethernet.
3.8.2. So sánh hiệu quả sử dụng năng lƣợng giữa chuyển mạch NetFPGA-1G
với chuyển mạch thƣơng mại
So sánh phương pháp điều khiển năng lượng đã xây dựng trên NetFPGA với hai chuyển
mạch thương mại có tính năng tương tự là Tier-2 HP Enterprise-16 cổng và OpenFlow
Pronto-48 cổng. Cả hai chuyển mạch đều có thuật toán điều khiển công suất.
a) Chuyển mạch 8 cổng
b) Chuyển mạch 16 cổng
Hình 3.4. Liên kết các NetFPGA qua cổng SATA để tạo các chuyển mạch có nhiều cổng
Hình 3.5. Đặc tính năng lượng của chuyển mạch NetFPGA 8 cổng
So sánh hiệu quả sử dụng năng lượng của chuyển mạch NetFPGA 16 cổng với chuyển
mạch 16 cổng HP Enterprise.
a) So sánh đường bao công suất tối đa và tối
thiểu HP Enterprise và NetFPGA 16 cổng
b) So sánh đường công suất trung bình của
HP Enterprise và NetFPGA 16 cổng
Hình 3.6. So sánh công suất tiêu thụ trên HP Enterprise và NetFPGA 16 cổng
- Xem thêm -