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

Tiểu luận môn học hệ tin học phân tán

30 490 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 245,5 KB

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

Nội dung

Tiểu luận môn học hệ tin học phân tán

Trang 2

MỤC LỤC

3.1 Thuật toán giả phân tán: Hàng đợi tập trung 203.2 Thuật toán Lamport: Hàng đợi phân tán 213.3 Cải tiến thuật toán Lamport (Thuật toán Ricart và Agrawala) 26

Trang 3

LỜI NÓI ĐẦU

uộc cách mạng khoa học và công nghệ đang diễn ra một cách sôi động trênphạm vi toàn thế giới, thúc đẩy loài người nhanh chóng bước sang một kỷnguyên mới, đó là kỷ nguyên của nền văn minh dựa trên cơ sở của côngnghiệp tri thức Mở đầu cho cuộc cách mạng khoa học và công nghệ này là sự ra đời

và phát triển ồ ạt của máy vi tính và các phương tiện xử lý thông tin khác

C

Cùng với sự phát triển nhanh chóng số lượng máy vi tính cũng như nhu cầutrao đổi thông tin trong mọi hoạt động xã hội loài người đòi hỏi sự phát triển đồng

bộ các phương pháp truyền thông Mạng máy tính ra đời làm cho thế giới của chúng

ta dường như nhỏ lại và mọi người trở nên gần nhau hơn

Trên thực tế, một xu hướng kỹ thuật mới được hình thành - xu hướng phân táncác thành phần tạo nên hệ tin học theo hướng tiếp cận nơi sử dụng và sản xuấtthông tin trên cơ sở mạng máy tính Song để khai thác có hiệu quả toàn bộ hệ thống,vấn đề quan trọng hàng đầu cần phải tính đến là các tài nguyên và chiến lược khaithác, sử dụng chúng một cách tối ưu nhất Bản thân người sử dụng thuần tuý khôngthể tự xây dựng nên chiến lược đó được, mà nó là chức năng chủ yếu của các hệthống tin học phân tán đồng thời cũng chính là đối tượng nghiên cứu của báo cáonày

Phạm vi và nhiệm vụ nghiên cứu của đề tài là phân tích đặc điểm của biểuthức song song và phân tán trong các ngôn ngữ thuật toán và các điểm cải tiến chủyếu để thuật toán Lamport hoạt động nhanh hơn nhằm phục vụ công tác lưu chuyển,

xử lý dữ liệu qua mạng dựa trên phương pháp lý thuyết

Về mặt bố cục, ngoài phần mở đầu, tài liệu tham khảo và mục lục, báo cáođược chia làm 3 chương, trong đó:

Chương 1: Trình bày các vấn đề tổng quan về hệ phân tác và các cơ sở lý

luận có liên quan

Chương 2: Trình bày về biểu thức song song và phân tán trong các ngôn ngữ

thuật toán

Chương 3: Trình bày về các điểm cải tiến chủ yếu để thuật toán Lamport

hoạt động nhanh hơn

Chúng tôi xin chân thành cám ơn PGS.TS Lê Văn Sơn đã định hướng và cungcấp kiến thức và tài liệu để tôi hoàn thành báo cáo này

Do thời gian và trình độ hạn chế nên đề tài chắc không tránh khỏi sai sót Kínhmong sự góp ý của Thầy giáo hướng dẫn và các bạn đồng môn

Trang 4

CHƯƠNG 1 CÁC CƠ SỞ LÝ LUẬN CÓ LIÊN QUAN

1.1 Xử lý song song và xử lý tuần tự

1.1.1 Tổng quan

Lý thuyết về xử lý song song (Parallel Processing) bắt đầu cuối những năm

1940 khi J.Von Neumann giới thiệu một số mô hình hạn chế của tính toán songsong có tên otomat tế bào mà chủ yếu là một mảng hai chiều các bộ xử lý trạng tháihữu hạn được tương kết theo dạng hình lưới Từ đó đến nay, lý thuyết về xử lý songsong trở thành lĩnh vực nghiên cứu quan trọng và ngày càng đem lại những dấu hiệukhả quan trong việc xây dựng một mô hình lập trình mới có những tính năng vượttrội so với mô hình lập trình tuần tự truyền thống

