Biểu ñồ thể hiện thời gian tính tốn topo của các thuật toán

Một phần của tài liệu Trung tâm dữ liệu xanh tiết kiệm năng lượng và cân đối với đảm bảo chất lượng dịch vụ (Trang 38 - 48)

Tính tốn link:

ðầu tiên tính là số link tối thiểu cần active trong pod p ñể ñáp ứng lưu lượng ñi lên từ edge→agg:

Trong ñó là tập các agg switch trong pod p, F(e→a) là luồng traffic từ edge switch e tới agg switch a, và r là tốc ñộ link, tổng số traffic lên của e chia cho tốc ñộ link bằng với số link nhỏ nhất từ e cần có để đáp ứng băng thơng đi lên. Tương tự tính là số link cần active ñể ñáp ứng lưu lượng ñi xuống từ agg→edge:

Gía trị lớn nhất trong hai giá trị trên là là số link tối thiểu cho edge switch e trong pod p:

Bây giờ tính tốn số link cần active từ mỗi pod đến core. là số link nhỏ nhất ñáp ứng ñược lưu lượng ñi lên từ mỗi pod ñến core (agg→core):

Sau đó tính số link ñáp ứng traffic ñi xuống từ core→agg trong pod p:

Tương tự ta có giá trị max trong hai giá trị trên chính là số liên kết ñi lên core cho pod p:

Tính số switch:

Số switch phụ thuộc vào số link đã tính tốn ở trên, mỗi một link ñã active cần liên kết với một switch. Trước tiên tính tốn là số agg switch tối thiểu ñáp ứng cho lưu lượng ñi lên từ edge→agg trong pod p:

Tiếp theo là số agg switch tối thiểu ñể ñáp ứng lưu lượng ñi xuống từ (core→agg) trong pod p:

Với C là tập các core switch, k là cấp ñộ của switch (hay số port của switch). Số liên kết tới core trong pod p bị chia bởi số link up trong agg switch bằng với số

lượng agg switch yêu cầu ñáp ứng ñủ băng thơng từ các core switch. Gía trị tối đa trong hai giá trị trên là số agg switch cần có trong pod:

Cuối cùng lưu lượng giữa core và pod active nhất sẽ cho biết số core switch cần có Ncore để đáp ứng được lưu lượng yêu cầu:

Các tính tốn ở trên cho biết ñược số agg switch và core switch tối thiểu cần phải active để đáp ứng lưu lượng trong mạng, cịn số link liên kết ta có thể nối tùy ý và có thể nối hơn số link đã tính tốn ở trên do năng lượng tiêu thụ trên link bé hơn rất nhiều trên switch.

Tải lưu lượng tổng cộng chảy trong mạng được tính theo cơng thức:

Trong đó là lưu lượng chảy từ host i tới host j ( < băng thông lớn nhất của link). Nếu như lưu lượng tổng cộng u trong mạng càng nhỏ thì khả năng tiết kiệm năng lượng của mạng càng lớn.

2.3.2 Thuật toán Link State Adaptive (LSA)[12]

Trong phương pháp này, bộ điều khiển cơng suất các thiết bị mạng sử dụng thông tin về lưu lượng của mỗi link và thay ñổi trạng thái hoạt ñộng của link theo lưu lượng ñang chạy qua link đó. Một link có 4 trạng thái hoạt động là: tắt, 10Mbps, 100Mbps và 1Gbps. Các trạng thái này ñảm bảo lưu lượng ñi qua ñược xử lý ở tốc độ hoạt động thích hợp nhất của link để giảm cơng suất tiêu thụ của port. Ví dụ, lưu lượng 90Mbps sẽ được xử lý bởi link có tốc ñộ hoạt ñộng 100Mbps. Tuy nhiên, nếu ñơn thuần chỉ thay đổi trạng thái link theo tải đặt vào nó, hiệu năng và ñộ tin cậy sẽ khơng đảm bảo. ðể khắc phục nhược điểm này, có thể đặt một mức ngưỡng chuyển trạng thái link. Ví dụ, ln đảm bảo lưu lượng đi qua khơng vượt q một ngưỡng nào đó, chẳng hạn 70% trạng thái link hiện tại. Tức là lưu lượng nhỏ hơn 70Mbps

