Execution Flow (Luồng thực hiện)

Một phần của tài liệu CÁC KĨ THUẬT TỐI ƯU GABased Verification of Network Protocols Performance (Trang 27 - 28)

Trong GARA, mỗi node đều thực hiện cùng một thuật toán độc lập. Hình 9.4 thể hiện mã giả PASCAL của thuật toán. Mỗi packet có các mục như type: kiểu packet,

route: route của packet, và next: node tiếp theo trên route. Các kiểu packet bao gồm DataPacket, DelayRequest và DelayAnswer. Các packet

DelayRequest và DelayAnswer có DelayEntry chứa thông tin độ trễ của các packet.

Khi một packet được tạo tại một node, node xác định một route cho packet dựa trên routing table. Với mỗi packet đến từ node khác, nếu kiểu của packet là DataParket, node đơn giản chuyển tiếp packet nối tiếp đến route. Trạng thái ban đầu, routing table là rỗng. Nếu routing table không chứa một route đến đích cho packet được tạo ra, một route mặc định được tạo ra bằng thuật toán đường đi ngắn nhất Dijkstra và được đưa vào routing table.

Sau khi một số gói tin được gửi theo route, một gói DelayRequest được gửi để quan sát độ trễ thông tin theo route. Nếu gói đến đích, một gói DelayAnswer được gửi lại. Sau khi nhận câu trả lời, độ trễ thông tin của route được tính toán bằng giá trị trung bình của thời gian gửi một gói DelayRequest và nhận lại một gói DelayAnswer.

Sau khi có được độ trễ của một route, giá trị weight của các route được tính toán theo phương trình (9.1). Sau khi ước lượng mỗi weight, genetic operators được gọi để tạo các alternative route trong routing table.

Nếu kích thước của routing table vượt quá giới hạn, chúng ta thực hiện một phép selection để giảm kích thước routing table. Chúng ta có hai loại selection operators: local selection được gọi nếu con số của chuỗi vượt quá giới hạn, và nó xóa route có weight nhỏ

hơn các route khác với cùng một đích; và global selection được gọi khi số lượng đích trong bảng route vượt quá giới hạn, và nó xóa tất cả các route đến cùng một đích có số lượng packet gửi đi nhỏ nhất.

Một phần của tài liệu CÁC KĨ THUẬT TỐI ƯU GABased Verification of Network Protocols Performance (Trang 27 - 28)