Xử lý song song từ xa xưa cho đến gần đây là lãnh vực cao cấp hầu như chỉ dành cho các nhà khoa học Có ít nhất 2 nguyên nhân:

- Xử lý song song đòi hỏi siêu máy tính đắt tiền, chỉ chính phủ hoặc tập đoàn lớn mới kham nổi

- Nhà khoa học mới cần tính toán cao cấp, như trong nghiên cứu vật lý hạt và

vũ trụ, sinh học cấu tạo, khí tượng địa cầu, khoa học máy tính

Gần đây nhờ sự phổ biến của phần cứng rẻ như CPU đa lõi, phần mềm tiện dụng như Erlang, đại chúng bắt đầu biết đến xử lý song song

Xử lý song song là quá trình xử lý gồm nhiều tiến trình được kích hoạt đồngthời và cùng tham gia giải quyết một vấn đề, nói chung là thực hiện trên những hệthống đa bộ xử lý Là phân chia bài toán to thành nhiều bài toán nhỏ, rồi giải cùnglúc, nhờ đó tốc độ giải bài toán gốc tăng lên

Ví dụ: Tính tích phân trong khoảng [0, 100], thì có thể phân làm 2 bài toán

nhỏ là tính tích phân trong khoảng [0, 50] và [50, 100], rồi cộng 2 kết quả lại

1.1.2 Sự khác biệt giữa xử lý song song và xử lý tuần tự

Trong tính toán song song, một số bộ xử lý cùng kết hợp với nhau để giảiquyết cùng một vấn đề cho nên giảm được thời gian xử lý vì mỗi thời điểm có thể

có nhiều phép toán được thực hiện đồng thời

Trong tính toán tuần tự với một bộ xử lý thì mỗi thời điểm chỉ thực hiện đượcmột phép toán

Mục đích của xử lý song song là tận dụng các khả năng của các hệ đa bộ xử lý

để 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ý đồngthời Cùng với tốc độ xử lý nhanh hơn, việc xử lý song song cũng sẽ giải quyếtđược những bài toán lớn hơn

Trang 5

1.1.3 Tại sao phải xử lý song song ?

Nhiều lĩnh vực mới như đồ họa máy tính, trí tuệ nhận tạo, phân tích số, v.v.đòi hỏi phải xử lý một khối lượng dữ liệu rất lớn, những vấn đề về xử lý ngôn ngữ

tự nhiên, nhận dạng, xử lý ảnh ba chiều (3-D), dự báo thời tiết v.v đều đòi hỏi phải

xử lý dữ liệu với tốc độc rất cao, với khối lượng dữ liệu rất lớn Hầu hết những bàitoán này, những máy tính xử lý tuần tự là không đáp ứng yêu cầu thực tế Do đó cầnphải có những hệ thống máy tính thật mạnh mới đáp ứng được những yêu cầu củathực tế

Mặc dù tốc độ xử lý của các Bộ xử lý tăng nhiều trong những năm qua, nhưng

do giới hạn về vật lý nên khả năng tính toán của chúng không thể tăng mãi được.Điều này dẫn tới là muốn tăng được khả năng tính toán của các hệ thống máy tínhthì đích cuối cùng là phải khai thác được khả năng xử lý song song của chúng Ngàycàng xuất hiện nhiều bài toán mà những hệ thống đơn một bộ xử lý không đáp ứngđược yêu cầu xử lý về thời gian, do đó đòi hỏi phải sử dụng những hệ thống đa bộ

xử lý và đòi hỏi phải xử lý song song

1.2 Vấn đề đồng bộ hóa trong hệ phân tán

1.2.1 Thời gian lôgic và trật tự sự kiện từng phần (Lamport)

Trong các hệ tin học tập trung, vấn đề đồng bộ hóa được giải quyết thông qua

