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

tiểu luận môn lập trình mạng triển khai công tơ sự kiện phân tán trên n server n=2 và xác định giá trị ảnh của các công tơ sự kiện trên mỗi trạm

30 484 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 30
Dung lượng 294 KB

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

Nội dung

Mạng máy tính và hệ tin học phân tán là hệ thống xử lý thông tin bao gồm nhiều bộ xử lý hoặc bộ vi xử lý nằm tại các vị trí khác nhau và được liên kết với nhau thông qua phương tiện viễn

Trang 1

ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA

CÁC CÔNG TƠ SỰ KIỆN TRÊN MỖI TRẠM

Giáo viên hướng dẫn:

PGS TS LÊ VĂN SƠN Học viên thực hiện:

Huỳnh Anh Tuấn

Lớp: Khoa học Máy tính – K24

Đà Nẵng, 5/2012

Trang 2

MỤC LỤC

MỤC LỤC 1

LỜI GIỚI THIỆU 2

YÊU CẦU CỦA ĐỀ TÀI 3

CHƯƠNG I: TỔNG QUAN VỀ HỆ PHÂN TÁN VÀ LẬP TRÌNH MẠNG 4

I.1 Hệ thống tin học 4

I.2 Hệ tin học phân tán 4

I.3 Các mô hình hệ phân tán và ứng dụng mạng 4

I.4 Kiến trúc hệ thống 5

CHƯƠNG II: ĐỒNG BỘ HÓA TRONG HỆ PHÂN TÁN 7

II.1 Đồng bộ hóa tiến trình 7

II.2 Sắp xếp kiểu đóng dấu 14

II.3 Đồng bộ hóa theo trật tự tổng quát chặt chẽ 15

CHƯƠNG III: SỰ GẮN BÓ DỮ LIỆU TRONG CSDL PHÂN TÁN 20

III.1 Tác động và giao dịch 20

III.2 Trật tự hóa các tác động 21

III.3 Triển khai giao dịch tôn trọng sự gắn bó 22

III.4 Quản lý gắn bó các giao dịch 24

PHẦN BÀI TẬP 25

KẾT LUẬN 28

TÀI LIỆU THAM KHẢO 29

Trang 3

LỜI GIỚI THIỆU

Ngày nay với sự phát triển của khoa học kỹ thuật đặc biệt là kỹ thuật tin học đã phần nào đáp ứng ngày càng tốt hơn nhu cầu trao đổi thông tin của con người, làm cho mọi người khắp thế giới trở nên gần nhau hơn, thông tin liên lạc nhanh chóng, thuận lợi và hiệu quả Mạng máy tính và hệ tin học phân tán là hệ thống xử lý thông tin bao gồm nhiều bộ xử lý hoặc bộ vi xử lý nằm tại các vị trí khác nhau và được liên kết với nhau thông qua phương tiện viễn thông dưới sự điều khiển thống nhất của một hệ điều hành

Mục đích của lập trình mạng phân tán là tận dụng các khả năng tính toán và khai thác dữ liệu của các hệ thống máy tính ở xa để thực hiện những tính toán nhanh hơn trên

cơ sở sử dụng nhiều bộ xử lý, nhiều bộ nhớ đồng thời hoặc nhiều dữ liệu quý giá được phân tán khắp nơi Trên nền hệ thống mạng máy tính được kết nối như hiện nay, việc xử

lý phân tán sẽ giải quyết được những bài toán lớn hơn, phức tạp hơn của thực tế

Trong hệ tin học phân tán, việc hợp lực của các thành viên trong hệ dẫn đến hàng loạt các vấn đề như: định danh, cấp phát tài nguyên dùng chung (đảm bảo tránh tương tranh), giải quyết sự cố tạo nên tính tin cậy của hệ Để đảm bảo tính gắn bó của hệ, yêu cầu đặt ra trước hết là đồng bộ hóa các tiến trình Với hệ phân tán (không có bộ nhớ chung, bộ tạo xung đồng hồ chung), khả năng gắn bó và việc đồng bộ hóa cho hệ chỉ dựa trên phương tiện duy nhất là truyền thông điệp nên lời giải cho yêu cầu đồng bộ hóa thường chỉ dừng lại ở mức chấp nhận được đối với mỗi hệ.

