- 1 -
MỤC LỤC
DANH MỤC TỪ VIẾT TẮT 2
DANH MỤC HÌNH VẼ VÀ BẢNG BIỂU 3
MỞ ĐẦU 5
CHƯƠNG 1 - MẠNG CẢM BIẾN KHÔNG DÂY 7
1.1. Mạng cảm biến và ứng dụng 7
1.2. Kiến trúc mạng cảm biến không dây 11
1.3. Điều khiển truy nhập MAC trong mạng cảm biến không dây 15
CHƯƠNG 2 - ĐÁNH GIÁ HIỆU SUẤT 17
2.1. Khái niệm và các thông số hiệu suất 17
2.2. Các phương pháp đánh giá hiệu suất 19
2.3. Mô phỏng bằng chương trình máy tính 21
2.4. Bộ mô phỏng mạng OMNeT++ 28
CHƯƠNG 3 - PHƯƠNG PHÁP ĐIỀU KHIỂN TRUY NHẬP MAC
TRONG MẠNG CẢM BIẾN KHÔNG DÂY 33
3.1. Yêu cầu thiết kế điều khiển truy nhập MAC 33
3.2. Phân loại và nguyên tắc hoạt động điều khiển truy nhập MAC 39
3.3. Đánh giá 48
CHƯƠNG 4 - NHIÊN CỨU, CÀI ĐẶT MÔ PHỎNG, ĐÁNH GIÁ HIỆU
SUẤT MỘT SỐ PHƯƠNG PHÁP ĐIỀU KHIỂN TRUY NHẬP 51
4.1. Giao thức S-MAC 51
4.2. Giao thức T-MAC 60
4.3. Mô phỏng S-MAC, T-MAC bằng bộ chương trình OMNET++ 69
KẾT LUẬN 78
CÔNG TRÌNH KHOA HỌC LIÊN QUAN 80
TÀI LIỆU THAM KHẢO 81
PHỤ LỤC 1: BẢNG TỔNG HỢP KẾT QUẢ MÔ PHỎNG 83
- 2 -
DANH MỤC TỪ VIẾT TẮT
Viết tắt
Tiếng Anh
Tiếng Việt
AI- LMAC
Adaptive Information-centric
LMAC
Giao thức AI-LMAC
CDMA
Code Division Multiple Access
Đa truy nhập phân chia theo
mã
CTS
Clear to Send
Sẵn sàng nhận
FDMA
Frequency Division Multiple
Access
Đa truy nhập phân chia theo
tần số
FLAMA
FLow-Aware Medium Access
Giao thức FLAMA
FRTS
Future Request to Send
Yêu cầu gửi sớm
LMAC
Lightweight MAC
Giao thức LMAC
MAC
Medium Access Control
Điều khiển truy nhập đường
truyền
NAV
Network Allocation Vector
vectơ thòi gian chiếm giữ
mạng
PEDAMACS
Power Efficient and Delay Aware
Medium
Giao thức PEDAMACS
PMAC
Pattern MAC
Giao thức PMAC
RTS
Request to Send
Yêu cầu gửi
S-MAC
Sensor-MAC
Giao thức S-MAC
STEM
Sparse Topology and Energy
Management
Giao thức STEM
TDMA
Time Division Multiple Access
Đa truy nhập phân chia theo
thời gian
T-MAC
Timeout-MAC
Giao thức T-MAC
TRAMA
TRaffic Adaptive Medium Access
Giao thức TRAMA
WSN
Wireless Sensor Network
Mạng cảm biến không dây
Z-MAC
Zebra MAC
Giao thức Z-MAC
- 3 -
DANH MỤC HÌNH VẼ VÀ BẢNG BIỂU
Trang
Hình 1.1. Thành phần của một nút cảm biến
11
Hình 1.2. Phân bố nút cảm biến trong trường cảm biến.
13
Hình 1.3: Kiến trúc giao thức của mạng cảm biến.
14
Hình 2.1. Các phương pháp đánh giá hiệu suất
19
Hình 2.2. Kiến trúc hệ thống mô phỏng theo sự kiện rời rạc
24
Hình 2.3. Nguyên tắc hoạt động của mô phỏng theo sự kiện rời
rạc
26
Hình 2.4. Kiến trúc liên kết của một chương trình mô phỏng
29
Hình 2.5. Cấu trúc nút cảm biến được định nghĩa bằng ngôn ngữ
NED trong OMNeT++
30
Hình 2.6. Cấu trúc mô phỏng mạng cảm biến được định nghĩa
bằng ngôn ngữ NED trong OMNeT++
31
Hình 3.1. Nguyên tắc phân loại những giao thức MAC theo tổ
chức thời gian và sự phát triển lịch sử.
39
Hình 3.2. Nghe mức thấp (Low-Power Listening)
40
Hình 3.3. Chu trình thức/ngủ của giao thức truy nhập theo lịch
42
Hình 3.4. Truyền dữ liệu với kỹ thuật đồng bộ thời điểm thăm
dò kênh
43
Hình 3.5. Lựa chọn khe bởi LMAC
45
Hình 3.6. Z-MAC: cấu trúc khe với sự ưu tiên gắn sẵn cho
những chủ nhân khe thời gian.
48
Hình 4.1. Lược đồ S-MAC
52
Hình 4.2. Đồng bộ giữa các nút.
52
Hình 4.3. Quan hệ định thời giữa nút nhận và các nút gửi
56
Hình 4.4. Thực hiện tránh nghe thừa
58
Hình 4.5. Lược đồ cơ bản giao thức T-MAC
61
Hình 4.6. Lược đồ trao đổi dữ liệu cơ bản T-MAC.
64
Hình 4.7. Hiện tượng ngủ sớm.
66
Hình 4.8. Thực hiện gửi sớm RTS.
67
Hình 4.9. Thực hiện ưu tiên gửi khi bộ đệm đầy
68
Hình 4.10. Nút cảm biến EYES
69
Bảng 4.1. Thông số tiêu thụ năng lượng của nút cảm biến EYES
69
- 4 -
Hình 4.11. Ma trận 100 nút cảm biến phân bố đều nhau
70
Hình 4.12. Giao thức S-MAC: Các mức tiêu thụ dòng điện trung
bình ứng với từng tốc độ phát sinh gói tin thay đổi
theo thời gian thức trên một khung thời gian
72
Hình 4.13. Giao thức S-MAC: Các mức tiêu thụ dòng điện trung
bình ứng với từng thời gian thức trên một khung, thay
đổi theo tốc độ phát sinh gói tin
72
Hình 4.14. Dòng điện tiêu thụ trung bình ứng với từng giao thức
thay đổi theo tốc độ phát sinh gói tin
73
Hình 4.15. Dòng điện tiêu thụ trung bình của T-MAC khi thay
đổi tốc độ phát sinh gói tin.
74
Hình 4.16. T-MAC với việc thực hiện gửi sớm RTS tăng thông
lượng cực đại
75
Hình 4.17. Mức tiêu thụ dòng điện trung bình khi thay đổi tốc
độ phát sinh gói tin
75
Hình 4.18. Các mức tiêu thụ dòng điện trung bình với chiều dài
gói tin là 20 byte
76
Hình 4.19. Các mức tiêu thụ dòng điện trung bình với chiều dài
gói tin là 100 byte
76
Hình 4.20. Mức tiêu thụ dòng điện trung bình 3 loại giao thức
cho ứng dụng mạng cảm biến thông thường
77
- 5 -
MỞ ĐẦU
Trong những năm gần đây, việc nghiên cứu các hệ thống mạng thông
tin máy tính di động được phát triển mạnh mẽ. Đặc biệt là hệ thống mạng cảm
biến di động (wireless mobile sensor network), dạng không cấu trúc (ad hoc
mobile network) mới xuất hiện, nhưng đã được nhiều nước, nhiều tổ chức xã
hội, quốc phòng, an ninh, kinh tế … quan tâm.
Mạng cảm biến có thể bao gồm hàng nghìn, thậm chí hàng triệu thiết bị
cảm biến (sensors) thông minh, được trang bị một bộ xử lý, một bộ nhớ dung
lượng nhỏ và các cảm biến để đo ánh sáng, độ ẩm, áp suất, nhiệt độ. Trong
tương lai, mạng này có thể giám sát cả môi trường, phương tiện máy móc và
con người. Mạng cảm biến liên hệ bằng sóng vô tuyến, tiêu thụ cực ít năng
lượng, hoạt động liên tục trong mọi điều kiện, môi trường. Mạng cảm biến có
thể còn bao gồm cả các thiết bị điều khiển (actors) thông minh, trao đổi số
liệu và thực hiện điều khiển đối với các thiết bị cảm biến.
Để thiết kế và thực hiện các mạng cảm biến, nhiều vấn đề điều khiển
được đặt ra, phải được nghiên cứu, giải quyết tối ưu, phù hợp với đặc thù của
mạng cảm biến không dây, ví dụ: điều khiển truy nhập mạng không dây, định
tuyến, điều khiển trao đổi số liệu tin cậy giữa các thiết bị cảm biến và điều
khiển một cách có chọn lọc (lựa chọn một nhóm các thiết bị cảm biến và điều
khiển). Nghiên cứu, đánh giá một số cơ chế điều khiển truy nhập mạng cảm
biến di động có ý nghĩa lý luận và thực tiễn.
Mục tiêu chính của luận văn là cung cấp cái nhìn tổng quan về mạng
cảm biến không dây và ứng dụng; nguyên tắc hoạt động một số cơ chế điều
khiển truy nhập mạng cảm biến không dây; phân tích, đánh giá hiệu suất hoạt
động của một số cơ chế điều khiển trên.
Ngoài bốn chương chính, bố cục luận văn còn có các phần Mở đầu, Kết
luận và Tài liệu tham khảo. Phần kết luận nêu tóm tắt các vấn đề đã trình bày
trong các chương, đánh giá các kết quả đã đạt được, đồng thời đưa ra các định
hướng nghiên cứu, phát triển tiếp theo. Nội dung các chương được tóm tắt
như sau:
- 6 -
Chương 1 trình bày tổng quan về mạng cảm biến không dây, cấu tạo
nút cảm biến cũng như kiến trúc mạng cảm biến, các lĩnh vực ứng dụng cơ
bản của mạng cảm biến, một số vấn đề đặt ra trong cơ chế điểu khiển truy
nhập áp dụng cho mạng cảm biến.
Chương 2 giới thiệu tổng quan về đánh giá hiệu suất và mô phỏng bằng
chương trình máy tính. Giới thiệu bộ chương trình mô phỏng đang được sử
dụng rộng rãi trong lĩnh vực viễn thông OMNet++.
Chương 3 trình bày các vấn đề trong thiết kế cơ chế điều khiển truy
nhập MAC cho mạng cảm biến không dây. Phân loại và đánh giá các phương
pháp điều khiển truy nhập MAC trong mạng cảm biến không dây.
Chương 4 giới thiệu, đặc tả hai giao thức điều khiển truy nhập được
dùng cho mạng cảm biến là S-MAC và T-MAC, thực hiện mô phỏng và đánh
giá hiệu suất các giao thức trên bằng bộ chương trình OmNet++.
Mặc dù đã rất cố gắng, song do khuôn khổ thời gian và thức hạn hẹp
nên luận văn còn những hạn chế nhất định, tác giả rất mong nhận được những
góp ý để vấn đề nghiên cứu này ngày càng được hoàn thiện hơn. Qua đây, tác
giả xin chân thành cảm ơn tới PGS.TS Vũ Duy Lợi, người thầy hướng dẫn và
chỉ bảo tận tình trong quá trình thực hiện luận văn này, xin chân thành cảm ơn
các Thầy Cô đã dạy và giúp đỡ trong suốt quá trình học tập tại trường Đại học
Công nghệ - Đại học Quốc gia Hà Nội.
- 7 -
CHƯƠNG 1 - MẠNG CẢM BIẾN KHÔNG DÂY
1.1. Mạng cảm biến và ứng dụng
1.1.1. Mạng cảm biến
Một mạng cảm biến bao gồm số lượng lớn các nút cảm biến được phân
bố cả bên trong hiện tượng hoặc phân bố bên cạnh hiện tượng. Vị trí của các
nút cảm biến không cần phải thiết kế hoặc xác định trước, điều này cho phép
các nút cảm biến phân bố ngẫu nhiên trong các địa hình phức tạp. Điều đó
cũng có nghĩa là các giao thức của mạng cảm biến và các thuật toán phải có
khả năng tự tổ chức. Một đặc điểm quan trọng khác của các mạng cảm biến là
khả năng phối hợp giữa các nút cảm biến. Các nút cảm biến được gắn một bộ
xử lý bên trong. Thay vì gửi đi số liệu thô tới nút đích, chúng sử dụng khả
năng xử lý để thực hiện các tính toán đơn giản và chỉ truyền số liệu đã được
xử lý theo yêu cầu.
Những ứng dụng của mạng cảm biến đòi hỏi nó phải có những kỹ thuật
đặc biệt hơn so với các kỹ thuật áp dụng cho các mạng không dây phi cấu trúc
(mạng ad hoc). Mặc dù nhiều giao thức và giải thuật đã được thiết kế cho
những mạng ad hoc không dây truyền thống, nhưng chúng chưa thỏa mãn
những đặc tính và yêu cầu ứng dụng của mạng cảm biến. Để thấy được điểm
này, ta hãy xem xét sự khác nhau giữa mạng cảm biến và mạng ad hoc:
Số lượng nút cảm biến trong một mạng cảm biến lớn hơn nhiều lần
so với những nút trong mạng ad hoc.
Các nút cảm biến thường được triển khai với mật độ dày hơn.
Những nút cảm biến dễ hỏng, ngừng hoạt động.
Topo mạng cảm biến thay đổi rất thường xuyên.
Mạng cảm biến chủ yếu sử dụng truyền thông quảng bá (broadcast)
trong khi mà đa số các mạng ad hoc là điểm - điểm (point-to-point).
- 8 -
Những nút cảm biến có giới hạn về năng lượng, khả năng tính toán
và bộ nhớ.
Những nút cảm biến có thể không có định danh toàn cầu (global
ID).
Khi số lượng lớn những nút cảm biến được triển khai mật độ dày thì
những nút lân cận phân bố rất gần lẫn nhau, vì vậy truyền thông đa bước nhảy
trong mạng cảm biến phải tiêu thụ ít năng lượng hơn truyền thông đơn bước
nhảy truyền thống. Hơn nữa, năng lượng phục vụ truyền dữ liệu có thể để ở
mức thấp, chủ yếu dành cho các hoạt động chuyển đổi, xử lý. Truyền thông
đa bước nhảy cũng khắc phục có hiệu quả vấn đề lan truyền tín hiệu khoảng
cách xa trong giao tiếp không dây.
Một trong những yêu cầu ràng buộc quan trọng đối với nút cảm biến là
mức độ tiêu thụ điện phải thấp. Nguồn cung cấp năng lượng điện cho nút cảm
biến là có hạn và nói chung là không thể thay thế. Bởi vậy, trong khi các
mạng truyền thống tập trung vào làm sao để đạt được chất lượng dịch vụ cao
thì những giao thức mạng cảm biến phải tập trung chủ yếu về sự giữ gìn năng
lượng. Chúng phải có những cơ chế cân bằng cho phép lựa chọn việc kéo dài
tuổi thọ của mạng hay thông lượng thấp, hoặc độ trễ cao.
Các mạng cảm biến gồm có nhiều phương thức thực hiện cảm biến
khác nhau như cảm biến địa chấn, cảm ứng từ, cảm biến nhiệt, cảm biến hình
ảnh, cảm biến hồng ngoại, cảm biến sóng âm và sóng rađa … trong các điều
kiện bao quanh đa dạng như:
nhiệt độ,
độ ẩm,
sự chuyển động của phương tiện,
điều kiện ánh sáng,
sức ép,
sự ô nhiễm,
- 9 -
mức độ ồn,
sự có mặt hoặc không những loại đối tượng nhất định,
mức độ gắn kết cơ khí giữa các đối tượng
những đặc trưng hiện thời như tốc độ, hướng, và kích thước một
đối tượng.
Những nút cảm biến có thể được sử dụng cho cảm biến liên tục, phát
hiện sự kiện, định danh sự kiện, cảm biến vị trí, và điều khiển cục bộ thiết bị
khởi động
1.1.2. Ứng dụng mạng cảm biến
Những đặc tính của mạng cảm biến hứa hẹn một phạm vi ứng dụng
rộng rãi với một số lĩnh vực ứng dụng cụ thể như: an ninh quốc phòng, y tế,
môi trường, thương mại… Chúng ta có thể hình dung trong tương lai, những
mạng cảm biến không dây sẽ là một phần gắn liền với cuộc sống của chúng ta
nhiều hơn so với những máy tính cá nhân hiện nay.
Trong lĩnh vực an ninh quốc phòng, với những đặc tính triển khai
nhanh, tự tổ chức và độ thứ lỗi cao cho phép mạng cảm biến trở thành một
thành phần trong hệ thống C4ISRT (Command, Control, Communications,
Calculation, Intelligence, Surveillance, Reconnaissance, and Targeting - hỗ
trợ ra mệnh lệnh, điều khiển, truyền thông, tính toán, tình báo, giám sát theo
dõi, trinh sát và mục tiêu). Vì mạng cảm biến dựa vào sự triển khai dày đặc
những nút cảm biến có chi phí thấp và sẵn có, sự hỏng hóc, ngừng hoạt động
của vài nút do những hoạt động thù địch không ảnh hưởng nhiều đến hoạt
động quân sự như cảm biến truyền thống. Một số ứng dụng quân sự khác của
mạng cảm biến có thể kể đến như hỗ trợ giám sát lực lượng, thiết bị và quân
nhu một cách thân thiện; theo dõi trận địa; do thám lực lượng và trận địa đối
phương; xác định mục tiêu; đánh giá tổn thất sau trận chiến; do thám và xác
định tấn công hóa sinh hoặc hạt nhân.
Trong lĩnh vực môi trường, mạng cảm biến được sử dụng để theo dõi
chuyển động của những động vật hoang dã cần giám sát, nghiên cứu hoặc bảo
- 10 -
vệ, theo dõi những động vật nhỏ như sâu, bọ; theo dõi những yếu tố môi
trường ảnh hưởng đến gieo trồng và chăn nuôi; tình trạng tưới tiêu; theo dõi
môi trường trái đất, sinh học bên trong lòng biển, đất, và khí quyển; phát hiện
cháy rừng; nghiên cứu thời tiết hoặc địa vật lý; cảnh báo lũ lụt; nghiên cứu
bản đồ sinh học phức tạp của môi trường và nghiên cứu sự ô nhiễm.
Trong lĩnh vực y tế, mạng cảm biến cung cấp những công cụ hỗ trợ
giao tiếp cho người tàn tật; theo dõi bệnh nhân; hỗ trợ chẩn đoán; quản trị
thuốc trong bệnh viện; giám sát từ xa dữ liệu vật lý của con người; kiểm tra
và theo dõi bác sĩ và bệnh nhân trong bệnh viện. Mỗi bệnh nhân có thể được
gắn kết các nút cảm biến nhỏ và nhẹ, mỗi nút cảm biến có nhiệm vụ riêng, ví
dụ, một nút cảm biến xác định nhịp tim, trong khi nút khác đang xác định
huyết áp. Bác sĩ có thể cũng mang một nút cảm biến cho phép những bác sĩ
khác định vị bên trong phạm vi bệnh viện. Việc những nút cảm biến có thể
được gắn tới từng loại thuốc, những bệnh nhân có nút cảm biến xác định
những dị ứng của họ và yêu cầu thuốc tương ứng thì sẽ tránh được việc chỉ
định thuốc sai.
Trong lĩnh vực ứng dụng gia đình, khi công nghệ phát triển, những nút
và những thành phần phát sinh cảm biến nhỏ gọn có thể được trang bị bên
trong những đồ dùng gia đình như máy hút bụi, lò vi sóng, tủ lạnh, và thiết bị
VCRs. Những nút cảm biến này tương tác với nhau và với bên ngoài có thể
nối mạng qua Internet hoặc vệ tinh, cho phép chủ nhà quản lý từ xa thiết bị đồ
dùng dễ dàng hơn. Bạn sẽ không phải lo lắng vì đã quên tắt đèn hoặc khóa
cửa trước khi rời khỏi nhà vì bạn có thể dễ dàng làm những việc này ngay trên
chiếc ôtô của mình, thông qua chiếc điện thoại di động.
Trong lĩnh vực thương mại, mạng cảm biến được ứng dụng trong việc
theo dõi chất lượng sản phẩm; xây dựng văn phòng thông minh; điều khiển
môi trường trong những tòa nhà; điều khiển robot trong những nhà máy sản
xuất tự động; sản xuất đồ chơi tương tác; xây dựng bảo tàng tương tác; điều
khiển tự động hóa; giám sát thảm hoạ; điều khiển thiết bị khởi động; thiết bị
chống mất cắp ô tô…Ví dụ trong những tòa nhà văn phòng, điều hoà không
khí và nhiệt độ hầu hết là điều khiển tập trung, vì vậy nhiệt độ bên trong một
- 11 -
phòng có thể giảm hoặc tăng một vài độ, một mặt có thể ấm hơn mặt khác vì
có duy nhất một điều khiển trong phòng và luồng không khí từ hệ thống trung
tâm thì không phải là phân tán bằng nhau. Một hệ thống mạng cảm biến vô
tuyến phân tán có thể được thiết đặt để điều khiển luồng khí và nhiệt độ trong
các bộ phận khác nhau của phòng. Công nghệ này được đánh giá có thể giảm
bớt đáng kể mức độ tiêu thụ điện năng.
Một ví dụ khác, trong tương lai trẻ em sẽ có khả năng tương tác trực
tiếp với những hiện vật trong bảo tàng. Những đối tượng, hiện vật này sẽ có
thể trả lời, đáp ứng qua va chạm hoặc giọng nói, qua đó giúp các em có sự
hiểu biết hơn về chúng.
1.2. Kiến trúc mạng cảm biến không dây
1.2.1. Nút cảm biến
Một nút cảm biến được cấu tạo bởi bốn thành phần cơ bản như hình 1.1
gồm: Bộ phận cảm biến (Sensing Unit), bộ phận xử lý (Processing Unit), bộ
phận thu phát (Transceiver Unit) và bộ phận cung cấp năng lượng (Power
Unit). Ngoài ra, chúng cũng có thể có những thành phần bổ sung phụ thuộc
ứng dụng như: Hệ thống định vị (Location Finding System); Bộ phận phát
điện (Power Generator) và bộ phận quản lý di động (Mobilizer).
Hình 1.1. Thành phần của một nút cảm biến.
Bộ phận cảm biến thường bao gồm hai bộ phận nhỏ: sensors và bộ
phận chuyển đổi tín hiệu tương tự thành tín hiệu số (Analog to Digital
Converter - ADCs). Tín hiệu tương tự được sản sinh bởi những thành phần
- 12 -
cảm biến dựa vào quan sát hiện tượng được chuyển đổi tới tín hiệu số bởi
ADCs, và sau đó được chuyển tới bộ phận xử lý. Bộ phận xử lý thường liên
quan đến một bộ phận lưu trữ nhỏ, quản lý những thủ tục làm cho nút cảm
biến hợp tác với nhau khác để thực hiện nhiệm vụ cảm biến được định trước.
Bộ phận thu phát kết nối nút với mạng. Một trong những thành phần quan
trọng của một nút cảm biến là bộ phận cung cấp quản lý năng lượng. Bộ phận
này có thể được hỗ trợ bởi một bộ phận tiếp thu năng lượng như pin mặt trời.
Nút cảm biến còn có thể có những bộ phận nhỏ khác phụ thuộc từng ứng
dụng cụ thể.
Hầu hết kỹ thuật định tuyến mạng cảm biến và những tác vụ cảm biến
đòi hỏi kiến thức định vị vị trí với độ chính xác cao, vì vậy, các nút cảm biến
thường có hệ thống định vị vị trí. Ngoài ra, tùy thuộc vào ứng dụng, nút cảm
biến có thể được trang bị một bộ phận quản lý di động để quản lý chuyển
động khi nó được yêu cầu để thực hiện nhiệm vụ định trước.
Tất cả những bộ phận cần phải tích hợp trong một mô đun cỡ hộp diêm.
Kích thước yêu cầu đôi khi phải nhỏ hơn một 1cm
3
. Ngoài kích thước, nút
cảm biến phải thỏa mãn yêu cầu:
Tiêu thụ điện cực nhỏ,
Hoạt động được ở mật độ cao,
Có chi phí sản xuất thấp và không thiết yếu,
Không có định danh và thực hiện tự quản trị,
Thích ứng với môi trường.
Những nút cảm biến thường là không tác động được, tuổi thọ của một
mạng cảm biến phụ thuộc vào tuổi thọ của những nguồn cung cấp năng lượng
cho những nút. Vì kích thước giới hạn, năng lượng của nút cảm biến cũng trở
thành một tài nguyên khan hiếm.
1.2.2. Mạng cảm biến
Các nút cảm biến thường được phân bố trong trường cảm biến. Mỗi nút
cảm biến có khả năng thu thập số liệu và chọn đường để chuyển số liệu tới
- 13 -
nút gốc. Việc chọn đường tới nút gốc theo đa bước nhảy được minh hoạ trong
Hình 1.2. Nút gốc có thể liên lạc với nút quản lý nhiệm vụ thông qua Internet
hoặc vệ tinh. Việc thiết kế mạng cảm biến như mô tả trong Hình 1.2 phụ
thuộc vào nhiều yếu tố như khả năng chống lỗi, giá thành sản phẩm, môi
trường hoạt động, cấu hình mạng cảm biến, tích hợp phần cứng, môi trường
truyền dẫn và tiêu thụ công suất.
Hình 1.2. Phân bố nút cảm biến trong trường cảm biến.
Kiến trúc giao thức được sử dụng bởi nút gốc và các nút cảm biến ở
Hình 1.2 được trình bày trong Hình 1.3. Kiến trúc giao thức này kết hợp giữa
công suất và chọn đường, kết hợp số liệu với các giao thức mạng, sử dụng
công suất hiệu quả với môi trường vô tuyến và sự tương tác giữa các nút cảm
biến. Kiến trúc giao thức bao gồm lớp vật lý, lớp liên kết số liệu, lớp mạng,
lớp truyền tải, lớp ứng dụng, phần quản lý công suất, phần quản lý di động và
phần quản lý nhiệm vụ. Lớp vật lý cung cấp các kỹ thuật điều chế, phát và
thu. Vì môi trường có tạp âm và các nút cảm biến có thể di động, giao thức
điều khiển truy nhập môi trường (MAC) phải xét đến vấn đề công suất và
phải có khả năng tối thiểu hoá việc va chạm với thông tin quảng bá của các
nút lân cận. Lớp mạng quan tâm đến việc chọn đường số liệu được cung cấp
bởi lớp truyền tải. Lớp truyền tải giúp duy trì luồng số liệu nếu ứng dụng
mạng cảm biến yêu cầu. Tuỳ theo nhiệm vụ cảm biến, các loại phần mềm ứng
dụng khác nhau có thể được xây dựng và sử dụng ở lớp ứng dụng. Ngoài ra,
các phần quản lý công suất, di chuyển và nhiệm vụ sẽ giám sát việc sử dụng
- 14 -
công suất, sự di chuyển và thực hiện nhiệm vụ giữa các nút cảm biến. Những
phần này giúp các nút cảm biến phối hợp nhiệm vụ cảm biến và tiêu thụ công
suất tổng thể thấp hơn.
Hình 1.3. Kiến trúc giao thức của mạng cảm biến.
Phần quản lý công suất điều khiển việc sử dụng công suất của nút cảm
biến. Ví dụ, nút cảm biến có thể tắt khối thu của nó sau khi thu được một bản
tin từ một nút lân cận. Điều này giúp tránh tạo ra các bản tin giống nhau.
Cũng vậy, khi mức công suất của nút cảm biến thấp, nút cảm biến phát quảng
bá tới các nút lân cận để thông báo nó có mức công suất thấp và không thể
tham gia vào các bản tin chọn đường. Công suất còn lại sẽ được dành riêng
cho nhiệm vụ cảm biến. Phần quản lý di động phát hiện và ghi lại sự di
chuyển của các nút cảm biến để duy trì tuyến tới người sử dụng và các nút
cảm biến có thể lưu vết của các nút cảm biến lân cận. Nhờ xác định được các
nút cảm biến lân cận, các nút cảm biến có thể cân bằng giữa công suất của nó
và nhiệm vụ thực hiện. Phần quản lý nhiệm vụ dùng để làm cân bằng và lên
kế hoạch các nhiệm vụ cảm biến trong một vùng xác định. Không phải tất cả
các nút cảm biến trong vùng đó điều phải thực hiện nhiệm vụ cảm biến tại
cùng một thời điểm. Kết quả là một số nút cảm biến thực hiện nhiệm vụ nhiều
hơn các nút khác tuỳ theo mức công suất của nó. Những phần quản lý này là
Lớp ứng dụng
Phần quản lý công suất
Lớp truyền tải
Lớp mạng
Lớp liên kết số liệu
Lớp vật lý
Phần quản lý di chuyển
Phần quản lý nhiệm vụ
- 15 -
cần thiết để các nút cảm biến có thể làm việc cùng nhau theo một cách thức sử
dụng hiệu quả công suất, chọn đường số liệu trong mạng cảm biến di động và
phân chia tài nguyên giữa các nút cảm biến.
1.3. Điều khiển truy nhập MAC trong mạng cảm biến không dây
Mạng cảm biến không dây là loại mạng đặc biệt với số lượng lớn nút
cảm biến được trang bị bộ vi xử lý, thành phần cảm biến và thành phần quản
lý sóng vô tuyến. Các nút cảm biến cộng tác với nhau để hoàn thành một
nhiệm vụ chung. Trong nhiều ứng dụng, các nút cảm biến sẽ được triển khai
phi cấu trúc như mạng ad hoc. Chúng phải tự tổ chức để hình thành một mạng
không dây đa bước nhảy. Thách thức chung trong mạng không dây là vấn đề
xung đột do hai nút gửi dữ liệu cùng lúc trên cùng kênh truyền. Giao thức
điều khiển truy nhập đường truyền (MAC) đã được phát triển để giúp đỡ mỗi
nút quyết định khi nào và làm sao để truy nhập kênh. Vấn đề này cũng được
biết như sự định vị kênh hoặc đa truy nhập. Lớp MAC được xem xét bình
thường như một lớp con của lớp liên kết dữ liệu trong chồng giao thức mạng.
Những giao thức MAC đã nghiên cứu rộng rãi trên những lĩnh vực truyền
thống của truyền thông tiếng nói và dữ liệu không dây. Đa truy nhập phân
chia theo thời gian (Time Division multiple Access - TDMA), Đa truy nhập
phân chia theo tần số (Frequency Division Multiple Access - FDMA) và đa
truy nhập phân chia theo mã (Code Division Multiple Access - CDMA) là
những giao thức MAC được sử dụng rộng rãi trong những hệ thống truyền
thông tế bào hiện đại. Ý tưởng cơ bản của các phương pháp trên là sẽ tránh
xung đột bởi việc chia nhỏ kênh truyền thành những kênh truyền con, các nút
sẽ phân chia truy nhập các kênh truyền con đó. Việc phân chia kênh được
thực hiện theo thời gian, tần số hoặc theo mã. Những kênh truyền con này
không ảnh hưởng lẫn nhau, những giao thức MAC này được phân vào nhóm
phi xung đột (collision-free). Lớp giao thức MAC khác dựa trên sự cạnh tranh
dành quyền truy nhập trên một kênh dung chung, kết quả trong sự phối hợp
xác suất có điều kiện, không cần cấp phát sẵn kênh truyền. Xung đột có thể
xảy ra trong thời gian thủ tục cạnh tranh trong những hệ thống như vậy.
Những ví dụ cổ điển của những giao thức MAC trên nền cạnh tranh bao gồm
- 16 -
ALOHA và đa truy nhập cảm ứng sóng mang (CSMA). Trong giao thức
ALOHA, một nút đơn giản truyền một gói khi nó được phát sinh (pure
ALOHA) hoặc tại khe sẵn có tiếp theo (slotted ALOHA). Những gói tin va
chạm với nhau được vứt bỏ và sẽ được truyền lại. Trong CSMA, một nút
thăm dò trước khi phát, nếu nó phát hiện ra kênh bận, thì nó dừng lại và thử
lại sau đó. Giao thức CSMA đã được nghiên cứu rộng rãi, hiện nay nó là nền
tảng của nhiều chuẩn mở rộng gồm IEEE 802.11. Mạng cảm biến khác với
mạng dữ liệu không dây truyền thống trên một vài khía cạnh. Trước hết, đa số
các nút trong những mạng cảm biến hoạt động dựa trên nguồn điện pin, và rất
khó để nạp điện cho những nguồn pin của tất cả các nút. Thứ hai, những nút
thường được triển khai trong một kiểu cách đặc biệt phi cấu trúc; chúng phải
tự tổ chức hình thành một mạng truyền thông. Ba là, nhiều ứng dụng cần phải
sử dụng số lượng lớn những nút, và mật độ nút sẽ thay đổi tại những địa điểm
và thời gian khác nhau, với cả những mạng mật độ thưa lẫn những nút với
nhiều lân cận. Cuối cùng, đa số các lưu thông trong mạng được thúc đẩy bởi
những sự kiện cảm ứng, phân bố không đều và rất co cụm. Tất cả những đặc
trưng này cho thấy những giao thức MAC truyền thống không thích hợp cho
những mạng cảm biến không dây nếu không có những sự cải biến.
- 17 -
CHƯƠNG 2 - ĐÁNH GIÁ HIỆU SUẤT
2.1. Khái niệm và các thông số hiệu suất
Hiệu suất là một trong hai nhân tố chính xác định năng suất tổng cộng
của một hệ thống. Đối với một hệ thống tính toán, đánh giá hiệu suất
(performance evaluation) là xác định về mặt định tính và định lượng chất
lượng phục vụ của hệ thống tính toán đó với một loại bài toán nhất định. Đối
với giao thức, đánh giá hiệu suất là xác định về mặt định tính và định lượng
chất lượng truyền tải đối với một lưu lượng số liệu nhất định. Chất lượng
truyền tải số liệu của một giao thức được xác định bằng các đại lượng như:
thông lượng (throughput); thời gian trễ (transfer delay); xác xuất lỗi truyền số
liệu; thời gian xử lý, khắc phục lỗi…
Vấn đề đánh giá và dự đoán hiệu suất luôn thu hút sự quan tâm của các
nhà nghiên cứu và thiết kế giao thức với mục đích chính là cải thiện đặc trưng
giá - hiệu suất giao thức (cost-performance). Quá trình đánh giá hiệu suất
được đặt ra ngay từ giai đoạn đầu của thiết kế. Sau khi lựa chọn kiến trúc và
bắt đầu thiết kế, triển khai, việc đánh giá hiệu suất sẽ trở nên cụ thể hơn. Các
kỹ thuật được dùng để dự đoán và đánh giá hiệu suất trong giai đoạn thiết kế
có thể là các tính toán bằng tay, nhưng cũng có khi là các mô phỏng rất tinh
vi. Việc so sánh hiệu suất dự đoán với hiệu suất thực tế đạt được thường giúp
cho các nhà nghiên cứu thấy được các khiếm khuyết chính trong thiết kế hoặc
các lỗi trong việc lập trình.
Đánh giá hiệu suất giao thức có ý nghĩa lý luận và thực tế quan trọng,
xuyên suốt toàn bộ quá trình thiết kế, thực hiện và sử dụng giao thức. Mục
tiêu cuối cùng của việc thiết kế, thực hiện và vận hành các giao thức trao đổi
số liệu cần đạt được chính là đạt được tính hiệu quả và chất lượng cao trong
hoạt động phục vụ của hệ thống đó. Ngày nay, đánh giá hiệu suất được coi là
một phần không thể thiếu được của công việc thiết kế và triển khai giao thức.
- 18 -
Các thông số hiệu suất
Có nhiều tiêu chí để đánh giá hiệu suất, có thể phân loại thông số hiệu
suất thành hai loại: thông số hiệu suất có định hướng người sử dụng và thông
số hiệu suất có định hướng hệ thống.
Thông số hiệu suất định hướng người sử dụng bao gồm: thời gian trả
lời (thời gian xử lý) trong môi trường hệ thống xử lý theo lô (batch
processing); thời gian trả lời trong môi trường hệ thống xử lý thời gian thực
(real-time processing) hoặc môi trường hệ thống xử lý tương tác (interactive
processing). Thời gian trả lời của một tác vụ được tính từ khi tác vụ được đưa
vào hệ thống cho tới khi hệ thống đưa ra kết quả. Tương tự, trong môi trường
xử lý thời gian thực, thời gian trả lời của một yêu cầu biểu diễn khoảng thời
gian trôi qua từ khi đến của một yêu cầu cho tới khi yêu cầu được hoàn thành
trong hệ thống.
Trong hệ thống tương tác, thời gian phản hồi của hệ thống là khoảng
thời gian trôi qua từ thời điểm một đầu vào đến hệ thống cho tới khi nó nhận
được một phần kết quả xử lý đầu tiên. Thời gian phản hồi cho phép đánh giá
hiệu suất hoạt động của bộ lập lịch trong việc phân chia tài nguyên của hệ
thống, xử lý các yêu cầu mới. Thời gian quay vòng, thời gian trả lời, thời gian
phản hồi được xem như là những biến ngẫu nhiên, vì thế chúng ta cũng có thể
tìm ra được hàm phân phối xác suất ngẫu nhiên của chúng, giá trị tại một
điểm, phương sai,
Các thông số hiệu suất có định hướng hệ thống thường là thông lượng
và hiệu quả sử dụng (utilization). Thông lượng được định nghĩa là số trung
bình công việc được thực hiện trong một đơn vị thời gian. Đây là đại lượng
xác định hiệu quả hoạt động của hệ thống. Nếu yêu cầu tính toán đến theo
một số luật nào đó, độc lập với trạng thái hoạt động của hệ thống, thì thông
lượng tương đương với tốc độ đến trung bình của yêu cầu. Đại lượng này còn
có thể cho thấy hệ thống có khả năng xử lý các yêu cầu này mà không sinh ra
bất cứ một sự ùn đọng nào hay không. Nhưng trong trường hợp này, thông
lượng là đại lượng xác định tải của hệ thống (system load), chứ không phải là
đại lượng đánh giá chính xác hiệu quả hoạt động của hệ thống.
- 19 -
Hiu qu s dng ca mt ti nguyờn l thi gian c s dng, cũn
gi l thi gian bn, ca ti nguyờn ú, hay cng chớnh l t l gia thi gian
c s dng v thi gian tn ti ca mt ti nguyờn.
2.2. Cỏc phng phỏp ỏnh giỏ hiu sut
Cỏc phng phỏp phõn tớch, ỏnh giỏ hiu sut cú th phõn loi nh
sau:
Đánh giá hiệu suất
Đo thực tế Mô hình hoá
Hệ thống giám sát Phân tích Mô phỏng Ph-ơng pháp lai
Hardware Software Lai Xác định Ngẫu nhiên Vận hành
Hỡnh 2.1 Cỏc phng phỏp ỏnh giỏ hiu sut.
Phng phỏp o thc t thng c ỏp dng khi cỏc cỏc yu t m
bo v k thut cho phộp v chi phớ cho cỏc thit b o v thc hin cỏc phộp
o l cú th chp nhn c. i vi cỏc h thng ang hot ng, vic phõn
tớch v ỏnh giỏ hiu sut hot ng ca cỏc h thng ny da trờn cỏc s liu
thu thp c bi cỏc h thng giỏm sỏt bng phng phỏp ngu nhiờn hoc
c kớch hot bi cỏc s kin qui nh trong v ngoi h thng ti cỏc giao
din ca h thng. Kt qu o cú th c s dng lm cỏc giỏ tr u vo cho
cỏc mụ hỡnh gii tớch hoc mụ hỡnh mụ phng mỏy tớnh hoc c s dng
kim chng tớnh ỳng n ca cỏc mụ hỡnh ny.
Mụ hỡnh hoỏ l phng phỏp c s dng trong quỏ trỡnh thit k h
thng, nht l i vi cỏc h thng cha tn ti. Mụ hỡnh hoỏ gii tớch
(analytical modeling) s dng cỏc cụng c toỏn hc mt cỏch xỏc nh, hoc
ngu nhiờn, hoc da trờn s liu thu thp c khi vn hnh h thng thc
mụ phng v xỏc nh cỏc thụng s hiu sut ca h thng. Theo phng
phỏp ny, ta xõy dng cỏc phng trỡnh th hin mi quan h gi cỏc tiờu
chun hiu sut cn quan tõm v cỏc tham s ca h thng cú th gii c
bng Gii tớch.
- 20 -
Mô hình hoá mô phỏng (simulative modeling) sử dụng các chương
trình máy tính để mô phỏng kiến trúc và quá trình hoạt động của hệ thống,
trên cơ sở đó xác định các thông số hiệu suất của hệ thống đó. Mô hình mô
phỏng mô tả hoạt động của hệ thống. Cấu trúc và độ phức tạp của bộ mô
phỏng phụ thuộc vào phạm vi của thí nghiệm mô phỏng. Nó thường được xây
dựng có cấu trúc, cho phép mô-đun hoá chương trình mô phỏng thành tập các
chương trình con, sao cho việc sửa đổi, bổ sung các chương trình con được dễ
dàng, đồng thời phải được xây dựng sao cho đạt được tốc độ cao nhằm làm
giảm thời gian chạy mô phỏng càng nhiều càng tốt.
Phương pháp lai là hình thức kết hợp của hai phương pháp mô hình hoá
giải tích và mô hình hoá mô phỏng.
So sánh các phương pháp đánh giá hiệu suất
Phương pháp sử dụng mô hình giải tích là phương pháp tốt nhất vì nó
cho phép thay đổi các tham số của hệ thống và cấu hình trong một miền rộng
với chi phí thấp mà vẫn có thể đạt được các kết quả mong muốn. Tuy nhiên,
phương pháp này thường được sử dụng trong giai đoạn đầu của quá trình thiết
kế. Nguyên nhân là các mô hình giải tích do chúng ta xây dựng thường là
phức tạp, không thể giải được nếu không được đơn giản hoá nhờ các giả thiết
hay được phân rã thành các mô hình nhiều cấp, nhưng các mô hình này
thường khác xa với thực tế. Các kết quả thu được cần phải được kiểm nghiệm
bằng kết quả của các phương pháp khác.
Phương pháp mô phỏng có thể được sử dụng ngay trong giai đoạn đầu
của việc thiết kế cho đến giai đoạn triển khai thực hiện và tích hợp hệ thống.
Tuy nhiên, phương pháp này đòi hỏi chi phí cao cho việc xây dựng bộ mô
phỏng cũng như kiểm chứng tính đúng đắn của nó. Nhưng sau khi xây dựng
xong bộ mô phỏng thì có thể tiến hành chạy chương trình nhiều lần với độ
chính xác theo yêu cầu và chi phí cho mỗi lần chạy là thấp. Các kết quả mô
phỏng vẫn cần phải được kiểm chứng bằng các phương pháp khác như giải
tích hay đo thực tế.
- 21 -
Nếu hai phương pháp trên có thể thực hiện ngay từ giai đoạn thiết kế
thì phương pháp đo thực tế chỉ có thể sử dụng được khi giao thức đã được cài
đặt, triển khai vào hoạt động thực tế trên hệ thống thực. Phương pháp này
cũng đòi hỏi chi phí cao cho các thiết bị đo và cho việc tiến hành đo. Việc đo
đạc cần được thực hiện ở nhiều thời điểm, kéo dài và lặp lại trong một khoảng
thời gian đủ dài. Tuy nhiên, phương pháp này vẫn có thể không phát hiện ra
được hoặc dự đoán được mọi tình huống và hành trạng có thể xẩy ra.
2.3. Mô phỏng bằng chương trình máy tính
2.3.1. Định nghĩa và phân loại
Mô hình hoá mô phỏng (simulative modeling) là phương pháp thực
nghiệm sử dụng các chương trình máy tính để mô phỏng kiến trúc và quá
trình hoạt động của hệ thống, trên cơ sở đó nghiên cứu hoạt động và xác định
các thông số hiệu năng của hệ thống. Mô phỏng bằng chương trình máy tính
được sử dụng khi các mô hình giải tích không thể hiện được một cách trung
thực hệ thống cần mô phỏng.
Mô hình mô phỏng mô tả hoạt động của hệ thống dưới dạng các sự kiện
của các thành phần hệ thống và mối quan hệ giữa chúng. Chương trình máy
tính thực hiện mô hình mô phỏng, cho phép ghi lại hoạt động của các thành
phần này và ảnh hưởng của chúng đến các thành phần còn lại dưới dạng một
quá trình động hoạt động của hệ thống.
Như vậy, mô hình mô phỏng hoạt động của một hệ thống chính là một
hệ thống động. Một hệ thống động là một hệ thống thay đổi trạng thái hoạt
động của nó theo thời gian. Trạng thái hoạt động của hệ thống mô phỏng
được mô tả bằng các giá trị của các biến trong chương trình mô phỏng; trạng
thái hệ thống thay đổi được phản ảnh tương ứng với sự thay đổi các giá trị của
các biến. Đặc trưng của hệ thống mô phỏng có trạng thái rời rạc (discrete),
hướng sự kiến (event-oriented), nghĩa là: tập hợp các trạng thái hệ thống là có
hạn, trạng thái thay đổi “đột biến” (gíá trị rời rạc) vào các thời điểm nhất định
(time-discrete). Một hệ thống mô phỏng như vậy là một hệ thống xác định
(deterministic), nghĩa là: trạng thái hệ thống luôn xác định được, dựa trên
- 22 -
trạng thái trước đó và trạng thái hiện tại. Trong thực tế mô phỏng, nhiều hệ
thống mô phỏng hoặc là quá phức tạp, hoặc là không cung cấp đầy đủ thông
tin về tất cả các trạng thái có được. Vì vậy, phần lớn các hệ thống mô phỏng
không phải là các hệ thống xác định, mà là các hệ thống ngẫu nhiên, thống kê;
trạng thái hệ thống được xác định chỉ trong khung cảnh tổng thể của cả hệ
thống, không thể xác định trong từng ngữ cảnh cụ thể được.
Một số khái niệm cơ bản trong mô phỏng hệ thống mạng máy tính.
- Biến trạng thái (state variable): Biến trạng thái có giá trị là trạng thái
của hệ thống mô phỏng. Ví dụ về biến trạng thái là độ dài hàng đợi phát hoặc
thu số liệu.
- Sự kiện (event): Một sự thay đổi trạng thái hệ thống mô phỏng gọi là
một sự kiện, ví dụ: gói số liệu đến trong hàng đợi thu trong trường hợp thu
gói số liệu hoặc gói số liệu đến trong hàng đợi chờ phát trong trường hợp phát
gói số liệu.
- Mô hình thời gian liên tục hoặc mô hình thời gian rời rạc
(continuous-time or discrete-time model): Mô hình thời gian liên tục là mô
hình mà ở đó, trạng thái hệ thống mô phỏng được xác định tại bất cứ một thời
điểm (thời gian) nào. Trong trường hợp ngược lại, nghĩa là, trạng thái hệ
thống mô phỏng chỉ xác định ở một thời điểm (thời gian) nhất định, người ta
có mô hình thời gian rời rạc.
- Mô hình trạng thái liên tục hoặc mô hình trạng thái rời rạc
(continuous-state or discrete-state model): mô hình trạng thái liên tục hoặc rời
rạc phụ thuộc vào việc biến trạng thái nhận giá trị liên tục hoặc rời rạc.Mô
hình trạng thái liên tục hoặc rời rạc còn được gọi là mô hình sự kiện liên tục
hoặc mô hình sự kiện rời rạc.
- Mô hình xác định và mô hình ngẫu nhiên (deterministic or
probabilistic model): nếu kết quả đầu ra của một mô hình có thể xác định
được từ trước một các chắc chắn thì mô hình đó được gọi là mô hình xác
định. Ngược lại, nếu kết quả đầu ra của một mô hình là khác nhau đối với
- 23 -
việc lặp lại của một tập giá trị đầu vào nhất định thì mô hình đó được gọi là
mô hình ngẫu nhiên.
- Mô hình tĩnh và mô hình động (static or dynamic model): nếu thời
gian không phải là một biến thì mô hình đó là mô hình tĩnh. Ngược lại, nếu
trạng thái của hệ thống mô phỏng thay đổi theo thời gian thì mô hình đó là mô
hình động.
Người ta phân biệt ba loại hệ thống mô phỏng: (a) mô phỏng tĩnh,
không có biến thời gian, còn gọi là mô phỏng Monte Carlo; (b) mô phỏng
theo vết (trace-driven); và (c) mô phỏng theo sự kiện (event-driven). Hai
phương pháp mô phỏng cuối được sử dụng để mô hình hoá, phân tích đánh
giá hiệu suất hoạt động mạng máy tính.
Mô phỏng theo vết sử dụng số liệu đầu vào là số liệu được thu thập
theo thứ tự các sự kiện (theo thời gian) xảy ra trên hệ thống thực. Ví dụ:
những số liệu cần thiết cho việc phân tích, đánh giá hiệu quả hoạt động của
các chiến lược quản lý bộ nhớ đệm thu khác nhau của một kết nối mạng
(network interface) như: thời gian đến trung bình giữa hai gói số liệu (đồng
nghĩa với tốc độ đến của các gói số liệu), phân phối độ dài gói số liệu, được
thu thập trên một mạng LAN cụ thể và được sử dụng là số liệu đầu vào cho
một mô phỏng các chiến lược quản lý bộ nhớ đệm thu khác nhau.
2.3.2. Nguyên tắc mô phỏng theo sự kiện
Mô phỏng theo sự kiện là thực hiện mô phỏng hoạt động của hệ thống
mà ở đó, trạng thái hệ thống (model state) thay đổi theo sự kiện nhất định.
Nếu trạng thái của hệ thống mô phỏng được xác định là liên tục thì mô phỏng
đó được gọi là mô phỏng theo sự kiện liên tục. Ngược lại, nếu trạng thái của
hệ thống mô phỏng được xác định là rời rạc thì mô phỏng đó được gọi là mô
phỏng theo sự kiện rời rạc. Thông thường, mô phỏng hệ thống mạng máy tính
là mô phỏng theo sự kiện rời rạc, vì trạng thái của hệ thống thường là số gói
số liệu đến, được lưu để xử lý, được phát qua hệ thống đường truyền. Kiến
trúc và các thành phần của hệ thống mô phỏng theo sự kiện rời rạc được trình
bày trong Hình 2.2.
- 24 -
Bảng lập lịch các sự kiện (event scheduler): bảng lập lịch các sự kiện
chứa danh sách các sự kiện “chờ” xảy ra trong hệ thống mô phỏng. Bảng lập
lịch cho phép sắp xếp các sự kiện xuất hiện vào các thời điểm nhất định, ví
dụ: (a) Sự kiện X xảy ra vào thời điểm T; (b) Giữ sự kiện X xảy ra trong
khoảng thời gian dt; (c) Huỷ bỏ một sự kiện Y đã được sắp xếp để xuất hiện
vào thời điểm Z, Bảng lập lịch các sự kiện là thành phần hệ thống được
kích hoạt nhiều nhất và có ảnh hưởng quyết định đến hiệu quả thực hiện mô
phỏng.
Đồng hồ mô phỏng (simulation clock): mỗi một mô phỏng đều có một
biến chung, thể hiện thời gian mô phỏng. Lập lịch các sự kiện thay đổi thời
gian này theo hai phương thức: (a) định kỳ tăng thời gian mô phỏng thêm t
và kiểm tra xem có sự kiện nào có thể xuất hiện (phương thức này không
được sử dụng trong mô phỏng máy tính); (b) tự động tăng thời gian mô phỏng
đến thời điểm tiếp theo gần nhất mà ở đó, một sự kiện xuất hiện.
Event
Routine
Event
Routine
Event
Routine
Event Scheduler
System State Variables
I
N
P
U
T
O
U
T
P
U
T
Clock and Time Advancing Mechanism
Memory Management and Trace
Discrete - Event Simulator
Event
Routine
Event
Routine
Event
Routine
Event Scheduler
System State Variables
I
N
P
U
T
O
U
T
P
U
T
Clock and Time Advancing Mechanism
Memory Management and Trace
Discrete - Event Simulator
Hình 2.2: Kiến trúc hệ thống mô phỏng theo sự kiện rời rạc.
Các biến trạng thái của hệ thống (system state variables): đây là các
biến chung (global) để mô tả trạng thái của hệ thống.
- 25 -
Chương trình thể hiện sự kiện (event routines): mỗi sự kiện được thể
hiện (mô phỏng) bằng một chương trình. Chương trình này cập nhật các biến
trạng thái của hệ thống và sắp xếp lịch cho các sự kiện (khác) xuất hiện.
Chương trình nhập số liệu vào (Input routines): chương trình này nhập
tất cả số liệu từ người dùng cho hệ thống mô phỏng. Thông thường, chương
trình này cho phép nhập nhiều lần giá trị các thông số đầu vào theo một qui
tắc nhất định (ví dụ: nhập dữ liệu cho nhiều vòng lặp đầu vào).
Chương trình tạo số liệu đầu ra (Output routines or report generator):
chương trình tạo số liệu đầu ra được thực hiện vào cuối mỗi mô phỏng, cho
phép tính toán kết quả mô phỏng cuối cùng và in ra dưới dạng báo cáo nhất
định.
Chương trình khởi tạo (Initialization routines): chương trình thiết lập
giá trị ban đầu cho các biến trạng thái hệ thống cũng như các bộ sinh số ngẫu
nhiên được sử dụng trong mô phỏng.
Chương trình quét số liệu mô phỏng (Trace routines): chương trình
quét số liệu mô phỏng cho phép thu thập các số liệu sinh ra tức thời trong quá
trình thực hiện mô phỏng. Những chương trình này cho phép kiểm tra, phát
hiện lỗi khi thực hiện mô phỏng.
Quản lý bộ nhớ động (Dynamic Memory Management): thông thường,
chương trình mô phỏng luôn tạo ra các thực thể mới và xoá bỏ các thực thể
không còn trực tiếp tham gia quá trình mô phỏng. Việc quản lý bộ nhớ đệm
một cách “động” là hết sức cần thiết để đáp ứng yêu cầu cấp phát động bộ
nhớ cho các thực thể mô phỏng.
Chương trình chính (Main program): chương trình chính kết nối tất cả
các chương trình thành phần nêu trên của một mô phỏng, từ nhập số liệu đầu
vào, khởi tạo hệ thống mô phỏng đến thực hiện các sự kiện, các vòng lặp, nếu
cần thiết, quét số liệu mô phỏng và cuối cùng là tính toán kết quả mô phỏng
cuối cùng.