cơ chế loại trừ tương hỗ Cơ chế này cho phép xác lập trật tự hoàn toàn các sự kiện.Tuy nhiên, trong thực tế một số hệ thống khi đồng bộ hóa chỉ đòi hỏi trật tự từngphần Chính vì vậy, trật tự hóa từng phần giữa các sự kiện mà tiến trình của nó cầnphải đồng bộ là vấn đề cần phải quan tâm giải quyết

Trong hệ phân tán, việc đồng bộ hóa chủ yếu yêu cầu thiết lập một trật tự giữacác sự kiện Giữa các trạm khác nhau, trật tự đó có thể thể hiện thông qua việc traođổi các thông điệp với nhau

Trở lại năm 1979, Lamport đã đưa ra rằng hai sự kiện từ các trạm khác nhauchỉ có thể có trật tự nếu chúng được tách rời với nhau bằng cách gửi và nhận thôngđiệp Ngược lại, cho dù một sự kiện xảy ra trước sự kiện khác theo thời gian, không

Trang 6

nào cho sự chính xác của nó phụ thuộc vào nó Giả định ở đây là không có sự quansát bên ngoài của trật tự sự kiện Nếu sự chính xác của hệ thống phụ thuộc vào trật

tự được quan sát bởi con người, ví dụ, thì sự quan sát Lamport không áp dụng Tuynhiên, sự chính xác trật tự chỉ phục thuộc vào sự đồng bộ bên trong của các sự kiện

và vì thế định nghĩa của Lamport có thể áp dụng

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ào quan hệ “có trước” (→):

Bây giờ ta xem xét về trật tự sự kiện:

a “xảy ra trước” c (a c) - bắc cầu -

b

Trang 7

Trật tự các sự kiện được định nghĩa như sau:

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ó

1.2.2 Gắn thời gian lôgic với các sự kiện

Các đồng hồ lôgic: gán một số cho mỗi sự kiện cục bộ nhưng không liên quanđến thời gian vật lý

Hệ thống các đồng hồ lôgic phải chính xác :

Hay nói cách khác:

Làm thế nào chúng ta có thể thực thi các đồng hồ thỏa mãn Điều kiện Đồnghồ? Bằng thuật toán đóng dấu thời gian của Lamport – cung cấp một tập hợp cácquy luật thực thi đơn giản

sự kiện a,b : nếu a b thì C(a) < C(b)

Điều kiện đồng hồ

a Pi

b

Ci (a) < Cj (b) và Cj (b) < Cj (c)

Trang 8

1.2.3 Thuật toán đóng dấu thời gian của Lamport

Đồng hồ lôgic là thuật toán cho phép đóng dấu cho từng sự kiện trong hệ phântán để với mỗi cặp sự kiện A và B ta có: nếu A có trước B (A → B) thì đồng hồlôgic của A nhỏ hơn đồng hồ lôgic của B

Thỉnh thoảng chúng ta cần đến trật tự toàn cục của các sự kiện

Trật tự toàn cục sắp xếp thứ tự cho từng sự kiện để tất cả các trạm đồng ý vớitrật tự này

Trang 9

Lamport định nghĩa trật tự toàn cục dựa trên quan hệ “có trước”, nó gán chomỗi trạm một số duy nhất và sau đó sử dụng số này để lập trật tự cho các sự kiệnkhông được sắp xếp thứ tự bằng quan hệ “có trước”

Trật tự nhất quán của các sự kiện phát:

3 2

2

Trang 10

CHƯƠNG 2 BIỂU THỨC SONG SONG VÀ PHÂN TÁN TRONG

CÁC NGÔN NGỮ THUẬT TOÁN2.1 Tính toán song song và phân tán

2.1.1 Khái niệm

Tính toán song song và phân tán (Parallel and Distributed Computing) là mộtdạng tính toán hiệu năng cao (high performance computing) bằng cách tận dụng sứcmạnh tính toán của một tập các máy tính hoặc bộ xử lý được kết nối thông qua các

hệ thống mạng chuyên dụng (tốc độ rất cao) hoặc mạng thông thường (TCP/IPchẳng hạn)