sẽ ñược phục vụ bởi link 100Mbps, tuy nhiên khi lưu lượng vượt quá 70Mbps ta sẽ dùng link 1Gbps. Ngoài ra, cũng với mục đích cải thiện hiệu năng và tính tin cậy, chống lỗi, ta ln đảm bảo có một đường dư thừa (chỉ ñặt ở 10Mbps) ñể xử lý lưu lượng tăng ñột biến. Bằng cách thay ñổi trạng thái link, ta ñã gián tiếp giảm năng lượng tiêu thụ cho mỗi switch nối với link đó do mỗi link ñều nối với 2 port, thay ñổi trạng thái link chính là thay đổi tốc độ hoạt động của port.

2.3.3 Thuật toán RA-TAH (Rata Adaptive Topology-Aware Heuristic)[15]

Thuật toán RA-TAH là thuật toán dựa trên cơ sở TAH với hai phần mở rộng ñáng kể. ðầu tiên, trái ngược với TAH, RA-TAH ñược phát triển vì nó có thể lựa chọn các phần tử mạng ngay để tránh tình trạng quá tải. Thứ hai, RA-TAH kết hợp việc mở rộng cơng suất để nâng cao mức tiết kiệm năng lượng của các mạng trung tâm dữ liệu. Mơ hình phân tích cho thấy rằng bằng cách kết hợp ngủ thông minh với việc hiệu chỉnh linh ñộng năng lượng (Power scaling), hiệu suất năng lượng của mạng ñược cải thiện trong cả hai kịch bản sử dụng thấp và cao. Ngủ thơng minh (Smart sleeping) có hiệu lực khi lưu lượng sử dụng của mạng trung tâm dữ liệu là thấp, do đó có nhiều hơn các switch hoặc link có thể được tắt. Mặt khác, việc hiệu chỉnh linh ñộng năng lượng (Power scaling) hiệu quả hơn trong trường hợp lưu lượng sử dụng cao, nơi các thiết bị mạng ít hơn có thể được đặt vào chế ñộ nhàn rỗi. Trong trường hợp này bộ tối ưu sử dụng việc hiệu chỉnh linh ñộng năng lượng để thích nghi với dung lượng đường truyền đến lưu lượng mạng sử dụng thực tế. Cần lưu ý rằng, chúng ta nhúng thang tần số xung nhịp vào router OpenFlow NetFPGA tốc độ gigabit, do đó 4 cổng của router NetFPGA có thể được chuyển mạch duy nhất tới một trong số 4 trạng thái sau: S0: port tắt hoàn toàn, và S10, S100 và S 1000 tương ứng R10 = 10Mbps, R100 = 100Mbps và R1000 =1Gbps. Hình vẽ dưới đây minh họa sơ đồ của RA-TAH. ðể cải thiện độ tin cậy của thuật tốn và giảm thiểu khả năng mất gói do sự tràn bộ nhớ ñệm, ñịnh nghĩa việc sử dụng ngưỡng . Nếu hiệu suất của một link vượt quá , link khác trên switch tương tự sẽ ñược bật ñể cân bằng tải. Trong luận văn thiết lập ngưỡng .

Hình 2.4: Thuật tốn RA-TAH (Rate-Adaptive Topology-Aware Heuristic)

Thuật tốn này mơ tả thủ tục lựa chọn các switch active và di chuyển các luồng active tới các switch active nếu cần. Nó là thao tác phức tạp nhất của thuật toán RA-TAH. Trong thuật toán, list_on_switches là danh sách bao gồm tất cả các switch active, là ngưỡng trên ñể bật các switch mới ñể cân bằng tải; total_flow là tổng số các luồng khác nhau mà ñi tới current_switch; is_same_Pod() là hàm mà kiểm tra nếu hai switch là trên cùng một POD; hàm add_new_switch() chọn một

switch và thêm nó để tạo một ñường ñi mới từ host nguồn tới host đích; hàm

modify_old_flow() thực hiện ñịnh tuyến cân bằng tải.

Cho k là số POD trong một trung tâm dữ liệu, chúng ta có thể tính tốn giới hạn trên U trên thời gian chạy của thuật toán này sử dụng kí hiệu O lớn. Như có thể thấy trong thuật toán, sự phức tạp của thuật toán, bao gồm việc tối ưu hóa và định tuyến, phụ thuộc vào hai vịng chính. Danh sách các switch có các phần tử tối đa là . Một Switch có khoảng 10.000 luồng/s, vì thế thời gian tính tốn của hàm get_current_switch_info() là một số tĩnh. Giới hạn của list_outport là k, vì vậy trong vịng lặp này hàm get_flow_match() có thời gian tính tốn dài nhất, tuy nhiên nó chỉ phức tạp về O(k). Tổng cộng có nhiều hơn lần mà được tính

