1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tiểu luận môn hệ phân tán Điều khiển tải

13 501 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 13
Dung lượng 131 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Các tham số đặt trưng của tải là: - Số lượng các yêu cầu được cung cấp tài nguyên; - Bản chất của các yêu cầu; - Phân tán theo thời gian và các yêu cầu tạo ra nó.. Giới thiệu về điều khi

Trang 1

Lờ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 đặc biệt 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ỉ tham vọng đượ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 các khái niệm cơ bản về tải, đ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

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

Trang 2

PHẦN I LÝ THUYẾT VỀ ĐIỀU KHIỂN TẢI

1 Định nghĩa về tải

Tải là thuật ngữ chỉ tập hợp các yêu cầu phục tùng các qui tắc của một

bộ cung cấp

Các tham số đặt trưng của tải là:

- Số lượng các yêu cầu được cung cấp tài nguyên;

- Bản chất của các yêu cầu;

- Phân tán theo thời gian và các yêu cầu tạo ra nó

2 Giới thiệu về điều khiển tải

Đ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 một hệ trong một giới hạn chấp nhận được trên cơ sở số lượng 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ủ

Nói một cách ngắn gọn, vai trò của điều khiển tải trong hệ được thể hiện dưới hai phương diện sau đây:

+ Điều khiển tải tổng quát: điều khiển tải tổng quát chịu trách nhiệm giữ nhịp cho các hoạt động cung cấp tài nguyên

+ Điều khiển tải phân tán: Phân tán tải cho các đối tượng có khả năng cung cấp như là người điều khiển hợp lý việc phân bố tài nguyên

2.1 Điều khiển tải tổng quát

Về mặt tổ chức, các yêu cầu 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 được thể hiện như trong hình 1 dưới đây

Hình 1 Sơ đồ tổ chức điều khiển tải tổng quát

Tr1

Tr1

Tr2

Tr2

Trn

Trn

S1

S1

S2

S2

Sn

Sn

T

Bộ điều khiển tải

Trang 3

Trình tự làm việc như sau: Đầ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 Server có 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 đối chính xác về khả năng 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, đó là nguyên nhân cơ bản của hai vấn đề khó khăn sau đây:

1 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 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

2 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ó bộ điều khiển tải riêng của mình Điều đó dẫn đến sử dụng quá mức giới hạn của các tài nguyên

Cần lưu ý rằng, chức năng của các Server là đảm bảo cho hệ nói chung mỗi khi tiếp nhận các yêu cầu mới cần phải tính ngay đến việc các yêu cầu này sẽ cần phải kết thúc một cách bình thường

2.2. Điều khiển phân tán tải

Chúng ta cần biết rằng, để các Server có thể phục vụ được các yêu cầu thì việc đầu tiên là các yêu cầu đó phải được dịch qua ngôn ngữ đang được sử dụng tại Server đó Ngoài ra, việc phân bố tải được tiến hành sao cho các Server có khả năng phục vụ phải có tải tương đương nhau

Bộ phân phân phối tải hình thành chỉ để sử dụng cho những tài nguyên phần cứng như bộ vi xử lý, các thiết bị ngoại vi, đường truyền và không phải cho các tài nguyên đã được giao hẳn cho các trạm như là các tập tin

Về chiến lược phân tán tải, người ta chia thành hai loại chiến lược như sau:

+ Chiến lượt tĩnh: Trong chiến lượt 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

Trang 4

+ 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 phân tán của hệ

3 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:

3.1. 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ục lúc sẽ dừng hẳn lại

Hình 2 Sự quá tải trong mạng giao vận

Lưu lượng (gói/giây)

Trang 5

Phươ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

3.2 Ví dụ về điều khiển tải thích nghi

Để tìmhiểu về phương pháp điều khiển tải thích nghi ta khảo sát ba ví

dụ về các trường hợp của mạng ARPANET, cơ chế tiền tố của hệ DCS

và cách vung cấp bộ xử lý trong hệ MCS

Mạng ARPANET là mạng viễn thông sử dụng kiểu mạng chuyển mạch gói X.25, các phương pháp chọn đường thích nghi trong trường hợp này xác định con đường cho mỗi gói theo kiểu động dựa vào các 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 v.v được xét đến

Trang 6

Trong mạng ARPANET các nút đều lưu bảng TD cho mỗi nút D và cho mỗi đường ra L Bảng này cho biết thời hạn cần thiết để đến nút D bằng cách tận dụng đường L như là giai đoạn thứ nhất Xuất phát từ bảng này, đối với mỗi nút, ta xây dựng bảng chọn đường TR và véc tơ giớ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 {Dj} là tập hợp các đích của mạng (j=1 m) và {Lj} là tập hợp các đường xuất phát từ nút (i=1 n)

Các bảng cần duy trì trong mỗi nút mạng như sau:

TD(j,i) Thời hạn để đến được Dj xuất phát từ Li

TR(j) Số hiệu của đường truyền tối ưu được đánh giá để

đến được Dj (theo VD(j)) Hàm tối

