Báo cáo đồ án tốt nghiệp
MỤC LỤC
CHƯƠNG 1 – TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU VÀ PHÁT TRIỂN
CHƯƠNG 1 – TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU VÀ PHÁT TRIỂN TRI THỨC 3
1.1. Phát hiện tri thức: 4
1.2. Khai phá dữ liệu: 5
1.2.1. Kiến trúc hệ thống khai phá dữ liệu: 5
1.2.2. Quá trình khai phá: 6
1.2.3. Mục đích của các tác vụ khai phá dữ liệu: 8
1.2.4. Một số phương pháp khai phá dữ liệu: 10
1.2.5. Tại sao phải cần lựa chọn phương pháp khai phá dữ liệu? 14
CHƯƠNG 2 – MỘT SỐ PHƯƠNG PHÁP SONG SONG KHAI PHÁ DỮ LIỆU 18
2.1. Tổng quan về xử lý song song : 18
2.1.1. Tổng quan: 18
2.1.2. Xử lý song song trong môi trường chia sẻ bộ: 20
2.1.3. Xử lý song song trong môi trường bộ nhớ phân tán: 23
2.2. Giải thuật phân vùng dữ liệu: 26
2.2.1. Giải thuật K-MEANS phân vùng dữ liệu: 27
2.2.2. Cách xác định tâm của các vùng: 28
2.2.3. Vấn đề về khởi tạo k-tâm trong giải thuật K-MEANS: 28
2.2.4. Độ phức tạp của giải thuật K-MEANS: 29
2.2.5. Đánh giá giải thuật K-MEANS: 31
2.2.6. Thuật toán K-MEANS song song: 31
CHƯƠNG 3 – NGHIÊN CỨU CƠ SỞ DỮ LIỆU “XƠ VỮA ĐỘNG MẠCH” 36
3.1. Giới thiệu bài toán: 36
3.2. Giới thiệu chung về dữ liệu: 36
3.3. Mô tả dữ liệu: 40
3.4. Tiền xử lý dữ liệu : 45
1
Báo cáo đồ án tốt nghiệp
CHƯƠNG 4 – CÀI ĐẶT VÀ THỬ NGHIỆM CHƯƠNG TRÌNH 53
Chương 3. Ứng dụng khai phá dữ liệu trong y học “Bệnh xơ vữa động
mạch”. Bao gồm giới thiệu bài toán về phân nhóm bệnh nhân trong cơ sở dữ liệu
của “Bệnh xơ vữa động mạch”, cấu trúc của cơ sở dữ liệu và các bước phân tích,
tiền xử lý dữ liệu để có được dữ liệu sạch cho quá trình khai phá dữ liệu bằng
chương trình.
Chương 4. Cài đặt và thử nghiệm chương trình, chương này là áp dụng thuật
toán khai phá dữ liệu song song đã nghiên cứu và cơ sở dữ liệu đã được phân tích,
xử lý, xây dựng chương trình Khai phá dữ liệu sử dụng thuật toán KMEANS song
song.
CHƯƠNG 1 – TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU VÀ PHÁT
TRIỂN TRI THỨC
3
Báo cáo đồ án tốt nghiệp
Trong chương này, bài báo cáo trình bày tổng quan về khai phá dữ liệu và
phát hiện tri thức
1.1. Phát hiện tri thức:
Thông tin là yếu tố quan trọng trong cuộc sống hằng ngày của con người.
Không những vậy, thông tin là nhân tố tạo ra thành công trong mọi lĩnh vực nếu
biết sử dụng và khai thác thông tin có hiệu quả. Thông tin phải có ích đối với
người dùng tin, có tính thời sự cao…Điều đặt ra là khai thác thông tin ở đâu? khi
nào? …Câu trả lời là từ các kho dữ liệu có sẵn, chúng ta tìm ra những thông tin
tiềm ẩn có giá trị mà trước đó chưa phát hiện, tìm ra những quy luật và các yếu tố
tác động lên chúng. Thực hiện công việc này chính là thực hiện quá trình phát hiện
tri thức trong kho dữ liệu mà trong đó kỹ thuật cho phép ta lấy được các tri thức đó
chính là kỹ thuật khai phá dữ liệu (data mining).
Tuân theo quy luật phát triển tự nhiên, con người luôn luôn thiếu thốn về tri
thức. Dữ liệu có thể là các sự kiện, cũng có thể là các hiện tượng cụ thể hay không
cụ thể, có cấu trúc hay phi cấu trúc. Còn với tri thức, chúng ta không thể định
nghĩa rõ ràng, chính xác, đó là một khái niệm rất rộng khó có thể đưa ra định
nghĩa chính xác. Tuy nhiên ta thể có nói rằng, tri thức được khai phá từ cơ sở dữ
1.2.1. Kiến trúc hệ thống khai phá dữ liệu:
Kiến trúc của hệ thống khai phá dữ liệu có thể chia thành các thành phần
chính như sau:
Kho dữ liệu là một tập các cơ sở dữ liệu, kho dữ liệu…các công cụ làm sạch
dữ liệu và tích hợp dữ liệu có thể thực hiện trên chúng
Cơ sở trí thức: là yếu tố tri thức được dùng để đánh giá các mẫu kết quả khai
phá được.
5
Báo cáo đồ án tốt nghiệp
Kỹ thuật khai phá: là các công cụ để thực hiện các nhiệm vụ: mô tả, kết hợp,
phân lớp, phân nhóm dữ liệu…
Công cụ đánh giá mẫu: gồm một số modul sử dụng các độ đo và tương tác
với các modul khai phá dữ liệu để tập trung vào các thuộc tính cần quan tâm.
Biểu diễn dạng đồ hoạ: Modul này giao tiếp giữa người dùng và hệ thống
khai phá dữ liệu.
Hình 1. 1: Kiến trúc hệ thống khai phá dữ liệu
1.2.2. Quá trình khai phá:
Khai phá dữ liệu là lĩnh vực có nhiệm vụ khảo sát dữ liệu, chiết xuất tri thức,
thu lượm thông tin, thậm chí là duyệt và tìm kiếm dữ liệu mà chúng ta quan tâm
6
Báo cáo đồ án tốt nghiệp
đến…Là quá trình nhận biết các mẫu dữ liệu qua các giai đoạn khác nhau, các
mẫu dữ liệu phải có tính chính xác, hợp lý, tiềm ẩn và có tính được khám phá, hữu
dụng, cốt lõi là phải hiểu được.
Khai phá dữ liệu liên quan đến nhiều ngành, nhiều lĩnh vực: xác suất thống
kê, trí tuệ nhân tạo, cơ sở dữ liệu, thuật toán, tính toán song song với tốc độ cao…
Hay có thể nói rằng khai phá dữ liệu là việc khám phá ra các dữ liệu có ích, hữu
dụng với người dùng thông tin. Khai phá dữ liệu thường là những modul chương
trình hoạt động trực tiếp trên dữ liệu, tuy nhiên vẫn tồn tại việc khai phá gián tiếp,
một số phương pháp có thể khai phá dữ liệu sau:
vào một trong số các lớp đã được xác định trước đó.
Hồi quy(Regression): Là việc học một hàm ánh xạ từ một mẫu dữ liệu thành
một biến dự đoán có giá trị thực
+ Phân nhóm(Clustering): Là việc mô tả chung để tìm ra các tập hay các
nhóm, loại mô tả dữ liệu. Các nhóm có thể tách nhau hoặc phân cấp. Có nghĩa là
dữ liệu có thể vừa thuộc nhóm này vừa thuộc nhóm kia.
8
Báo cáo đồ án tốt nghiệp
Hình 1.3: Ví dụ về phân nhóm
+ Tổng hợp (Summarization): liên quan đến các phương pháp tìm kiếm một
mô tả tập con dữ liệu, thường áp dụng trong việc phân tích dữ liệu có tính thăm dò
và báo cáo tự động.
+ Mô hình ràng buộc (Dependency Modeling): là việc tìm kiếm một mô hình
mô tả sự phụ thuộc giữa các biến, thuộc tính theo hai mức: phụ thuộc cục bộ vào
cấu trúc của mô hình, phụ thuộc vào thước đo của một định lượng nào đó.
+ Dò tìm biến đổi và độ lệch (Change and Deviation Dectection): Chú ý vào
những thay đổi quan trọng trong dữ liệu từ các giá trị chuẩn hoặc đã được xác định
trước đó.
+ Biểu diễn mô hình (Model Representation): Là việc dùng một ngôn ngữ L
nào đó để mô tả các mẫu mô hình có thể khái phá được. Mô tả mô hình rõ ràng thì
“học máy” sẽ tạo ra mẫu có mô hình chính xác cho dữ liệu. Tuy nhiên nếu mô
hình quá lớn thì khả năng dự đoán của “học máy” bị hạn chế. Như thế sẽ làm cho
việc tìm kiếm sẽ phức tạp hơn cũng như việc hiểu được mô hình và không đơn
giản.
+ Kiểm định mô hình (Model Evaluation): Là việc đánh giá, ước lượng các
mô hình chi tiết, chuẩn trong quá trình xữ lý phát hiện tri thức với sự ước lượng có
9
Báo cáo đồ án tốt nghiệp
dự báo chính xác hay không và có thoả mãn cơ sở logíc hay không? Ước lượng
phải đánh giá chéo (cross validation) với việc mô tả đặc điểm bao gồm dự báo
Trái với mạng Nơron, cây quyết định biểu diễn các luật - rất dễ hiểu đối với
người sử dụng hoặc thậm chí có thể dùng trực tiếp trong cơ sở dữ liệu với công cụ
truy vấn(query), báo cáo(report) thì dễ dàng lấy ra các bản ghi kết quả.
Cây quyết định quy nạp là một dạng quy nạp được dùng trong việc “học” tri
thức thông qua phân lớp, phân loại, phân đoạn. Điều chủ yếu để có thể dùng cây
quyết định trong khai phá dữ liệu đó là:
+ Giá trị thuộc tính: các đối tượng phải được biểu diễn thành các biểu thức
của một tập cố định các thuộc tính, nghĩa là chúng ta sẽ phải rời rạc hoá các miền
giá trị liên tục
+ Các lớp phải được xác định: tức là các mẫu cần được xếp loại thì phải biết
các lớp, các loại từ trước đó
+ Các lớp dùng để phân loại là rời nhau
+ Dữ liệu được dùng phải đầy đủ: điều này đòi hỏi phải có hàng trăm hoặc
hàng nghìn các trường hợp dùng để luyện mẫu.
Ví dụ về cây quyết định:(Ở đây X= sự kiện nào đó (PlayTenis) có thể xãy ra
theo viễn cảnh được xây dựng trong cây quyết định)
Hình 1.4 : Ví dụ về cây quyết định
A
B=Gió
C=Độ ẩm
X=0
X=
1
X=0
X=1
A=nắng
A=Mưa
B =YếuB =Mạnh
C =thấpC =cao
X=1
Một giải thuật phân vùng dữ liệu tối ưu(optimal partitioning) phải là giải
thuật mà các tập mẫu chứa dữ liệu có chung tính chất nào đó được phân tách từ dữ
12
Báo cáo đồ án tốt nghiệp
liệu. Hơn nữa dữ liệu trong cùng một vùng thì có sự khác nhau không lớn, còn dữ
liệu trong các vùng khác nhau thì có khoảng cách rõ rệt.
Trong các giải thuật phân vùng dữ liệu thì việc xây dựng các hàm đánh giá
thuộc tính, hàm định nghĩa tham số giữa các thành phần dữ liệu đóng vai trò quan
trọng trong việc xác định hai đối tượng A, B có tương đồng với nhau hay không.
Tuy nhiên, tuỳ theo kiểu dữ liệu của các đối tượng cần xử lý mà chúng ta lại có
các hàm định nghĩa khác nhau.
* Phương pháp dựa trên mẫu
Là việc sử dụng các mẫu từ cơ sở dữ liệu để tạo nên một mô hình dữ đoán
bằng cách rút ra các thuộc tính tương tự như các mẫu đã biết trong mô hình. Trong
phương pháp này, các kỹ thuật thường hay áp dung như: Phân lớp vùng lân cận,
giải thuật hồi quy (Dasarathy 1991), các hệ thống suy diễn dựa trên các lý do(case-
based reasoning-Kolodner 1993)
* Mô hình phụ thuộc dựa trên đồ thị xác suất
Các mô hình đồ thị xác định sự phụ thuộc xác suất giữa các sự kiện thông
qua các mối liên hệ trực tiếp treo mô hình biểu diễn các cung của đồ thị (Pearl
1988; Whittaker 1990). Mô hình này thường được áp dụng với các biến có giá trị
rời rạc hoặc phân loại từng nhóm. Các biến này cần xác định có phụ thuộc trực
tiếp lẫn nhau hay không?
Mô hình học quan hệ(FOL hoặc FOPC)
Áp dụng luật suy diễn và cây quyết định cùng với việc áp dụng mệnh đề
logic, mô hình học quan hệ (first order logic-ngôn ngữ mẫu thứ tự logíc trước) rất
mềm dẻo là vì mô hình này ứng dụng logic trong tự nhiên.
Khai phá văn bản(text mining)
Phù hợp với việc tìm kiếm, phân lớp, phân hoặch và phân tích các dữ liệu
văn bản phi cấu trúc. Khai phá dữ liệu văn bản hiện được áp dụng trong việc khai
1.2.5. Tại sao phải cần lựa chọn phương pháp khai phá dữ liệu?
Các phương pháp suy diễn dựa trên tình huống(case-based reasoning), liệt kê
lân cận, logic mờ, các thuật toán đột biến gien cũng chưa hẳn là một phương pháp
14
Báo cáo đồ án tốt nghiệp
khai phá dữ liệu mà nó có khả năng đưa ra các thông tin mới dựa trên việc suy
luận nhưng lại không đáp ứng được yêu cầu về tính “tự động”: việc duyệt và tìm
kiếm dữ liệu của công cụ này rất ưu việt nhưng tự thân công cụ đó lại rất phụ
thuộc vào quy trình nhập dữ liệu. Nếu xét mạng nơron, mạng đa thức thì mặc dù
có tính tự động nhưng chỉ là các quá trình phân loại, nhận dạng các mẫu chứ chưa
hoàn toàn khai phá ra được tri thức mới.
Hiện nay, người ta vẫn chưa đưa ra được một tiêu chuẩn nào trong việc quyết
định sử dụng phương pháp khai phá nào cho bái toán nào thì tối ưu và có hiệu quả
nhất. Câu hỏi và câu trả lời cho việc này là không đơn giãn. Là vì mỗi phương
pháp điều có điểm mạnh và điểm yếu của nó.
Phân lớp – phân loại - phân đoạn dữ liệu
Phần này được chia thành ba dạng chính: phân lớp – phân loại, đưa ra các
luật kết hợp và cuối cùng là phân tích chuỗi.
Với việc phân tích một tập dữ liệu sau đó chia tập dữ liệu đó thành các lớp,
các nhóm, các loại, các đoạn khác nhau dựa vào một số quy tắc hay luật (kết hợp)
hay các chuẩn nhất định. Tuy nhiên khi áp dụng thì các phần tử thuộc cùng một
nhóm thì phải “giống nhau” ở các thuộc tính nào đó. Vấn đề quan trọng là làm sao
phải đưa ra được mô hình cho mỗi một lớp dựa trên các đặc tính của dữ liệu được
dùng để làm mẫu.
Tiếp theo không kém phần cốt lõi là khả năng học luật hay nói cách khác là
khả năng tìm ra các luật có thể áp dụng để xếp dữ liệu vào một trong các lớp đã
được xác định trước, mô tả trước. Chúng ta có thể chọn các phương pháp: cây
quyết định, xác suất, mạng nơron, giải thuật gen di truyền, tìm lân cận gần nhất,
phương pháp quy nạp luật, để áp dụng vào việc này tuỳ theo mỗi dạng bài toán.
Mô tả luật kết hợp
không?
Có thể tạo ra các mẫu cần quan tâm hay không?
…
16
Báo cáo đồ án tốt nghiệp
Để trả lời cho các câu hỏi trên chúng ta phải hiểu một cách tổng quát thì hệ
thống khai phá dữ liệu có thể sinh ra rất nhiều mẫu và luật. Tuy nhiên một phần
“ít” trong tất cả các mẫu và luật đã sinh ra là có ích với người dùng. Hơn nữa, các
mẫu đó phải thoả không ít yếu tố sau:
Dể hiểu với người dùng
Có tiềm năng sử dụng
Mới lạ (novel)
Có độ tin cậy ở mức chắc chắn.
Biểu diễn sự hiểu biết (tri thức)
Từ các mẫu đã khám phá đó, người dùng dựa trên cấu trúc của các mẫu xác
định độ đo (độ hỗ trợ, độ tin cậy) của các luật kết hợp(X->Y).
Định nghĩa độ hỗ trợ và độ tin cậy:
Luật X=>Y có độ hổ trợ là s% nếu như s% của giao tác T bao hàm (chứa) X
U Y.
Luật X=>Y có độ tin cậy là c% nếu như c% của giao tác T chứa X thì cũng
Y. Kết quả của luật kết hợp khai phá là đi tìm kiếm tất cả các luật với độ hỗ trợ và
độ tin cậy vượt quá ngưỡng một vài người dùng chỉ ra.
Độ hỗ trợ được tính bằng xác suất của X hoặc Y xuất hiện trong tổng số lần
xuất hiện.
Support(X->Y)=P(XUY)
Độ tin cậy được tính bằng xác suất có diều kiện P(X/Y).
Confidence(X->Y)=P(X/Y)
Độ đo nói lên điều có thể khai phá được, với ngưỡng độ hỗ trợ và độ tin cậy
xác định nhỏ thì có thể tìm kiếm và khai phá được.
Quá trình tối ưu hoá trong khai phá dữ liệu là điều con người luôn mong
hình chia sẻ bộ nhớ đều có điểm chung là các bộ vi xử lý đều dùng chung một bộ
18
Báo cáo đồ án tốt nghiệp
nhớ chia sẻ, các bộ vi xử lý thực hiện xử lý độc lập nhau nhưng có cùng một tài
nguyên bộ nhớ. Kỹ thuật xử lý song song chia sẻ bộ nhớ được chia thành 2 loại
chính dựa vào thời gian truy cập bộ nhớ là truy cập đồng bộ UMA và truy cập
không đồng bộ NUMA.
Hình 2.1. Mô hình chia sẻ bộ nhớ
- Mô hình bộ nhớ phân tán: Cũng giống như mô hình chia sẻ bộ nhớ, mô
hình bộ nhớ phân tán cũng có một điểm chung là tất cả các bộ xử lý tham gia
trong một hệ thống phân tán bộ nhớ phải cùng trong một mạng truyền thông, các
máy tính phải cùng trong một kênh truyền thông. Các bộ xử lý có bộ nhớ riêng của
nó, không có bộ nhớ chung giữa các bộ xử lý và được xử lý độc lập. Các thay đổi
về bộ nhớ chỉ ảnh hưởng tới bộ xử lý tại bộ xử lý đó là không ảnh hưởng tới các
bộ xử lý khác. Khi một bộ xử lý muốn truy cập vào dữ liệu của một bộ xử lý khác,
điều này yêu cầu lập trình viên phải định nghĩa ra làm thế nào và khi nào được
truy cập vào dữ liệu của bộ xử lý khác. Đồng bộ hoá giữa các tiến trình là trách
nhiệm của các lập trình viên.
Hình 2.2. Mô hình bộ nhớ phân tán
- Mô hình lai giữa chia sẻ bộ nhớ và bộ nhớ phân tán: Mô hình này được
sử dụng trong các máy tính lớn nhất và nhanh nhất thế giới. Thành phần bộ nhớ
chia sẻ thường là các bộ nhớ đệm gắn liền với các máy tính đa bộ xử lý đối xứng
19
Báo cáo đồ án tốt nghiệp
SMP (Symmetric Mutilprocessor). Các bộ xử lý trên một máy tính SMP có cùng
một bộ nhớ chia sẻ. Thành phần bộ nhớ phân tán là mạng truyền thông nối giữa
các máy tính SMP với nhau. Mỗi SMP có bộ nhớ riêng của nó và giữa các SMP
không có bộ nhớ chung, vì thế mạng truyền thông là truyền dữ liệu giữa các SMP.
Hình 2.3. Mô hình lai giữa chia sẻ bộ nhớ và bộ nhớ phân tán.
2.1.2. Xử lý song song trong môi trường chia sẻ bộ:
{
case 1: … do NhiemVu1 …(s1); break;
case 2: … do NhiemVu2 …(s2); break;
. . .
case N: … do NhiemVuN …(sn); break;
}
Tiến trình chủ sẽ thu thập kết quả tính toán của các tiến trình khác và thực
hiện các công việc còn lại, còn những tiến trình khác kết thúc. Ví dụ khi chúng ta
viết
join_process(N, id); id là tiến trình còn tiếp tục hoạt động. Nếu ta đặt sau nó
một số câu lệnh thì:
Các câu lệnh này sẽ không được thực hiện cho đến khi tất cả các tiến
trình đều thực hiện join_process().
Sau đó chỉ còn lại một tiến trình chủ hoạt động.
b. Cách thức chia sẻ dữ liệu giữa các tiến trình:
Một mặt một tiến trình có thể muốn giữ một phần dữ liệu cục bộ cho riêng
mình, không cho những tiến trình khác nhìn thấy/truy cập tới những dữ liệu đó.
Mặt khác, nó cũng muốn trao đổi thông tin với các tiến trình khác. Xử lý vấn đề
21
Báo cáo đồ án tốt nghiệp
che giấu hay chia sẻ thông tin như thế nào còn tuỳ thuộc vào mô hình mà chúng ta
áp dụng, dựa vào tiến trình hay luồng.
Các tiến trình trong UNIX, WINDOWS được sử dụng như các đơn vị
tính toán độc lập. Khi muốn sử dụng bộ nhớ chung, ta cần phải xin cấp phát bộ
nhớ và sau khi sử dụng xong phải giải phóng chúng. Người lập trình phải có trách
nhiệm giải phóng bộ nhớ chia sẻ một cách tường minh khi chúng không còn cần
thiết sử dụng. Có hai hàm cơ sở:
o shared(m, &id): cấp phát m byte bộ nhớ chia sẻ cho tiến trình id.
o free_shm(): giải phóng bộ nhớ đã được cấp.
Đối với các luồng, tất cả các thông tin, theo mặc định, là nhìn thấy được.
Tính kinh tế: thường đầu tư vào hệ phân tán sẽ thấp hơn đầu tư cho hệ tập
trung.
Tuy nhiên, hệ tính toán phân tán cũng đứng trước nhiều thách thức:
+ Những vấn đề liên quan đến việc quản trị hệ thống, vấn đề đảm bảo an toàn
hệ thống, bảo mật thông tin, v.v.
+ Xử lý trong các hệ thống phân tán không có bộ nhớ chia sẻ để trao đổi dữ
liệu với nhau. Sự trao đổi được thực hiện bằng cách gửi/nhận thông báo.
Hiện nay có nhiều công cụ lập trình được sử dụng cho tính toán phân tán ở
nhiều mức độ trừu tượng khác nhau, như: CORBA, PVM, MPI, Globus Toolkit 4
v.v.
a. Mô hình gửi/nhận thông báo trong tính toán phân tán:
Trong mô hình tính toán phân tán việc chia sẻ dữ liệu được thực hiện thông
qua cơ chế trao đổi thông điệp.
Các tiến trình có thể thực hiện trên những bộ xử lý khác nhau và không
có không gian bộ nhớ chia sẻ.
Chia sẻ dữ liệu thông qua cơ chế send() và receive().
Tất cả các biến là cục bộ của các tiến trình. Vì thế, những vấn đề về xung
đột dữ liệu (cần phải khoá dữ liệu khi một tiến trình truy cập), hay tranh chấp
23
Báo cáo đồ án tốt nghiệp
thông tin (bài toán loại trừ nhau) không xuất hiện trong mô hình tính toán phân
tán.
Nói chung có hai mô hình gửi/nhận thông báo:
- Gửi/nhận thông báo theo cơ chế dị bộ:
- Gửi/nhận thông báo theo cơ chế đồng bộ: Trong mô hình này, tiến trình gửi
bị chặn lại cho đến khi tiến trình nhận sẵn sàng nhận. Ở đây, sự truyền thông và
đồng bộ hoá luôn gắn chặt với nhau.
* Ưu, nhược điểm của cơ chế gửi/nhận thông báo đồng bộ:
Ưu điểm: Làm cho nhiều vấn đề trong đồng bộ hoá và việc cấp phát bộ nhớ
động trở lên đơn giản hơn.
kế để sử dụng với các Transputer (Inmos 1986)
2. Sử dụng ngôn ngữ lập trình bậc cao (tuần tự) được mở rộng bằng cách bổ
sung thêm các từ khoá và cú pháp mở rộng để xử lý việc trao đổi thông điệp, ví
dụ CC++ (mở rộng của C++)
Sử dụng những ngôn ngữ lập trình bậc cao và các thư viện gồm những thủ
tục xử lý việc trao đổi thông điệp, ví dụ ngôn ngữ C/C++ và hệ chương trình thư
viện để chạy với PVM, MPI, …
25