2.3.4 Xây dựng khối tối ưu

Trong phần này sẽ trình bày về cách thực hiện khối tối ưu bằng việc kết hợp hai thuật toán Topo –Aware Heuristic và thuật tốn Link State Adaptive để đưa ra một thuật tốn RA-TAH nhưng nó cải tiến hơn TAH ở chỗ ngoài việc bật tắt các link và switch khơng cần dùng. Các link được bật ở chế độ băng thơng thích hợp nhất (10Mbps, 100Mbps, 1Gbps).

Khối tối ưu được lập trình như một phần tử POX sử dụng ngôn ngữ lập trình Python.

• Sau mỗi khoảng thời gian xác ñịnh, khối này sẽ thu thập thông tin về số packets, số bytes ở tất cả các port của tất cả các switch trong mạng trung tâm dữ liệu

• Dựa vào thơng tin thu thập được ở trên, khối tối ưu sẽ tính tốn ra đồ hình tối ưu cho mạng ñể thỏa mãn nhu cầu tải tại một thời điểm. ðể đề phịng xảy ra các q trình tăng lên đột ngột của lưu lượng, nhóm nghiên cứu ñã sử dụng mức ngưỡng của các ñường liên kết là 70% dung lượng ñường lên lớn nhất (ñây là con số kinh nghiệm do nhiều nhà nghiên cứu đề xuất) và trong mơi trường thử nghiệm tác giả cũng lựa chọn mức ngưỡng cho mỗi trạng thái của ñường liên kết là 0.7 tức là khi lưu lượng ñạt ñến mức 0.7 tối ña của các trạng thái đường liên kết thì trong thuật tốn coi như liên kết ñã ñầy ứng với 3 mức trạng thái và tiến hành thay ñổi trạng thái liên kết hoặc bật đường liên kết mới. Ví dụ cụ thể như sau:

Nếu lưu lượng ở mức 6Mbps link được cấu hình ở mức 10Mbps

Nếu lưu lượng ở mức 20Mbps link sẽ ñược cấu hình ở mức 100Mbps

Nếu lưu lượng ở mức 90Mbps link thì sẽ được cấu hình ở mức 1Gbps

Nếu lưu lượng vượt mức 800Mbps thì sẽ vượt ngưỡng dung lượng link tối ña (max=700Mbps) một link mới sẽ ñược bật lên.

Sơ ñồ thực hiện khối tối ưu ñược thực hiện như hình 3.4 trình bày ở trên và sau khi thực hiện tính tốn tiết kiệm năng lượng nó sẽ thực hiện tạo GUI.

2.3.5 Mơ hình đánh giá lưu lượng trong trung tâm dữ liệu

ðể biết ñược khả năng tiết kiệm năng lượng của hệ thống phải có một chuẩn cụ thể ñưa ra ñể ñánh giá. Hiện tại tác giả mới chỉ ñánh giá tiết kiệm năng lượng dựa trên các thiết bị mạng là switch và tốc ñộ link. Với giả thiết năng lượng tiêu thụ của switch như bảng sau, trong đó các hệ số α, β, γ sẽ ñược ñịnh lượng như sau:

Bảng 2.3: Các giả thiết năng lượng tiêu thụ

Thiết bị mạng Năng lượng tiêu thụ (Watt)

Switch ở trạng thái hoạt động khơng có lưu lượng chạy qua

P

Năng lượng tiêu thụ bởi mỗi Port khi tốc ñộ link là 10Mbps

αP Năng lượng tiêu thụ bởi mỗi Port khi tốc ñộ link 100Mbps

βP Năng lượng tiêu thụ bởi mỗi Port khi tốc ñộ link 1Gbps

γP

Năng lượng tiết kiệm được trong mạng được tính như sau:

Ta thấy rằng mỗi một link tắt trong mạng các switch liên kết với 2 port nên phần trăm năng lượng tiết kiệm khi tắt bật các thiết bị trong mạng sẽ được tính như sau:

Rút gọn P ta ñược:

Với đồ hình Fat-Tree xây dựng từ các switch k-ports, có tổng cộng 5k2/4 switch, có tổng cộng 5k3/4 port và có tổng cộng k3/2 link liên kết mạng giữa các switch. ðồng thời ta thấy rằng chỉ có thể tắt các switch agg hoặc core do đó 1 switch tắt tương ứng với k link tắt theo do đó:

Với k=4 ta có:

