Bài giảng Kiến trúc máy tính - Chương 6: Hệ thống lưu trữ và các thiết bị Xuất/Nhập khác

Dẫn nhập
 Đặc tính của các thiết bị ngoại vi thể hiện:
 Hành vi (chức năng): Nhập (I), Xuất (O), Lưu trữ
(storage)
 Đối tượng tương tác: Người sử dụng hoặc máy
 Tốc độ truyền: bytes/sec, transfers/sec
 Kết nối tuyến I/O 
Đặc tính của hệ thống I/O
9/11/2015 Khoa Khoa học & Kỹ thuật Máy tính 3
 Tính ổn định (Dependability) rất quan
trọng:
 Đặc biệt các thiết bị lưu trữ
 Đại lượng đo hiệu suất
 Thời gian đáp ứng (Latency=response time)
 Hiệu suất đầu ra (Throughput=bandwidth)
 Hệ thống để bàn & nhúng
 Quan tâm chủ yếu là thời gian đáp ứng & đa dạng
thiết bị
 Hệ thống máy chủ (Servers)
 Chủ yếu là hiệu suất đầu ra & khả năng mở rộng 
pdf 41 trang thiennv 07/11/2022 4900
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Kiến trúc máy tính - Chương 6: Hệ thống lưu trữ và các thiết bị Xuất/Nhập khác", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.

File đính kèm:

  • pdfbai_giang_kien_truc_may_tinh_chuong_6_he_thong_luu_tru_va_ca.pdf

