Luận án tiến sĩ máy tính nghiên cứu cải tiến cơ chế điều khiển tại các nút mạng

156 0 0
Luận án tiến sĩ máy tính  nghiên cứu cải tiến cơ chế điều khiển tại các nút mạng

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

ĐẠI HỌC HUẾ TRƯỜNG ĐẠI HỌC KHOA HỌC NGUYỄN KIM QUỐC NGHIÊN CỨU CẢI TIẾN CƠ CHẾ ĐIỀU KHIỂN TẠI CÁC NÚT MẠNG LUẬN ÁN TIẾN SĨ MÁY TÍNH HUẾ - 2015 ĐẠI HỌC HUẾ TRƯỜNG ĐẠI HỌC KHOA HỌC NGUYỄN KIM QUỐC NGHIÊN CỨU CẢI TIẾN CƠ CHẾ ĐIỀU KHIỂN TẠI CÁC NÚT MẠNG CHUYÊN NGÀNH: KHOA HỌC MÁY TÍNH MÃ SỐ: 62.48.01.01 LUẬN ÁN TIẾN SĨ MÁY TÍNH NGƯỜI HƯỚNG DẪN KHOA HỌC: GS TS NGUYỄN THÚC HẢI PGS TS VÕ THANH TÚ HUẾ - 2015 LỜI CAM ĐOAN Tôi xin cam đoan luận án cơng trình nghiên cứu khoa học tơi khơng trùng lặp với cơng trình khoa học khác Các số liệu trình bày luận án kiểm tra kỹ phản ánh hoàn toàn trung thực Các kết nghiên cứu tác giả đề xuất chưa công bố tạp chí đến thời điểm ngồi cơng trình tác giả Tp Huế, ngày tháng 10 năm 2015 Tác giả luận án Nguyễn Kim Quốc i LỜI CÁM ƠN Trước hết, từ tận đáy lịng, tơi xin bày tỏ lòng tri ân sâu sắc đến Giáo sư, Tiến sĩ Nguyễn Thúc Hải - Viện công nghệ thông tin – Trường Đại học Bách Khoa Hà Nội Phó giáo sư, Tiến sĩ Võ Thanh Tú – Khoa công nghệ thông tin - Đại học Khoa học tận tình hướng dẫn, tạo điều kiện thuận lợi nhất, giúp tơi thực hồn thành luận án Tôi xin gửi lời cảm ơn chân thành tới Ban giám đốc Đại học Huế, Ban giám hiệu Trường Đại học Khoa học Ban lãnh đạo Trường Đại học Nguyễn Tất Thành chia sẻ, động viên tơi vượt qua khó khăn để hồn thành cơng việc nghiên cứu Tơi xin trân trọng, biết ơn sâu sắc Quý Thầy Cô Khoa công nghệ thông tin - Đại học Khoa học tận tâm dạy tạo điều kiện giúp đỡ suốt thời gian tham gia học tập nghiên cứu khoa học Khoa Tôi xin chân thành cảm ơn nhà khoa học phản biện, đóng góp nhiều ý kiến xây dựng trao đổi vấn đề lý thuyết thực tiễn để luận án hồn thiện Cuối cùng, tơi xin bày tỏ lời cảm ơn đến vợ ln chia sẻ, gánh đỡ khó khăn dành tình cảm, động viên tinh thần khơng thể thiếu tơi suốt q trình thực luận án Tp Huế, ngày tháng 10 năm 2015 Tác giả luận án Nguyễn Kim Quốc ii MỤC LỤC LỜI CAM ĐOAN i LỜI CÁM ƠN ii MỤC LỤC iii DANH MỤC KÝ HIỆU VÀ VIẾT TẮT ix DANH MỤC HÌNH ẢNH VÀ ĐỒ THỊ xii DANH MỤC BẢNG BIỂU xv MỞ ĐẦU .1 CHƯƠNG KIỂM SOÁT TẮC NGHẼN TRONG MẠNG TCP/IP DỰA TRÊN QUẢN LÝ HÀNG ĐỢI TÍCH CỰC TẠI NÚT MẠNG 1.1 Kiểm soát tắc nghẽn mạng TCP/IP 1.1.1 Mơ hình hoạt động TCP/IP 10 1.1.1.1 Mơ hình truyền thông mạng TCP/IP 10 1.1.1.2 Mơ hình tốn học TCP/IP 11 1.1.2 Tắc nghẽn mạng TCP/IP 12 1.1.2.1 Nguyên nhân tắc nghẽn 13 1.1.2.2 Nguyên lý kiểm soát tắc nghẽn 14 1.1.2.3 Kỹ thuật kiểm soát tắc nghẽn .14 1.1.3 Kiểm soát tắc nghẽn giao thức TCP 15 1.1.4 Kiểm soát tắc nghẽn quản lý hàng đợi 18 1.1.5 Quản lý hàng đợi tích cực 19 1.1.5.1 Kiến trúc nút mạng .19 1.1.5.2 Kiểm soát tắc nghẽn quản lý hàng đợi tích cực 20 1.1.5.3 Ưu điểm quản lý hàng đợi tích cực .21 1.1.6 Kỹ thuật thông báo tắc nghẽn rõ ràng 22 1.2 Phân tích đánh giá chế quản lý hàng đợi tích cực 23 iii 1.2.1 Cơ chế quản lý dựa chiều dài hàng đợi 24 1.2.1.1 Cơ chế RED 24 1.2.1.2 Cơ chế FRED .26 1.2.2 Cơ chế quản lý dựa tải nạp 27 1.2.2.1 Cơ chế BLUE .27 1.2.2.2 Cơ chế SFB 28 1.2.3 Cơ chế quản lý dựa chiều dài hàng đợi tải nạp 30 1.2.3.1 Cơ chế REM 30 1.2.3.2 Cơ chế GREEN 32 1.2.4 Đánh giá hiệu phân lớp ứng dụng chế AQM 33 1.2.4.1 Đánh giá hiệu chế AQM .33 1.2.4.2 Phân lớp ứng dụng chế AQM 33 1.3 Tình hình ứng dụng logic mờ quản lý hàng đợi tích cực 34 1.3.1 Các chế dùng logic mờ cải tiến RED 34 1.3.1.1 Cơ chế FEM 34 1.3.1.2 Cơ chế FCRED 35 1.3.2 Các chế dùng logic mờ cải tiến BLUE 35 1.3.2.1 Cơ chế FUZZY BLUE 35 1.3.2.2 Cơ chế DEEP BLUE 36 1.3.3 Các chế dùng logic mờ cải tiến REM 36 1.3.3.1 Cơ chế FREM 36 1.3.3.2 Cơ chế FUZREM 36 1.3.4 Cải tiến chế quản lý hàng đợi dùng điều khiển mờ 36 1.3.4.1 Cải tiến chế BLUE 37 1.3.4.2 Cải tiến chế SFB 37 1.4 Một số tồn chế quản lý hàng đợi tích cực 38 iv 1.5 Kết luận chương 39 CHƯƠNG CẢI TIẾN CƠ CHẾ QUẢN LÝ HÀNG ĐỢI TÍCH CỰC DỰA TRÊN ĐIỀU KHIỂN MỜ THÍCH NGHI 40 2.1 Cơ sở toán học logic mờ 40 2.1.1 Tập mờ 40 2.1.2 Các dạng hàm thuộc tập mờ 41 2.1.3 Các thông số đặc trưng cho tập mờ 42 2.1.4 Các phép toán tập mờ 43 2.1.5 Luật hợp thành mờ 44 2.1.6 Giải mờ 46 2.1.7 Điều khiển mờ 47 2.1.7.1 Mơ hình điều khiển mờ 47 2.1.7.2 Hệ mờ Mamdani 48 2.1.7.3 Hệ mờ Sugeno 49 2.2 Phân tích chế AQM sử dụng logic mờ 49 2.2.1 Phân tích chế FEM 49 2.2.2 Phân tích chế FUZREM 52 2.2.3 Một số vấn đề tồn chế AQM dùng điều khiển mờ 54 2.3 Xây dựng mơ hình điều khiển mờ thích nghi AFC cải tiến AQM 55 2.3.1 Đề xuất điều khiển mờ thích nghi AFC cải tiến AQM 55 2.3.1.1 Mơ hình điều khiển mờ thích nghi AFC 55 2.3.1.2 Hoạt động điều khiển mờ thích nghi AFC .56 2.3.2 Xác định biến đầu vào đầu cho AFC 57 2.3.3 Xây dựng điều khiển mờ cho AFC 57 2.3.3.1 Hệ số đầu vào .57 2.3.3.2 Mờ hóa đầu vào 57 v 2.3.3.3 Hệ luật sở suy diễn mờ 58 2.3.3.4 Giải mờ đầu 58 2.3.4 Xây dựng mơ hình mẫu cho AFC 59 2.3.5 Xây dựng chế thích nghi cho AFC 59 2.4 Cải tiến chế RED điều khiển mờ thích nghi AFC 60 2.4.1 Mờ hóa biến đầu vào FLRED 61 2.4.2 Mờ hóa biến đầu FLRED 63 2.4.3 Xây dựng luật sở suy diễn mờ cho FLRED 63 2.4.4 Mặt cong suy diễn FLRED 65 2.4.5 Minh họa tính tốn đầu hệ thống mờ FLRED 65 2.5 Cải tiến chế REM điều khiển mờ thích nghi AFC 67 2.5.1 Mờ hóa biến đầu vào FLREM 67 2.5.2 Mờ hóa biến đầu FLREM 69 2.5.3 Xây dựng luật suy diễn cho FLREM 70 2.5.4 Mặt cong suy diễn FLREM 72 2.6 Mô đánh giá hiệu chế FLRED FLREM 73 2.6.1 Cài đặt mô chế FLRED FLREM 73 2.6.1.1 Cài đặt chương trình cho chế FLRED FLREM 73 2.6.1.2 Qui trình mơ đánh giá chế AQM 73 2.6.1.3 Các tiêu chí đánh giá hiệu chế AQM .74 2.6.2 Đánh giá độ ổn định chế FLRED FLREM 75 2.6.2.1 Mơ hình mạng đơn máy nhận 75 2.6.2.2 Kiểm soát hàng đợi chế FLRED FLREM .76 2.6.2.3 Khả đáp ứng chế FLRED FLREM .78 2.6.3 Đánh giá hiệu chế FLRED FLREM 80 2.6.3.1 Mơ hình mạng đa máy nhận .80 vi 2.6.3.2 Đánh giá tỉ lệ gói tin chế FLRED FLREM 82 2.6.3.3 Đánh giá mức độ sử dụng đường truyền chế FLRED FLREM 83 2.7 Kết luận chương 84 CHƯƠNG TÍCH HỢP LẬP LUẬN MỜ VỚI MẠNG NƠ-RON NÂNG CAO HIỆU NĂNG QUẢN LÝ HÀNG ĐỢI TÍCH CỰC 85 3.1 Tổng quan mạng nơ-ron nhân tạo 85 3.1.1 Đơn vị xử lý (nơ-ron) 86 3.1.1.1 Liên kết mạng nơ-ron 86 3.1.1.2 Quá trình học mạng nơ-ron 87 3.1.2 Mạng nơ-ron truyền thẳng lớp 88 3.1.2.1 Mạng Perceptron lớp 88 3.1.2.2 Quá trình học mạng nơ-ron truyền thẳng lớp .89 3.1.3 Mạng nơ-ron truyền thẳng nhiều lớp 89 3.1.3.1 Thuật toán học lan truyền ngược 89 3.1.3.2 Huấn luyện mạng theo thuật toán lan truyền ngược 91 3.2 Kết hợp điều khiển mờ với mạng nơ-ron 92 3.2.1 Nền tảng kết hợp 92 3.2.2 Các mơ hình kết hợp 93 3.3 Xây dựng mơ hình mạng nơ-ron mờ FNN cải tiến AQM 94 3.3.1 Đề xuất điều khiển mạng nơ-ron mờ FNN cải tiến AQM 94 3.3.1.1 Mơ hình mạng nơ-ron mờ FNN 94 3.3.1.2 Hoạt động điều khiển nơ-ron mờ FNN 95 3.3.2 Xây dựng điều khiển nơ-ron mờ FNN 95 3.3.2.1 Tạo nơ-ron mờ cho FNN 95 3.3.2.2 Xây dựng mạng nơ-ron mờ FNN 96 3.3.2.3 Huấn luyện mạng nơ-ron mờ FNN 97 vii 3.3.2.4 Chỉnh định tham số hàm thuộc AFC .98 3.3.3 Thuật toán lan truyền ngược cải tiến IBP 98 3.3.3.1 Chuẩn hóa số liệu đầu vào .99 3.3.3.2 Bổ sung hệ số quán tính .99 3.3.3.3 Điều chỉnh tốc độ học 100 3.3.3.4 Thuật toán lan truyền ngược cải tiến 100 3.4 Xây dựng chế quản lý hàng đợi tích cực FNNRED 101 3.4.1 Cài đặt chế FNNRED 101 3.4.2 Huấn luyện mạng FNN FNNRED 102 3.4.3 Kết huấn luyện FNN FNNRED 102 3.5 Xây dựng chế quản lý hàng đợi tích cực FNNREM 104 3.5.1 Cài đặt chế FNNREM 104 3.5.2 Huấn luyện mạng FNN FNNREM 105 3.5.3 Kết huấn luyện FNN FNNREM 105 3.6 Mô đánh giá hiệu chế FNNRED FNNREM 107 3.6.1 Đánh giá độ ổn định chế FNNRED FNNREM 107 3.6.1.1 Kiểm soát hàng đợi chế FNNRED FNNREM 107 3.6.1.2 Khả đáp ứng chế FNNRED FNNREM .109 3.6.2 Đánh giá hiệu chế FNNRED FNNREM 112 3.6.2.1 Đánh giá tỉ lệ gói tin chế FNNRED FNNREM 112 3.6.2.2 Đánh giá sử dụng đường truyền FNNRED FNNREM 113 3.7 Kết luận chương 114 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 116 DANH MỤC CÁC CƠNG TRÌNH CƠNG BỐ CỦA LUẬN ÁN 118 TÀI LIỆU THAM KHẢO .119 PHỤ LỤC A 127 PHỤ LỤC B 136 viii IEEE Control Systems Magazine, Feb 2002 [63] S Zargar, M Yaghmaee, and A Fard (2006), “Fuzzy Proactive Queue Management Technique”, in Proceedings of the 2006 Annual IEEE India Conference, pp 1–6 [64] S T Zargar and M H Yaghmaee (2006), “Fuzzy GREEN: A modified TCP Equation- Based Active Queue Management Using Fuzzy Logic Approach”, International Journal of Computer Science and Network Security (5A) [65] Sanjeewa Athuraliya, Steven H Low, Victor H Li and Qinghe Yin (2001), “REM: Active Queue Management”, IEEE Network, pp 48-53 [66] Shilpa N Ingoley, Madhu Nashipudi (2012), “A Review Fuzzy Logic in Congestion Control of Computer Network”, Proceedings published in International Journal of Computer Applications® (0975 – 8887), pp 1-6 [67] T Ott, T Lakshman, and L Wong, “SRED: Stabilized RED”, in Proceedings of the Eighteenth Annual Joint Conference of the IEEE Computer and Communications Societies on Computer Communications (IEEE INFOCOM ’99), Vol 3, New York, NY, USA, 1999, pp 1346–55 [68] Tanvi B Harmalkar, H G Virani (2013), “Neural Network Active Queue Management For Congestion Control”, Tanvi Harmalkar, IJPRET, 2013, Vol 1, pp 572-580 [69] V Jacobson (1998), “Congestion Avoidance and Control”, ACM SIGCOMM, pp 314–329 [70] V Santhi, A M Natarajan (2011), "Active Queue Management Algorithm for TCP Networks Congestion Control", European Journal of Scientific Research, ISSN 1450-216X, Vol.54 No.2, pp 245-257 [71] W Feng, A Kapadia, and S Thulasidasan (2002), “GREEN: Proactive Queue Management over a Best-Effort Network”, in Proceedings of the IEEE Global Telecommunications Conference (GLOBECOM’02), Vol 2, pp 1774–8 [72] W Feng, D Kandlur, D Saha, and K Shin (2001), “Stochastic Fair BLUE: A Queue Management Algorithm For Enforcing Fairness”, in Proceedings of the Twentieth Annual Joint Conference of the IEEE Computer and Communications 125 Society on Computer Communications, Vol 3, pp 1520–1529 [73] W Feng, K Shin, D Kandlur, and D Saha (2002), “The BLUE Active Queue Management Algorithms”, IEEE/ACM Transactions on Networking, Vol 10, No 4, pp 513–528 [74] X Changbiao and L Fengfeng (2008), “A Congestion Control Algorithm of Fuzzy Control in Routers”, in Proceedings of the Fourth International Conference on Wireless Communications, Networking and Mobile Computing (WiCOM ’08), October 2008, pp 1–4 [75] X Deng, S Yi, G Kesidis, and C Das (2002), “Stabilized Virtual Buffer (SVB) - An Active Queue Management Scheme For Internet Quality of Service”, in Proceedings of the IEEE Global Telecommunications Conference (GLOBECOM ’02), Vol 2, pp 1628–1632 [76] Y Qiao and H Xiaojuan (2010), “A new PID controller for AQM based on neural network”, in Proceedings of the 2010 IEEE International Conference on Intelligent Computing and Intelligent Systems (ICIS), Vol 1, pp 804–808 [77] Y Xian, L Wang, and Y Wen (2009), “An Adaptive Target Queue Length FREM Algorithm”, in Proceedings of the IEEE International Conference on Communications Technology and Applications (ICCTA ’09), pp 845–850 [78] Yassine Hadjadj Aoul, Abdelhamid Nafaa, Daniel Negru, and Ahmed Mehaoua (2004), “FAFC: Fast Adaptive Fuzzy AQM Conntroller for TCP/IP Network”, GLOBECOM’04 IEEE, Vol 3, ISBN: 0-7803-8794-5” 126 PHỤ LỤC A CHƯƠNG TRÌNH CÁC CƠ CHẾ CẢI TIẾN A.1 Nội dung chương trình chế FLRED A.1.1 Nội dung chương trình FLRED.h A.1.1.1 Mơ tả cấu trúc tham số Packet* deque(); /* Gói tin khỏi hàng đợi */ Tcl_Channel tchan_; /* Ghi vết liệu */ LinkDelay* link_; /* Liên kết ngõ */ double wq; /* Trọng số hàng đợi */ int setbit; /* Thiết lập bit ECN */ int mean_pktsize /* Kích thước gói trung bình */ double dt; /* Thời gian hai lần lấy mẫu */ int old_currsize; /* Giá trị tham số đầu vào */ TracedDouble qerror_norm_tr, qerror_old_norm_tr; /* Giá trị hai biến đầu vào */ TracedDouble prob_tr; /* Xác suất rơi gói tin */ double last_call_sampling; /* Chiều dài hàng đợi */ double sampling_period_queue; /* Chiều dài hàng đợi trươc */ TracedDouble avg_total; double queue_error, queue_error_old, queue_des; /* Hàng đợi trung bình, hàng đợi tham chiếu, sai lệch hàng đợi */ double prob_new, prob_max; /* Tính xác suất gói tin */ int adaptive; / * Hệ số thích nghi */ A.1.1.2 Mơ tả thủ tục hàm DOUBLE GeneralBell(DOUBLE x, DOUBLE *params) /* Khai báo hàm thuộc hình chng */ {DOUBLE a = params[0], b = params[1], c = params[2]; DOUBLE tmp; if (a==0)bellerror(); tmp = pow((x-c)/a, 2.0); 127 if (tmp == && b == 0) return(0.5); else if (tmp == && b < 0) return(0.0); else return(1/(1+pow(tmp, b)));} class FLREDQueue : public Queue { /* Khai báo lớp đối tượng hàng đợi public: FLRED */ FLREDQueue() : /* Khai báo thuộc tính hàng đợi link_(NULL),tchan_(0) { */ bind("ave_", &avg_total); /* Chiều dài hàng đợi trung bình */ bind("curq_", &currsize); /* Chiều dài hàng đợi tức thời */ bind_bool("setbit_", &setbit); /* Thiết lập ECN */ bind("qerror_norm_", &qerror_norm_tr); bind("qerror_old_norm_", &qerror_old_norm_tr); /* Sai lệch hàng đợi tức thời */ /* Sai lệch hàng đợi trước */ bind("prob_", &prob_tr); /* Xác suất đánh dấu gói */ bind("qref_", &queue_des); /* Chiều dài hàng đợi tham chiếu */ bind("max_p_", &prob_max); /* Xác suất tối đa RED */ bind("mean_pktsize_", &mean_pktsize); /* Kích thước trung bình gói */ void reset(); /* Thiết lập lại tham số */ void enque(Packet*); /* Xử lý gói tin đến hàng đợi */ A.1.2 Nội dung chương trình FLRED.cc A.1.2.1 Mơ tả cấu trúc tham số typedef double FUZZY; #define _DEFVQerror 0.0 struct Qerror { struct QerrorOld { FUZZY negbig; FUZZY negbig; FUZZY negmed; FUZZY negmed; FUZZY negsmall; FUZZY zero; FUZZY possmall; FUZZY posmed; FUZZY posbig;}; FUZZY negsmall; FUZZY zero; FUZZY possmall; FUZZY posmed; FUZZY posbig;} 128 #define _DEFVQerrorOld 0.0 FUZZY small; struct Prob { FUZZY big; FUZZY zero; FUZZY vbig; FUZZY tiny; FUZZY huge;} FUZZY vsmall; A.1.2.2 Mô tả thủ tục hàm void FLREDQueue::reset(){ old_currsize = 0; currsize = 0; avg_total = 0; queue_error = queue_error_old = 0; prob_new = 0.0; count_p = 0; dt = 0.0; last_call_sampling = 0.0; sampling_period_queue = 0.006; adaptive = 1; sampling_interval_adaptive = 0.5; last_call_adaptive = 0.0; qerror_norm_tr = qerror_old_norm_tr = 0.0; if (link_) ptc = link_->bandwidth() / (8.0 * mean_pktsize); empty = 1; if (&Scheduler::instance() != NULL) { emptytime = Scheduler::instance().clock();} else{ emptytime = 0.0; } Queue::reset();} void FLREDQueue::enque(Packet* p) { double prob; double qerror_norm, qerror_old_norm; int droptype = DTYPE_NONE; hdr_cmn* hdr = hdr_cmn::access(p); hdr_ip* iph = hdr_ip::access(p); hdr_flags* hf = hdr_flags::access(p); double now = Scheduler::instance().clock(); A.2 Các chương trình chế FLREM A.2.1 Nội dung chương trình FLREM.h A.2.1.1 Mô tả hàng đợi tham số Packet* deque(); Tcl_Channel tchan_; double alpha_l; double phi; int command(int argc, const char*const* argv); PacketQueue *FLREMQueue_; double aggr_input; double wq; double s; int setbit; TracedInt currsize, currsize_in; double dt; int old_currsize; 129 TracedDouble perror_norm_tr, perror_old_norm_tr; double last_call_sampling; TracedDouble queue_des_Out; double sampling_period_queue; TracedDouble avg_total; A.2.1.2 Mô tả thủ tục hàm class FLREMQueue : public Queue { public: FLREMQueue() : tchan_(0) { bind("q_weight_", &wq); bind("ave_", &avg_total); bind("curq_", &currsize); bind("curq_in_", &currsize_in); bind_bool("setbit_", &setbit); bind("perror_norm_", &perror_norm_tr); bind("perror_old_norm_", &perror_old_norm_tr); bind("prob_", &prob_tr); bind("pref_In_", &queue_des_In); bind("pref_Out_", &queue_des_Out); FLREMQueue_ = new PacketQueue; reset(); } void reset(); void enque(Packet*); void trace (TracedVar *); A.2.2 Nội dung chương trình FLREM.cc A.2.2.1 Mô tả cấu trúc tham số static class FLREMClass : #define _DEFVPerror 0.0 public TclClass { struct PerrorOld { public: FUZZY negverybig; FLREMClass() : FUZZY negbig; TclClass("Queue/FLREM") {} FUZZY negmedbig; TclObject* create(int, const FUZZY negsmall; char*const*) { FUZZY zero; return (new FLREMQueue); } FUZZY possmall; } class_FLREM; FUZZY posmedsmall; typedef double FUZZY; FUZZY posbig; FUZZY posverybig;}; 130 struct Perror { FUZZY negverybig; #define _DEFVPerrorOld 0.0 struct Prob { FUZZY negbig; FUZZY zero; FUZZY negmedbig; FUZZY tiny; FUZZY negsmall; FUZZY vsmall; FUZZY zero; FUZZY msmall; FUZZY possmall; FUZZY small; FUZZY posmedsmall; FUZZY big; FUZZY posbig; FUZZY mbig; FUZZY posverybig;}; FUZZY vbig; FUZZY huge; A.2.2.2 Mô tả thủ tục hàm void FLREMQueue::reset() { old_currsize = 0; currsize = currsize_in = 0; avg_total = 0; queue_error = queue_error_old = 0; prob_new = prob_new_In = prob_new_Out = 0.0; count_p = 0; dt = 0.0; last_call_sampling = 0.0; sampling_period_queue = 0.006; adaptive = 1; last_call_adaptive = 0.0; sampling_interval_adaptive = 0.5; perror_norm_tr = perror_old_norm_tr = 0.0; empty = 1; void FLREMQueue::enque(Packet* p) { double prob; double perror_norm, perror_old_norm; int droptype = DTYPE_NONE; hdr_cmn* hdr = hdr_cmn::access(p); hdr_ip* iph = hdr_ip::access(p); hdr_flags* hf = hdr_flags::access(p); 131 double now = Scheduler::instance().clock(); int FLREMQueue::command(int argc, const char*const* argv) void FLREMQueue::trace(TracedVar* v) Packet* FLREMQueue::deque() A.3 Các chương trình điều khiển nơ-ron mờ FNN A.3.1 Nội dung chương trình FNN.h A.3.1.1 Mơ tả cấu trúc tham số #define sqr(x) ((x)*(x)) #define sgn(x) ((xfstype = 0; LP->outstretch = 0; LP->AFCinit = 0.1; LP->sigma_a = 0.1; LP->sigma_b = 0.1; LP->sigma_c = 0.1; LP->sigma_d = 0.1; LP->sigma_t = 0.1; LP->momentum = 0.9; LP->uselmse = 0; LP->tnorm = 0; LP->snorm = 0; LP->defuzz = 0; LP->maxrules = 0; LP->percent = 0.9; LP->minerror = 0.0; LP->chgepoch = 5; LP->minepoch = 0; LP->maxepoch = 100; LP->logepoch = 10; LP->batch = 1; LP->at05 = 0; LP->nopass = 1; LP->asym = 1; strcpy (LP->netfilename, "network.nfs"); LP->loadnetfilename[0] = '\0'; strcpy (LP->savenetfilename, "saved.nfs"); strcpy (LP->logfilename, "nfident.log"); strcpy (LP->gnufilename, "gnu.mfs"); LP->trainingfilename[0] = '\0'; LP->generalizationfilename[0] = '\0'; LP->testfilename[0] = '\0'; strcpy (LP->trainresultname,"trainres.dat"); strcpy (LP->genresultname, "genres.dat"); strcpy (LP->testresultname, "testres.dat"); 134 A.3.2.2 Mô tả thủ tục hàm void Init_Learn_Parameters (LParam *LP) int Process_Cmd (char *cmdline, LParam *LP) int Read_Commands (const char *filename, LParam *LP) void Print_Parameters (int nin, int nout, LParam *LP) int Write_MFuzzy_System (const char *filename, MFuzzySystem *M) void Get_Input_Line (FILE *file, char *line) MFuzzySystem *Read_MFuzzy_System(const char *filename, LParam *LP) int Write_AFCFuzzy_System (const char *filename, AFCFuzzySystem *AFC) AFCFuzzySystem *Read_AFCFuzzy_System(const char *filename, LParam *LP) int Read_Files (const char *commandfile, LParam *LP) int Read_Net_and_Data (const char *netfile, const char *datafile, LParam *LP) double MS_Degree (double x, FSet *mu) int Make_Partition (LingVar *lvar) int Create_Linguistic_Variables (PLingVar *ILV, PLingVar *OLV, PSet *P, PSet *G, PSet *T, LParam *LP, int systype) void Compute_Pattern_Memberships (PLingVar *LV, double *P, int from, int count) void Adapt_LingVar (LingVar *LV, int norm, int nopass, int at05) double MOM (LingVar *lvar, TNORM tnorm, SNORM snorm) 135 PHỤ LỤC B KẾT QUẢ MÔ PHỎNG CỦA CÁC CƠ CHẾ AQM B.1 Mơ hình mạng mơ cách thực mơ B.1.1 Mơ hình mạng mơ Mơ hình mạng mơ cho chế quản lý hàng đợi tích cực là: mơ hình đơn máy nhận dùng cho kịch kiểm tra độ ổn định mơ hình đa máy nhận dùng cho kịch đánh giá hiệu Hình B.1 thể hình ảnh mơ hình mạng có 60 máy gửi 60 máy nhận, sử dụng đánh giá hiệu chế Hình B.1 Mơ hình mạng đánh giá hiệu chế AQM B.1.2 Cách thực mơ Cài đặt chương trình: FEM.h, FEM.cc, FUZREM.h, FUZREM.cc, FLRED.h, FLRED.cc, FLREM.h, FLREM.cc, FNNRED.h, FNNRED.cc, FNNREM.h FNNREM.cc vào NS2 Sau đó, cấu hình biên dịch lại NS2 Viết kịch mô AQM.ns để mô tả mơ hình mạng mơ tạo tập tin ghi vết liệu q trình thực mơ Chạy chương trình mơ phỏng, thu nhận kết chương trình để phân tích đánh giá cho chế quản lý hàng đợi tích cực, thời gian mô cho chế Thu nhận kết qủa xuất chương trình tập tin bám vết tập tin văn ghi số liệu thống kê 136 Tất kết mô đưa luận án thực nhiều lần, sau lấy giá trị trung bình lần Mỗi kết bảng Phụ lục B kết trung bình lần thí nghiệm Cụ thể, kết thực 10 lần, số liệu đưa tất kết giá trị trung bình 10 lần mơ B.2 Tỉ lệ gói sử dụng đường truyền chế dùng AFC B.2.1 Tỉ lệ gói chế dùng AFC Bảng B.1 Tỉ lệ gói chế chiều dài hàng đợi thay đổi TQL (gói) FEM 100 0.4692 0.3179 0.1617 200 0.3961 0.2610 400 0.3124 500 FLRED FLREM FUZREM RED REM 0.1915 0.6692 0.5915 0.0914 0.1328 0.5957 0.5428 0.2587 0.0821 0.1175 0.5725 0.5175 0.2907 0.2608 0.0726 0.0962 0.5431 0.5062 600 0.2709 0.2360 0.0623 0.0734 0.4712 0.4924 800 0.2379 0.216 0.0585 0.0664 0.4328 0.4623 1000 0.2086 0.193 0.0352 0.0532 0.4086 0.4312 Bảng B.2 Tỉ lệ gói chế theo số luồng kết nối thay đổi N (luồng) FEM 10 0.2258 0.1582 0.0703 50 0.2892 0.2153 100 0.3692 150 FLRED FLREM FUZREM RED REM 0.0832 0.6203 0.4113 0.0776 0.0953 1.1526 0.4937 0.2462 0.0826 0.1071 1.2713 0.5755 0.4751 0.2834 0.1336 0.1762 1.9621 0.8603 200 0.6205 0.4232 0.1861 0.2722 2.4223 1.0993 250 0.6504 0.5151 0.2529 0.3753 2.9535 1.5415 300 0.6812 0.5378 0.3236 0.4251 3.8251 2.1078 137 B.2.2 Mức độ sử dụng đường truyền chế dùng AFC Bảng B.3 Mức độ sử dụng đường truyền chế theo chiều dài hàng đợi TQL (gói) FEM FLRED FLREM FUZREM RED REM 100 90.6856 93.1673 93.5614 92.5231 80.5437 86.5321 200 92.6032 94.7856 95.2312 93.7834 86.4091 89.6032 400 93.4375 95.0562 96.3006 94.6946 87.6921 90.0764 500 94.2135 96.5343 97.4341 94.8787 88.2787 91.3642 600 94.7682 96.9916 97.5462 95.0881 90.3342 92.0342 800 94.9754 97.1838 97.7132 96.2877 90.7453 92.3321 1000 95.2153 97.6146 98.3453 96.7215 91.8378 92.6537 Bảng B.4 Mức độ sử dụng đường truyền chế theo số luồng kết nối N (luồng) FEM FLRED FLREM FUZREM RED REM 10 86.9376 90.4563 93.5413 92.4237 83.3361 86.0935 50 91.0358 92.5602 95.6965 94.0602 85.5358 89.5998 100 93.6286 95.6394 96.3278 95.1394 87.0748 90.2411 150 95.1613 96.2937 97.6573 95.8937 88.4613 90.6772 200 95.2451 97.5783 97.9315 96.3682 89.6532 91.6732 250 95.5651 97.7436 98.3234 96.8543 90.0651 91.8816 300 96.0937 97.9452 98.5683 97.1462 90.4833 92.7627 138 B.3 Tỉ lệ gói sử dụng đường truyền chế dùng FNN B.3.1 Tỉ lệ gói chế dùng FNN Bảng B.5 Tỉ lệ gói chế chiều dài hàng đợi thay đổi TQL (gói) FEM 100 0.4692 0.3179 0.1617 0.2731 0.1176 0.1915 200 0.3960 0.2610 0.0910 0.2344 0.0541 0.1328 400 0.3124 0.2587 0.0820 0.1921 0.0361 0.0975 500 0.2907 0.2608 0.0826 0.1710 0.0362 0.1061 600 0.2709 0.2360 0.0734 0.1639 0.0243 0.0842 800 0.2379 0.2160 0.0685 0.1516 0.0363 0.0964 1000 0.2086 0.1930 0.0552 0.1551 0.0312 0.0933 FLRED FLREM FNNRED FNNREM FUZREM Bảng B.6 Tỉ lệ gói chế theo số luồng kết nối thay đổi N (luồng) FEM FLRED FLREM FNNRED FNNREM FUZREM 10 0.2258 0.1958 0.0703 0.1752 0.0321 0.0812 50 0.2492 0.2253 0.0776 0.2031 0.0483 0.0953 100 0.2691 0.2261 0.0826 0.2142 0.0582 0.1071 150 0.3551 0.3331 0.1336 0.2413 0.1163 0.1762 200 0.3805 0.3532 0.1861 0.3121 0.1461 0.2222 250 0.4804 0.4152 0.2529 0.3724 0.1841 0.2753 300 0.5312 0.4877 0.3236 0.4312 0.2381 0.3613 139

Ngày đăng: 30/05/2023, 15:23

Tài liệu cùng người dùng

Tài liệu liên quan