Phần II : Bài tập Bạn hãy giả định một môi trường ARPANET và áp dụng phương pháp chọn đường thích nghi để điều khiển tải cho mạng này Phân tích một mô hình và lập trình mô phỏng để giải
Trang 1ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC BÁCH KHOA
- -TIỂU LUẬN
Môn: HỆ PHÂN TÁN
Giáo viên hướng dẫn: PGS.TS LÊ VĂN SƠN
Học viên : Ngô Thị Thanh Trang Lớp : Khoa học máy tính K11
Trang 2Lời mở đầu
Môn học “Hệ tin học phân tán” là môn học cơ sở nhằm đặt nền móng và kiến thức cơ bản cho công việc nghiên cứu và phát triển
về sau Nhằm nghiên cứu sâu hơn về môn học tôi chọn đề tài “Điều khiển tải” để nghiên cứu và làm tiểu luận cho môn học này
Điều khiển tải là một trong những vấn đề được quan tâm nhiều trong quá trình nghiên cứu hệ phân tán Bởi đây là vấn đề có ảnh hưởng lớn đến hoạt động và năng suất của hệ và cũng chưa có những thuật toán hay giải pháp tối ưu để thực hiện Vì thế, nó là mảnh đất màu mỡ cho việc nghiên cứu Tuy nhiên, trong phạm vi tiểu luận này tôi chỉ mong muốn được bổ sung kiến thức để phục vụ cho quá trình nghiên cứu về sau
Tiểu luận được chia làm 2 phần như sau:
Phần I : Lý thuyết về điều khiển tải
Phần này trình bày những vấn đề cơ bản của việc điều khiển tải như : các khái niệm cơ bản về điều khiển tải, các thuật toán sử dụng trong điều khiển tải và một số giải pháp đang được sử dụng phổ biến hiện nay
Phần II : Bài tập
Bạn hãy giả định một môi trường ARPANET và áp dụng phương pháp chọn đường thích nghi để điều khiển tải cho mạng này
Phân tích một mô hình và lập trình mô phỏng để giải quyết những vấn đề thường gặp trong điều khiển tải
Do thời gian và kiến thức còn hạn chế nên tiểu luận này chưa
đi sâu phân tích các vấn đề nổi bật của đề tài để tìm ra những vấn đề mới, cũng như khó tránh khỏi những sai sót, mong thầy và các bạn góp ý để tác giả rút kinh nghiệm cho các đề tài sau Xin chân thành cảm ơn !
Trang 3CHƯƠNG 1:
NHỮNG VẤN ĐỀ CƠ BẢN CỦA VIỆC ĐIỀU KHIỂN TẢI
1.1 Đặt vấn đề
Việc truyền dữ liệu trong mạng phụ thuộc vào rất nhiều yếu
tố, đặc biệt phụ thuộc vào khả năng và chiến lược cung cấp tài nguyên của mạng ( đường truyền, bộ nhớ đệm, vv) nếu khả năng tài nguyên là có hạn( rủi thay đây là điều thường gặp trong thực tế) và chiến lược cung cấp tài nguyên lại quá “tĩnh” không thích nghi với trạng thái luôn thay đổi của mạng do đó, rất dễ dẫn đến các tình trạng xấu sau đây:
Các yêu cầu tài nguyên dồn về một trạm nào đó gây nên tình trạng “ ùn tắc” do đó khả năng tài nguyên của mạng không đáp ứng nổiTài nguyên của một trạm nào đó có hiệu suất sử dụng quá thấp do rất ít yêu cầu được chuyển qua nó dẫn đến lãng phí.Để tránh các tình trạng xấu trên, cần thiết phải có một cơ chế điều khiển tải áp dụng cho toàn mạng
1.2.Chức năng của điều khiển tải ( Loading control Function)
Chức năng quan trọng nhất của việc điều khiển tải là duy trì một cách nhịp nhàng các yêu cầu về tài nguyên của hệ trong một giới hạn chấp nhận được trên cơ sở số tài nguyên hiện hành và các thông số hiệu năng cần phải tuân thủ của hệ thống (Trạng thái đường truyền, độ trễ truyền dẫn, mức độ lưu thông, tài nguyên khả dụng, )
Mục đích cuối cùng của điều khiển tải là làm cho lưu thông mạng tốt nhất, giảm thiểu tình trạng quá tải dẫn đến ùn tắc mạng
1.3 Các Phương pháp điều khiển tải
1.3.1.Điều khiển tải tổng quát
Mục tiêu của phương pháp này là tìm cách duy trì tổng số yêu cầu tài nguyên được lưu chuyển trong mạng luôn nhỏ hơn một giá trị ngưỡng
N nào đó Giá trị N sẽ được xác định trước, căn cứ vào khả năng tài nguyên và các thông số hiện hành của mạng
Về mặt tổ chức, Các yêu cầu về sử dụng tài nguyên được gởi đến hệ thông qua sự trung gian của một tiến trình gọi là bộ phân phối tải
Trang 4Trình tự làm việc như sau : dầu tiên yêu cầu tài nguyên được hình thành bởi một đề nghị phục vụ nào đó cho một server xác định trong số các servercos khả năng phục vụ bộ điều khiển tải có chức năng cung cấp thông tin kịp thời và tương đốichính xác về khả năng của các server chấp nhận hay không chấp nhận các yêu cầu
Trong khi vận hành hệ, bộ điều khiển tải chỉ biết được giá trị gần đúng của tải này, đó chính là nguyên nhân cơ bản của hai vấn đề khó khăn sau đây :
Nếu tải vượt quá mức cho phép, bộ điều khiển tải có thể quyết định sai là ném các yêu cầu tài nguyên ra ngoài tầm phục vụ Điều
đó có thể dẫn đến việc sử dụng dưới mức giới hạn cho phép của các tài nguyên được điều khiển bởi các SERVER
Nếu tải còn dưới mức cho phép, bộ điều khiển tải chấp nhận một yêu cầu; Nếu các SERVER không có sự điều khiển tải của riêng mình Điều đó dẫn đến việc sử dụng quá mức giới hạn của các tài nguyên
1.3.2 Điều khiển tải phân tán
Phương pháp này không yêu cầu duy trì một giới hạn tải chung cho mạng mà giao cho các trạm tự kiểm soát luồng dữ liệu đi qua dựa trên khả năng tài nguyên cục bộ của chúng
Mục tiêu của phương pháp này là việc phân bố tải được tiến hành sao cho các server có khả năng phục phải có tải tương đương nhau
Người ta chia ra làm hai loại chiến lược phân tán tải
Chiến lược tĩnh :Việc phân tán các yêu cầu giữa các server được
xác định theo kiểu cố định trước
Trang 5 Chiến lược thích nghi : Việc phân tán này được xác định như là
chức năng tải của hệ, thích hợp với trạng thái luôn thay đổi của hệ thống
1.4 Triển khai quá trình điều khiển
Trong các hệ thống phân tán, việc điều khiển tải được tiến hành ở tầng giao vận, nơi bao gồm nhiều tài nguyên phần cứng như các đường truyền thông tin hay các bộ nhớ đệm trong các nút mạng
Trong các ứng dụng khác, các trạm thông thường được chuyên môn hóa và do vậy, ta có rất ít cơ hội để thực hiện các công việc này
Tiếp theo chúng ta sẽ nghiên cứu một số ví dụ triển khai các công nghệ điều khiển, chủ yếu được rút ra từ các tầng giao vận Có hai công nghệ chúng ta cần lưu ý là điều khiển tổng quát và phân phối tải thích nghi
Để nắm rõ hơn về các phương pháp điều khiển tải dưới đây chúng ta xét các ví dụ trong các trường hợp điều khiển tải như sau:
* Ví dụ về điều khiển tải tổng quát
Trong ví dụ này chúng ta xét cho trường hợp sử dụng phương pháp này để mô phỏng cho mạng máy tính quốc gia về thí nghiệm vật
lý để từ đây ta rút ra những kinh nghiệm cần thiết cho việc triển khai
bộ phân phối tải một cách hiệu quả nhất
Một vấn đề quan trọng nảy sinh mà ta cần quan tâm giải quyết
là giới hạn các gói thông tin lưu thông trong mạng Khi tăng số lượng các gói thông tin có nghĩa là tăng tải cho đường truyền dẫn đến lưu lượng thông tin trên đường truyền giảm mạnh rồi đến một lúc sẽ dừng hẳn lại
Hình 1 Sự quá tải trong mạng giao vận
Lưu lượng (gói/giây)
Trang 6Phương pháp điều khiển này thể hiện việc duy trì số lượng toàn bộ các gói luận chuyển phải nhỏ hơn hay bằng một giá trị tối ưu
T nào đó Số lượng này phát huy tác dụng trong toàn mạng và được gọi là “cái cho đi qua” của chính mạng đó
Một gói đầy đủ tham gia vào quá trình tuần hoàn cần phải là vật mang một cái “cho đi qua” về phía đầu bên kia của mạng Mỗi nút mạng được coi là một thiết bị đầu cuối và được phép tự động lưu trữ bất kỳ từ các cái “cho đi qua” có sẵn nhằm có thể tiếp nhận các gói mới Nó truyền tiếp các cái “cho đi qua” về các nút khác theo số dôi
ra Nếu một nút nào đó không có cái “cho đi qua” thì nó không được nhận các gói mới
Thay đổi các giá trị chu chuyển các cái “cho đi qua” có sẵn, người ta rút ra được một vài kết luận sau:
1 Nếu đồ thị cũng không phân tán trong mạng, các cái “cho đi qua” có thể tập trung trong một vùng Kết quả là lưu lượng vào bị chậm lại trong phần còn lại của mạng
2 Thành tích của mạng phụ thuộc rất nhiều vào một số tham số
mà khó có thể xác định giá trị tối ưu Đó là số lượng toàn bộ các cái
“cho đi qua” trong một mạng, số lượng cực đại các cái “cho đi qua” bởi một nút, kiểu phân phối lại các cái “cho đi qua” bằng số dôi trong một nút
3 Các cái “cho đi qua” khi chu chuyển trong mạng có thể bị mất hay bị nhân lên, điều đó làm thay đổi số lượng của chúng
Trang 7CHƯƠNG 2:
ÁP DỤNG PHƯƠNG PHÁP CHỌN ĐƯỜNG THÍCH NGHI ĐỂ
ĐIỀU KHIỂN TẢI CHO MẠNG ARPANET
2.1 Mạng ARPANET
ARPANET là mạng được xây dựng bởi bộ quốc phòng mỹ từ năm 1969(Advanced Research Projects Agency Network) với họ giao thức TCP/IP nổi tiếng và chính là tiền thân của mạng INTERNET ngày nay
ARPANET là một mạng chuyển mạch gói
Mạng ARPANET được kết nối với các cơ sở quốc phòng, các phòng nghiên cứu của chính phủ và các trạm của các trường đại học Nó phát triển thành xương sống ( backbone) của mạng Internet
ARPANET đã phát triển TCP/IP, một trong những giao thức quan trọng nhất ngày nay
ARPANET sử dụng phương pháp chọn đường phân tán và thích nghi
2.2.Phương pháp chọn đường tập trung và phân tán
Kỹ thuật chọn đường tập trung được đặc trưng bởi sự tồn tại của
một hoặc vài trung tâm điều khiển mạng thực hiện việc chọn đường
sau đó gởi các bảng chọn đường ( Routing Table) tới tất cả các nút dọc theo con đường đã được chọn đó Trong trường hợp này, thông tin tổng thể của mạng cần dùng cho việc chọn đường chỉ được cất giữ tại trung tâm điều khiển mạng Các nút mạng có thể không gởi bất kỳ thông tin trạng thái nào của chúng tới trung tâm, hoặc gởi theo định kỳ, hoặc gởi khi có sự thay đổi nào đó Trung tâm điều khiển sẽ cập nhật các bảng chọn đường dựa trên những thông tin nhận được từ các trạm gởi lên
Đối với kỹ thuật chọn đường phân tán, không tồn tại trung tâm
điều khiển mạng Quyết định chọn đường được thực hiện tại mỗi nút
của mạng Điều này đòi hỏi sự trao đổi thông tin liên tục giữa các nút
trong mạng, và tại mỗi nút mạng phải chứa cơ sở dữ liệu phục vụ cho việc chọn đường
2.3.Phương pháp chọn đường thích nghi
Trong mạng viễn thông theo kiểu chuyển mạch gói X25, Các phương pháp chọn đường thích nghi xác định con đường cho mỗi gói tin
Trang 8theo kiểu động dựa vào tiêu chuẩn tối ưu như độ trễ, hành trình, khoảng
cách phải đi qua, sự cố đường truyền, các nút,… được xét đến
Trong mạng ARPANET ở các nút đều lưu trữ bảng TD cho mỗi nút đến D và cho mỗi đường ra L Bảng này cho biết thời hạn cần thiết
để đạt đến nút D bằng cách tận dụng đường L Xuất phát từ bảng này, để cho mỗi nút, ta xây dựng bảng chọn đường TR( Table Router) và vector thời hạn VD Bảng này cho ta biết lần lượt các con đường cần đi qua để
đến nút đích trong thời hạn ngắn nhất và giá trị cụ thể của thời hạn này
Ta ký hiệu { Di} là tập hợp các đích của mạng ( i= 1 m)
Và {Lj } là tập hợp các đường xuất phát từ nút j (j= 1 n)
Tại mỗi nút cần duy trì các bảng như sau:
TD(j,i) Thời hạn để đến được nut Dj xuất phát từ đường Li
TR(j) Số hiệu đường truyền tối ưu ( được chọn) được đánh giá để đến
được Dj ( theo VD(j)) Hàm tối ưu
VD(j)
Xác định thời hạn nhỏ nhất để đến được nút Dj VD(j)= min TD(j,i) với i= 1 n
Ví dụ sau đây mô tả cách thực hiện bảng chọn đường thích nghi Trong ví dụ này ta sử dụng một nút có 3 đường ra (n=3) và có thể gởi tới
5 nút nhận ( m=5)
Bảng TD
Bảng chọn đường thích nghi
Trang 9Các bảng chọn đường sẽ được cập nhật trong hai trường hợp sau đây:
STT Trường hợp
1 Cập nhật nội dung hàng đợi đã được phối hợp với đường ra Mỗi khi có
một gói tin được rút ra ( hay cho vào) từ hàng đợi đã được phối hợp với một đường truyền L, Các thời hạn trong bảng, tương ứng với cột
TD( j,L) cần phải được thay đổi để thích ứng với tải mới của đường truyền
2 Tiếp nhận một Vector biểu diễn thời hạn được gởi đến từ nút lân
cận( láng giềng)
2.4 Mô tả phương pháp chọn đường thích nghi trong mạng
ARPANET
Các bước chính:
Tại một nút chọn đường
Tiếp nhận Vector thời hạn của các nút láng giềng
Cập nhật thông tin về độ trễ với các nút láng giềng
Tính toán bảng chọn đường mới
E
D C
K
H
Router
Mô t? ch?n du ? ng thích nghi trong m?ng ARPANET
router
Mô tả chọn đường thích nghi trong mạng ARPANET
Trang 10 Gởi bảng chọn đường mới cho các nút còn lại trong mạng để cập nhận
Tại mỗi nút, Router được giả định biết “ cự ly” đến mỗi nút láng giềng của nó ( có thể là độ trễ) Khi từng T msec mỗi Router gởi cho mỗi nút láng giềng một danh sách các độ trễ ước tính của nó đến từng nút láng giềng và nó cũng nhận được một danh sách tương tự từ các nút láng giềng(lân cận)
Ví dự một trong các bảng ấy đến từ nút láng giềng X, với Xi là ước tính thời gian X cần đến Router i Nếu Router biết độ trễ đến X
là m msec thì nó cũng biết đến router i qua X là Xi + m msec Thực hiện phép tính này với mỗi nút láng giềng, một router có thể tìm ra
độ trễ tốt nhất ( nhỏ nhất) và nó dùng độ trễ này với đường tương ứng trong chọn đường mới
Cụ thể, trong sơ đồ mạng và bảng chọn đường ở trên ta có:
A có độ trễ 12 msec đến B, một độ trễ 25 msec đến C, một độ trễ 40 msec đến D,…
Và độ trễ đến các nút láng giềng ( A,I,H,K) lần lựợt là 8,10,12,16 msec
Trang 11Bây giờ ta xem cách J tính đường mới cho các nút
Tính cho nút G
Từ J đến A có độ trễ 8 msec và A có khả năng đến G trong 18 msec, vậy J có khả năng tới G trong 26 msec( 8+18) nếu qua A
Tương tự, Từ J đến I có độ trễ 10 msec và I có khả năng đến G trong 31 msec, vậy J có khả năng tới G trong 41 msec(10+31) nếu qua I
Từ J đến H có độ trễ 12 msec và H có khả năng đến G trong 6 msec, vậy J có khả năng tới G trong 18 msec( 12+6) nếu qua H
Từ J đến K có độ trễ 6 msec và K có khả năng đến G trong 31 msec, vậy J có khả năng tới G trong 37 msec( 6+31) nếu qua K
Vì vậy giá trị tốt nhất để từ J đến G là 18 msec
( = min(26,41,18,37)
Như vậy trong bảng chọn đường mới của J sẽ lưu trữ cặp giá trị (18,H), điều này có nghĩa là từ J đến G có độ trễ là 18 msec và đường được sử dụng là qua H
Trang 12Tính cho nút D
Từ J đến A có độ trễ 8 msec và A có khả năng đến D trong 40 msec, vậy J có khả năng tới D trong 48 msec( 8+40) nếu qua A
Tương tự, Từ J đến I có độ trễ 10 msec và I có khả năng đến D trong 27 msec, vậy J có khả năng tới D trong 37 msec(10+27) nếu qua I
Từ J đến H có độ trễ 12 msec và H có khả năng đến D trong 8 msec, vậy J có khả năng tới D trong 20 msec( 12+8) nếu qua H
Từ J đến K có độ trễ 6 msec và K có khả năng đến D trong 24 msec, vậy J có khả năng tới D trong 30 msec( 6+24) nếu quan K
Vì vậy giá trị tốt nhất để từ J đến D là 20 msec ( = min(48,37,20,28)
Như vậy trong bảng chọn đường mới của J sẽ lưu trữ cặp giá trị ( 20,H), điều này có nghĩa là từ J đến D có độ trễ là 20 msec và đường được sử dụng là qua H
J đến G có độ trễ là 18 msec và đường được sử dụng là qua H
Trang 13Tương tự như trên, J tính tính lại bảng chọn đường cho các nới đến khác (B,C,E,F,K,L) và được bảng chọn đường cuối cùng như sau:
J đến D có độ trễ là 20 msec và đường được sử dụng là qua H
Trang 14Tương tự thuật toán như trên, các nút trong mạng sẽ tính lại các bảng độ trễ cho mình và gởi cho các nút láng giềng sau một thời hạn T nhất định (đối với mạng ARPANET thì sau 2/3 giây) hoặc khi mạng có sự thay đổi nào đó
KẾT LUẬN
Qua thời gian tìm hiểu về hệ phân tán nói chung và vấn đề điều khiển tải trong hệ phân tán đề tài đã tìm hiểu, trình bày những khái niệm cơ bản của điều khiển tải như: điều khiển tải, các phương pháp điều khiển tải ( tập trung, phân tán), vấn đề về chọn đường ( Routering), các phương pháp chọn đường (tập trung, phân tán, chọn đường thích nghi) và các khái niệm liên quan một cách rõ ràng, dễ hiểu Ngoài ra đề tài đã tìm hiểu và trình bày cách điều khiển tải theo phương pháp chọn đường thích cho mạng ARPANET qua ví dụ rõ ràng, dễ hiểu
Tuy nhiên do thời gian và khả năng còn hạn chế nên đề tài chỉ dừng lại ở mức độ tìm hiểu lý thuyết, thuật toán chứ chưa triển khai trên các ngôn ngữ lập trình, đây cũng là hướng phát triển của đề tài trong tương lai
Cuối cùng, tôi xin chân thành cảm ơn ý kiến đóng góp của thầy, PGS.TS.Lê Văn Sơn và các bạn quan tâm để đề tài được hoàn thiện hơn
Tài liệu tham khảo
1 Hệ tin học phân tán , TS Lê Văn Sơn
2 Mạng máy tính và các hệ thống mở, Nguyễn Thúc Hải