Nội dung của tiểu luận trình bày các vấn đề:

Cở sở lý thuyết hệ phân tán.

Đồng bộ hoá và gắn bó dữ liệu trong hệ phân tán.

Triển khai chương trình tìm “ảnh” của các công tơ.

Em xin chân thành cảm ơn thầy giáo PGS.TS Lê Văn Sơn đã cung cấp kiến thức và tài liệu để em có thể hoàn thành tiểu luận này.

Học viên thực hiện

Huỳnh Anh Tuấn

Trang 4

YÊU CẦU CỦA ĐỀ TÀI

Vấn đề:

Ta triển khai công tơ sự kiện phân tán trên N Server (N≥2) Giả sử rằng trong thời gian

đầu các trạm hoạt động rất ổn định và ta cài đặt trên mỗi trạm một công tơ sự kiện cục

bộ Hãy cho biết làm thế nào một trạm có thể có giá trị "ảnh" của các công tơ sự kiện trênmỗi trạm

Mục tiêu:

1 Giải quyết bài toán đồng bộ hóa và gắn bó dữ liệu

2 Viết chương trình cho biết giá trị “ảnh” của các công tơ

Trang 5

CHƯƠNG I: TỔNG QUAN VỀ HỆ PHÂN TÁN VÀ LẬP TRÌNH MẠNG I.1 Hệ thống tin học

Hệ thống tin học (Informatics System) là hệ thống bao gồm hai phần cơ bản là

phần cứng (hardware) hay là phần vật lý và phần mềm (software) là phần logic hay là

chương trình gắn bó hữu cơ với nhau và có khả năng xử lý thông tin Hệ thống tin học

gồm ba thực thể: phần cứng, phần mềm, dữ liệu

I.2 Hệ tin học phân tán

Hệ tin học phân tán hay nói ngắn gọn là hệ phân tán (Distributed System) là hệthống xử lý thông tin bao gồm nhiều bộ xử lý hoặc bộ vi xử lý nằm các tại các vị trí khácnhau và được liên kết với nhau thông qua phương tiện viễn thông dưới sự điều khiểnthống nhất của một hệ điều hành

Hệ tin học phân tán là hệ thống không chia sẻ bộ nhớ và đồng hồ Điều đó cho phépphân biệt với một xu hướng tin học khác về phân tán các tính toán trên nhiều bộ xử lýhay vi xử lý của hệ thống đa bộ xử lý

Hệ tin học phân tán đòi hỏi hệ thống phần cứng của mình phải trang bị bộ nhớ cục

bộ Các bộ xử lý trao đổi với nhau thông qua các hệ thống đường truyền khác nhau như làcáp quang, điện thoại, cáp chuyên dụng, bus trao đổi,

Mục tiêu của hệ phân tán:

- Tăng tốc độ bình quân trong tính toán, xử lý

- Cải thiện tình trạng luôn luôn sẵn sàng của các loại tài nguyên

- Tăng độ an toàn cho dữ liệu

- Đa dạng hóa các loại hình dịch vụ tin học

- Đảm bảo tính toàn vẹn của thông tin

I.3 Các mô hình hệ phân tán và ứng dụng mạng

Trang 6

Các lớp phần mềm:

Kiến trúc phần mềm: cấu trúc của phần mềm như là các lớp và các module trongcác thuật ngữ của các dịch vụ đưa ra và yêu cầu giữa các tiến trình trên cùng hoặc trêncác máy tính khác nhau

