4. Cấu trúc nội dung của luận án
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 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.
55
2.7. Hệ thống đo đạc và kết quả đạt đƣợc
Để đo được năng lượng tiết kiệm được của chuyển mạch NetFPGA-1G, khi sử dụng các giải pháp tiết kiệm năng lượng đề xuất. 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ề năng lượng tiết kiệm được. Hệ thống kiểm tra đo đạc năng bao gồm một bộ điều khiển NOX, chuyển mạch OpenFlow đã được thêm vào các khối chức năng mới, và có khả năng nhận bản tin điều khiển OFPT_PORT_MOD, OFPT_SWITCH_MOD. Khối điểu khiển dùng NOX controller 1.0.0 trên máy chạy Ubuntu 10.10. Chuyển mạch OpenFlow được thiết kế lại từ phiên bản 1.0.0.4 trên mạch NetFPGA phiên bản 3.0.1 của Đại học Standford [60]. Một máy phát lưu lượng được sử dụng để đưa dữ liệu vào chuyển mạch. Trong thực tế PC1 trên Hình 2.30, gửi một luồng dữ liệu xấp xỉ 1Gbps, còn PC2 sẽ theo dõi các trạng thái của chuyển mạch. Một máy đo và mạch đo tự động được dùng để đo và tính toán công suất của chuyển mạch trên các điểm kiểm tra nguồn dòng 3.3V, 5V thông qua một mạch mở rộng PCIEXT-64UB [59]. Mô hình hoàn chỉnh của hệ thống kiểm tra được cho trên Hình 2.31.
Khối điều khiển NOX Chuyển mạch OpenFlow PC1 (Phát gói tin) PCIEXT-64UB
(Mạch đo công suất tiêu thụ)
PC2 (Monitor)
Mạch hiển thị công suất
Hình 2.30. Mô hình hệ thống đo đạc và kiểm tra
56
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 với các chế độ quy định trên Bảng 2.9. Kết quả đo đạc này được mô tả Hình 2.32. 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 chuyển mạch (MHz)
Số lần giảm
Công suất tiêu thụ (mW)
Công suất tiết 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
Hình 2.32. Năng lượng của chuyển mạch phụ thuộc tần số
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. Trước tiên, tác giả thiết lập chuyển mạch chạy ở các băng thông 1Gbps, 100Mbps, 10Mbps
11576 10228 9554 9217 9048 8965 8000 8500 9000 9500 10000 10500 11000 11500 12000 125 62.5 31.25 15.625 7.8125 3.90625 C ô n g su ất ( m W) Tần số(MHz)
57
và trạng thái tắt cả 4 cổng. Sau đó đo điện năng tiêu thụ của toàn bộ chuyển mạch OpenFlow tương ứng với các băng thông đã được đề xuất. Kết quả đo được hiển thị trên Bảng 2.10, ta có thể thấy rằng chuyển mạch có thể tiết kiệm năng lượng nhiều nhất khoảng 4W, khi ta đưa băng thông từ 1Gbps xuống còn 100Mbps. Khi ta tiếp tục giảm băng thông xuống 10Mbps không tiết kiệm thêm được nhiều năng lượng.
Bảng 2.10. Thay đổi tốc độ link-rate của cổng Ethernet
Chế độ Băng thông trên 4 cổng
Công suất tiêu thụ của chuyển mạch P(mW)
Công suất tiết kiệm 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
Rõ ràng là cần nhiều năng lượng hơn nếu một cổng Ethernet hoạt động ở trạng thái hiệu suất cao hơn trong bốn chế độ của nó (Idle, 10 Mbps, 100 Mbps và 1Gbps). Tuy nhiên, như thể hiện trong Bảng 2.11, có một sự khác biệt lớn trong tiêu thụ điện năng giữa các chế độ 1Gbps và chế độ 100 Mbps (968 mW), trong khi sự khác biệt trong tiêu thụ năng lượng giữa các chế độ 100 Mbps và 10 Mbps chế độ chỉ chiếm 60 mW.
Bảng 2.11. Năng lượng tiêu thụ trên cổng Ethernet
Chế độ Công suất / 1 cổng (mW)
10 Mbps 52
100 Mbps 112
1 Gbps 1080
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 bộ đ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. Trước tiên, tác giả thiết lập chuyển mạch chạy ở 3 chế độ hoạt động mới đã được đề xuất. Sau đó đo điện năng tiêu thụ của toàn bộ chuyển mạch OpenFlow dựa trên nền tảng Kit NetFPGA.
58
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
Hình 2.33. Năng lượng tiêu thụ của NetFPGA trong các chế độ hoạt động
Kết quả thực nghiệm: theo Hình 2.23 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 như Hình 2.31.
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.
Sau khi xây dựng hệ thống thực nghiệm, 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)
59
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ư Bảng 2.13.
Bảng 2.13. Công suất tiêu thụ trung bình của tại các chế độ
Lưu lượng đầu vào
(Mbps) 0 10 50 100 300 500 700 900 1000
Công suất tại chế độ
Normal(W) 10.92 10.92 10.92 10.92 10.92 10.92 10.92 10.92 10.92 Công suất tại chế độ
High Performance (W)
7.194 7.333 7.417 7.567 7.678 7.728 7.861 7.9 8.056
Công suất tại chế độ
Save Power (W) 7.111 7.278 7.333 7.5 7.583 7.639 7.722 7.806 7.889
Hình 2.35. Đồ thị công suất tiêu thụ của chuyển mạch tại các chế độ
Dựa vào Bảng 2.13 và đồ thị Hình 2.35 ta thấy công suất tiêu thụ của chế độ bình thường không đổi theo lưu lượng đầu vào, khoảng 11W. Còn công suất tiêu thụ trung bình của các
0 200 400 600 800 1000 1200 0 10 20 30 40 50 60 70 Lư u lư ợn g (M b p s) Th i gian (phút)
60
chế độ tiết kiệm năng lượng tỉ lệ với mức lưu lượng đầu vào. Công suất tiêu thụ ở chế độ Save Power là nhỏ hơn chế độ High Performance. Khi không có lưu lượng đi vào chuyển mạch thì công suất tiêu thụ là nhỏ nhất, khoảng 7.1W (tiết kiệm được khoảng 35%).
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 như Hình 2.36, Hình 2.37, Hình 2.38.
Hình 2.36. Lưu lượng đầu vào số 1
Hình 2.37. Lưu lượng đầu vào số 2
Hình 2.38. Lưu lượng đầu vào số 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
0 200 400 600 800 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Lư u lư ợn g (M b p s) Th i gian (phút) 0 200 400 600 800 1000 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Lư u lư ợn g (M b p s) Th i gian (phút) 0 100 200 300 400 500 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Lư u lư ợn g (M b p s) Th i gian (phút)
61
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 1 ph t
Đặc tính Năng lượng tiêu thụ tại các chế độ ( ) Năng lượng tiết kiệm (%) Chế độ Normal Chế độ High Performance Chế độ Save power 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%
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
Ta định nghĩa một số khái niệm sau:
Ta (k) là thời gian đến (arrival time ) của gói tin thứ k. Thời gian đến của một gói tin là thời gian mà bit cuối cùng của gói tin đó đến hàng đợi đầu vào (RX Queue).
Td (k) là thời gian đi (Departed time) của gói tin thứ k. Thời gian đi của một gói tin là thời gian mà bit cuối cùng của gói tin đó đến hàng đợi đầu ra (TX Queue).
L (k) là chiều dài của gói tin thứ k.
C là tốc độ truyền (link rate)
Khi đó, thời gian xử lý (processing time) của gói tin thứ k trong hệ thống được tính theo công thức sau:
Tprocess (k) = Td (k) – Ta (k) (2.4) Thời gian trống giữa các gói tin được gọi là interpacket gap (IPG). Đối với gói tin thứ k, interpacket gap (IPG) là khoảng cách từ thời gian bít cuối cùng của gói tin thứ k vào hàng đợi đầu ra (output queue) đến thời gian bít đầu tiên của gói tin thứ k+1 vào hàng đợi đầu vào (input queue). Do đó, interpacket gap (IPG) giữa gói tin thứ k và k+1 được tính theo công thức sau:
62
Từ đó ta thấy, nếu thời gian trống giữa các gói tin TIPG (k) lớn hơn thời gian xử lý Tprocess (k) thì chuyển mạch của chúng tác giả sẽ sleep để tiết kiệm năng lượng. Theo đánh giá chung thì thời gian này nhỏ nhất chỉ cỡ μs. Điều này mang lại hiệu quả rất cao trong việc tiết kiệm năng lượng.
Đánh giá thời gian trễ
Chế độ High Performance
Ở chế độ này, ta cấu hình cho số lượng gói tin trong hàng đợi lớn nhất Max Packet Number = 1, tức là khi chuyển mạch nhận đủ 1 gói tin trong hàng đợi thì hệ thống sẽ bật và hoạt động bình thường. Khoảng thời gian hệ thống bật chỉ mất khoảng 3-4 chu kì clock, tức là khoảng 24ns – 32ns. Do đó chuyển mạch hoạt động ở chế độ High Performance có thời gian trễ bằng thời gian hệ thống bật, khoảng 24ns – 32ns. Mặt khác, khi gói tin trong mạng có kích thước khoảng 1000 bytes. Một chu kì chuyển mạch sẽ nhận 8 bit (1 byte) vào hàng đợi, nên với gói tin có kích thước là 1000 bytes sẽ có thời gian trễ hàng đợi là 1000 chu kỳ. Từ đó, ta thấy được thời gian trễ của chuyển mạch khi bật là không đáng kể so với trễ hàng đợi.
Chế độ Save Power
Ở chế độ này khi ta cấu hình các giá trị kích thước hàng đợi lớn nhất và số gói tin lớn nhất trong hàng đợi là lớn nhất có thể: Max Queue Length: 5120 bytes, Max Number packet: 127 gói tin. Thời gian Wait Timeout được cấu hình bằng 12500000 clock = 100ms. Khi số gói tin đi vào hàng đợi vượt ngưỡng Max Queue Length hoặc Max Number packet hoặc Wait Timeout thì chuyển mạch sẽ bật về chế độ hoạt động bình thường. Tại chế độ này, trễ lớn nhất có thể bằng tổng thời gian chờ wait timeout và thời gian xử lý gói tin của chuyển mạch.
T delay = T wait timeout + T process (2.6)
Trong trường hợp này, ta có thể giảm thời gian chờ wait timeout cho phù hợp với chất lượng dịch vụ yêu cầu.
Đánh giá mất gói tin
Chế độ High Performance
Ở chế độ này, ta cấu hình cho số lượng gói tin trong hàng đợi lớn nhất Max Packet Number = 1, tức là khi chuyển mạch nhận đủ 1 gói tin trong hàng đợi thì hệ thống sẽ bật và hoạt động bình thường. Mặt khác, gói tin lớn nhất có thể bằng Maximum Transmission Unit (MTU) - 1500 bytes, trong khi kích thước hàng đợi bằng 8192 bytes. Do vậy, ở chế độ này sẽ không xảy ra hiện tượng tràn hàng đợi nên không làm mất gói tin.
63 Chế độ Save Power
Ở chế độ này khi ta cấu hình các giá trị Max Queue Length: 5120 bytes, Max Number packet: 127 gói tin, thời gian Wait Timeout là 12500000 clock = 100ms. Khi số gói tin đi vào hàng đợi vượt ngưỡng Max Queue Length hoặc Max Number packet hoặc Wait Timeout thì chuyển mạch sẽ bật về chế độ hoạt động bình thường. Mặt khác, khi kích thước lớn nhất hàng đợi của chuyển mạch NetFPGA-1G bằng 8192 bytes lớn hơn giá trị
Max Queue Length. Do vậy, ở chế độ này cũng sẽ không xảy ra hiện tượng tràn hàng đợi
nên không làm mất gói tin.
Tổng kết đánh giá 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 hợp kết quả đo của các giải pháp đề xuất
Qua các kết quả đo công suất tiêu thụ của chuyển mạch với các giải pháp tiết kiệm năng lượng đã đề xuất, đặc tính công suất tiêu thụ của Kit NetFPGA được tổng hợp trong Bảng 2.16.
Bảng 2.16. Đặc tính chi tiết về công suất tiêu thụ của Kit NetFPGA-1G
Mô-đun Cấu h nh Công suất (mW)
Công suất tĩnh 4496 FPGA 125 MHz 2694 62.5 MHz 1394 32.125 MHz 675 15.625 MHz 337 7.8125 MHz 166 3.90625 MHz 81 Ethernet 10 Mbps 52 100 Mbps 112 1Gbps 1080
64
2.9. 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 đó là :
Công trình của Meng và cộng sự [63] đề xuất các tiếp cận mà chỉ điều khiển tần số
của vài khối trên chip FPGA. Trong chương này, tác giả đã đề xuất giải pháp thay