Hầu hết các ứng dụng của tính toán song song là nhằm giải quyết các bài toán

có độ phức tạp thời gian lớn hoặc những bài toán thời gian thực (real-timeapplications) Sau đây là một số ví dụ:

Tính toán trong vật lý và hóa học: mô phỏng các quá trình nhiệt học, mô

phỏng chuyển động các hạt cơ bản trong vật lý, mô phỏng các quá trình hóa học,…

Tính toán trong sinh học: hiện nay có một lĩnh vực đang được giới nghiên

cứu focus, đó là tin sinh (bioinformatics) Bài toán này chủ yếu phân tích thông tin

di truyền ADN Bài toán phân tích và mô hình hóa bản đồ gen người cũng khôngthể không sử dụng các máy tính hiệu năng cao, trong đó có các hệ thống tính toánsong song rất mạnh

Trò chơi: dòng máy tính DeepBlue của IBM, có khả năng tính toán hàng triệu

nước cờ trong một giây và đây là một hệ thống song song sử dụng môi trường lậptrình MPI

Tính toán song song áp dụng trong khám phá tri thức từ cơ sở dữ liệu

(Knowledge Discovery from Databases - KDD & Data Mining)

2.1.2 Các hệ thống song song

Có rất nhiều các hệ thống song song khác nhau được phân loại theo cấu trúc,theo chức năng hoặc theo sức mạnh tính toán Sau đây là một số ví dụ về các hệthống tính toán song song:

- Cray T3E (massively parallel processors)

- IBM RS/6000 SP2 (distributed memory system)

- Sun Fire 15000 (shared memory system)

- Cray SV1 (massively parallel processors)

- PC-Cluster (một tập các máy PC được kết nối lại với nhau thông qua mạngchuyên dụng hoặc mạng thông thường)

2.1.3 Môi trường lập trình

Môi trường lập trình song song được chia làm hai mức như sau:

Mức hệ thống: thường là một phần mềm hệ thống chạy ở background nhằm

thực hiện các chức năng trong tính toán song song như quản lý tiến trình (taskmanagement), truyền thông (communication), đồng bộ hóa (synchronization),

Trang 11

Mức này còn cung cấp thư viện bao gồm các hàm về truyền thông, đồng bộ hóa,.Hiện nay có khá nhiều phần mềm hỗ trợ tính toán song song như MPI (MessagePassing Interface), PVM (Parallel Virtual Machine),

Mức ngôn ngữ lập trình song song: Ngôn ngữ C/C++ để lập trình song song

kết hợp với bộ thư viện của MPI hoặc PVM cung cấp, ngoài ra ngôn ngữFORTRAN (fortran 77 hoặc fortran 90) hoặc HPF (High Performance Fortran)cũng được để lập trình song song

2.1.4 Các mô hình và thuật toán song song

Về mô hình song song được chia ra các dạng chính sau đây: SIMD (Đơn dònglệnh, đa dữ liệu - Single Instruction Multiple Data); MISD (Đa dòng lệnh, đơn dữliệu - Multiple Instruction Single Data); MIMD (Đa dòng lệnh, đa dữ liệu - MultipleInstructions Multiple Data)

Thuật toán song song rất đa dạng, mỗi bài toán có một chiến lược song song

riêng Có hai chiến lược chính là song song theo chức năng và song song theo dữ liệu.

2.2 Các chiến lược song song hoá phổ biến

Trong rất nhiều chiến lược khác nhau để song song hoá thuật toán tuần tự, cóba

chiến lược thiết kế chương trình song song tương đối phổ biến là: song song hoá kếtquả, song song hoá đại diện và song song hoá chuyên biệt Mặc dù, trong từng bàitoán cụ thể việc kết hợp các chiến lược thiết kế có thể cho ta kết quả thú vị, songthông thường tuỳ thuộc tính chất bài toán, chỉ một chiến lược thiết kế thuật toánsong song được chọn nhằm đạt hiệu quả cao nhất

2.2.1 Song song hoá kết quả