Theo một số nghiên cứu đo đạc thực tế về mơ hình tiêu thụ của switch ta có

Mức năng lượng tiêu thụ (%) của mạng bằng C=100-S.

ðây là mơ hình đánh giá năng lượng tiết kiệm ở mức lý thuyết và chỉ tính tốn đến việc tiết kiệm của riêng thiết bị mạng mà chưa tính tới các thiết bị thành phần đi kèm với thiết bị mạng. Trong thực tế ñể tránh sự cố xảy ra trong mạng thì ln phải thêm vào mạng một số thiết bị thay thế luôn ở trạng thái sẵn sàng, nếu các

thiết bị mạng chính đang hoạt ñộng xảy ra sự cố các thiết bị thay thế sẽ tiếp nhận ñược ngay các nhiệm vụ ñang dở dang của các thiết bị chính. Khi đó mơ hình đánh giá khả năng tiết kiệm năng lượng của mạng sẽ phải thay ñổi nhiều.

2.4 Bộ ñịnh tuyến [5]

Thuật tốn định tuyến mà nhóm nghiên cứu OpenFlow đã sử dụng là thuật tốn định tuyến cân bằng tải phân cấp Hierachical Load-Balancing Routing

Algorithm. Thuật tốn này sẽ tính tốn đường đi cho tất cả các gói tin của cùng một

luồng đi từ một cặp nguồn đích theo một ñường duy nhất. ðường ñi tối ưu ñược chọn là đường đi có giá nhỏ nhất theo tiêu chí đường đi có tải nhỏ nhất. Với tiêu chí này tải của tồn mạng sẽ phân phối đều trên tất cả các link của đồ hình sau khi đã tối ưu, việc này tránh sự dồn tải quá nặng lên một số link trong khi các link khác vẫn ñang rảnh rỗi. ðiều này cũng sẽ ñảm bảo chất lượng QoS cho trung tâm dữ liệu, không xảy ra mất gói nhiều do định tuyến chung đường hay q tải mạng trên mức ngưỡng của link cho phép.

2.5 Bộ phát lưu lượng [5]

Như đã trình bày ở chương 1, phân bố lưu lượng tập trung chủ yếu trong các trung tâm dữ liệu là phân bố Lognormal, ngồi ra cịn một số thống kê cho các trung tâm dữ liệu vừa và nhỏ như sau:

- Lưu lượng của ứng dụng không chạy qua đều giữa các rack

- Kích thước các flow trong trung tâm dữ liệu <10KB , phần lớn trong số flow đó chỉ kéo dài trong khoảng vài trăm minisecond, số luồng ñang hoạt ñộng trong mỗi giây chảy qua 1 switch là khoảng từ 10 ñến 100 luồng.

- Khả năng sử dụng link ở tầng core ñạt hiệu quả cao hơn các tầng dưới. - Có độ mất mát xảy ra trong các trung tâm dữ liệu, nhưng sự mất mát này

không xảy ra ở các link có hiệu suất cao mà xảy ra trong các link có hiệu năng sử dụng trung bình thấp có nghĩa sự thay đổi lưu lượng đột ngột dễ gây ra sự mất mát.

Do sự hạn chế của các công cụ mô phỏng nên tác giả khơng thể xây dựng được mơ hình lưu lượng đúng như một trung tâm dữ liệu thực. Nhằm kiểm tra sự chính xác các thuật toán của các Module Optimizer và Routing, ñồng thời ñưa ra ñánh giá một cách định tính mối quan hệ tương quan giữa các tham số QoS với mức ngưỡng của link, tác giả ñề xuất 4 mơ hình lưu lượng như sau:

- Mơ hình Near Trafic: Các máy chủ tiến hành gửi lưu lượng cho các máy chủ khác có cùng kết nối đến một edge switch chung.

Hình 2.5: Near Traffic- Lưu lượng chảy qua duy nhất một switch[12]

- Mô hình Middle traffic: Các máy chủ tiến hành gửi lưu lượng cho các server khác ở cùng một POD.

- Mơ hình Far Traffic: Các máy chủ (server) gửi lưu lượng ra các server trong tồn mạng.

Hình 2.7: Far traffic – Lưu lượng chảy giữa hai pod khác nhau[12]

- Mơ hình Mix Traffic:

Một phần của tài liệu Trung tâm dữ liệu xanh tiết kiệm năng lượng và cân đối với đảm bảo chất lượng dịch vụ (Trang 38 - 48)

Tải bản đầy đủ (PDF)

(59 trang)