© 2004, HOÀNG MINH SƠN
Chương 1Chương 1
Hệ thống
₫iềukhiểnphân tán
9/1/2005
Chương 7: Xử lý thờigianthực
và xử lý phân tán
2
© 2004, HOÀNG MINH SƠN
Chương 7: Xử lý thờigianthựcvàxử lý phân tán
© 2005 - HMS
Chương 7: Nội dung
7.1 Khái niệm“thờigianthực”
7.2 Hệđiều hành thờigianthực
7.3 Khái niệm“xử lý phân tán”
7.4 Các kiếntrúcxử lý phân tán
7.5 Các cơ chế giao tiếp trong hệ phân tán
3
© 2004, HOÀNG MINH SƠN
Chương 7: Xử lý thờigianthựcvàxử lý phân tán
© 2005 - HMS
Xử lý thời gian thực là nguyên lý làm việc cơ bản của
mỗi bộ điều khiển, nhìn từ quan điểm tin học
Chất lượng điều khiển và độ tin cậy của hệ thống điều
khiển không chỉ phụ thuộc vào thuật toán điều khiển,
công nghệ phần cứng, mà còn phụ thuộc một cách tất
yếu vào phương pháp xử lý thời gian thực
Chúng ta còn biết quá ít về cơ chế thực hiện các chức
năng bên trong một bộ điều khiển (số)
Chúng ta cũng còn biết tương đối ít về cơ chế giao
tiếp giữa các thành phần mềm trong một hệ thống điều
khiển phân tán
Tại sao cần nghiên cứu về xử lý thời gian thực
7.1 Khái niệm thờigianthực
4
© 2004, HOÀNG MINH SƠN
Chương 7: Xử lý thờigianthựcvàxử lý phân tán
© 2005 - HMS
Hệ thờigianthựclàgì?
A real-time system is one in which the correctness of
the system depends not only on the logical results,
but also on the time at which the results are
produced.
JOHN A. STANKOVIC ET AL.: Strategic Directions in Real-Time and
Embedded Systems. ACM Computing Surveys, Vol. 28, No. 4, December 1996
Mỗihệ thống điềukhiểnlàmộthệ thờigianthực
Phầnlớncáchệ thờigianthựclàcáchệ thống điều
khiển
5
© 2004, HOÀNG MINH SƠN
Chương 7: Xử lý thờigianthựcvàxử lý phân tán
© 2005 - HMS
Vấn ₫ề thời gian trong hệĐKqua mạng
Sensor
I/O
Controller
I/O
Actuator
Sensor
I/O
Sensor
I/O
Bus trường
T
s
T
in
T
out
T
a
T
c
6
© 2004, HOÀNG MINH SƠN
Chương 7: Xử lý thờigianthựcvàxử lý phân tán
© 2005 - HMS
Chiếcxehơicólàmộthệ thời gian thực?
Hơn 30 máy vi tính bên trong (µP) nốimạng
Chúng ta có nên tìm hiểu nguyên lý hoạt động của
chúng?
7
© 2004, HOÀNG MINH SƠN
Chương 7: Xử lý thờigianthựcvàxử lý phân tán
© 2005 - HMS
Nội dung liên ngành
Kỹ thuật
điềukhiển
Khoa học
máy tính
Công nghệ
truyền thông
Hệ thờigianthực
Mạng truyền thông
công nghiệp
Hệ phân tán
Hệđiềukhiển
phân tán
8
© 2004, HOÀNG MINH SƠN
Chương 7: Xử lý thờigianthựcvàxử lý phân tán
© 2005 - HMS
Mộthệ thờigianthựccócác₫ặc ₫iểm:
Tính phản ứng: Hệ thống phảiphản ứng vớicácsự
kiệnxuấthiện vào các thời điểm không biếttrước.
Tính nhanh nhạy: Hệ thống phảixử lý thông tin một
cách nhanh chóng để có thểđưarakếtquả phản ứng
mộtcáchkịpthời.
Tính đồng thời: Hệ thống phảicókhả năng phản ứng
và xử lý đồng thời nhiềusự kiệndiễnra.
Tính tiền định: Dựđoán trước đượcthờigianphản ứng
tiêu biểu, thờigianphản ứng chậmnhấtcũng như trình
tựđưaracácphản ứng.
9
© 2004, HOÀNG MINH SƠN
Chương 7: Xử lý thờigianthựcvàxử lý phân tán
© 2005 - HMS
Xử lý thờigianthựclàgì?
Xử lý thời gian thực là hình thức xử lý thông tin trong một
hệ thống để đảm bảo tính năng thời gian thực của nó.
Luôn liên quan vớicácsự kiện bên ngoài (tính phản
ứng)
Yêu cầucaovề hiệusuấtphầnmềm (tính nhanh
nhạy)
Đòi hỏi xử lý đồng thời nhiềutácvụ (tính đồng thời)
Đòi hỏicơ sở lý thuyếtchặtchẽ phụcvụ phân tích
và đánh giá (tính tiền định)
10
© 2004, HOÀNG MINH SƠN
Chương 7: Xử lý thờigianthựcvàxử lý phân tán
© 2005 - HMS
Khái niệm“tácvụ”(task)
Một quá trình tính toán cho mộtnhiệmvụ cụ thể, có thể
đượcthựchiện đồng thời, ví dụ:
–Cáctácvụ xử lý giá trị vào/ra
–Cáctácvụđiềuchỉnh
–Cáctácvụđiềukhiểnlogic
–Cáctácvụ xử lý biếncố
–
Mộttácvụ là sự thi hành mộtchương trình hoặcmột
phầnchương trình
–Mộtchương trình chạy nhiềulần => nhiềutácvụ
–Một đoạnmãchương trình (ví dụ một hàm) đượcgọituần hoàn
vớicácchukỳ khác nhau => nhiềutácvụ khác nhau
Multitasking (đanhiệm): khả năng thi hành đồng thời
nhiềutácvụ
11
© 2004, HOÀNG MINH SƠN
Chương 7: Xử lý thờigianthựcvàxử lý phân tán
© 2005 - HMS
Phân loạitácvụ (IEC 61131-3)
Mã thựcthi
Tác vụ mặc định
Ví dụ:
- Điềukhiển logic
-Kiểmtralỗi
Chờ tới chu kỳ
Mã thực thi
Thời gian
Tác vụ tuầnhoàn
Ví dụ:
- Điềuchỉnh vòng kín
-Xử lý truyền thông
Chờ sự kiện
Mã thực thi
Sự kiện
Tác vụ sự kiện
Ví dụ:
- Điềukhiểntrìnhtự
-Xử lý sự cố
12
© 2004, HOÀNG MINH SƠN
Chương 7: Xử lý thờigianthựcvàxử lý phân tán
© 2005 - HMS
Các hình thứcxử lý ₫ồng thời
Xử lý song song: Các tác vụ (task) được phân chia
thựchiện song song trên nhiềubộ xử lý
Xử lý cạnh tranh: Nhiềutácvụ chia sẻ thờigiancủa
mộtbộ xử lý.
Xử lý phân tán: Mỗi (nhóm) tác vụđượcthựchiện
riêng trên một máy tính (trường hợp đặcbiệtcủaxử
lý song song).
Xử lý cạnhtranhlàhìnhthức quan trọng nhấttrong
các hệ thống điềukhiển(cóthể kếthợpvớixử lý
phân tán)
13
© 2004, HOÀNG MINH SƠN
Chương 7: Xử lý thờigianthựcvàxử lý phân tán
© 2005 - HMS
Xử lý cạnh tranh
Các vấn đề:
–Tổ chức, lập lịch phân chia
tài nguyên cho các tác vụ
– Giao tiếpgiữacáctácvụ
– Đồng bộ hóa giữacáctác
vụ
14
© 2004, HOÀNG MINH SƠN
Chương 7: Xử lý thờigianthựcvàxử lý phân tán
© 2005 - HMS
7.2 Hệ₫iềuhànhthờigianthực
Hệđiều hành thờigianthựclàmộthệđiều hành hỗ trợ
các chương trình ứng dụng xử lý thờigianthực
Hầuhếtcácbộđiềukhiểncôngnghiệp (PLC, DCS, )
đềuhoạt động trên nềnmộthệđiều hành thờigian
thực (RTOS, Real-time Operating System)
Bản thân hệđiều hành thờigianthựccũng là mộthệ
thờigianthực
Mộthệđiều hành thờigianthực bao giờ cũng là mộthệ
đa nhiệm(multitasking), hỗ trợ xử lý cạnh trạnh
hoặc/và xử lý song song.
15
© 2004, HOÀNG MINH SƠN
Chương 7: Xử lý thờigianthựcvàxử lý phân tán
© 2005 - HMS
Các nhiệmvụ chính củahệ₫iềuhànhthời
gian thực trong mộtbộ₫iềukhiển
Nạpchương trình, hỗ trợ thử nghiệm, gỡ rốichương
trình
Quảnlýdữ liệuvào/ravàquảnlýtruyền thông
–Giúpcácchương trình ứng dụng dễ dàng truy cậpdữ liệumà
không cần quan tâm tớicơ chế phầncứng cụ thể
Quảnlýtácvụ:
– Lậplịch: Phân chia thời gian CPU cho thi hành các tác vụ khác
nhau (trong xử lý cạnh tranh)
– Hỗ trợđồng bộ hóa quá trình: Giúp các tác vụ chia sẻ tài nguyên
sử dụng chung (bộ nhớ, cổng vào/ra, )
– Hỗ trợ giao tiếp liên quá trình: Giúp các tác vụ thựchiệngiao
tiếp, trao đổidữ liệuhoặcphốihợphoạt động
Các chứcnăng kiểmtra, chẩn đoán lỗi
16
© 2004, HOÀNG MINH SƠN
Chương 7: Xử lý thờigianthựcvàxử lý phân tán
© 2005 - HMS
GIAO DIỆN PHẦNCỨNG
PHẦNCỨNG MÁY TÍNH
QUẢNLÝ
TASK
QUẢNLÝ
BỘ NHỚ
QUẢNLÝ
VÀO/RA
XỬ LÝ
GIAO TIẾP
QUẢNLÝ
SỰ KIỆN
GIAO DIỆN LẬP TRÌNH ỨNG DỤNG
CHƯƠNG TRÌNH
ỨNG DỤNG
CHƯƠNG TRÌNH
ỨNG DỤNG
CHƯƠNG TRÌNH
ỨNG DỤNG
17
© 2004, HOÀNG MINH SƠN
Chương 7: Xử lý thờigianthựcvàxử lý phân tán
© 2005 - HMS
Phương pháp lậplịch
Cơ chế lậplịch
–Lậplệnh tĩnh: thứ tự thựchiệncáctácvụđượcxácđịnh trướckhihệ
thống đivàohoạt động.
–Lậplệnh động: thứ tự thựchiệncáctácvụđượcxácđịnh trong khi hệ
thống đang hoạt động.
Sách lượclậplịch
–FIFO: đếntrướcsẽđượcthựchiệntrước.
–Mức ưutiêncốđịnh/động: các tác vụđược đặtcácmức ưutiêncố
định hoặccóthể thay đổinếucần.
– Preemptive: chen hàng, chọnmộttácvụđểthựchiệntrướccáctácvụ
khác.
– Non-preemptive: không chen hàng, các tác vụđượcthựchiệnbình
thường dựatrênmức ưutiêncủa chúng.
Thuật toán lậplịch
– Rate monotonic: càng thường xuyên càng được ưu tiên.
– Deadline monotonic: càng gấp càng được ưu tiên.
– Least laxity: tỷ lệ thời gian tính toán/thờihạncuối cùng (deadline) càng
lớncàngđược ưutiên.
18
© 2004, HOÀNG MINH SƠN
Chương 7: Xử lý thờigianthựcvàxử lý phân tán
© 2005 - HMS
7.3 Khái niệm xử lý phân tán
Xử lý phân tán là hình thức xử lý thông tin tất yếu của
các hệ thống phân tán nói chung và các hệ thống điều
khiển phân tán nói riêng
Xử lý phân tán giúp nâng cao năng lựcxử lý thông tin
củamộthệ thống, góp phầncảithiện tính năng thờigian
thực, nâng cao độ tin cậyvàtínhlinhhoạtcủahệ thống.
Phân biệt các khái niệm:
–Xử lý cụcbộ => ứng dụng đơn độc
–Xử lý cạnh tranh => ứng dụng đa nhiệm
–Xử lý tậptrung=> ứng dụng tập trung
–Xử lý nốimạng => ứng dụng mạng (giao tiếphiện)
–Xử lý phân tán => ứng dụng phân tán (giao tiếpngầm)
19
© 2004, HOÀNG MINH SƠN
Chương 7: Xử lý thờigianthựcvàxử lý phân tán
© 2005 - HMS
Giao tiếpngầm Ù Giao tiếphiện
Giao tiếphiện(explicit communication):
–Hoạt động giao tiếp đượccoilàchứcnăng riêng
–Sử dụng dịch vụ giao tiếp(vídụ lậptrình) cầnbiếtrõ
về hệ thống truyền thông (kiếntrúcgiaothức)
Hệ thống truyền thông
A
B
A
B
Hệ thống truyền thông
Giao tiếpngầm(implicit communication):
–Hoạt động giao tiếp đượcthựchiệnngầmkhicầnthiết
–Sử dụng dịch vụ giao tiếp(vídụ lậptrình) cầnbiếtrõ
về hệ thống truyền thông (kiếntrúcgiaothức)
20
© 2004, HOÀNG MINH SƠN
Chương 7: Xử lý thờigianthựcvàxử lý phân tán
© 2005 - HMS
7.4 Các kiến trúc xử lý phân tán
Kiến trúc Master/Slave
–Chứcnăng xử lý thông tin được phân chia trên nhiềutrạmtớ
–Mộttrạmchủ phốihợphoạt động của nhiềutrạmtớ
–Cáctrạmtớ có vai trò, nhiệmvụ tương tự như nhau
–Cáctrạmtớ có thể giao tiếptrựctiếp, hoặc không
Master
Slave Slave Slave
Ví dụ: Bộđiềukhiển
Ví dụ: Các vào/ra phân tán, các thiếtbị trường
21
© 2004, HOÀNG MINH SƠN
Chương 7: Xử lý thờigianthựcvàxử lý phân tán
© 2005 - HMS
Kiến trúc Client/Server
–Chứcnăng xử lý thông tin được phân chia thành hai phần khác
nhau, phầnsử dụng chung cho nhiều bài toán đượcthựchiện
trên các server, phầnriêngthựchiệntrêntừng client.
–Giữa các client không cầnthiếtcógiaotiếptrựctiếp
–Vaitròchủđộng trong giao tiếpthuộcvề client
Server
Client Client Client
Ví dụ: Các trạmvận hành
Ví dụ: Các bộđiềukhiểnhoặccáctrạmquảnlýdữ liệu
Server
22
© 2004, HOÀNG MINH SƠN
Chương 7: Xử lý thờigianthựcvàxử lý phân tán
© 2005 - HMS
Kiếntrúcbìnhđẳng
–Cáctrạmcóvaitròbìnhđẳng, phảiphốihợphoạt động,
hình thứcgiaotiếptrựctiếpvới nhau không qua trung gian
A
A
A
A
A
Ví dụ: Các trạm điềukhiển phân tán (kiến trúc PLC/DCS)
hoặccácthiếtbị trường thông minh (kiếntrúcFCS)
23
© 2004, HOÀNG MINH SƠN
Chương 7: Xử lý thờigianthựcvàxử lý phân tán
© 2005 - HMS
Kiếntrúctự trị
–Cáctrạmcóvaitròbìnhđẳng, có thể hoạt động hoàn toàn
độclậpnhưng sự phốihợphoạt động tạohiệuquả cao nhất
A
A
A
A
A
Ví dụ: Các hệ thống xây dựng theo công nghệ Agent, Multi-Agent
24
© 2004, HOÀNG MINH SƠN
Chương 7: Xử lý thờigianthựcvàxử lý phân tán
© 2005 - HMS
7.5 Các cơ chế giao tiếp trong hệĐKPT
Dữ liệu toàn cục (Global Data)
–Giống như một vùng nhớ chung
–Mỗi trạm đều chứa một ảnh của bảng dữ liệu toàn cục, trong đó
có toàn bộ dữ liệu cần trao đổi của tất cả các trạm khác
–Mỗi trạm gửi phần dữ liệu của nó tới tất cả các trạm, mỗi trạm
tự cập nhật ảnh của bảng dữ liệu toàn cục
– Đơn giản, tiền định nhưng kém hiệu quả
–Áp dụng cho lượng dữ liệu nhỏ, tuần hoàn, thích hợp trong kiến
trúc bình đẳng (ví dụ giữa các trạm điều khiển).
25
© 2004, HOÀNG MINH SƠN
Chương 7: Xử lý thờigianthựcvàxử lý phân tán
© 2005 - HMS
Hỏituầntự (Polling, Scanning)
–Mộttrạm đóng vai trò Master
–Cơ chế hỏi/đáp tuầntự theo trình tựđặttrước
– Đơngiản, tiền định, hiệuquả cao
–Ápdụng cho trao đổidữ liệutuần hoàn, thích hợp trong kiến
trúc Master/Slave
Master Slave1 Slave2 Slave3
Message1
Response1
Message2
Response2
Message3
Response3