Việc phân loại các chiến lược thiết kế thuật toán song song phụ thuộc vào tínhchất bài toán Song song hoá kết quả là cơ chế tính toán song song tập trung trêntoàn bộ dữ liệu của bài toán Mỗi bộ xử lý sẽ cho một phần kết quả của bài toán vàcác bộ xử lý hoạt động song song sao cho các phần việc được thực hiện độc lập tối

đa có thể

Sau khi các phần việc hoàn thành, công đoạn cuối cùng là kết hợp các thànhphần để được kết quả hoàn chỉnh Các lớp bài toán chia - để - trị, bảng đen (trong hệchuyên gia) và lơi - lặp (iterative relaxtion) thường sử dụng chiến lược song songhoá kết quả để thiết kế chương trình song song

Mỗi bài toán trong lớp các bài toán chia-để -trị, thường được chia thành cácbài toán thành phần Mỗi bài toán thành phần được giải quyết độc lập và kết quảcuối cùng là sự kết hợp các kết quả của bài toán thành phần

Trong hệ thống bảng đen cấu trúc dữ liệu thể hiện mô hình tính toán Mỗi bộ

xử lý độc lập có trách nhiệm quản lý, kiểm tra trạng thái hiện thời và cập nhật nónếu cần

Trong lơi - lặp người ta chia không gian dữ liệu thành các vùng có quan hệláng giềng, mỗi vùng này được một hay nhiều bộ vi xử lý đảm nhiệm Mỗi bộ vi xử

Trang 12

lý này đảm trách công việc theo từng vùng song song và khi cần có sự truyền thôngđiệp với các láng giềng.

Việc thiết kế chương trình theo chiến lược song song hoá kết quả thông quanăm giai đoạn:

- Giai đoạn đầu cần phải mô hình kết qủa dưới dạng cấu trúc dữ liệu gồmnhiều thành phần, đồng thời xác định được sự phụ thuộc giữa chúng

- Giai đoạn hai, phân mỗi bộ xử lý đảm nhiệm công việc cho một hay nhiềuthành phần và việc phân chia này phải bảo đảm vấn đề hiệu suất của các bộ xử lý

- Giai đoạn ba, xác định nguồn tài nguyên cần thiết để thực hiện việc tính toáncác thành phần

- Bước tiếp theo xác định cách lấy các giá trị kết quả của các thành phần khithực hiện xử lý song song

- Cuối cùng, là giai đoạn kết hợp các kết quả thành phần để được kết quả bàitoán và kết thúc các xử lý

Ví dụ 1: Giả sử cần thực hiện tính n! trên hai máy tính, trong đó mỗi máy nhân

n/2 số với nhau và n lưu ở máy tính thứ nhất

Kết quả của máy tính thứ hai khi được tính xong sẽ được chuyển về máy tínhthứ nhất để nó nhân hai kết quả bộ phận với nhau

Bài toán này được phát biểu như sau:

B1 Máy tính thứ nhất gửi n cho máy tính thứ hai

B2 Cả hai máy tính thực hiện nhân n/2 số một cách đồng thời

P1= 1*2*3…*(ndiv2)

P2= n*(n-1)*(n-2)*…*(ndiv2+1)

B3 Máy tính thứ hai chuyển kết quả tính được về máy tính thứ nhất

B4 Máy tính thứ nhất nhân hai kết quả để có kết quả cuối cùng

Trang 13

2.2.2 Song song hoá đại diện

Thiết kế chương trình theo cơ chế song song hoá đại diện xác định cụ thể côngviệc phải thực hiện để song song hoá Như vậy, để giải quyết một bài toán có nhiềucông đoạn, mỗi công đoạn của bài toán được giải quyết song song cho đến khi hoànthành công đoạn đó và các công đoạn tiếp theo cũng được thực hiện tương tự chođến khi bài toán được giải quyết Các mô hình của chiến lược này là Client/Server,tính toán - tổng hợp - truyền thông

