HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
KHOA CÔNG NGHỆ THÔNG TIN
🙚🞻🙘
ĐỒ ÁN CUỐI KỲ
CÁC HỆ THỐNG PHÂN TÁN
ĐỀ TÀI:
ĐỒNG BỘ ĐỒNG HỒ VẬT LÝ CÁC MÁY TÍNH TRONG HỆ THỐNG
THEO THUẬT TOÁN BERKELEY
Giảng viên hướng dẫn : ThS. LÊ NGỌC BẢO
Thực hiện đề tài:
NGUYỄN VŨ QUANG N20DCCN130
NGUYỄN THỊ HIỀN N20DCCN099
NGUYỄN THỊ THU HIỀN N20DCCN100
NGUYỄN TRỌNG NHÂN N20DCCN122
NGUYỄN DƯƠNG PHI N20DCCN125
LỚP: D20CQCNPM02-N
TPHCM, Tháng 12-2023
LỜI CẢM ƠN
Em xin bày tỏ lòng biết ơn sâu sắc tới Học viện Công nghệ Bưu chính Viễn thông vì đã đưa
môn học Các hệ thống phân tán vào chương trình học của chúng em. Đồng thời, em muốn gửi lời
cảm ơn chân thành đến Thầy Lê Ngọc Bảo, người đã dành thời gian và tâm huyết hướng dẫn
chúng em trong suốt hành trình học tập.
Thầy không chỉ là người hướng dẫn mà còn là nguồn động viên quan trọng, giúp em nhận
thức rõ hơn về tầm quan trọng của các hệ thống phân tán trong lĩnh vực công nghệ thông tin.
Thầy đã chia sẻ những kiến thức sâu rộng và cung cấp ví dụ minh họa, giúp em tiếp cận môn học
một cách linh hoạt và thú vị.
Đặc biệt, em muốn biểu hiện lòng biết ơn đặc biệt đến tâm huyết của Thầy trong việc
hướng dẫn về kỹ năng và kinh nghiệm cần thiết cho việc nghiên cứu và triển khai "Các hệ thống
phân tán". Những kỹ năng này không chỉ là đòn bẩy cho quá trình học tập mà còn là nền tảng
quan trọng cho sự phát triển nghề nghiệp trong tương lai.
Em hy vọng rằng Học viện sẽ tiếp tục phát triển và cập nhật chương trình học với các môn
học chất lượng như "Các hệ thống phân tán". Điều này sẽ mang lại cơ hội cho sinh viên như em
để nắm bắt và ứng dụng kiến thức một cách hiệu quả, từ đó nâng cao khả năng sáng tạo và ứng
dụng trong thực tế.
Cuối cùng, em trân trọng nhận định về tầm quan trọng của sự đánh giá và góp ý của Thầy
Lê Ngọc Bảo đối với bài luận của em. Em coi đây là cơ hội quý báu để hoàn thiện bản thân và
xin chân thành cảm ơn Thầy vì sự hỗ trợ và sự hướng dẫn chân thành trong quá trình học tập.
1. GIỚI THIỆU CHUNG
1.1. Lý do chọn đề tài
Trong thời đại ngày nay, khi công nghệ thông tin ngày càng phát triển, hệ thống phân tán
đóng một vai trò quan trọng trong việc xử lý và quản lý thông tin. Các máy tính phân tán cần phải
duy trì đồng bộ về thời gian để đảm bảo tính nhất quán và đáng tin cậy của dữ liệu. Trong bối
cảnh này, việc áp dụng thuật toán đồng bộ đồng hồ vật lý, đặc biệt là thuật toán Berkeley, trở nên
hết sức quan trọng.
Lý do chọn đề tài này xuất phát từ nhu cầu ngày càng tăng về việc đảm bảo đồng bộ thời
gian giữa các máy tính phân tán trong một hệ thống. Một hệ thống phân tán hiệu quả không chỉ
đòi hỏi sự tương tác chính xác giữa các thành phần mà còn đề cao tính nhất quán trong việc đánh
dấu thời gian. Thuật toán Berkeley, được thiết kế để giải quyết vấn đề đồng bộ hóa thời gian giữa
các máy tính phân tán, trở thành sự chọn lựa lý tưởng để nghiên cứu và triển khai.
Qua việc áp dụng thuật toán Berkeley, chúng ta có thể tối ưu hóa quá trình đồng bộ hóa
thời gian, giảm thiểu độ trễ và tăng cường khả năng chịu lỗi của hệ thống. Đồng thời, việc này
còn mang lại những lợi ích to lớn cho việc phát triển các ứng dụng và dịch vụ phức tạp, nơi tính
nhất quán và đáng tin cậy là chìa khóa của sự thành công.
Trong bối cảnh hiện nay, khi các tổ chức và doanh nghiệp ngày càng chú trọng đến sự kết
nối liền mạch giữa các thành phần hệ thống, nghiên cứu về áp dụng thuật toán Berkeley trở nên
càng trở nên thiết thực và cần thiết. Bài báo cáo này sẽ tập trung vào việc trình bày cơ sở lý
thuyết và ứng dụng thực tế của thuật toán Berkeley trong bối cảnh các hệ thống phân tán, với hy
vọng đóng góp vào sự hiểu biết và phát triển của lĩnh vực này.
1.2. Giới thiệu về thuật toán Berkeley
1.2.1. Khái niệm
Thuật toán Berkeley là một phương pháp đồng bộ hóa đồng hồ trong tính toán phân tán, được
phát triển bởi Gusella và Zatti tại Đại học California, Berkeley vào năm 1989. Thuật toán này
được thiết kế để sử dụng trong mạng nội bộ, giả định rằng không có máy tính nào có nguồn thời
gian chính xác. Nó được thiết kế để sử dụng trong mạng nội bộ.
1.2.2. Hướng tiếp cận
-Một máy chủ thời gian Server sẽ gửi thời gian của nó đến tất
cả các máy tính để thăm dò sự khác biệt thời gian.
Lấy ví dụ: Giả sử có 3 đồng hồ T1,T2,T3. Trong đó T1 là
đồng hồ Server đang là 3h các đồng hồ còn lại là của
Clientvới T2 =2h50’, T3= 3h25’ theo như hình bên.
Chú thích:
Time daemon (còn gọi là "time server"), có nhiệm vụ
chính là duy trì thời gian chung cho toàn bộ hệ thống,
giúp đồng bộ hóa đồng hồ của các máy tính khác trong
mạng.
Hình 1.1. Ví dụ thuật toán
Berkeley (a)
Network: hệ thống mạng nội bộ. Gỉa sử độ trễ mạng
không đáng kể.
-Các máy tính tính toán độ chênh lệch với thời gian mà máy
chủ gửi tới và sau đó trả lời lại máy chủ.
Theo ví dụ ban đầu, T2 và T3 tính toán độ lệch thời gian và
gửi về cho Server lần lượt là: T1’ = -10’ và T2’ = +25’ (T1’,
T2’ lần lượt là độ lệch thời gian của các máy T2 và T3). Dấu
“-” biểu thị cho việc T2 trễ hơn T1 và “+” là T3 sớm hơn T1.
-Máy chủ tính toán chênh lệch thời gian trung bình cho mỗi
máy tính: T = (0 + T1’ + T2’)/3 = (0 - 10 + 25)/3 = 5’
-Sau đó Server sẽ đặt thời gian của mình là: Tnew = 3h + 5’. Và
báo cho các máy Client T2 (+15') và T3 (-20')
Hình 1.2. Ví dụ thuật toán
Berkeley (b)
Hình 1.3. Ví dụ thuật toán
Berkeley (c)
2. NỘI DUNG THỰC HIỆN
2.1. Hướng tưởng thực hiện
Bài làm xây dựng một hệ thống có server và client kết nối vào server thông qua trang web
đơn giản hiển thị thời gian của client khi truy cập vào trang web. Server sẽ gửi yêu cầu thời gửi
thời gian đến các client có trong hệ thống và các thiết bị trong hệ thống sẽ gửi cho server thời
gian của mình. Server lập tức tính toán để tìm ra thời gian đồng bộ cho toàn hệ thống và sau đó
gửi lại yêu cầu đồng bộ thời gian kèm thời gian chuẩn mà nó đã tính toán cho các thiết bị khác.
2.3. Công nghệ được sử dụng
2.3.1. JavaScript
JavaScript là ngôn ngữ lập trình được nhà phát triển sử dụng để tạo trang web tương tác. Từ
làm mới bảng tin trên trang mạng xã hội đến hiển thị hình ảnh động và bản đồ tương tác, các
chức năng của JavaScript có thể cải thiện trải nghiệm người dùng của trang web. Là ngôn ngữ
kịch bản phía máy khách, JavaScript là một trong những công nghệ cốt lõi của World Wide Web.
Ví dụ: khi duyệt internet, bất cứ khi nào bạn thấy quảng cáo quay vòng dạng hình ảnh, menu thả
xuống nhấp để hiển thị hoặc màu sắc phần tử thay đổi động trên trang web cũng chính là lúc bạn
thấy các hiệu ứng của JavaScript.
Hình 2.4. Hình minh họa JavaScript
JavaScript có những ưu điểm sau:
-Dễ dàng học và sử dụng: Cú pháp của JavaScript được lấy cảm hứng từ ngôn ngữ lập trình
Java, rất dễ để học và viết mã. Các nhà phát triển sử dụng JavaScript trong hầu hết các trang
web và ứng dụng di động để viết tập lệnh phía máy khách. Node.js cũng đã trở nên hết sức
phổ biến đối với việc viết mã backend trong thập kỷ qua. Nhiều nền tảng phát trực tuyến và
video phổ biến đã được viết mã bằng Node.js.
-Có thể không phụ thuộc vào nền tảng: Không giống như các ngôn ngữ lập trình khác, có thể
chèn JavaScript vào bất kỳ trang web nào và sử dụng với nhiều ngôn ngữ và khung phát triển