Platform (hệ nền): phần cứng mức thấp nhất và các lớp phần mềm (hệ điều hành).Middleware: một lớp của phần mềm mà mục đích của nó là đánh dấu heterogeneity

và để cung cấp một mô hình lập trình cho các ứng dụng, như: CORBA, RMI (RemoteMethod Invocation), DCOM (Distributed Component Object Model),

I.4 Kiến trúc hệ thống

I.4.1 Mô hình Client/Server

Một WebServer thường là một client của một File Server cục bộ

Các WebServer và các Server của Internet khác là các client của một DNS Servercái mà dịch các tên miền Internet thành các địa chỉ mạng

Trang 7

Một máy tìm kiếm là một Server, nhưng nó chạy chương trình được gọi là WebCrawlers cái mà truy cập các Web server thông qua Internet cho thông tin yêu cầu.

Dịch vụ cung cấp bởi nhiều server, trong đó nhiều Server có thể:

 Mỗi phần là một tập hợp các đối tượng

 Duy trì các bản sao của toàn bộ tập hợp các đối tượng trên một vài máy

Ví dụ: Web Proxy Server: cung cấp một bộ nhớ cache chia xẻ cho các máy client tại

một site hoặc băng qua một vài site khác nhau

I.4.2 Mô hình tương tác trong hệ phân tán

Thực hiện truyền thông:

o Không có khái niệm toàn cục của thời gian

o Nhịp độ đồng hồ trôi: nhịp độ tương đối ở một đồng hồ máy tính trôidạt ra khỏi từ một đồng hồ tham chiếu hoàn hảo

o Đồng bộ hóa đồng hồ:

Trang 8

o Hệ thống định vị toàn cầu (GPS): một ít máy tính có thể sử dụng máy

thu radio để nhận thời gian đọc từ GPS với độ chính xác là 1 giây Chúng có thể gửi các thông điệp thời gian đến các máy tính kháctrong mạng tương ứng của chúng

micro- Các đồng hồ logic: mỗi thông điệp là thời gian đóng dấu lên với một số nối

tiếp mà phản chiếu thứ tự lôgic của chúng.

II.1.Đồng bộ hóa tiến trình

Đồng bộ hoá tiến trình được hiểu như là quá trình điều khiển tạo nên sự ăn khớp vớinhau giữa tất cả các tiến trình khác nhau giúp cho hệ phân tán hoạt động nhịp nhàng, tincậy và phòng tránh các sự cố kỹ thuật

II.1.1 Vấn đề tương tranh và hợp lực

Trong tất cả các hệ thống tin học, ta cần phải nghiên cứu các công cụ đủ mạnh vàhiệu quả để có thể đồng bộ hóa các tiến trình Tính cấp thiết về mặt nguyên lý và kỹ thuậtcủa vấn đề này thể hiện ở hai nguyên do cơ bản sau đây :

1 Các tiến trình kể cả các tiến trình xuất phát từ các ứng dụng độc lập muốntruy cập vào các tài nguyên với số lượng rất hạn chế hay truy cập vào thôngtin dùng chung cùng một lúc gây nên hiện tượng truy cập tương tranh Tươngtranh là nguyên nhân chính của các xung đột giữa các tiến trình muốn truycập vào các tài nguyên dùng chung

2 Các tiến trình của cùng một hệ ứng dụng hoạt động theo kiểu hợp lực để giảiquyết các bài tóan đặt ra và cho kết quả nhanh chóng nhất Điều này chophép tăng hiệu năng sử dụng thiết bị và hiệu quả hoạt động của chương trình.Hợp lực là nguyên nhân chính của sự tác động tương hỗ được lập trình giữacác tiến trình nhằm cho phép chúng tham gia vào các hành động chung

Sự tương tranh và hợp lực giữa các tiến trình đòi hỏi phải có trao đổi thông tin qua