Trong mô hình Client/Server, bài toán cần giải được chia thành các vấn đề phụthuộc lẫn nhau Các bộ xử lý đóng vai trò tớ trong mô hình có nhiệm vụ xử lý cácvấn đề này và giữa chúng được điều phối bởi bộ xử lý đóng vai trò chủ Khác vớiphương pháp chia để trị, các vấn đề ở đây không nhất thiết cùng được tiến hành giảiquyết, mà có thể được giải quyết song song một cách tuần tự

Trong mô hình tính toán - tổng hợp - truyền thông thiết kế bao gồm ba giaiđoạn Giai đoạn tính toán thực hiện các tính toán cơ bản có tính chất cục bộ, giaiđoạn tổng hợp kết hợp các dữ liệu cục bộ thành dữ liệu toàn cục, giai đoạn truyềnthông trả lại các thông tin toàn cục cho các bộ xử lý

Việc thiết kế chương trình theo chiến lược song song hoá đại diện được thựchiện thông qua ba giai đoạn:

- Giai đoạn đầu xác định các công việc cần phải thực hiện bởi các bộ xử

- Trong giai đoạn tiếp theo cần phải xác định bộ xử lý đóng vai trò điềukhiển các công việc

- Cuối cùng cần phải nhận biết được kết quả công việc

2.2.3 Song song hoá chuyên biệt

Trong chiến lược song song hoá chuyên biệt, bài toán cần giải quyết bao gồmnhiều công việc, mỗi công việc có đặc thù riêng được giao cho một bộ xử lý chuyêndụng Ngoài ra hệ thống cần một bộ xử lý giữ vai trò agent, điều phối quá trình thựchiện công việc Trong mỗi công việc đặc thù, các phần việc nhỏ hơn được thực hiệnsong song Sau khi các phần việc này hoàn thành, cần tiến hành “phối hợp” các kếtquả để hoàn thành công việc

Một số mô hình thường gặp trong chiến lược thiết kế này là: ống dẫn và bộlọc, Client/Server

Trong mô hình ống dẫn và bộ lọc dòng dữ liệu kết quả ra của quá trình xử lý A

là dữ liệu vào của quá trình xử lý B

Trong mô hình Client/Server các yêu cầu từ các bộ xử lý đóng vai trò kháchđược gửi đến các bộ xử lý đóng vai trò phục vụ để xử lý

Ví dụ: Ta xét bài toán tìm phần tử a trên mảng A kích thước n.

Trong xử lý tuần tự: ta dùng một bộ xử lý duyệt từ phần tử đầu đến phần tửcuối của mảng

Trang 14

Trong xử lý song song, giả sử ta có một mô hình song song m bộ xử lý, ta chiaviệc cho mỗi bộ xử lý đồng thực hiện tìm kiếm, một bộ xử lý tìm kiếm trên (n divm) phần tử Trong quá trình thực hiện, bộ xử lý nào tìm thấy phần tử a hoặc đãduyệt qua hết rồi nhưng không tìm thấy thì phải gửi thông điệp để hệ thống xử lýnhận biết, điều khiển quá trình xử lý.

Chúng ta dễ nhận thấy là độ phức tạp của xử lý song song có thể sẽ lớn hơn xử

lý tuần tự rất nhiều, bởi vì cần có sự trao đổi thông tin và sự đồng bộ các tiến trìnhtrong quá trình thực hiện xử lý bài toán, vấn đề chúng ta cần quan tâm ở đây chính

là thời gian thực hiện chương trình

Một trong những mục đích chính của xử lý song song là nghiên cứu, xây dựngnhững thuật toán thích hợp để cài đặt trên các máy tính song song, nghĩa là pháttriển các thuật toán song song nhằm giải quyết các bài toán đặt ra trong thực tế.Vấn đề đặt ra là là đánh giá một thuật toán song song như thế nào được gọi làthích hợp? Trong thuật toán tuần tự thì chúng ta đánh giá dựa vào thời gian thựchiện thuật toán, không gian bộ nhớ và khả năng lập trình, Đánh giá thuật toánsong song thì phức tạp hơn nhiều, ngoài những tiêu chuẩn trên còn phải bổ sungthêm các thông số về số bộ xử lý, khả năng của các bộ nhớ cục bộ, sơ đồ truyềnthông, và các giao thức đồng bộ hoá tiến trình …