ưu

VD(j)=min TD(j,i) với i=1 n

Hình dưới đây cho phép ta hình dung về 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 đến năm nút nhận (m=5)

L1 L2 L3

Hình 3 Bảng chọn đường thích nghi

Các bảng này được cập nhật trong hai trường hợp sau:

1 Cập nhật nội dung hàng đợi đã được phối hợp với đường ra Mỗi khi

có gói đượ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 Vecto biểu hiện thời hạn được gửi đến từ nút lân cận

Bây giờ, ta hãy xem xét cấu hình được thể hiện trong hình bên dưới:

Trang 7

Hình 4 Mô hình chọn đường thích nghi

Tại thời điểm cho trước, các nút mạng A,B,C lần lượt có các véc tơ VA,

VB, VC Véc tơ VA cung cấp các thời hạn đánh giá cho các con đường AB,

AC, …AX Theo chu kỳ cứ 2/3 giây trong mạng ARPANET mỗi nút đều tính lại Véc tơ Đó chính là thời hạn của mình và truyền giá trị đó cho các bút lân cận để cập nhật các bảng thời hạn của chúng

Ví dụ:

Khi A nhận được từ B và C các giá trị VB và VC, nó tính toán lại các thời hạn để cho các đích truy cập thông qua B và C Đó chính là thời hạn mới

để cho đích X là tối thiểu của AB + BX và AC + CX

Ta lưu ý rằng các thời hạn được tính toán tương ứng với các tình hình trước vài giây so với thời điểm hiện hành vì lý do cập nhật Điều đó có thể dẫn đến biến động tải trong các nút Để điều khiển các gói tin, thời hạn của đường đi ngắn nhất là đường xiên có nghĩa là tại đó ta phải thêm một số gia

Cơ chế tiền tố của hệ DCS

Cơ chế này được sử dụng trong hệ DCS để cung cấp các tài nguyên như các bộ xử lý chức năng hay các tập tin Tài nguyên của hệ DCS được quản lý bởi một Server Các tài nguyên cùng loại được nhóm lại và quản lý bởi một nhóm các Server Nhóm này được định danh bởi một tên tổng quát như đã trình bày ở trên Một yêu cầu về tài nguyên được thể hiện bằng cách gửi thông điệp, nhờ đó mà tất cả các Server liên quan đều có thể nhận biết, thông thường thông qua tên tổng quát

Việc cấp phát tài nguyên hoạt động theo hệ tiền tố Khi hệ nhận được yêu cầu về sử dụng tài nguyên, một Server sẽ trả lời bằng cách cho “phần trị “ cho việc phục vụ của nó phụ thuộc vào phần tải thiết bị được quản lý Như

B

A

C

X

Đường truyền trực tiếp

Đường truyền gián tiếp

Trang 8

thế, tiến trình có yêu cầu nhận được nhiều khả năng từ các Server khác nhau, nó chọn một trong số đó và báo cho Server được chọn Server này

sẽ kiểm tra tính hợp thức của “phần trị” vì lý do trong thời gian đó đã giải quyết cho các trường hợp khác Nếu phần trị không thay đổi, sự việc trở thành hợp thức có nghĩa là tài nguyên được dự trữ Trường hợp ngược lại

ta phải bắt đầu lại từ đầu

Các nhà thiết kế DCS đã đưa ra nhiều thông số cho cơ chế này Cụ thể là:

1 Việc kiểm tả được phân tán: không có trạm đặc quyền Điều

đó cải thiện đáng kể tính ổn định

2 Tải của hệ được cân đối: một Server ít tải cho phanà trị thấp

3 Dễ dàng thêm hay bớt tài nguyên

Ngược lại, ta cần ghi nhận rằng số lượng giao dịch có thể trở thành rất lớn

và không loại bỏ khả năng thiếu thốn vô hạn

Cung cấp bộ xử lý trong hệ MCS

Trong hệ MCS, các bộ xử lý được chia thành các nhóm gọi là phân tử và

có thể truy cập vào bộ nhớ chung Việc thực hiện một tiến trình được tiến hành trên một trong các bộ xử lý thuộc vào một phân tử cho trước Một phân tử có thể thực hiện nhiều tiến trình cùng một lúc

Cơ chế mà ta sẽ giới thiệu liền sau đây nhằm phục vụ cho việc cung cấp một phân tử để thực hiện một tiến trình trong điều kiện tuân thủ tính cân bằng tải giữa các phân tử với nhau Cách đo tải được xác định bởi số lượng các bộ xử lý có trong một phân tử Khi tạo ra một tiến trình thì có một yêu cầu được đăng ký vào trong bộ nhớ chung Tất cả các phân tử đều được biết đến khi có một yêu cầu diễn ra Trong một phân tử, một bộ

xử lý tự do chờ một thời gian thích hợp với số lượng các bộ xử lý bị bận trong phân tử này trước khi có ý định rút yêu cầu Việc rút các yêu cầu được tiến hành theo kiểu loại trừ tương hỗ