lại với nhau Trong các hệ thống tập trung, điều đó được thực hiện nhờ thuật toán loại trừtương hỗ thông qua các biến cùng tác động trong một vùng nhớ chung Trong hệ tin họcphân tán, các thông tin cần trao đổi thông qua các thông điệp bằng các kênh viễn thông

Trang 9

Một sự hoạt động gắn bó của các chương trình cung cấp phân tán quản lý trên cùngmột tập hợp các tài nguyên chỉ đạt được nếu tuân thủ các qui tắc sau:

1 Các bộ cung cấp bắt buộc phải thực hiện cùng một giải thuật

2 Các bộ cung cấp đều nhận tất cả các thông điệp phát đi từ các tiến trình

3 Các thông điệp phải được xử lý cùng một trật tự như nhau trong các chương trình cung cấp

Qui tắc cuối, nhấn mạnh đến sự thiết yếu phải có một trật tự duy nhất trên tập hợpcác thông điệp của hệ Trật tự này có thể được thực hiện thông qua việc hợp lực của cáctiến trình cung cấp Ở phần sau chúng ta nghiên cứu một số phương pháp sắp xếp nhằmxác lập một trật tự đảm bảo cho yêu cầu đồng bộ hóa

Các mũi tên hai chiều được sử dụng để mô tả dòng ra vào

Trong bài toán này chúng ta nhận thấy :

 Bãi đậu xe chính là tài nguyên

VT VT VT

VT

VT VT VT

VT

VT VT

VT

VT VT VT VT VT VT

VT VT

VT VT

BV BV

BV

BV

Trang 10

do vì họ thiếu thông tin.

- Như vậy các người bảo vệ phải hợp lực với nhau để phân phối chính xác cácchổ trong bãi, đặc biệt là số lượng chổ còn trống càng ít thì vai trò của hợp lựccòn quan trọng Đây chính là sự không gắn bó dữ liệu ở bãi đậu xe ô tô

- Để hiểu rõ hơn vấn đề đồng bộ hoá ta xét ví dụ cụ thể như sau : Giả sử rằng ởthời điểm cho trước ta có 4 ngưòi bảo vệ và có 100 chỗ còn trống Tất cả cácngười bảo vệ đều có thông tin đó Trạng thái lúc này của hệ là gắn bó Batrong số họ phát đi các thông tin sau :

1 M1 Thêm 20 chỗ trống

2 M2 Đã có 10 chỗ bị chiếm

3 M3 Dành 10% chỗ trống để quét dọn sân bãi

Trang 11

Nếu ta không có ràng buộc nào đối với trình tự xử lý các thông điệp nhận được của các người bảo vệ thì các NBV sẽ có thông tin về số lượng chỗ trống khác nhau Để bảo đảm các bản cập nhật giống nhau thì trình tự cập nhật nhất thiết phải giống nhau trên tất cả các trạm.

Trật tự

xử lý

Bảo vệ 1 Bảo vệ 2 Bảo vệ 3 Bảo vệ 4

Thôngđiệp

GiáTrị

Thôngđiệp

GiáTrị

Thôngđiệp

GiáTrị

Thôngđiệp

GiáTrị

II.1.3 Trật tự từng phần

Cần chú ý rằng, trong các hệ thống tin học tập trung, vấn đề đồng bộ hoá được giảiquyết thông qua cơ chế loại trừ tương hỗ Cơ chế này cho phép sắp đặt (xác lập trật tự)hoàn toàn các sự kiện Trong thực tiễn, nói một cách chính xác là có một hệ thống vấn đề

về đồng bộ hoá chỉ đòi hỏi trật tự từng phần Chính vì vậy trật tự hoá từng phần giữa các

sự kiện mà các tiến trình của nó cần phải đồng bộ là vấn đề cần phải quan tâm giải quyết

Trang 12