Nội dung text: Bài giảng Kiến trúc máy tính - Chương 6: Hệ thống lưu trữ và các thiết bị Xuất/Nhập khác

  1. Các loại bộ nhớ Flash  NOR flash: bit nhớ giống cổng NOR  Truy cập ngẫu nhiên  Dùng nhớ lệnh trong hệ tống nhúng  NAND flash: bit nhớ giống cổng NAND  Mật độ cao (bits/area), truy cập khối mỗi lần  Rẻ hơn  Dùng trong USB keys, media storage,  Sau khoảng 1000 lần truy xuất: có vấn đề  Không thể dùng thay thế RAM hoặc đĩa  Khắc phục vấn đề: ánh xạ lại BK TP.HCM 9/11/2015 Khoa Khoa học & Kỹ thuật Máy tính 11
  2. Thành phần kết nối  Cần kết nối giữa các bộ phận như  CPU, bộ nhớ, Điều khiển I/O  Tuyến “Bus”: chia sẻ kênh truyền  Bao gồm nhóm các đường dây song song truyền dữ liệu và đồng bộ truyền dữ liệu  Hiện tượng cổ chai  Hiệu suất bị ảnh hưởng bởi các yếu tố vật lý như  Độ dài đường truyền, số kết nối  Phương án hiện nay: kết nối tuần tự tốc BK độ cao: giống mạng TP.HCM 9/11/2015 Khoa Khoa học & Kỹ thuật Máy tính 12
  3. Tuyến “Bus” các loại  Hai tuyến chính  Tuyến Bus Processor Memory  Khoảng cách gần (ngắn), tốc độ cao  Thiết kế phù hợp với tổ chức bộ nhớ  Tuyến bus I/O  Khoảng cách xa hơn, nhiều điểm tiếp nối  Chuẩn hóa để dễ sử dụng  Nối với tuyến bus “processor-memory” qua cầu nối (Bridge) BK TP.HCM 9/11/2015 Khoa Khoa học & kỹ thuật Máy tính 13
  4. Tín hiệu và Đồng bộ tuyến Bus  Đường dữ liệu (Data lines)  Địa chỉ & dữ liệu  Riêng biệt hoặc trộn lẫn  Đường điều khiển  Thể hiện loại dữ liệu trên đường truyền, đồng bộ các giao dịch  Đồng bộ  Sử dụng đồng hồ tuyến bus (tấn số thấp hơn)  Bất đồng bộ  Sử dụng cơ chế bắt tay (request/acknowledge) BK TP.HCM 9/11/2015 Khoa Khoa học & Kỹ thuật Máy tính 14
  5. Một số ví dụ Bus I/O chuẩn Firewire USB 2.0 PCI Express Serial ATA Serial Attached SCSI Intended use External External Internal Internal External Devices per 63 127 1 1 4 channel Data width 4 2 2/lane 4 4 Peak 50MB/s or 0.2MB/s, 250MB/s/lane 300MB/s 300MB/s bandwidth 100MB/s 1.5MB/s, or 1×, 2×, 4×, 60MB/s 8×, 16×, 32× Hot Yes Yes Depends Yes Yes pluggable Max length 4.5m 5m 0.5m 1m 8m Standard IEEE 1394 USB PCI-SIG SATA-IO INCITS TC Implementers T10 Forum BK TP.HCM 9/11/2015 Khoa Khoa học & Kỹ thuật Máy tính 15
  6. Hệ thống x86 PC I/O BK TP.HCM 9/11/2015 Khoa Khoa học & Kỹ thuật Máy tính 16
  7. Quản lý I/O  I/O được quản lý trực tiếp bởi OS  Nhiều chương trình đồng thời cùng chia sẻ chung các thiết bị I/O  Cần được bảo vệ và định thời  I/O tạo ngắt quãng bất đồng bộ  Giống cơ chế ngoại lệ  Lập trình I/O ít phức tạp (Device Driver)  OS tạo các dịch vụ trên I/O để các chương trình gọi các dịch vụ thông qua OS BK TP.HCM 9/11/2015 Khoa Khoa học & Kỹ thuật Máy tính 17
  8. Các lệnh I/O  Thiết bị I/O devices được quản lý bằng phần cứng điều khiển I/O  Vận chuyển dữ liệu (từ I/O hay đến I/O)  Các tác vụ đồng bộ với phần mềm  Thanh ghi lệnh (Command registers)  Ra lệnh thiết bị thực hiện  Thanh ghi trạng thái (Status registers)  Mô tả trạng thái tức thời của thiết bị  Thanh ghi dữ liệu (Data registers)  Ghi (write): chuyển dữ liệu đến thiết bị  Đọc (read): chuyển dữ liệu từ thiết bị BK TP.HCM 9/11/2015 Khoa Khoa học & Kỹ thuật Máy tính 18
  9. Truy xuất các thanh ghi I/O  Ánh xạ như địa chỉ bộ nhớ (Memory mapped)  Thanh ghi được địa chỉ hóa như không gian bộ nhớ  Giải mã địa chỉ sẽ tự phân biệt  OS thực hiện cơ chế chuyển đổi địa chỉ sao cho chỉ có OS mới truy cập được  Lệnh I/O chuyên biệt  Tồn tại các lệnh chuyên biệt để truy xuất các thanh ghi I/O  Chỉ thực thi trong (kernel mode)  Ví dụ: x86 BK TP.HCM 9/11/2015 Khoa Khoa học & Kỹ thuật Máy tính 19
  10. Cơ chế Dò quét (polling)  Kiểm tra thanh ghi trạng thái liên tục  Nếu thiết bị sẵn sàng, thực hiện tác vụ I/O  Nếu lỗi, thực hiện biện pháp giải quyết  Thông dụng trong các hệ thống nhỏ hoặc các hệ thống nhúng không đòi hỏi hiệu suất cao, do:  Thời gian xử lý dễ tiên đoán trước  Giá thành phần cứng thấp  Trong các hệ thống khác: phí thời gian CPU (busy for waiting) BK TP.HCM 9/11/2015 Khoa Khoa học & Kỹ thuật Máy tính 20
  11. Ngắt quãng (interrupts)  Khi thiết bị sẵn sàng hoặc xuất hiện lỗi  Bộ điều khiển thiết bị ngắt quãng CPU  Ngắt quãng cũng giống một ngoại lệ  Nhưng không đồng bộ với lệnh đang thực thi  Kích khởi bộ xử lý ngắt quãng tại thời điểm giữa các lệnh  Cung cấp thông tin đến thiết bị tương ứng  Ngắt quãng có thứ tự ưu tiên  Khác thiết bị quan trọng có chế độ ưu tiên cao  Ngắt quãng có ưu tiên cao hơn có thể ngắt ưu tiên thấp hơn BK TP.HCM 9/11/2015 Khoa Khoa học & Kỹ thuật Máy tính 21
  12. Phương thức vận chuyển  Hoạt động theo cơ chế dò quét & ngắt quãng  CPU chuyển dữ liệu giữ bộ nhớ và các thanh ghi dữ liệu của I/O  Tốn thời gian cho các thiết bị tốc độ cao  Truy cập bộ nhớ trực tiếp (DMA)  OS cấp địa chỉ bắt đầu trong bộ nhớ  Điều khiển I/O controller vận chuyển đến/từ bộ nhớ một cách chủ động  Bô điều khiển I/O ngắt quãng khi hoàn tất hay lỗi xảy ra BK TP.HCM 9/11/2015 Khoa Khoa học & Kỹ thuật Máy tính 22
  13. Đo hiệu xuất I/O  Hiệu xuất I/O phụ thuộc vào:  Phần cứng: CPU, bộ nhớ, đ/khiển & buses  Phần mềm: Hệ điều hành, Hệ quản trị dữ liệu, ứng dụng  Tải: mức độ yêu cầu truy xuất & mẫu  Khi thiết kế hệ thống I/O system cần hài hòa “thời gian đáp ứng” & hiệu xuất đầu ra BK TP.HCM 9/11/2015 Khoa Khoa học & Kỹ thuật Máy tính 23
  14. Hiệu xuất giữa I/O & CPU  Amdahl’s Law  Không thể bỏ qua hiệu xuất I/O khi gia tăng hiệu xuất tính toán (song song hóa) của CPU  Ví dụ:  Đo đạc cho thấy 90s (CPU time), 10s (I/O time)  Số CPU tăng gấp đôi mỗi năm và I/O không đổi Year CPU time I/O time Elapsed time % I/O time now 90s 10s 100s 10% +2 45s 10s 55s 18% +4 23s 10s 33s 31% +6 11s 10s 21s 47% BK TP.HCM 9/11/2015 Khoa Khoa học & Kỹ thuật Máy tính 24
  15. RAID= (Redundant Array of Inexpensive (Independent) Disks)  Sử dụng nhiều đĩa nhỏ thay vì 1 đĩa thật lớn  Song song hóa để cải thiện hiệu suất  Thêm đĩa để tạo thông tin dự trữ (dư thừa)  Xây dựng hệ thống lưu trữ với an toàn dữ liệu cao  Đặc biệt có khả năng thay nóng  RAID 0  Không có thông tin dư thừa (“AID”?)  Thông tin chứa liên tiếp theo mảng trên các đĩa  Tuy vậy: không tăng hiệu xuất truy cập BK TP.HCM 9/11/2015 Khoa Khoa học & Kỹ thuật Máy tính 25
  16. RAID 1 & 2  RAID 1: Đối xứng “Mirroring”  Số đĩa: N + N, sao chép dữ liệu giống nhau  Dữ liệu đồng thời được ghi trên cả 2 đĩa  Trong trường hợp lỗi, đọc đĩa đối xứng  RAID 2: Mã sửa lỗi  Số đĩa: N + E (e.g., 10 + 4)  Tách dữ lieeeju ở mức bit trên toàn bộ N  Tạo E-bit ECC (theo giải thuật)  Quá phức tạp không dùng trong thực tế BK TP.HCM 9/11/2015 Khoa Khoa học & Kỹ thuật Máy tính 26
  17. RAID 3: Parity mức bit xen kẽ  Số đĩa: N + 1  Dữ liệu phân mảnh, chứa trên toàn bộ N đĩa ở mức byte  Đĩa dư thêm chứa thông tin parity  Truy cập (đọc): đọc cùng lúc nhiều đĩa  Truy cập (ghi): tạo parity mới tương ứng và ghi cùng lúc trên nhiều đĩa  Trường hợp lỗi: dùng thông tin parity để khôi phục dữ liệu bị mất.  Không thông dụng BK TP.HCM 9/11/2015 Khoa Khoa học & Kỹ thuật Máy tính 27
  18. RAID 4: Parity mức khối xen kẽ  Số đĩa: N + 1  Dữ liệu phân mảnh, chứa trên toàn bộ N đĩa ở mức khối  Đĩa dư thêm chứa thông tin parity cho 1 nhóm khối  Truy cập (đọc): Chỉ đọc những đĩa chứa khối cần đọc  Truy cập (ghi):  Đọc đĩa chứa khối bị thay đổi và đĩa parity  Tính lại parity mới, cập nhật đĩa chứa dữ liệu và đĩa parity  Khi có lỗi  Sử dụng parity để khôi phục dữ liệu lỗi  Không thông dụng BK TP.HCM 9/11/2015 Khoa Khoa học & Kỹ thuật Máy tính 28
  19. So sánh RAID 3 & RAID 4 BK TP.HCM 9/11/2015 Khoa Khoa học & Kỹ thuật Máy tính 29
  20. RAID 5: Parity phân tán  Số đĩa: N + 1  Giống RAID 4, nhưng các khối parity phân tán khắp trên các đĩa  Tránh hiện tượng “cổ chai” với đĩa parity  Thông dụng BK TP.HCM 9/11/2015 Khoa Khoa học & Kỹ thuật Máy tính 30
  21. RAID 6: P + Q Dư thừa  Số đĩa: N + 2  Tương tự RAID 5, nhưng 2 đĩa chứa parity  Sửa lỗi tốt hơn do có parity dư thừa  Đa RAID  Nhiều hệ thống tân tiến sử dụng phương thức dư thừa thông tin để sửa lỗi tương tự với hiệu suất tốt hơn BK TP.HCM 9/11/2015 Khoa Khoa học & Kỹ thuật Máy tính 31
  22. Kết luận về RAID  RAID cải thiện hiệu suất và tính sẵn sàng  Tính sẵn sàng cao đòi hỏi “thay nóng”  Giả sử lỗi đĩa độc lập, không có mối quan hệ  Khả năng phục hồi thấp  Tham khảo thêm “Hard Disk Performance, Quality and Reliability”  BK x.htm TP.HCM 9/11/2015 Khoa Khoa học & Kỹ thuật Máy tính 32
  23. Tiêu chí thiết kế hệ thống I/O  Thỏa mãn các yêu cầu thời gian đáp ứng  For time-critical operations  If system is unloaded  Add up latency of components  Maximizing throughput  Find “weakest link” (lowest-bandwidth component)  Configure to operate at its maximum bandwidth  Balance remaining components in the system  If system is loaded, simple analysis is insufficient  Need to use queuing models or simulation BK TP.HCM 9/11/2015 Khoa Khoa học & Kỹ thuật Máy tính 33
  24. Máy chủ (Servers)  Ứng dụng ngày càng được chạy trên máy chủ  Web search, office apps, virtual worlds,  Yêu cầu máy chủ làm trung tâm dữ liệu càng lớn  Đa xử lý, liên kết mạng, lưu trữ “khủng”  Không gian & năng lượng tiêu thụ hạn chế  Thiết bị xây dựng trên dạng rack 19”  BK Dưới dạng nhiều module 1.75” (1U) TP.HCM 9/11/2015 Khoa Khoa học & Kỹ thuật Máy tính 34
  25. Rack-Mounted Servers Sun Fire x4150 1U server BK TP.HCM 9/11/2015 Khoa Khoa học & Kỹ thuật Máy tính 35
  26. Sun Fire x4150 1U server 4 cores each 16 x 4GB = 64GB DRAM BK TP.HCM 9/11/2015 Khoa Khoa học & Kỹ thuật máy tính 36
  27. Ví dụ: Thiết kế hệ thống I/O  Giả sử hệ thống Sun Fire x4150 với  Tải làm việc: đọc các khối đĩa 64KBytes  Mỗi tác vụ cần 200,000 lệnh ứng dụng & 100,000 lệnh thuộc OS 9  Mỗi CPU: 10 lệnh/giây  FSB: 10.6 GB/giây tốc độ tối đa  DRAM DDR2 667MHz: 5.336 GB/giây  PCI-E 8× bus: 8 × 250MB/sec = 2GB/sec  Đĩa: tốc độ quay 15,000 rpm, thời gian dò 2.9ms, Tốc độ truyền dữ liệu 112MB/giây  Tốc độ I/O tối đa để đảm bảo yêu cầu trên  Đọc random và tuần tự BK TP.HCM 9/11/2015 Khoa Khoa học & Kỹ thuật Máy tính 37
  28. Thiết kế hệ thống I/O (tt.)  Tốc độ I/O với tốc độ xử lý CPUs 9  Mỗi core: 10 /(100,000 + 200,000) = 3,333 tác vụ  8 cores: 26,667 ops/sec (3,333x8) tác vụ/giây  Đọc ngẫu nhiên, Tốc độ I/O với đĩa  Giả sử thời gian dò tìm là 25% theo thông số  Time/op = seek + latency + transfer = 2.9ms/4 + 4ms/2 + 64KB/(112MB/s) = 3.3ms  Mỗi giây là 1000ms 1000ms/3.3ms = 303 op/s  303 ops/sec per disk, 2424 ops/sec for 8 disks  Đọc liên tục: 112MB/s / 64KB = 1750 ops/sec per disk và 14,000 ops/sec for 8 disks BK TP.HCM 9/11/2015 Khoa Khoa học & Kỹ thuật Máy tính 38
  29. Thiết kế hệ thống I/O (tt.)  PCI-E I/O rate  2GB/sec / 64KB = 31,250 ops/sec  DRAM I/O rate  5.336 GB/sec / 64KB = 83,375 ops/sec  FSB I/O rate  Giả sử ½ peak rate được duy trì  5.3 GB/sec / 64KB = 81,540 ops/sec per FSB  163,080 ops/sec for 2 FSBs  Nơi yếu nhất (weakest link): chính là đĩa  2424 ops/sec random, 14,000 ops/sec sequential  Tất cả các bộ phận khác đều thỏa mãn để đáp BK ứng đòi hỏi truy xuất đĩa TP.HCM 9/11/2015 Khoa Khoa học & Kỹ thuật Máy tính 39
  30. Ví dụ: Tính độ tin cậy đĩa  Nếu nhà sản xuất cho biết giá trị MTTF là 1,200,000 giờ (140 năm)  Sẽ hiểu rằng nó làm việc cho đến khi đó (140 năm)  Sai: Đó chỉ là thời gian trung bình đến khi lỗi có thể xảy ra  Phân bố lỗi ?  Lỗi sẽ ra sao khi có 1000 đĩa?  Bao nhiêu lỗi xảy ra trong năm BK TP.HCM 9/11/2015 Khoa Khoa học & Kỹ thuật Máy tính 40
  31. Tổng kết chương  Đo hiệu xuất thiết bị I/O  Throughput, response time  Dependability and cost also important  2 loại tuyến “Buses” kết nối các thành phần CPU, memory, thiết bị đ/khiển I/O  Cơ chế hoạt động: Polling, interrupts, DMA  Đo đạc hiệu xuất I/O  TPC, SPECSFS, SPECWeb  RAID  Cải thiện hiệu xuất và độ tin cậy BK TP.HCM 9/11/2015 Khoa Khoa học & Kỹ thuật Máy tính 41