Trang 15

2.3 Biểu thức song song trong các ngôn ngữ thuật toán

Nguyên cứu một số khía cạnh cơ bản của việc lập trình bằng các ngôn ngữthuật toán cho phép biểu diễn cấu trúc kiểm tra và các cơ chế định danh

Các ngôn ngữ có thể chia làm hai loại chính:

- Một số ngôn ngữ cho phép lập trình ứng dụng với tư cách là kích hoạt songsong và hoàn toàn không quan tâm đến vấn đề là sẽ triển khai chương trình trên

hệ tập trung hay là hệ phân tán Các ngôn ngữ này triển khai cấu trúc kiểm tra cótính chất thủ tục Mặc dù có một số hạn chế, song chúng cũng triển khai trên các

hệ phân tán

- Một số ngôn ngữ khác cho phép triển khai tường minh công việc phân tán.Chúng cho phép tạo các mối quan hệ cần thiết từ một trạm đến các trạm kháctrong hệ phân tán

Hai loại ngôn ngữ để thể hiện cho biểu thức song song trong các ngôn ngữ lậptrình là ngôn ngữ CSP [Hoare] và ADA [Ichbiah], các phương tiện định nghĩa cáctiến trình và thực hiện trao đổi thông tin giữa chúng với nhau Hai ngôn ngữ nàycho phép phân đoạn dữ liệu của một ứng dụng thành các tập hợp độc lập nhau Việcquản lý các tập hợp này được tiến hành nhờ một tiến trình đặc biệt

Cả hai ngôn ngữ này đều có các đặc tính chung như sau:

- Sự liên thông giữa hai tiến trình không cần đặt lại cho sự tồn tại của các biếntoàn cục

- Các cơ chế sơ đẳng của việc đồng bộ ví dụ như "cuộc gặp gỡ" của hệ CSP,

"vào" của ADA thường là gần giống nhau

- Các cấu trúc mô phỏng tạo thuận lợi cho các tiến trình thể hiện việc chờtương đối đồng nhất và có điều kiện phù hợp với một trong các khả năng có thể.Các nguyên lý khác nhau cho ta khả năng lựa chọn cấu trúc thể hiện quan hệgiữa các tiến trình cũng như công cụ song song cho phép truy cập đến dữ liệu

- Trong CSP, các quan hệ và các đồng bộ giữa các tiến trình được thể hiệntường minh bằng các trao đổi thông điệp Ngược lại, trong ngôn ngữ ADA, mộttiến trình T1 nào đó có thể truy cập vào dữ liệu cục bộ của tiến trình T2 khácbàng cách sử dụng hàm nguyên thuỷ mà hiệu ứng của nó là việc gọi thực hiệnthủ tục Các đồng bộ thực tế (tuỳ vào tình hình) được trình bày bởi T2 nhờ cấutrúc chính xác

- Trong CSP, số lượng và lai lịch của các tiến trình được định nghĩa theo kiểutĩnh Một dữ liệu nào đó chỉ để được truy cập bởi tiến trình có nhiệm vụ quản lý

rõ ràng, trong khi đó ADA cho phép nhiều tiến trình truy cập đến dữ liệu (việckiểm soát dữ liệu được giao cho một tiến trình đặc biệt)

Cần phải nhấn mạnh là ngôn ngữ ADA là một ngôn ngữ được xây dựng theohướng tổng quát Nó biểu hiện một số đặc tính như biến toàn cục, các quy trình vềtrực quang đối tượng,…

Ngày đăng: 17/07/2015, 12:32

HÌNH ẢNH LIÊN QUAN

Hình 5.Thực hiện chương trình từ xa trong ADA - Tiểu luận môn học hệ tin học phân tán
Hình 5. Thực hiện chương trình từ xa trong ADA (Trang 17)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

w