Chương 1, sẽ giới thiệu về đề tài luận văn. Chương 2 sẽ mô tả về Hệ thống tệp phân tán Hadoop, và kiến thức nền tảng về CSP và PAT. Chúng ta sẽ mô hình hóa Hệ thống tệp phân tán Hadoop trong Chương 3. Trong Chương 4, chúng ta kiêm chứng mô hình Hệ thống tệp phân tán Hadoop.
Cuối cùng, chúng ta cung cấp các nhận xét kết luận và hướng phát triển trong Chương 5. Mục đích nghiên cứu 1. Mục tiêu tong quát Mô hình hóa được hệ thống tệp phân tán Hadoop bằng ngôn ngữ đại số tiến trình CSP nhằm mục đích nghiên cứu và cải thiện các hạn chế cùa hệ thống tệp phân tán. Mục tiêu cụ thể Thông qua việc mô hình hóa và kiêm chứng mạng do Hệ thống tệp phân tán Hadoop bằng ngôn ngữ đại số tiến trình CSP, sẽ hoàn thành luận văn tốt nghiệp.
Đối tượng nghiên cứu và phạm vi nghiên cứu 1. Đối tượng nghiên cứu Mô hình hóa và kiêm chứng Hệ thống tệp phân tán Hadoop bằng cách sử dụng ngôn ngữ đại số tiến trình CSP. Phạm vi nghiên cứu Sừ dụng ngôn ngĩr đại số tiến trình CSP và PAT đê kiêm tra mô hình và kiêm chứng các mô hình đáp ứng năm thuộc tính, đó là tính không có be tắc (Deadlock Freedom), khoảng cách đường đi ngắn nhất (Minimal Distance Scheme), loại trừ lẫn nhau (Mutual Exclusion), hrợt đo ghi một lần (Write-Once Scheme) và khả năng chịu lỗi (Robustness). Nhiệm vụ nghiên cứu Nghiên cứu Hệ thống tệp phân tán Hadoop.
Nghiên círu ngôn ngữ đại số tiến trình CSP và sử dụng bộ công cụ phân tích tiến trình đê kiêm tra mô hình PAT. Mô hình hóa Hệ thống tệp phân tán Hadoop. Kiêm chứng tính không có bế tắc, khoảng cách đường đi ngan nhất, loại trÌT lẫn nhau, đồ ghi một lần và khả năng chịu lỗi. Thực nghiệm đánh giá tính khả thi và hiệu quả của đề tài trên bộ công cụ phân tích tiến trình đê kiêm tra mô hình PAT 1.
Phương pháp nghiên cứu 1. Phương pháp lí luận Nghiên círu lý thuyết Hệ thống tệp phân tán Hadoop, Ngôn ngữ đại số tiến trình CSP, PAT và các tài liệu có liên quan. Phân tích và tông hợp. Phương pháp thực tiễn Phân tích và tông hợp kinh nghiệm: đề xuất PAT thực nghiệm.
3 Phương pháp hòi ý kiến chuyên gia. Phương pháp toán học: Ngôn ngữ tiến trình CSP. Những đóng góp mói của đề tài Sừ dụng kiến trúc đa điều khiên và CSP đê mô hình hóa Hệ thống tệp phân tán Hadoop. Bằng cách sử dụng PAT đê kiêm tra mô hình, kiêm chứng các mô hình đáp ứng năm thuộc tính, đó là không có bế tắc, khoảng cách đường đi ngắn nhất, loại trừ lẫn nhau, đồ ghi một lần và khả năng chịu lỗi.
Dự kiến kế hoạch nghiên cứu Giai đoạn 1: Nghiên cửu lý thuyết Hệ thống tệp phần tán Hadoop và các tài liệu có liên quan. Giai đoạn 2: Nghiên círu ngôn ngừ đại số tiến trinh CSP và PAT và các tài liệu có liên quan. Giai đoạn 3: Sử dụng đại số tiến trình CSP đê mô hình hóa Hệ thống tệp phân tán Hadoop. Giai đoạn 4: Thực nghiệm bằng cách sử dụng PAT đê kiêm chứng Hệ thống tệp phân tán Hadoop.
Giai đoạn 5: Ket luận và phát triển. Giai đoạn 6: Viết các chương báo cáo và hoàn thiện luận văn. 4 CHƯƠNG 2: MÔ TẢ VÈ HỆ THÓNG TỆP PHÂN TÁN HADOOP, VÀ KIÉN THỨC NỀN TẢNG VÈ CSP VÀ PAT Apache Hadoop hay Hadoop là một software framework hỗ trợ các ứng dụng phân tán dữ liệu chuyên sâu theo một giấy phép miễn phí. Nó cho phép các írng dụng làm việc với hàng ngàn máy tính tính toán độc lập và petabyte dữ liệu.
Hadoop được bắt nguồn từ các bài báo MapReduce của Google và Google File System (GFS) [17]. Hadoop là một trong những dự án hàng đầu của Apache, được xây dựng và được sử dụng bời một cộng đồng những người đóng góp toàn cầu, viết bằng ngôn ngữ lập trình Java. Yahoo! đã đóng góp lớn nhất cho dự án, và Hadoop được sừ dụng rộng rãi trên khắp các doanh nghiệp. Hệ thống tệp phân tán Hadoop (HDFS) là một hệ thống quản lý tệp phân tán có khả năng chịu lỗi cao, cung cấp khả năng truy cập thông lượng cao vào dữ liệu ứng dụng và thích hợp cho các ứng dụng có tập dữ liệu lớn.
Ngoài ra, chúng ta cũng giới thiệu liên quan đến CSP và PAT.1 Tổng quan về HDFS HDFS là hệ thống tệp phân tán chính được các írng dụng Hadoop sử dụng.1 minh họa cấu trúc HDFS [2, 3, 17], Như chúng ta thấy trong Hình 2.1, HDFS có kiến trúc kiêu master/sỉave. Trong chương này, chúng ta chủ yếu tập trung vào cụm HDFS với một NameNode đơn là một máy chủ master quản lý siêu dữ liệu của tệp và quy định việc truy xuất tệp cùa người dùng HDFS, và nhiều DataNodes hru trử dừ liệu thật.1: Tông quan vê Kiên trúc HDFS Trong HDFS, một tệp được chia thành một hoặc nhiều khối và các khối này được lưu trên các DataNodes. NameNode xác định ánh xạ của các khối này vào các DataNodes. Nó cũng thực hiện các tác vụ liên quan đến hệ thống tệp như mở, đóng và đặt lại tên tệp.
DataNodes có trách nhiệm xử lý các yêu cầu đọc và ghi từ các ngrrời dùng HDFS. DataNodes cũng thực hiện việc tạo ra, xóa bò và sao chép khối dựa theo chi thị ư'r NameNode. Ke tiếp, chúng ta sẽ mô tả luồng của các tác vụ đọc, ghi và cơ chế nhịp đập trái tim trong HDFS liên quan đến đặc tả cùa chúng ta.2 thê hiện luồng của một tác vụ đọc. Có ba nodes đại diện cho ba thành phần của HDFS đang tương tác.
Khi chương trình người dùng yêu cầu đọc một tệp, chuỗi hành động sau đây sẽ xảy ra: 1. Chương trinh bắt đầu khi người dùng yêu cầu đọc một tệp. Đê lấy vị trí 6 của các khối chứa tệp, ClientNode gửi fdelnfo đến NameNode. NameNode tìm các khối và datanodes hru các khối này và sắp xếp các datemodes này theo khoảng cách tăng dần với người dùng.
Sau khi sắp xếp, NameNode gởi bỉockLocation tới CìientNode. CHentNode chọn một datemode khả dụng phụ thuộc vào bỉockLocation và gời blockinfo tới datemode được chọn. DataNode gửi bỉockData đến CỉientNode .2: Tông quan vê Đọc tệp 4. CìientNode gời thông điệp checksumOk tới DataNode, thông báo rằng dĩr liệu đã được đọc thành công.3 cho thấy quy trình của một thao tác ghi.
Ba nút đại diện cho ba thành phần của HDFS đang tương tác. ơ đây, nó liên quan đến giao tiếp giữa hai DataNode. Khi chương trình người dùng yêu cầu ghi một tệp, chuỗi hành động sau sẽ xảy ra: 1. Chương trình bắt đầu với yêu cầu ghi.
Đê tạo một tệp CĩientNode gởi fììeName tới NameNode. NameNode kiêm tra xem coi tệp có trên hệ thống tệp hay không. Neu tệp không ton tại và được tạo ra thành công, NameNode sẽ tạo ra một khế ước tệp với CìientNode và cấp phát datanodes đê hru các khối của tệp. Sau đó, NameNode gởi DInfo tới CỉientNode.
CỉientNode chọn một datanode khả dụng phụ thuộc vào DInfo và gời 7 blockinfo tới DataNode được chọn. Nhận xong blockinfo, DataNode đirợc chọn sẽ gời Ok đê báo CỉientNode hãy gởi dữ liệu. CìientNode gởi dừ liệu cùa các khối bỉockData tới DataNode được chọn, DataNode được chọn gời bỉockData tới DataNode thứ hai trong đường dẫn. Sau đó DataNode thứ hai sẽ gởi bỉockData tới DataNode cuối cùng.
Khi nhận được thông điệp Ack từ các datanodes khác, DataNode được chọn gởi Ack đê thông báo CỉientNode rằng dữ liệu đã được ghi thành công. CìientNode gời Complete tới NameNode, thông báo hãy xóa bò khế ước tệp.DInfo ClientNode NameNode 7.Ack DataNode DataNode DataNode Hình 2.3: Tông quan vê Ghi tệp Hình 2.4 thê hiện luồng của một nhịp đập trái tim. Một đồng hồ được trim tượng 8 hóa nhtĩ một tiến trình CSP Cìock(i). DataNode gửi một yêu cầu đến Clock (i).
Cìock(ỉ) trả thời gian hiện hành 7 về DatciNode. Neu khoảng thời gian giữa ỉ và ìastTime lớn hơn HBeatlntervaỉ, thì nó sẽ thực hiện bước 3. Ngược lại, nó sẽ lập lại bước 1 và 2. ơ đây, ỉastTime chi thời gian của nhịp đập sau cùng và HBeatlntervaỉ chi khoảng thời gian giữa hai nhịp đập.
DataNode gửi heartbeat đến NameNode. NameNode trả về một command cho DataNode.4: Tồng quan về Cơ chế nhịp tim 2.2 Giói thiệu tóm tắt về CSP và PAT Trình bày các khái niệm lý thuyết về ngôn ngĩr đại sổ tiến trình CSP và PAT. Tong quan về ngôn ngữ đại số tiến trình CSP 2. Giói thiệu CSP, là viết tắt của Communicating Sequential Processes - Tông quan về các tiến trình tuần ựr của truyền thông [8], được đưa ra trong phần này.
CSP có thê được sử dụng đê minh họa các hệ thống đồng thời một cách dề dàng đê thê hiện các hệ thống một cách trực quan và nền tảng toán học chặt chè. Nó đã được sử dụng đê kiêm chứng một số giao 9 thức và hệ thống thành công [11, 12, 13, 16], CSP đirợc hình thành đê xác định và lập luận về các hệ thống tương tranh có các tiến trình thành phần tương tác với nhau bằng cách truyền thông. Chú giải các ký hiệu trong ngôn ngữ đại số CSP Logic Ký hiệu Ý nghĩa Ví dụ = băng X=X * khác biệt với X&X+1 □ kết thúc một ví dụ hoặc chứng minh -1P không phải p (P không đúng) -13 > 5 Bx 'P tồn tại một X sao cho p 3% *x > y Vx *p với mọi x,p Vx • X < X + 1 Tập họp Ký hiệu Ý nghĩa Ví dụ e là phần tìr của Napoleon G mankind ể không phải là phần tìr cùa Napoleon ể mankind {} tập họp rỗng (không có phần tử) -1 napoleon € {} {% 1 P(x)} tập hợp của tất cả X sao cho P(x) {a} = (x 1 X = a] X : A 1 Fix)} tập hợp của X trong A sao cho p (%) Các hàm Ký hiệu Ý nghĩa Ví dụ f:A B f là một hàm ánh xạ từng phần tĩr của A spuare: N —> N với một phần tữ của B phần từ cùa B mà f ánh xạ X (trong A) 10 f(x) I P(x)} tập họp được tạo thành bằng cách áp dụng f với mọi X sao cho p (x) {x I P(x)} tập hợp của tất cả X sao cho P(x) Ằx 'f(x) hàm ánh xạ từng giá trị cùa X thành /(x) (Ax (%))(18) = /(18) Các sự kiện đặt biệt Ký hiệu Y nghĩa thành công (chấm dírt thành công) ỉ. a tham gia vào sự kiện a bởi một tiến trình có tên l c.
V truyền thông giá trị V trên kênh c ỉ. c kênh c của một tiến trình có tên l ỉ.v truyền thông của một tin nhắn V trên kênh l.