Trong các hệ thống phân tán, việc đồng bộ hoá chỉ đặt ra duy nhất vấn đề thiết lậpmột trật tự giữa các sự kiện Giữa các trạm khác nhau, trật tự đó chỉ có thể hiện đượcthông qua việc trao đổi các thông điệp với nhau.

Giả sử rằng ta có thể xác định một trật tự giữa các sự kiện của hệ phân tán nhờ vàoquan hệ được ký hiệu là → và gọi là “có trước” hay “ở ngay trước”

Quan hệ này tối thiếu phải thoã mãn được ràng buộc thể hiện trong bảng sau đây :

Hình vẽ sau đây cho ta một ví dụ về trật tự hoá từng phần của các sự kiện trong hệthống

Theo hình vẽ trên, ta có thể biểu diễn trật tự như sau :

Trật tự từng phần của các sự kiện

A1 → A2 → A3 → A4 → A5B1 → B2 → B3 → B4

Trao đổi thông tin

Trang 13

A1 → A2 → B2 → B3 → B4B1 → B2 → B3 → A4 → A5A1 → A2 → B2→ B3 → A4 → A5

Ví dụ: Về các sự kiện không so sánh

B1 và A1, A2, A3A3 và B2, B3, B4Ràng buộc C1 thể hiện rằng trật tự có thể được bởi quan hệ có trước là tương thíchvới các trật tự cục bộ được định nghĩa trong từng trạm

Ràng buộc C2 nói lên nguyên tắt nhân quả

Quan hệ có trước xác định một trật tự từng phần trên tập hợp các sự kiện của hệ vàtrật tự này có thể hiện trong hình vẽ trên

II.1.4 Giả định các điều kiện chung

Các hệ phân tán được xây dựng trên cơ sở các trạm làm việc được mắc nối với nhau(nối mạng) Mỗi một trạm có bộ nhớ riêng của mình và tuyệt đối không có bộ nhớ chung

Ta áp dụng các ký hiệu trong bảng sau :

1 H1 Một trạm trong các trạm đều có thể liên lạc với các trạm còn

lại trong hệ

2 H2 Không có lỗi truyền thông tin và không mất thông điệp

3 H3 Trật tự nhận trên trạm j của dãy các thông điệp cũng giống

như chính tại trạm I là giống với trật tự của nơi phát

Sự cố hay gián đoạn vật lý tại một trạm nào đó được phát hiện sẽ lập tức thông báo đến tất cả các trạm có ý định liên lạc với nó

Trước hết, trong đề tài này nghiên cứu sự hoạt động của hệ không có sự cố, rồi sau

đó sẽ chỉ ra hiệu ứng của sự cố hay việc phục hồi lại một trạm Đó là trường hợp đã nêulên trong H4 ở trên Ngoài ra còn giả sử rằng hiện tượng gây sự cố trên một trạm chỉ làmcho trạm đó không liên lạc được với mạng mà hoàn toàn không ảnh hưởng đến sự hoạtđộng của các trạm còn lại hoặc ít nhất là một nhóm các trạm khác

Trang 14

II.1.5 Trật tự tổng quát chặt chẽ

Trong một số trường hợp cần phải sắp xếp toàn bộ theo kiểu chặt chẽ các sự kiệncủa hệ liên quan trực tiếp đến việc cung cấp các tài nguyên Nguyên lý của vấn đề đượckhái quát như sau Một tiến trình nào đó gởi thông điệp để yêu cầu sử dung tài nguyên;một tiến trình sử dụng xong tài nguyên nào đó truyền một thông tin giải phóng khi nóngừng chiếm dụng

Cung cấp tập trung :

Hiện tại, trong các hệ thống tập trung, mỗi một loại tài nguyên của hệ được quản lýbởi một chương trình cung cấp duy nhất, goi là bộ cung cấp tài nguyên Chương trình nàytiếp tục nhận tất cả các yêu cầu, khuyến nghị giải phóng và sắp xếp chúng trong một hàngđợi xử lý theo kiểu loại trừ tương hỗ và xử lý chúng theo một trật tự nhất định của hàngđợi này