Bộ xử lý nhận yêu cầu là bộ xử lý có thời gian chờ ít nhất Do vậy, nó thuộc về phần tử mà tải của phần tử này là ít nhất Các bộ xử lý khác thấy rằng yêu cầu đã bị xóa và chỉ cố gắng đáp ứng các yêu cầu mới mà thôi Thời gian chờ của một bộ xử lý được chọn rất bé để không làm tăng thời gian thực hiện của tiến trình

4 Kết luận

Để chọn lựa phương án triển khai giải quyết vấn đề tải trong hệ phân tán, người ta quan tâm hàng đầu đến độ tin cậy, ổn định và chi phí thực

Trang 9

cho vấn đề tải, đến nay vẫn còn là các giải thuật tương đối chính xác có nghĩa là chưa có giải thuật nào đạt đến độ hoàn hảo như mong muốn Như vậy, trong truờng hợp chọn đường theo kiểu thích nghi như mạng APARNET hay Internet là giải pháp chấp nhận được

Để cung cấp các bộ xử lý với các tải tương đối đồng đều, người ta đã

đề ra chiến lược phân nhóm theo các phần tử như trong hệ MCS

Cơ chế tiền tố của hệ DCS là cơ chế được sử dụng trong hệ DCS để cung cấp các tài nguyên như các bộ xử lý chức năng hay các tập tin Tài nguyên của hệ DCS được quản lý bởi một Server Đó làm một trong những phương án giải quyết vấn đề phân bố tải trong một mạng cụ thể

1 Đề bài

Giả sử rằng ta có bảng CSDL phối hợp với một hoạt động được gọi từ bên ngoài nhằm phục vụ cho việc cập nhật hay tra cứu thông tin cần thiết Hãy viết chương trình trên ngôn ngữ giả định cho phép cập nhật CSDL được tiến hành có kiểm tra

2 Phân tích bài toán:

Để giải quyết vấn đề của bài toán trên ta qui bài toán về trường hợp cụ thể của một kho hàng phân tán mà bảng cơ sở dữ liệu của chúng ta chính là bảng kho tại một trạm

Bảng cơ sở dữ liệu này phối hợp với một bộ đáp ứng truy vấn và bộ truy vấn từ bên ngoài Bộ truy vấn từ bên ngoài này có thể sử dụng nhiều trạm khác nhau trên mạng và chính vì lẽ đó khi thao tác cơ sở dữ liệu chúng ta cần kiểm tra Mô hình bố trí có thể khái quát như sau:

Hình 5 Mô phỏng mô hình bài toán

CSDL CSDL

PC

PC

Bộ đáp ứng truy vấn

Bộ truy vấn

Trang 10

Các thao tác cập nhật và tra cứu cơ sở dữ liệu để đơn giản ta qui về bài toán truy xuất giá trị tồn kho và thao tác nhập kho Giả sử bảng mô tả kho

có các nội dung sau:

3 Chương trình mô phỏng

Theo yêu cầu của bài toán ta chỉ mô phỏng chương trình tại trại đáp ứng truy vấn tại nơi chứa cơ sở dữ liệu mà thôi

3.1 Mô phỏng việc tra cứu thông tin

Thủ tục tra cứu nhận một yêu cầu truy vấn là tra cứu thông tin tại trạm thông qua một câu truy vấn có gắn theo 3 ký tự đầu tiên làm mã trạm Khi nhận được câu truy vấn bộ đáp ứng truy vấn sẽ cắt phần đầu của câu truy vấn để kiểm tra giá trị của trạm Nếu đúng thì thực hiện câu truy vấn nếu không sẽ trả về giá trị Null

{

// Kiểm tra thông tin

// Cắt lấy đoạn thông tin đầu để xác định trạm cần truy vấn

Prefix=Cat_chuoi(QueryMessage)

If (Prefix=Mã trạm)

{

Gia_tri_ton_kho=Thuc_hien_cau_lenh(Select) }

Else //Khong phai tram nay

{

Tracuu=null Exit

} //Trả giá trị về cho bộ truy vấn

Tracuu=Gia_tri_ton_kho

}

Ngày đăng: 23/03/2015, 16:28

HÌNH ẢNH LIÊN QUAN

Hình 1. Sơ đồ tổ chức điều khiển tải tổng quát - Tiểu luận môn hệ phân tán Điều khiển tải
Hình 1. Sơ đồ tổ chức điều khiển tải tổng quát (Trang 2)
Hình 2. Sự quá tải trong mạng giao vận - Tiểu luận môn hệ phân tán Điều khiển tải
Hình 2. Sự quá tải trong mạng giao vận (Trang 4)
Bảng cơ sở dữ liệu này phối hợp với một bộ đáp ứng truy vấn và bộ truy vấn từ bên ngoài - Tiểu luận môn hệ phân tán Điều khiển tải
Bảng c ơ sở dữ liệu này phối hợp với một bộ đáp ứng truy vấn và bộ truy vấn từ bên ngoài (Trang 9)

TỪ KHÓA LIÊN QUAN

w