vii DANH MỤC CÁC CHỮ VIẾT TẮT API Average Power Index Chỉ số công suất trung bình CLB Configurable Logic Block Khối logic có thể lập trình được CPU Central Processing Unit Bộ xử lý trun
Trang 1BỘ 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
LUẬN ÁN TIẾN SĨ KỸ THUẬT ĐIỆN TỬ
Hà Nội – 2015
Trang 2BỘ 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 ngành: Kỹ thuật Điện tử
Mã số: 62520203
LUẬN ÁN TIẾN SĨ KỸ THUẬT ĐIỆN TỬ
NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS TS PHẠM NGỌC NAM
Hà Nội – 2015
Trang 3i
LỜI CAM ĐOAN
Tác giả xin cam đoan rằng các kết quả khoa học được trình bày trong luận án này là thành quả nghiên cứu của bản thân tác giả trong suốt thời gian làm nghiên cứu sinh và chưa từng xuất hiện trong công bố của các tác giả khác Các kết quả đạt được là chính xác
PGS.TS Phạm Ngọc Nam
Trang 4ii
LỜI CẢM ƠN
Đầu tiên, tác giả xin gửi lời cảm ơn sâu sắc đến PGS.TS Phạm Ngọc Nam đã trực tiếp hướng dẫn, định hướng khoa học, dành nhiều thời gian và tâm huyết giúp đỡ tác giả về mọi mặt để hoàn thành luận án
Cảm ơn PGS.TS Nguyễn Hữu Thanh chủ trì dự án nghị định thư với nước ngoài cấp
nhà nước với đề tài: “Nghiên cứu cải thiện mức tiêu hao năng lượng trong các mạng trung tâm dữ liệu dựa trên bài toán lưu lượng (ECODANE)” MÃ SỐ 06/2011/HĐ - NĐT, thời gian thực hiện: 2011-2013, đã tạo điều kiện thuận lợi cho tác giả cùng tham gia Với cơ sở
lý thuyết và hệ thống thực nghiệm của dự án, đã góp phần làm nền tảng cho tác giả phát triển đạt được kết quả tốt trong luận án của mình
Tác giả chân thành cảm ơn Bộ môn Điện tử - Khoa Điện, Trường Cao đẳng Công nghệ - Đại học Đà Nẵng đã tạo mọi điều kiện thuận lợi cho tác giả được tập trung nghiên cứu trong thời gian qua Chân thành cảm ơn Bộ môn Điện tử & Kỹ thuật máy tính, Viện Điện tử Viễn thông, Viện Đào tạo Sau Đại học, Trường Đại học Bách Khoa Hà Nội đã tạo mọi điều kiện thuận lợi cho nghiên cứu sinh trong suốt quá trình nghiên cứu, học tập và thực hiện luận án Xin chân thành cảm ơn sự quan tâm, giúp đỡ, động viên của các đồng nghiệp, nhóm Nghiên cứu sinh – Viện Điện tử Viễn thông
Qua đây, tác giả cũng chân thành cảm ơn Quỹ phát triển Khoa học và Công nghệ Việt Nam (NAFOSTED) đã tài trợ kinh phí tham dự hội thảo khoa học quốc tế „ICED‟ 19-21.8.2014, Malaysia
Đồng thời tác giả xin gửi lời cảm ơn đến Lab ESRC (Embedded System and Reconfigurable Computing Laboration) tại P.618 Thư viện Tạ Quang Bửu – ĐHBKHN đã cộng tác cùng với tác giả xây dựng hệ thống thử nghiệm cho luận án này
Cuối cùng, tác giả xin bày tỏ lòng biết ơn đến gia đình tác giả : Ba mẹ, anh trai và chị dâu, đã giúp đỡ và hy sinh rất nhiều cho tác giả trong thời gian vừa qua Đây chính là động lực to lớn để tác giả vượt qua khó khăn và hoàn thành luận án này
Trang 5
iii
MỤC LỤC
LỜI CAM ĐOAN -I LỜI CẢM ƠN - II MỤC LỤC - III DANH MỤC CÁC CHỮ VIẾT TẮT - VII DANH MỤC CÁC HÌNH VẼ - IX DANH MỤC CÁC BẢNG BIỂU - XII
MỞ ĐẦU - 1
1 Năng lượng tiêu thụ của thiết bị mạng trong trung tâm dữ liệu - 1
2 Những vấn đề còn tồn tại - 3
3 Mục tiêu, đối tượng và phạm vi nghiên cứu - 4
Mục tiêu nghiên cứu: -4
Đối tượng nghiên cứu: -5
Phạm vi nghiên cứu: -5
4 Cấu trúc nội dung của luận án - 5
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 - 7
1.1 Giới thiệu chương - 7
1.2 Trung tâm dữ liệu và tầm quan trọng - 7
1.2.1.Trung tâm dữ liệu -7
1.2.2.Trung tâm dữ liệu xanh -8
1.3 Các kiến trúc mạng của trung tâm dữ liệu - 9
1.3.1.Kiến trúc mạng trung tâm dữ liệu truyền thống -9
1.3.2.Kiến trúc Fat-Tree cho trung tâm dữ liệu - 10
1.4 Kiến trúc mạng ECODANE - 11
1.5 Thuật toán tối ưu đồ hình mạng ECODANE - 12
1.6 Các công nghệ phát triển kiến trúc mạng ECODANE - 13
1.6.1.Công nghệ OpenFlow - 13
1.6.2.Bộ điều khiển OpenFlow NOX / POX - 17
1.6.3.Công nghệ NetFPGA - 18
1.6.4.Chuyển mạch OpenFlow trên nền tảng NetFPGA - 20
Trang 6iv
1.7 Tổng kết chương - 23
CHƯƠNG 2 - 24
CÁC GIẢI PHÁP TIẾT KIỆM NĂNG LƯỢNG CHO CHUYỂN MẠCH OPENFLOW - 24
2.1 Giới thiệu chương - 24
2.2 Phân bổ năng lượng của chu ển mạch Op nFlo - 24
2.2.1 Hệ thống đo đạc năng lượng tiêu thụ của Kit NetFPGA-1G - 24
2.2.2 Đặc tính năng lượng chi tiết của Kit NetFPGA-1G - 26
2.2.2.1.Đặc tính năng lượng cơ bản (năng lượng tiêu thụ tĩnh) - 26
2.2.2.2.Đặc tính năng lượng của giao diện mạng - 27
2.2.2.3.Đặc tính năng lượng động - 27
2.2.2.4.Đặc tính năng lượng của các khối chức năng OpenFlow trên nền FPG 27
2.2.2.5.Kết quả đo lường - 28
2.3 Giải pháp giảm tần - 28
2.3.1.Nguyên lý giảm tần - 29
2.3.2.Thiết kế khối điều khiển tần số CC (Clock Controller) - 29
2.3.3.Mở rộng bản tin OpenFlow điều khiển giảm tần - 30
2.4 Giải pháp điều khiển trạng thái các cổng Eth rn t - 32
2.4.1.Nguyên lý thay đổi tốc độ liên kết (link_rate) - 32
2.4.2.Mở rộng bản tin OpenFlow điều khiển cổng Ethernet - 35
2.5 Giải pháp thiết kế chu ển mạch Op nFlo tiết kiệm năng lượng dưới sự điều khiển của NOX / POX - 36
2.5.1.Thiết kế phần cứng chuyển mạch - 36
2.5.2.Thiết kế phần mềm chuyển mạch - 38
2.5.2.1.Truyền, nhận và xử lý bản tin từ bộ điều khiển - 38
2.5.2.2.Xây dựng phần mềm điều khiển - 39
2.5.2.3.Định nghĩa chế độ làm việc cho chuyển mạch OpenFLow - 41
2.5.2.4.Mở rộng bản tin OpenFlow cho các chế độ làm việc - 42
2.6 Giải pháp thiết kế chu ển mạch Op nFlo tự động tiết kiệm năng lượng th o lưu lượng đầu vào - 44
2.6.1.Giải pháp thiết kế - 44
2.6.2.Thiết kế khối phát hiện dữ liệu trên chuyển mạch OpenFlow - 45
2.6.2.1.Vị trí khối phát hiện dữ liệu - 45
2.6.2.2.Xây dựng khối phát hiện dữ liệu - 47
Trang 7v
2.6.3.Thiết kế khối điều khiển tần số FC (Frequency Controller) - 52
2.6.4.Định nghĩa các chế độ hoạt động cho chuyển mạch OpenFlow - 54
2.7 Hệ thống đo đạc và kết quả đạt được - 55
2.7.1.Kết quả đo đạc giải pháp giảm tần - 56
2.7.2.Kết quả đo đạc giải pháp thay đổi trạng thái cổng Ethernet - 56
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 bộ điều khiển NOX (POX) - 57
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 - 58
2.7.4.1.Kết quả đo công suất tiêu thụ của chuyển mạch - 58
2.7.4.2.Đánh giá khả năng đáp ứng của chuyển mạch mới - 61
2.8 Tổng hợp kết quả đo của các giải pháp đề xuất - 63
2.9 Tổng kết chương - 64
CHƯƠNG 3 - 65
MÔ HÌNH HÓA NĂNG LƯỢNG CHO CHUYỂN MẠCH - 65
3.1 Giới thiệu chương - 65
3.2 Chỉ số tỉ lệ năng lượng tương đối (EPI) - 66
3.3 Mô hình tu ến t nh của công suất tiêu thụ - 67
3.4 Xâ dựng thuật toán t nh đư ng biên công suất cực tiểu - 68
3.5 Xâ dựng thuật toán t nh đư ng biên công suất cực đại - 70
3.6 T nh toán đư ng cong công suất trung bình - 71
3.7 Đề xuất chỉ số công suất trung bình (API) - 72
3.8 Đánh giá hiệu năng - 73
3.8.1.Biểu đồ sử dụng năng lượng của chuyển mạch NetFPGA - 73
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 - 74
3.9 Tổng kết chương - 78
CHƯƠNG 4 - 79
GIẢI PHÁP WOL CHO CHUYỂN MẠCH OPENFLOW - 79
4.1 Giới thiệu chương - 79
4.2 Định ngh a chế độ Sl p cho chu ển mạch Op nFlo - 79
4.3 Thiết kế chức năng WOL cho chu ển mạch Op nFlo - 80
4.3.1.Mở rộng bản tin OL - 80
Trang 8vi
4.3.2.Thiết kế chức năng OL cho chuyển mạch - 82
4.4 Kết quả thực nghiệm - 83
4.4.1.Công suất của chuyển mạch ở hai chế độ sleep - 83
4.4.2.Kiểm tra phương pháp OL cho chuyển mạch OpenFlow - 85
4.5 Tổng kết chương - 87
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN - 88
Các điểm đáng chú ý về toàn bộ nội dung luận án - 88
Đóng góp khoa học của luận án - 89
Hướng phát triển trong th i gian tới - 89
CÁC CÔNG TRÌNH KHOA HỌC ĐÃ CÔNG BỐ CỦA LUẬN ÁN - 90
Bài báo tạp ch và hội thảo trong và ngoài nước - 90
Đề tài nghiên cứu tham gia - 91
TÀI LIỆU THAM KHẢO - 92
PHỤ LỤC - 92
Phương pháp đo công suất các khối chức năng trong chu ển mạch Op nFlo - 91
Trang 9vii
DANH MỤC CÁC CHỮ VIẾT TẮT
API Average Power Index Chỉ số công suất trung bình
CLB Configurable Logic Block Khối logic có thể lập trình được
CPU Central Processing Unit Bộ xử lý trung tâm
DCM Digital Clock Manager Khối quản lý xung đồng hồ
Memory
Bộ nhớ truy cập ngẫu nhiên động
D-ITG Distributed Internet Traffic
Generator
Bộ phát lưu lượng Intrernet
ECODANE Reducing Energy
Consumption in Data Centre Networks based
Cải thiện mức tiêu hao năng lượng trong các mạng trung tâm dữ liệu dựa trên bài toán lưu lượng EPI Energy Proportionality Index Chỉ số năng lượng tương đối
Array
Mảng cổng khả trình
Communications Technology
Công nghệ thông tin và truyền thông
MAC Media Access Control Điều khiển truy nhập thiết bị
Input/Output
Quản lý dữ liệu vào/ra
Trang 10viii
MII Media Independent Interface Giao diện tiêu chuẩn độc lập NCD Native Circuit Description Phần mở rộng của file thiết kế NetFPGA Network Field Programmable
Gate Array
Mảng cổng khả trình mạng
RA-TAH Rate Adaptive Topology-Aware
Heuristic
Thuật toán tối ưu đồ hình mạng
PCF Physical Constraint File Phần mở rộng của file ràng buộc
vật lý
Inter-connect
Kết nối thành phần ngoại vi
PLD Programmable Logic Device Thiết bị logic có thể lập trình
SDN Software-Defined Network Mạng điều khiển bằng phần mềm SRAM Static Random Access Memory Bộ nhớ truy cập ngẫu nhiên tĩnh
Trang 11ix
DANH MỤC CÁC HÌNH VẼ
Hình 1.1 Mô hình tổng quát của trung tâm dữ liệu 8
Hình 1.2 Năng lượng tiêu thụ trong trung tâm dữ liệu *56] 9
Hình 1.3 Kiến trúc cây 2N 10
Hình 1.4 Kiến trúc Fat-Tree cấp k=4 10
Hình 1.5 Kiến trúc thử nghiệm ECODANE*41] 11
Hình 1.6 Cấu trúc của chuyển mạch OpenFlow *27] 15
Hình 1.7 Các bước khi một flow mới tới bộ chuyển mạch OpenFlow 16
Hình 1.8 Nền tảng NetFPGA 18
Hình 1.9 Sơ đồ khối chi tiết các thành phần trong kit NetFPGA 19
Hình 1.10 Cấu trúc đơn giản một dự án với NetFPGA 19
Hình 1.11 Cấu trúc đường ống của các mô đun dự án 20
Hình 1.12 Phần mềm điều khiển giao tiếp với NetFPGA thông qua bus PCI 20
Hình 1.13 Mô hình đường ống áp dụng cho việc thiết kế phần cứng mạng 21
Hình 1.14 Sơ đồ hoạt động của khối Output Port Lookup *27] 23
Hình 2.1 Kiến trúc kiểm tra đặc tính năng lượng của Kit NetFPGA-1G 25
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 25
Hình 2.3 Sơ đồ khối thành phần của kit NetFPGA-1G 26
Hình 2.4 Đặc tính năng lượng của Kit NetFPGA khi chạy như chuyển mạch OpenFlow 28
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) 30
Hình 2.6 Trường Switch state 31
Hình 2.7 Lưu đồ thuật toán điều khiển thay đổi tần số 32
Hình 2.8 Cấu trúc bản tin MDIO 34
Hình 2.9 Chức năng các bit trong thanh ghi MII 34
Hình 2.10 Trường Link state mô tả tốc độ liên kết của cổng Ethernet 35
Hình 2.11 Lưu đồ thuật toán điều khiển thay đổi tốc độ Link-rate 36
Hình 2.12 Vị trí của khối Clock Controller trong khối User Data Path 37
Hình 2.13 Mô tả tín hiệu vào và ra ở khối CC 38
Hình 2.14 Sơ đồ mạng OpenFlow đơn giản 38
Hình 2.15 Sơ đồ hệ thống bộ điều khiển và bộ chuyển mạch OpenFlow *38] 39
Hình 2.16 Khối điều khiển mềm (PC Software) 39
Hình 2.17 Thay đổi tốc độ liên kết cổng dùng bit 6 và bit 13 40
Trang 12x
Hình 2.18 Bật hoặc tắt cổng dùng bit 11 40
Hình 2.19 Trường Switch Mode định nghĩa các chế độ hoạt động 43
Hình 2.20 Lưu đồ thuật toán điều khiển các chế độ hoạt động 43
Hình 2.21 Hoạt động của chuyển mạch tự động tiết kiệm năng lượng 45
Hình 2.22 Vị trí khối phát hiện dữ liệu trong chuyển mạch 46
Hình 2.23 Thiết kế chi tiết khối phát hiện dữ liệu 47
Hình 2.24 Nguyên lý hoạt động của khối điều kiện hàng đợi ( ueue Condition) 50
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 51
Hình 2.26 Nguyên lý hoạt động của khối điều khiển Core Clock 52
Hình 2.27 Hệ thống các tín hiệu clock của chuyển mạch OpenFlow 52
Hình 2.28 Sơ đồ khối FC 53
Hình 2.29 Hệ thống clock được cung cấp bên trong khối nf2_core 54
Hình 2.30 Mô hình hệ thống đo đạc và kiểm tra 55
Hình 2.31 Hệ thống thực nghiệm đo đạc và kiểm tra 55
Hình 2.32 Năng lượng của chuyển mạch phụ thuộc tần số 56
Hình 2.33 Năng lượng tiêu thụ của NetFPGA trong các chế độ hoạt động 58
Hình 2.34 Lưu lượng đi vào chuyển mạch từ mức 0 đến 1Gb 59
Hình 2.35 Đồ thị công suất tiêu thụ của tại các chế độ 59
Hình 2.36 Lưu lượng đầu vào số 1 60
Hình 2.37 Lưu lượng đầu vào số 2 60
Hình 2.38 Lưu lượng đầu vào số 3 60
Hình 3.1 Đường biên công suất tại các giá trị tải trên chuyển mạch 66
Hình 3.2 Chỉ số EPI và API của thiết bị mạng 73
Hình 3.3 Đặc tính năng lượng của chuyển mạch NetFPGA 4 cổng 73
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 75
Hình 3.5 Đặc tính năng lượng của chuyển mạch NetFPGA 8 cổng 75
Hình 3.6 So sánh công suất tiêu thụ trên HP Enterprise và NetFPGA 16 cổng 76
Hình 3.7 So sánh công suất tiêu thụ trên Pronto và NetFPGA 48 cổng theo lý thuyết 77
Hình 4.1 Bản tin tiêu chuẩn của OL packet 81
Hình 4.2 Cấu trúc của 2 byte mở rộng cho bảng tin OL packet 81
Hình 4.3 Sơ đồ khối tách gói tin WOL Packet 82
Hình 4.4 Sơ đồ thuật toán khối phát hiện gói tin OL packet 83
Hình 4.5 Hệ thống thực nghiệm để đo lường công suất chuyển mạch 84
Trang 13xi
Hình 4.6 Hệ thống Testbed kiểm tra chức năng OL 85
Hình 4.7 Hệ thống thực nghiệm cho chức năng OL 85
Hình 4.8 Theo dõi trạng thái của chuyển mạch khi ake up cổng 0 86
Hình 4.9 Byte mở rộng để ake up chuyển mạch 86
Hình 4.10 Theo dõi trạng thái hoạt động khi ake up chuyển mạch 86
Trang 14xii
DANH MỤC CÁC BẢNG BIỂU
Bảng 1.1 Cấu tạo một bảng ghi 16
Bảng 2.1 Bản tin OFPT_SWITCH_MOD giảm tần 31
Bảng 2.2 Các mức tần số khác nhau 31
Bảng 2.3 Chức năng từng bit của thanh ghi điều khiển MII 33
Bảng 2.4 Bản tin OFPT_PORT_MOD 35
Bảng 2.5 Các chế độ hoạt động mới của chuyển mạch 42
Bảng 2.6 Bản tin OFPT_Switch_mode cho 3 chế độ hoạt động 43
Bảng 2.7 Mô tả chức năng các tín hiệu đầu của khối System States 48
Bảng 2.8 Nhóm tín hiệu báo hiệu trạng thái của các khối 49
Bảng 2.9 Công suất tiêu thụ của chuyển mạch khi giảm tần 56
Bảng 2.10 Thay đổi tốc độ link-rate của cổng Ethernet 57
Bảng 2.11 Năng lượng tiêu thụ trên cổng Ethernet 57
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 58
Bảng 2.13 Công suất tiêu thụ trung bình của tại các chế độ 59
Bảng 2.14 Năng lượng tiêu thụ tại các chế độ trong 15 phút 61
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 63
Bảng 2.16 Đặc tính chi tiết về công suất tiêu thụ của Kit NetFPGA-1G 63
Bảng 3.1 Công suất tiêu thụ của chuyển mạch hypothetical 4-Cổng 69
Bảng 3.2 Tất cả các trạng thái có thể xảy ra của chuyển mạch có 4 cổng với 4 chế độ làm việc trên mỗi cổng 71
Bảng 3.3 Đặc tính công suất của chuyển mạch Tier-2 HP Enterprise [56] 76
Bảng 3.4 Đặc tính công suất của chuyển mạch Pronto 3240 [55] 77
Bảng 3.5 Chỉ số tiết kiệm công suất của các chuyển mạch khác nhau 78
Bảng 4.1 Trạng thái của cổng 0 81
Bảng 4.2 Thay đổi tần số hoạt động của chuyển mạch 82
Bảng 4.3 Công suất tiêu thụ của chuyển mạch với các chế độ sleep khác nhau 84
Trang 151
MỞ ĐẦU
1 Năng lƣợng tiêu thụ của thiết bị mạng trong trung tâm dữ liệu
Ngày nay, những ứng dụng của hệ thống mạng như điện toán đám mây, mạng xã hội hay dịch vụ đa phương tiện đã trở nên rất phổ biến Sự gia tăng về lưu lượng trong mạng Internet cũng như trong các trung tâm dữ liệu, năng lượng cần thiết để vận hành cơ sở hạ tầng mạng lõi và hệ thống trung tâm dữ liệu cũng tăng lên đáng kể Theo nghiên cứu, 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% [65] Trong nghiên cứu của Baliga và các cộng sự [4], 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ụ [19][56] Chi phí năng lượng cho trung tâm dữ liệu chiếm 44% tổng chi phí hoạt động [58] Đồ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 [58][54]
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 [19][40] 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 Theo công trình nghiên cứu của Neilson [37], trong vòng 18 tháng lưu lượng của một bộ định tuyến tăng khoảng 2,5 lần, lưu lượng trên mạng Internet tăng 2 lần, trong khi đó độ tiết kiệm năng lượng của bộ định tuyến chỉ tăng 1,65 lần Vấn đề này, có thể thấy rằng các thiết bị mạng hiện nay nhìn chung khả năng tiết kiệm năng lượng chưa theo kịp tốc độ tăng lưu lượng sử dụng ở trung tâm dữ liệu
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ả Công trình nghiên cứu của của Mahadevan [48] và Heller [19], đã đưa ra khái niệm về tỉ lệ năng lượng (EPI), trong đó nói rằng một thiết bị mạng được gọi là tiết kiệm năng lượng nếu năng lượng tiêu thụ của nó tỉ lệ thuận với lưu lượng
Trang 162
đang sử dụng Một nhược điểm của EPI là chỉ phản ánh được sự khác nhau giữa năng lượng tiêu thụ của chế độ hoạt động hết công suất so với chế độ nghỉ EPI không chỉ ra được 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
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 [8] 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): Tái thiết kế là phương pháp tiếp cận nhằm mục
đích khai thác hiệu quả năng lượng nhiều hơn nữa nhờ thiết kế lại các công nghệ bên trong các kiến trúc của thiết bị mạng, bao gồm công nghệ bán dẫn mới, công nghệ lưu trữ mới cho các công cụ xử lý gói tin hay các công nghệ giao diện mới cho các đường dẫn mạng [20][21][51][3]][57] Trong [21][5], các tác giả đưa ra một phương pháp để thay thế điện
tử bằng quang học do thành phần quang học tiêu thụ năng lượng ít hơn điện tử Một nghiên cứu khác đưa ra một phương pháp để giảm bớt độ phức tạp của kiến trúc chuyển mạch Ví
dụ, Congdon và cộng sự [47] đề xuất khái niệm đổi mới dự đoán luồng dữ liệu để giảm bớt năng lượng tiêu thụ nhằm bỏ qua quá trình tìm kiếm đường đi đầy đủ của gói tin bên trong chuyển mạch
(2) Tương thích động (Dynamic adaptation): Sự thích ứng động của các thiết bị
nguồn [36][11][7][9] được thiết kế để hiệu chỉnh khả năng của các công cụ xử lý gói tin và giao diện mạng nhằm đáp ứng đúng tải thực tế Điều đó có thể thực hiện bằng việc sử dụng hai hướng được liệt kê sau: (1) Phân mức năng lượng cho phép giảm tốc độ làm việc của thiết bị xử lý hoặc giao diện kết nối (2) trạng thái nghỉ vậy lý cho phép giảm năng lượng tiêu thụ bằng cách tắt bớt các khối con khi không có hoạt động nào được thực hiện, và đánh thức các khối con đó khi hệ thống có một yêu cầu mới
(3) Chế độ nghỉ thông minh (Smart sleeping/standby): Chế độ nghỉ thông minh
tập trung tiếp cận vào việc cho phép mạng và thiết bị sử dụng có thể chuyển qua chế độ tiêu thụ ít năng lượng, trạng thái gọi là idle và trong cùng quãng thời gian đó vẫn có thể đáp ứng được các yêu cầu từ mạng [6][10][12]
Xuất phát từ nhiều góc nhìn khác nhau về các phương pháp tiếp cận khác nhau của các kiến trúc cũng như các thiết bị chuyển mạch có khả năng tiết kiệm năng lượng, ta nhận
ra được rằng việc phân tích và thiết kế các hệ thống tiết kiệm năng lượng lớn và phức tạp thường thiếu sự phát triển phần cứng và kiểm tra trên môi trường thực tế Trong nhiều cách tiếp cận, chuyển mạch NetFPGA [38][29] là nền tảng phần cứng cung cấp cho các nhà
Trang 173
nghiên cứu mạng một phương thức nghiên cứu nhanh chóng các thử nghiệm hay các thay đổi mới Hơn nữa, các bộ chuyển mạch NetFPGA hoàn toàn hỗ trợ công nghệ OpenFlow [34], một công nghệ mạng điều khiển bằng phần mềm SDN (Software Defined Networking) [53] cho phép phân cách luồng tin điều khiển và luồng dữ liệu OpenFlow cung cấp một sự linh hoạt để điều khiển và tối ưu hóa năng lượng tiêu thụ không chỉ trong một chuyển mạch mà còn đối với toàn bộ mạng lưới Đặc tính năng lượng của các bộ chuyển mạch NetFPGA lần đầu tiên được phân tích bởi Sivaraman và cộng sự trong [52], giới thiệu mô hình năng lượng cho chuyển mạch NetFPGA và tiến hành thí nghiệm cho phép phân tích năng lượng tiêu thụ trong Kit NetFPGA theo mức gói tin (packet) và byte Trong [32], điện năng tiêu thụ của NetFPGA dưới hai tần số, cụ thể là 125MHz là tần số hoạt động thường xuyên và tần số 62.5MHz được nghiên cứu Một phát hiện quan trọng là điện năng tiêu thụ của các chuyển mạch được giảm đáng kể ở tần số 62.5MHz Ngoài ra,
sự phụ thuộc năng lượng vào tốc độ dữ liệu và kích thước gói đã được chỉ ra ở [62]
Một số nghiên cứu để giảm năng lượng tiêu thụ bằng cách điều chỉnh các tốc độ liên kết (link rate) của NetFPGA tương ứng với lưu lượng bằng cách thay đổi tần số hoạt động Trong [63], một khối giám sát tần số được sử dụng trong chip FPGA để tạo ra sáu tần số đồng hồ khác nhau, từ 3.096MHz đến 125MHz Mặt khác, [18] đề xuất một phương pháp tiết kiệm năng lượng bằng cách thay đổi tần số của giao diện mạng (nhưng không phải là lõi FPGA) dựa trên chiều dài hàng đợi các gói tin đến
Trong các nghiên cứu [40][42][41], đề xuất một hệ thống thử nghiệm ECODANE
(Reducing Energy COnsumption in DAta Centre NEtworks based on Traffic Engineering)
nhằm tiết kiệm năng lượng cho trung tâm dữ liệu Hệ thống này là sự kết hợp của các nút
ảo và các bộ chuyển mạch OpenFlow trên nền tảng NetFPGA-1G Một thuật toán tối ưu hóa năng lượng RA-TAH (Rate - Adaptive Topology - Aware Heuristic) [42] tối ưu hóa năng lượng tiêu thụ tổng thể của mạng bằng cách kết hợp chế độ ngủ thông minh thích ứng với tốc độ trên chuyển mạch bằng cách thay đổi tần số đồng hồ của NetFPGA liên quan đến việc sử dụng lưu lượng truy cập của chuyển mạch
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
Trang 18 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ị mạng chiếm không nhỏ khoảng từ 20% đến 30% năng lượng tiêu thụ [19][56]
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ự
Việc giảm năng lượng tiêu thụ của chuyển mạch sẽ dẫn đến giảm chi phí hoạt động trong trung tâm dữ liệu, mang lại lợi ích cho cả các nhà đầu tư lẫn người dùng với chi phí dịch vụ giảm, không những thế giảm năng lượng tiêu thụ còn mang lợi ích to lớn cho môi trường, giảm hiệu ứng nhà kính
3 Mục tiêu, phạm vi, đối tượng và phương pháp 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
Trang 195
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
Đố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 [27] trên nền tảng Kit 1G [38], và bản tin điều khiển OpenFlow được phát triển đầu tiên bởi Đại học Standford [22]
NetFPGA- 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
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
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
Chương này sẽ trình bày khái quát về tầm quan trọng, đặc điểm kiến trúc mạng trung tâm dữ liệu cũng như khái niệm về trung tâm dữ liệu xanh Ngoài ra, chương này cũng giới thiệu về kiến trúc mạng ECODANE là một kiến trúc mới dựa trên công nghệ mạng điều khiển bằng phần mềm SDN cho phép tuỳ biế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 kết hợp với thuật toán tối
ưu RA-TAH để tiết kiệm năng lượng cho trung tâm mạng Qua chương này sẽ giúp người
Trang 206
đọc có một cái nhìn tổng quan về mục tiêu mà luận án hướng tới, cùng với đó là một xu hướng phát triển của mạng trong tương lai
Chương 2 Các giải pháp tiết kiệm năng lượng cho chuyển mạch OpenFlow
Chương này xây dựng hệ thống đo đạc năng lượng tiêu thụ của từng khối chức năng trong kit NetFPGA-1G Từ đó giúp cho ta có quyết định tốt hơn khối nào nên được cắt giảm điện năng nhằm tối ưu năng lượng tiêu thụ cho chuyển mạch Với kết quả tối ưu về năng lượng cho các khối trong chuyển mạch, các giải pháp nhằm tiết kiệm năng lượng cho chuyển mạch OpenFlow được đề xuất Dựa trên các giải pháp tiết kiệm năng lượng được đưa ra, chương này đề xuất các giải pháp thiết kế một chuyển mạch mới có chức năng tiết kiệm năng lượng dựa theo bộ điều khiển NOX / POX Ngoài ra, thiết kế chuyển mạch tự động tiết kiệm năng lượng dựa theo lưu lượng đầu vào cũng được đề xuất trong chương 2
Chương 3 Phương pháp mô h nh h a năng lượng cho chuyển mạch
Chương này trình bày mô hình hóa điện năng tiêu thụ của một chuyển mạch Ngoài
ra chương này đã chứng minh rằng chỉ số năng lượng tương đối EPI là chưa đủ để mô tả đặc tính tiêu thụ năng lượng của thiết bị mạng Đặc biệt, EPI không thể sử dụng để nghiên cứu đặc tính tiêu thụ năng lượng của thiết bị theo lưu lượng đầu vào Vì vậy trong chương này đã đề xuất xây dựng: 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
để đá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
Chương 4 Giải pháp WOL cho chuyển mạch OpenFlow
Chương này đề xuất thêm chức năng mới WOL cho chuyển mạch OpenFlow Việc điều khiển đánh thức (Wake up) chuyển mạch sẽ được thực hiện từ xa thông qua cách gửi bản tin điều khiển “Magic packet” hoặc gói tin "WOL packet" qua đường mạng LAN Giải pháp này rất cần thiết 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 có sự cố xảy ra
Trang 217
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
1.1 Giới thiệu chương
Chương này sẽ trình bày khái quát về tầm quan trọng, đặc điểm của kiến trúc mạng trung tâm dữ liệu, cũng như khái niệm về trung tâm dữ liệu xanh, cùng với việc giải thích nhu cầu tiết kiệm năng lượng của các trung tâm dữ liệu Đồng thời, một giải pháp hoàn toàn mới cho vấn đề năng lượng sẽ được đưa ra dựa vào công nghệ mạng đang được phát triển rất nhanh chóng trong thời gian gần đây, đó là mạng điều khiển bằng phần mềm SDN (Software Defined Networking) dựa trên giao thức điều khiển OpenFlow được triển khai trên nền tảng công nghệ NetFPGA Ngoài ra, chương này cũng giới thiệu về kiến trúc mạng ECODANE [41] 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 ECODANE được thiết kế chuyên biệt để kết hợp các chức năng tiết kiệm năng lượng cho cấu trúc Fat-Tree của trung tâm dữ liệu 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 [42] cùng với chuyển mạch có khả năng tiết kiệm năng lượng để tiết kiệm năng lượng
Các khái niệm, định nghĩa và mô hình chung nhất về mạng cùng giao thức OpenFlow, kiến trúc mạng ECODANE và thuật toán tối ưu RA-TAH kết hợp với chuyển mạch OpenFlow trên nền tảng NetFPGA sẽ giúp người đọc có một cái nhìn tổng quan về mục tiêu mà luận án hướng tới và đó cũng là xu hướng phát triển của mạng trong tương lai
1.2 Trung tâm dữ liệu và tầm quan trọng
1.2.1 Trung tâm dữ liệu
Ngày nay với sự phát triển mạnh mẽ của công nghệ thông tin cùng sự lớn mạnh của các tập đoàn kinh tế, các tổ chức tài chính ngân hàng, các cơ quan chính phủ thì những ứng dụng công nghệ thông tin để đáp ứng được nhu cầu ngày càng lớn về lưu trữ, xử lý, bảo mật, cũng như khai thác khối lượng thông tin khổng lồ với độ ổn định cao để phục vụ cho công tác điều hành, quản lý, kinh doanh là điều tất yếu Tuy nhiên, để đáp ứng được nhu cầu đó đòi hỏi các tập đoàn, tổ chức phải có một hệ thống hạ tầng công nghệ thông tin lớn
Trang 22Hình 1.1 Mô hình tổng quát của trung tâm dữ liệu
1.2.2 Trung tâm dữ liệu xanh
Để đánh giá năng suất trung tâm dữ liệu, cần tập trung vào hai yếu tố đó là hiệu quả sử dụng của các tài nguyên trong mạng và hiệu năng hoạt động mong muốn tính trên từng watt của các thiết bị mạng Do vậy, những vấn đề nổi bật đang được nghiên cứu gần đây là tìm ra giải pháp tiết kiệm nguồn năng lượng khổng lồ mà các trung tâm dữ liệu đang tiêu thụ Đặc biệt là thông qua việc nghiên cứu các kiến trúc đồ hình mới, các thuật toán tối ưu
đồ hình mạng, các thuật toán định tuyến có kèm theo tham số năng lượng Thông thường các trung tâm dữ liệu được thiết kế có khả năng chịu tải trong cả những trường hợp xấu nhất (tải tăng lên đột ngột), và trong các giờ cao điểm có nhiều người dùng Trong phần lớn thời gian còn lại thì mức tải sử dụng thấp hơn mức đỉnh rất nhiều, ví dụ như sự khác biệt rất lớn về lưu lượng tải sử dụng giữa ngày và đêm 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 sự tiêu tốn rất nhiều năng lượng không cần thiết để chạy các thiết bị trong khi không có lưu lượng đi qua Trong Hình 1.2 [56], ta có thể thấy được năng lượng tiêu thụ của các thành phần trong một trung tâm dữ liệu hiện nay Ví dụ như thiết bị làm mát chiếm 33% năng lượng tiêu thụ toàn trung tâm dữ liệu, 18% là của USP, 9% là của máy tính và điều hòa, 5% là của PDU, 1% của máy phát điện và 1% của thành phần chiếu sáng Đặc biệt thành phần chiếm khá lớn trong trung tâm
Trang 239
mạng đó là các thiệt bị IT chiếm tới 30% tiêu thụ năng lượng toàn trung tâm Do vậy việc cải thiện hiệu năng thành phần IT này cũng chính là hướng mà luận án hướng đến
Hình 1.2 Năng lượng tiêu thụ trong trung tâm dữ liệu [56]
Dựa vào các đánh giá năng suất của trung tâm dữ liệu, trung tâm dữ liệu xanh (Green Datacenter) được định nghĩa là một trung tâm dữ liệu mà trong đó hệ thống được thiết kế sao cho hiệu suất hoạt động tối đa với mức tiêu thụ điện năng thấp và hạn chế thấp nhất tính dư thừa gây lãng phí trong sử dụng, thân thiện môi trường, giảm thiểu chi phí vận hành và bảo trì hệ thống Bên cạnh đó, công nghệ xanh còn đem đến cho người lao động an toàn sức khỏe trong điều kiện môi trường làm việc tốt nhất, giúp doanh nghiệp nâng cao uy tín và trách nhiệm với cộng đồng trước áp lực về hiệu ứng nhà kính và bảo vệ môi trường
sống ngày càng cao
1.3 Các kiến trúc mạng của trung tâm dữ liệu
1.3.1 Kiến trúc mạng trung tâm dữ liệu truyền thống
Các trung tâm dữ liệu cũ có kiến trúc mạng hẹp đang phải đối mặt với các vấn đề như khả năng mở rộng kém, khó quản lý, khả năng kết nối kém, Các kiểu kiến trúc cũ thường
ở dạng cây (tree) hay còn gọi dạng 2N, có từ 2 đến 3 tầng định tuyến và chuyển mạch Một kiến trúc mạng 3 tầng bao gồm: tầng lõi (core) là gốc của cây, tầng trung gian (aggretion) ở giữa và tầng truy nhập (edge) lá của cây như trong Hình 1.3 Trong kiến trúc cây 2N, mỗi phần tử tầng dưới đều liên kết với hai phần tử tầng trên để chống lỗi, tăng tính tin cậy Tức là mỗi máy chủ (server) sẽ liên kết với hai chuyển mạch ở tầng truy nhập, mỗi chuyển mạch ở tầng truy nhập sẽ liên kết với hai chuyển mạch ở tầng trung gian, mỗi chuyển mạch ở tầng trung gian sẽ liên kết với hai chuyển mạch ở tầng lõi Dễ dàng nhận thấy với đồ hình này, chuyển mạch tầng dưới chỉ hội tụ vào chuyển mạch ở tầng trên và
sẽ gây ra mất mát lớn nếu chuyển mạch tầng trên gặp phải sự cố Nhìn chung, các kiến
Trang 241.3.2 Kiến trúc Fat-Tree cho trung tâm dữ liệu
Để khắc phục các nhược điểm thay thế các kiến trúc cũ các nhà phát triển đã đưa ra rất nhiều các loại kiến trúc khác nhau như Bcube [17], Dcell [13], VL2, Fat-Tree… đặc biệt là kiến trúc Fat-Tree [50] với các ưu điểm định tuyến chống lỗi ở tầng 2.5, dạng đồ hình đối xứng và cố định ứng với mỗi cấp nên dễ quản lý, có khả năng truyền lưu lượng hai chiều
Hình 1.4 Kiến trúc Fat-Tree cấp k=4
Trên Hình 1.4 là đồ hình kiến trúc Fat-Tree cho mạng trung tâm dữ liệu với hệ số k=4, còn gọi là kiến trúc Fat-Tree cấp 4 Toàn bộ các chuyển mạch sử dụng ở tầng lõi, tầng trung gian, và tầng truy cập là giống nhau Chúng đều là các chuyển mạch 4 cổng 1Gbps Các liên kết (link) máy chủ với chuyển mạch và liên kết các chuyển mạch với nhau đều là 1Gbps
Trang 2511
Ưu điểm của kiến trúc Fat-Tree đó là ta có thể sử dụng tất cả các chuyển mạch giống nhau, đều là các chuyển mạch k cổng 1Gbps thông thường với giá thành tương đối rẻ Ngoài ra, kiến trúc Fat-Tree hỗ trợ các cặp máy chủ kết nối nhau ở tốc độ tối đa 1 Gbps với bất kỳ mô hình lưu lượng nào mà không bị hạn chế bởi khả năng của các chuyển mạch tầng lõi hiệu năng cao Một đặc điểm quan trọng nữa của kiến trúc Fat-Tree đó là khả năng chống lỗi đặc biệt là khi hệ số k tăng lên, đồ hình kết nối trở thành một hình lưới dày đặc, tăng độ dư thừa, cũng có nghĩa là tính chống lỗi sẽ tăng lên
1.4 Kiến trúc mạng ECODANE
Kiến mạng trúc ECODANE như Hình 1.5 [41] là một kiến trúc mới dựa trên công nghệ mạng điều khiển bằng phần mềm (SDN) cho phép tuỳ biế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 ECODANE được thiết kế chuyên biệt để kết hợp các chức năng tiết kiệm năng lượng cho cấu trúc Fat-Tree của trung tâm
dữ liệu
Hình 1.5 Kiến trúc thử nghiệm ECODANE [41]
Kiến trúc này gồm các thành phần như sau:
Bộ điều khiển OFC (OpenFlow Controller): Bộ điều khiển OpenFlow chính là thành
phần trung tâm trong kiến trúc mạng OpenFlow OFC có thể đảm nhiệm nhiều vai trò cụ thể khác nhau trong hệ thống mạng như việc định tuyến hay định
Trang 2612
nghĩa các bảng flow bên trong từng chuyển mạch OpenFlow Với hệ thống thử nghiệm này, NOX / POX được sử dụng làm bộ OFC với các khối chức năng sau:
Khối giám sát (Monitoring): Khối này có nhiệm vụ giám sát tất cả các
chuyển mạch và các kết nối bao gồm: trạng thái hoạt động, lưu lượng
sử dụng trên các cổng và các chuyển mạch, năng lượng tiêu thụ trên các chuyển mạch Tất cả các thông tin này được thu thập dựa trên các bản tin thống
kê của OpenFlow, trong đó có những bản tin được mở rộng với các chức năng
hỗ trợ mạng tiết kiệm năng lượng
Khối tối ưu (Optimizer): Dựa trên thông tin đo đạc từ khối giám sát,
khối tối ưu sẽ đưa ra đồ hình tối ưu với năng lượng tiêu thụ nhỏ nhất dựa trên việc tính toán năng lượng tiêu thụ của từng chuyển mạch và liên kết trong khi vẫn đảm bảo được yêu cầu về độ tin cậy Khối này sử dụng thuật toán tối ưu đồ hình mạng RA-TAH [42]
Khối điều khiển công suất (Power Control): Mô hình năng lượng thu thập
được từ phần cứng NetFPGA được sử dụng trong khối điều khiển công suất Khối này có nhiệm vụ thay đổi trạng thái hoạt động của các cổng và của toàn bộ chuyển mạch sang trạng thái tiết kiệm năng lượng hơn, thông qua các bản tin mở rộng OpenFlow ở cả hai phía NOX /POX và chuyển mạch OpenFlow trên nền tảng NetFPGA
Khối định tuyến (Routing): Khối này đưa ra đường đi dành cho hệ thống
mạng dựa trên đồ hình mạng đã được tối ưu Bên cạnh việc sử dụng một
số cơ chế định tuyến đã được hỗ trợ bởi NOX / POX như tất cả các cặp đường
đi ngắn nhất (Dynamic All Pairs Shortest Path), cây mở rộng (Spanning Tree), nhiệm vụ này đã phát triển thuật toán định tuyến tải cân bằng Thuật toán này đưa ra được đường đi tốt nhất cho tất cả các gói tin thuộc cùng một luồng dữ liệu để phân tán tải trên toàn bộ mạng, cho phép tăng tính tin cậy của hệ thống
Bộ phát lưu lượng (Traffic Generator): được xây dựng và phát triển dựa trên
công cụ D-ITG (Distributed Internet Traffic Generator) [35] để có thể tạo ra lưu lượng cho trung tâm dữ liệu
1.5 Thuật toán tối ƣu đồ hình mạng ECODANE
Thuật toán tối ưu đồ hình dựa vào các thông số đầu vào như đồ hình mạng, ma trận lưu lượng, mô hình công suất của chuyển mạch, khả năng chống lỗi muốn đạt được Các yêu cầu của thuật toán là tính toán đơn giản, chính xác, tốc độ cao Công
Trang 2713
trình nghiên cứu của Heller và các cộng sự [19] đưa ra 3 thuật toán tối ưu chính, đó là Formal Model, Greedy Bin-Packing và Topology-Aware Heuristic (TAH)
Trong đó thuật toán TAH có ưu điểm cho phép tìm được đồ hình mạng tối ưu nhanh
và yêu cầu các tính toán khá đơn giản So với các phương pháp khác, phương pháp này đòi hỏi tính toán ít thông tin hơn do đo thời gian tính toán ngắn hơn Hơn nữa phương pháp này hoàn toàn tách rời với bộ định tuyến nên có thể áp dụng phương pháp này với một thuật toán định tuyến bất kỳ, nếu có xảy ra lỗi ở bộ phận này, hệ thống tự động bật hết các chuyển mạch lên để bộ phận định tuyến thực hiện định tuyến bình thường và không gây ra mất mát Nhưng thuật toán TAH chỉ tính toán và chỉ ra số chuyển mạch và liên kết cần bật tại mỗi lớp, TAH không chỉ ra một cách cụ thể chuyển mạch nào cũng như liên kết nào cần bật
Bên cạnh các thuật toán dựa trên cơ chế bật hoặc tắt tự động như TAH, một phương pháp tiết kiệm năng lượng khác hay sử dụng trong thực tế là các thuật toán thích nghi năng lượng tiêu thụ Nguyên tắc của phương pháp này là điều chỉnh khả năng hoạt động của thiết bị mạng cho phù hợp với lưu lượng thực tế, ví dụ như điều chỉnh dung lượng kênh truyền, điều chỉnh khả năng xử lý của chip vi xử lý trong chuyển mạch vv Trái với phương pháp bật /tắt tự động, các thuật toán thích nghi không trực tiếp thay đổi đồ hình của mạng, do đó thông thường nó không thật hiệu quả trong trường hợp lưu lượng thấp nhưng có thể hoạt động tốt trong trường hợp lưu lượng cao
Với sự kết hợp cả hai phương pháp trên, trong công trình [41] đưa ra thuật toán TAH nhằm tối ưu đồ hình mạng nâng cao khả năng tiết kiệm năng lượng cho kiến trúc mạng ECODANE Thuật toán RA-TAH được phát triển nằm trong khối tối ưu (Optimizer) của bộ điều khiển NOX / POX Để áp dụng được thuật toán RA-TAH này
RA-thì cần phải có giải pháp phần cứng hỗ trợ, như kết hợp với chuyển mạch OpenFlow có khả năng tiết kiệm năng lượng trên nền tảng NetFPGA
1.6 Các công nghệ phát triển kiến trúc mạng ECODANE
1.6.1 Công nghệ OpenFlow
Các hệ thống và thiết bị mạng đã được thương mại hóa hiện nay có nhược điểm là các
hệ thống đóng, không cho phép người sử dụng tùy biến, điều chỉnh các chức năng theo các nhu cầu phát sinh khi triển khai các dịch vụ mạng chuyên biệt Mặc khác với xu hướng bùng nổ các ứng dụng và dịch vụ mới như hiện nay như các dịch vụ điện toán đám mây,
Trang 28do có tính thực tế dựa trên các ưu điểm: cho phép các nhà nghiên cứu chạy các thử nghiệm trên các chuyển mạch khác nhau theo cùng một cách như nhau, không cần cấu hình triển khai theo cấu hình từng loại chuyển mạch, hoạt động ở tốc độ cao cùng với mật độ cổng lớn, hơn nữa các nhà sản xuất vẫn có thể giữ bí mật về thiết kế các chuyển mạch của họ Ngoài việc cho phép các nhà nghiên cứu đánh giá các ý tưởng của họ trong môi trường lưu lượng thực tế, công nghệ OpenFlow còn là một công cụ hữu hiệu cho phép các nhà khoa học triển khai các hệ thống thử nghiệm qui mô rộng như trong dự án GENI (Global Environment for Network Innovation) [55] GENI là kiến trúc mạng có khả năng lập trình được Mạng có khả năng lập trình cần có các phần tử chuyển mạch có khả năng lập trình để xử lý các gói tin cho nhiều thử nghiệm trên mạng đồng thời không ảnh hưởng lẫn nhau Công nghệ OpenFlow cho phép ta có thể lập trình được chuyển mạch
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
Bảng Flow: Bảng này bao gồm các bảng ghi (flow-entry) và mỗi bảng ghi có một
hành động (Action) đi kèm dùng để xử lý các flow
Kênh an toàn: Là kênh giao tiếp giữa bộ chuyển mạch và bộ điều khiển Nó cho phép
lệnh và gói tin được truyền qua lại giữa bộ điều khiển và bộ chuyển mạch sử dụng giao thức OpenFlow Kênh này được thiết lập bởi một phần mềm chạy trên nền tảng hệ điều hành Linux
Giao thức OpenFlow: Giao thức giữa chuyển mạch OpenFlow và bộ điều khiển cho
phép bộ điều khiển có thể chỉnh sửa bảng flow của chuyển mạch Bằng cách này, các nhà nghiên cứu và những quản trị viên tránh được việc phải lập trình cho từng bộ chuyển mạch Thay vào đó, họ chỉ cần làm việc trên bộ điều khiển của toàn bộ hệ thống
Trang 2915
Hình 1.6 Cấu trúc của chuyển mạch OpenFlow [27]
Hiện nay giao thức OpenFlow được chuẩn hóa bởi tổ chức Open Networking Foundation Đây là một nhóm các nhà sản xuất bao gồm rất nhiều các thương hiệu nổi tiếng trên thế giới: Cisco, Google, Alcatel, Broadcom, Ericsson, Facebook, Google, vv có trách nhiệm đề xuất, thử nghiệm và tiến hành thực thi trên các thiết bị để đảm bảo hoạt động giữa thiết bị mạng và phần mềm quản lý từ những nhà sản xuất khác nhau Kiến trúc mạng OpenFlow hoàn toàn có thể tích hợp vào các thiết bị mạng hiện tại, tiết kiệm chi phí cho các nhà cung cấp dịch vụ
Để hiểu sâu hơn nữa về OpenFlow, tác giả sẽ đi sâu vào các khái niệm như flow, bảng ghi (flow-entry) Một flow được định nghĩa là các gói tin trùng với một tiêu đề (header) cụ thể bên trong bảng flow Việc so sánh giữa tiêu đề của gói tin và tiêu đề của một bảng ghi
để quyết định gói tin thuộc flow nào và hành động đi kèm với nó, có thể xảy ra hai trường hợp: một là so sánh trùng một cách chính xác tất cả các trường (match exactly), hai là chỉ trùng một trường nào đó (wildcard match)
Bảng 1.1 miêu tả cấu tạo của một bảng ghi Mỗi một bảng ghi sẽ có một hành động (Action) đi kèm với nó Đối với chuyển mạch OpenFlow chuyên dụng, có ba loại hành động cơ bản sau:
Chuyển tiếp những gói tin của luồng này tới một cổng cho trước Hành động này cho phép những gói tin được định tuyến trong mạng
Đóng gói và chuyển tiếp những gói tin của luồng này tới một bộ điều khiển Gói tin được chuyển tới kênh an toàn nơi mà nó được đóng gói và gửi tới bộ điều khiển Hành động này được sử dụng đối với gói tin đầu tiên của một luồng mới và bộ điều khiển sẽ quyết định có đưa nó vào trong bảng flow hay không
Trang 30Bảng 1.1 Cấu tạo một bảng ghi
Các bước để định tuyến một flow từ một máy tính nguồn sang một máy tính đích thông qua hai bộ chuyển mạch OpenFlow mô tả như Hình 1.7
Hình 1.7 Các bước khi một flow mới tới bộ chuyển mạch OpenFlow
Trong sơ đồ bên trái của Hình 1.7, bảng flow của hai bộ chuyển mạch đều không chứa
gì Khi một gói tin đến trong bước 1, nó được chuyển tiếp tới bộ điều khiển trong bước 2
Bộ điều khiển kiểm tra gói tin đến và thêm một bảng ghi (flow A) vào trong bảng flow của các bộ chuyển mạch trong bước 3 Sau đó gói tin được gửi tới máy tính đích trong bước 4
và 5 Trong các bước 6, 7, 8 bất kì gói tin mới nào thuộc về cùng một flow (flow A của gói tin thứ nhất) sẽ được định tuyến trực tiếp tới máy tính đích
Trang 3117
1.6.2 Bộ điều khiển OpenFlow NOX / POX
Trong mạng OpenFlow, bộ điều khiển OpenFlow (OpenFlow Controller) có thể được coi là phần quan trọng nhất của hệ thống mạng, là nơi tập trung thực hiện các chức năng điều khiển giám sát các nút mạng Hiện nay, đã có rất nhiều phiên bản bộ điều khiển được sử dụng trên những ngôn ngữ lập trình khác nhau (C/C++, Java, Ruby, Python, vv) được các nhà phát triển đưa ra với các mục đích khác nhau Một số bộ điều khiển điển hình như: NOX, POX, Beacon, Floodlight, SNAC, vv
Trong các bộ điều khiển trên thì bộ điều khiển thông dụng nhất là NOX, POX Vì chức năng điều khiển của NOX và POX [23] giống nhau nên trong phần này sẽ giới thiệu tượng trưng bộ điều khiển NOX NOX là một phần mềm mã nguồn mở dùng điều khiển các chuyển mạch OpenFlow Mục đích của NOX nhằm cung cấp một platform cho viết các phần mềm quản lý mạng (như các ứng dụng định tuyến, tường lửa…) sử dụng C++ hoặc Python (do đại học Stanford phát triển)
Mục đích chính của NOX bao gồm:
Cung cấp một platform cho phép người lập trình, phát triển mạng triển khai các ý tưởng mới trong lĩnh vực mạng, sử dụng phần cứng thật Các nhà phát triển có thể điều khiển tất cả các kết nối trong mạng gồm có: chuyển tiếp, định tuyến, vv Ngoài ra NOX còn điều khiển cả bảng flow trong chuyển mạch
Cung cấp phần mềm quản lý mạng hữu ích cho các nhà quản trị mạng, gồm có việc quản lý tập trung cho tất cả các chuyển mạch trong mạng, điều khiển truy nhập của người dùng
Phương thức hoạt động của NOX:
NOX chạy riêng rẽ trên một máy và quản lý việc chuyển tiếp các bản tin giữa các chuyển mạch khác nhau
NOX cung cấp các giao diện lập trình giúp cho nhà phát triển sử dụng dễ dàng lấy được thông tin về sự kiện trong mạng, can thiệp vào lưu lượng, điều khiển các quyết định định tuyến/chuyển mạch
Khi có luồng mới xuất hiện trọng mạng, các gói đầu tiên sẽ được gửi đến bộ điều khiển mạng NOX, tại đây có thể thực hiện quyết định xem lúc nào khi nào sẽ chuyển tiếp các gói đi trong mạng, thu thập các thông tin thống kê, chỉnh sửa được gói trong luồng đó hoặc có thể xem thêm được về các gói khác trong cùng luồng để thu thập được thêm nhiều thông tin
Trang 3218
Các thành phần của NOX:
Core apps: cung cấp chức năng cho các ứng dụng mạng và các dịch vụ web
Network apps: các ứng dụng để quản lý mạng
Discovery: theo dõi các liên kết giữa các thiết bị chuyển mạch điều khiển
Topology: cung cấp một bản ghi trong bộ nhớ của tất cả các liên kết hiện lên trong mạng
Authenticator: theo dõi vị trí của máy chủ và thiết bị chuyển mạch trên mạng
Routing: là thành phần chịu trách nhiệm tính toán đường truyền
1.6.3 Công nghệ NetFPGA
Nền tảng NetFPGA [38] 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
Hình 1.8 Nền tảng NetFPGA
NetFPGA là một nền tảng mở đối với tất cả các nhà phát triển trên toàn thế giới Các thiết kế tham khảo bao gồm: Bộ định tuyến IPv4, chuyển mạch Ethernet, NIC 4 cổng, vv
và liên tục được cập nhật bởi các nhóm nghiên cứu trên toàn thế giới Các nhà nghiên cứu
có thể sử dụng các thiết kế sẵn có này để xây dựng nên những hệ thống xử lý lưu lượng mạng mới Mỗi kit NetFPGA có thể xử lý lưu lượng thông qua bốn 4 cổng và nhiều kit có thể cắm trên cùng một máy tính Trong Mục 1.5.4, bộ chuyển mạch OpenFlow được xây dựng trên nền tảng NetFPGA (Hình 1.8)
Nền tảng NetFPGA bao gồm ba thành phần chính: phần cứng, gateware, phần mềm
Phần cứng : kit NetFPGA là một chiếc PCI Card bao gồm các thành phần chính sau:
Trang 3319
Xilinx VirtexTM-II pro 50
4x1 Gbps Ethernet ports sử dụng lõi MAC mềm
4.5 MB SRAM
64 MB DDR2
Một chip FPGA Spartan II dùng để làm khối điều khiển (Control Logic) cho giao tiếp giữa Kit NetFPGA với máy tính thông qua bus PCI Sơ đồ khối chi tiết các khối phần cứng cũng như cách sắp xếp của chúng trong kit NetFPGA được minh họa trên Hình 1.9
Hình 1.9 Sơ đồ khối chi tiết các thành phần trong kit NetFPGA
Gateware: là mã nguồn Verilog để tạo ra khối phần cứng trên chip FPGA
VirtexTM-II pro Các thiết kế trên nền tảng NetFPGA được thiết kế theo từng mức với chức năng nhiệm vụ khác nhau như trên Hình 1.10 Trong đó bao gồm:
nf2_top là mức cao nhất chứa các tín hiệu đầu vào, đầu ra nối các thiết bị ngoại
vi bên ngoài như thạch anh, cổng mạng, vv
nf2_core chứa các thành phần quan trọng cần có với mọi dự án làm việc với NetFPGA như các hàng đợi, bộ điều khiển thanh ghi cpci, vv
User data path là một thành phần trong nf2_core Mỗi dự án khác nhau sẽ bao gồm một cấu trúc khác nhau Sự khác biệt giữa dự án bộ chuyển mạch OpenFlow với các dự án khác chính là khối này
Hình 1.10 Cấu trúc đơn giản một dự án với NetFPGA
Trang 3420
Mỗi mức trong một dự án đều được thiết kế thành các mô đun nhằm mục đích dễ dàng
mở rộng và các mô đun này được kết nối với nhau tạo thành một đường ống (pipeline) Cấu trúc của đường ống được mô tả ở Hình 1.11
Hình 1.11 Cấu trúc đường ống của các mô đun dự án
Có hai loại bus chính là: bus gói tin (packet bus) và bus thanh ghi (register bus) Bus gói tin sử dụng để xử lý gói tin và bus thanh ghi mang thông tin trạng thái và điều khiển giữa các mô đun phần cứng và phần mềm
Phần mềm: điều khiển kit NetFPGA, chúng bao gồm hệ điều hành Linux cho PC,
driver cho kit NetFPGA, các phần mềm tạo ra giao diện giữa người dùng và thiết bị mạng, các công cụ thiết kế của Xilinx như ISE, XPS Hình 1.12 mô tả phần mềm điều khiển NetFPGA thông qua bus PCI
Hình 1.12 Phần mềm điều khiển giao tiếp với NetFPGA thông qua bus PCI
1.6.4 Chuyển mạch OpenFlow trên nền tảng NetFPGA
Với các lợi ích của OpenFlow đã trình bày ở Mục 1.6.1, mục này trình bày thiết
kế một kiến trúc chuyển mạch OpenFlow tiết kiệm năng lượng dựa trên kit NetFPGA Việc
Trang 35Hình 1.13 Mô hình đường ống áp dụng cho việc thiết kế phần cứng mạng
Khối Output Port Lookup sẽ tiến hành so sánh tiêu đề của các gói tin tới với các bảng ghi sử dụng 10 trường trong mỗi bảng ghi Các bảng flow trong kit NetFPGA được xây dựng dựa trên chip TCAM và SRAM ngoài để có thể chứa một số lượng lớn các bảng ghi
và hỗ trợ tìm kiếm theo trường bất kỳ (match wildcard) Sơ đồ hoạt động của khối Output Port Lookup được mô tả trong Hình 1.14 [27]
- Khối A sẽ chọn các đầu vào MAC RxQ, CPU RxQ để lấy gói tin đưa vào xử lý
- Khối B sẽ lấy ra các trường cần thiết trong tiêu đề của gói tin và ghép lại với nhau Các trường được lấy ra là: MAC đích, MAC nguồn, loại Ethernet , IP nguồn, IP đích, giao thức IP, TCP hoặc UDP (User Datagram Protocol) cổng nguồn, TCP hoặc UDP (User Datagram Protocol) cổng đích, đầu vào cổng Tất cả các trường này ghép lại với nhau tạo
ra một tiêu đề flow 10 trường trên ghép lại với nhau tạo thành 1 tiêu đề flow, đối với gói tin Ipv4 mỗi tiêu đề flow này có kích thước 155 bits
Sau đó tiêu đề flow được đưa vào hai khối: khối tìm kiếm xác thực (Exact Lookup) bao gồm các khối C, D, M và khối tìm kiếm kí tự (Wildcard lookup) Khối tìm kiếm cho phép thực hiện phép tìm kiếm ký tự (wildcard) với các bảng ghi
- Khối C sẽ tính toán hai hàm hash đối với tiêu đề flow trên (thêm 5 bit nữa thành 160 bits) và trả về hai chỉ số Lý do sử dụng hai hàm hash: hai hàm CRC được sử dụng để tạo
ra hai chỉ số cho mỗi gói tin, mỗi chỉ số được sử dụng cho một bảng hash khác nhau Theo
Trang 3622
cách này, giả sử rằng ít nhất có một chỉ số sẽ tìm được hành động tương ứng duy nhất Nếu
cả hai chỉ số cùng trả về, khối D sẽ sử dụng hai chỉ số này để thực hiện tìm kiếm trong hai bảng hash trong SRAM Trong thiết kế, chúng ta sử dụng một SRAM cho hai bảng hash nên phải thực hiện tìm kiếm tuần tự Bảng Flow chứa các bảng ghi, mỗi bảng ghi chứa 155 bits tiêu đề flow (để chắc chắn một lần nữa là có một bảng ghi ứng với gói tin tới đã tồn tại trong bảng flow) và 152 bits sử dụng để lưu hành động (Action) Hành động bao gồm một bit để xác định bảng ghi này có hợp lệ không, 3 bit xác định cổng đích (cổng ra vật lý trên chuyển mạch, cổng tới CPU và cổng trống hủy gói tin), 48 bits địa chỉ MAC nguồn và 48 địa chỉ MAC đích dùng để ghi tiêu đề hiện tại của gói tin, 20 bit gói tin đếm (packet counter), 32 bit đếm (counter)
- Khối M là khối điều khiển SRAM Mỗi 16 chu kỳ xung nhịp, khối điều khiển SRAM
có thể đọc 2 tiêu đề flow, cập nhật giá trị đếm cho một bảng ghi, thực hiện đọc hoặc ghi 4 bytes dữ liệu từ CPU 307 bits bảng ghi được lưu trong hai bộ nhớ lưu trữ (SRAM bank) của bộ nhớ SRAM
- Khối E là một khối TCAM (Ternary Content Addressable Memory) Đây là một khối được sử dụng rất nhiều trong bộ chuyển mạch và bộ định tuyến Khối này cho phép thực hiện tìm kiếm trong toàn bộ bảng flow chỉ với một chu kỳ xung nhịp Khối này cũng cho phép thực hiện tìm kiếm với các bảng ghi chứa kí tự (wildcard)
- Khối G sẽ chọn một trong hai kết quả từ khối tìm kiếm xác thực (Exact lookup) và khối tìm kiếm kí tự (Wildcard Lookup) Kết quả của quá trình tìm kiếm là hành động tương ứng với gói tin
- Khối F là bộ đệm gói tin khi phần tiêu đề của gói tin được xử lý trong các khối khác Khi các khối khác kiểm tra phần tiêu đề và tìm thấy có bảng ghi tương ứng với tiêu đề của gói tin, gói tin sẽ được chuyển tiếp đến cổng tương ứng hoặc tới CPU hoặc bị hủy Nếu không tìm thấy, gói tin sẽ được chuyển tiếp đến CPU để xử lý
- Khối H có nhiệm vụ cập nhật bộ đếm tương ứng với các bảng ghi và thêm thông tin hành động của gói tin vào vị trí đặt sẵn trong tiêu đề
- Khối I: Xuất gói tin chuyển tiếp đến cổng tương ứng
Tóm lại, chuyển mạch được điều khiển bởi máy tính thông qua các thanh ghi ánh xạ
bộ nhớ (memory mapped registers) Các gói tin được truyền qua lại giữa máy tính và chuyển mạch thông qua DMA (Direct Access Memory)
Trang 3723
Xử lý gói tin vào (Input Arbiter)
Ghép tiêu đề (Header Paser)
Tính toán 2 hàm hash
Thực hiện tìm kiếm ( Flow entry lookup & Update ) Điều khiển SRAM
SRAM Bank 0
SRAM Bank 1
Bộ đệm (Word Buffer) TCAM
T nh toán lựa chọn (Match Arbiter)
Xử lý gói tin (Packet Editor)
Xuất gói tin (Output Queues)
Hình 1.14 Sơ đồ hoạt động của khối Output Port Lookup [27]
1.7 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 là một kiến trúc mới dựa trên công nghệ mạng điều khiển bằng phần mềm (SDN) cho phép tùy biế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 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 đồ hình mạng RA-TAH với chuyển mạch có khả năng tiết kiệm năng lượng để tối ưu năng lượng tiêu thụ trên toàn 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
Trang 3824
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 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 Kết quả thực nghiệm đã chứng minh sự tiết kiệm năng lượng của chuyển mạch mới này theo các chế độ làm việc khác nhau và hệ thống thiết kế có tính khả thi cao cho chuyển mạch nhằm tiết kiệm năng lượng
2.2 Phân bổ 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
Để nghiên cứu được sự tiêu thụ năng lượng của Kit NetFPGA-1G, 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 Hệ thống kiểm tra này cho phép tính toán và thu thập thông tin về lượng năng lượng tiêu thụ của các thành phần chức năng trên NetFPGA ở mức chi tiết Dựa trên tính toán này, tác giả có thể phát triển được nhiều chiến lược tối ưu năng lượng khác nhau trên phần cứng 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 (Hình 2.1) gồm một số thành phần sau: (1) Kit NetFPGA-1G [60] chạy như một chuyển mạch OpenFlow, (2) bộ tạo lưu lượng [16] được sử dụng để tạo lưu lượng ở những mức khác nhau theo yêu cầu, (3) Khối tính toán năng lượng gồm khối đo công suất
PCIEXT-64UB (UltraView PCI Smart Extender) [59] và bo mạch hiển thị công suất đo
được, (4) Khối cấu hình thiết bị dựa trên Xinlinx ISE 10.1 sp3 được sử dụng để thay đổi,
tạo mới hoặc xóa một vài khối trong thiết kế và phát triển khối chức năng trên Kit
NetFPGA, (5) khối phân tích dữ liệu bao gồm một số công cụ như Matlab để phân tích và
tính toán kết quả
Trang 39Phân tích dữ liệu
(Matlab)
Chuyển mạch NetFPGA OpenFlow- 1G
Hình 2.1 Kiến trúc kiểm tra đặc tính năng lượng của Kit NetFPGA-1G
Hệ thống sử dụng Kit NetFPGA-1G [60] 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
Host PC
Chu ển mạch NetFPGA
3V 5.0V
Bo mạch hiển thị công suất
C0
C1 C2
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
Như chỉ ra ở Hình 2.2, để sử dụng 4 cổng chuyển mạch NetFPGA vào chế độ kiểm tra với lưu lượng chuyển mạch lên tới 4Gbps, hay 1Gbps với mỗi cổng, 2 bộ phát lưu lượng chính xác (Precise Traffic Generator - version 1.2.5) [16] được xây dựng cho hệ thống kiểm tra này Mỗi bộ phát lưu lượng chính xác được biên dịch cùng với 2 Kit NetFPGA
mở rộng để tạo thành một kiến trúc xếp chồng Trong thực tế, bộ phát lưu lượng chính xác chỉ có thể tạo ra được lưu lượng khoảng 800 Mbps cho mỗi cổng Do đó, khi tổng hợp lưu lượng đầu vào ở mức thấp, bộ phát lưu lượng chính xác có thể tạo ra 4 cổng tốc độ cao lên đến 1Gbps
Trang 4026
Bộ phát lưu lượng chính xác có thể điều khiển lưu lượng trên từng cổng riêng biệt, từng mức lưu lượng từ 0Mbps đến 4Gbps Hệ thống sử dụng mạch đo công suất PCIEXT-64UB gắn kết giữa máy tính chủ và kit NetFPGA để tính toán năng lượng tiêu thụ PCIEXT-64UB có đặc điểm cho phép lấy ra mẫu đo dùng cho việc tính toán hiện tại, hỗ trợ mức điện áp 3.3V và 5V Tại hai điểm kiểm tra 3.3V và 5V được kết nối tới bo mạch tính toán năng lượng, để tính toán tổng năng lượng tiêu thụ và hiển thị kết quả trên Led 7 thanh của mạch hiển thị (Power measuring board) theo thời gian thực (xem phần phụ lục)
2.2.2 Đặc tính năng lƣợng chi tiết của Kit NetFPGA-1G
Phần này sẽ mô tả tính toán và phân tích sự tiêu thụ năng lượng của chuyển mạch NetFPGA-1G Quá trình thu thập đặ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
2.2.2.1 Đặc tính năng lượng cơ bản (năng lượng tiêu thụ tĩnh)
NetFPGA-1G
mô -đun CPCI
Hình 2.3 Sơ đồ khối thành phần của kit NetFPGA-1G
Để đo được năng lượng tiêu thụ cơ bản (hay lượng năng lượng tiêu thụ tĩnh) của Kit NetFPGA, năng lượng nhỏ nhất tiêu thụ bởi Kit NetFPGA trong chế độ nghỉ, chip FPGA được để trống và không cổng Ethernet nào được cắm Trong trường hợp đó, chip FPGA và
mô đun Ethernet không tiêu thụ năng lượng Do vậy, năng lượng cơ bản là năng lượng nhỏ nhất tiêu thụ bởi các thành phần trong Kit NetFPGA như khối nguồn, bộ nhớ, chíp CPCI được minh họa ở Hình 2.3 (Lưu ý rằng khối nguồn không được chỉ ra trên Hình 2.3, nhưng phần đó được cung cấp qua đường dẫn PCI, không thể tách bỏ bởi vì đây là phần cứng được cấu hình sẵn, người dùng không thể điều khiển được Kết quả tính toán chỉ ra rằng