Trong các hệ phân tán, chương trình cung cấp nằm trên một trạm và các tiến trình

đề nghị lại ở trên các trạm khác; các yêu cầu và khuyến nghị giải phóng được truyền chochương trình cung cấp thông qua hình thức thông điệp chuyển theo các kênh của hệthống viễn thông Chính vì vậy nhu cầu sắp xếp các yêu cầu này theo một trật tự nhấtđịnh nào đó luôn được đặt ra

Nếu chỉ có một thông điệp đến chương trình cung cấp thì trật tự đến thể hiện mộttrật tự chặt chẽ Ngược lại, nếu có nhiều thông điệp đến cùng một lúc thì việc sắp xếpchúng phải theo kiểu loại trừ tương hỗ trong hàng đợi cục bộ của trạm có chứa chươngtrình cung cấp Điều đó cũng cho phép ta có một trật tự chặt chẽ

Trật tự có được tại trạm cung cấp có thể không giống như trật tự phát, nếu thời giantruyền không được cố định Đây là trường hợp khá phổ biến trong mạng máy tính Nhưngnếu ta muốn xử lý các thông điệp theo trình tự không tính tới thời gian truyền, thì cầnphải tính đến một trật tự tổng quát của các lần truyền thông điệp từ các trạm khác nhau

Cung cấp phân tán :

Vì lý do ổn định và hiệu quả mà ta phải phân tán chức năng cung cấp trên nhiềutrạm khác nhau Sự hoạt động gắn bó với nhau giữa các chương trình cung cấp là rất cầnthiết để đảm bảo cho hoạt động cung cấp được hoàn toàn chính xác

II.2.Sắp xếp kiểu đóng dấu

Trang 15

phần giữa các sự kiện mà tiến trình của

nó cần phải đồng bộ là vấn đề cần phải quan tâm

Giả sử rằng ta có thể xác định một trật tự giữa các sự kiện của hệ phân tán nhờ vàoquan hệ “có trước” () hay “ở ngay trước”:

Trật tự các sự kiện được xác định dựa

trên các nguyên tắc sau:

1 Nếu A và B là hai sự kiện của cùng

một trạm và A xảy ra trước B thì ta

có AB (trật tự cục bộ)

2 Nếu A là phát thông điệp từ một trạm

nào đó và B là nhận thông điệp thì ta

có AB (nhân-quả)

3 Nếu AB và BC, thì AC (bắc

cầu)

Sơ đồ của “ có trước ”:

p3 p4

q1 q2 q3 q4 q5 q6

r1 r2 r3 r4

Ngày đăng: 31/01/2015, 22:54

HÌNH ẢNH LIÊN QUAN

Hình vẽ sau đây cho ta một ví dụ về trật tự hoá từng phần của các sự kiện trong hệ thống. - tiểu luận môn lập trình mạng triển khai công tơ sự kiện phân tán trên n server n=2 và xác định giá trị ảnh của các công tơ sự kiện trên mỗi trạm
Hình v ẽ sau đây cho ta một ví dụ về trật tự hoá từng phần của các sự kiện trong hệ thống (Trang 12)
Sơ đồ của “  có trước  ”: - tiểu luận môn lập trình mạng triển khai công tơ sự kiện phân tán trên n server n=2 và xác định giá trị ảnh của các công tơ sự kiện trên mỗi trạm
Sơ đồ c ủa “ có trước ”: (Trang 15)
Hình sau minh họa cho dạng thông điệp với trật tự chặt chẽ  - tiểu luận môn lập trình mạng triển khai công tơ sự kiện phân tán trên n server n=2 và xác định giá trị ảnh của các công tơ sự kiện trên mỗi trạm
Hình sau minh họa cho dạng thông điệp với trật tự chặt chẽ  (Trang 17)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w