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
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 bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- bai_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
- Computer Architecture Computer Science & Engineering Chương 6 Hệ thống lưu trữ và các thiết bị Xuất/Nhập khác BK TP.HCM
- 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 BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 2
- Đặc tính của hệ thống I/O Tính ổn định = Độ tin cậy (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 BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 3
- Độ tin cậy (Dependability) Dịch vụ hoàn tất Cung cấp dịch vụ như đã đặc tả Lỗi: một bộ phận nào đó sinh lỗi của nó Phục hồi lại Lỗi Có & có thể không dẫn đến lỗi hệ thống Ngắt quãng dịch vụ Sai lệch với dịch vụ đã đặc tả BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 4
- Đo độ tin cậy Mức tin cậy (reliability): thời gian trung bình cho đến khi có lỗi (MTTF=Mean Time To Failure)) Ngắt dịch vụ: Thời gian trung bình khắc phục lỗi (MTTR= Mean Time to repaire) Thời gian trung bình giữa 2 lần lỗi MTBF = MTTF + MTTR (Mean time between failures) Tính sẵn sàng (Availability) = MTTF / (MTTF + MTTR) Cải thiện tính sẵn sàng Tăng MTTF: tránh lỗi, dự phòng, tiên đoán lỗi Giảm MTTR: cải thiện công cụ & tiến trình tìm và sửa BK lỗi TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 5
- Lưu trữ trên đĩa Nonvolatile (không tự biến mất), nhiều đĩa từ tính quay quanh 1 trục sectors BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 6
- Sector & Truy cập Mỗi sector là đơn vị khối chứa các thông tin Chỉ số nhận dạng Sector Dữ liệu (512 bytes, hướng 4096 bytes per sector) Mã sửa lỗi (ECC) Trường đồng bộ & Khoảng trống phân cách Truy cập 1 sector bao gồm: Trễ hàng vì có nhiều yêu cầu đồng thời Tìm rãnh (Seek): Dịch chuyển đầu từ Rotational latency Vận chuyển dữ liệu (Data transfer) Phí tổn mạch điều khiển (Controller overhead) BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 7
- Ví dụ: Truy cập đĩa Giả sử Sector có 512Bytes, tốc độ quay 15,000rpm, thời gian dò tìm 4ms, tốc độ truyền 100MB/s, Phí tổn đ/khiển 0.2ms, idle disk Thời gian đọc trung bình 4ms dò tìm + ½ / (15,000/60) = 2ms rotational latency + 512 / 100MB/s = 0.005ms thời gian truyền + 0.2ms trễ do bộ đ/khiển = 6.2ms Thời gian thực tế = 25% của nhà sản xuất 1ms+2ms+0.005ms+0.2ms = 3.2ms BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 8
- Các vấn đề Hiệu suất đĩa Nhà sản xuất cho biết thời gian dò tìm trung bình Dựa trên mọi trường hợp dò tìm có thể Tính cục bộ & định thời OS sẽ có số liệu thực tế nhỏ hơn Mạch điều khiển sẽ xác định vị trí vật lý trên đĩa Máy tính làm việc vói giá trị luận lý SCSI, ATA, SATA Tăng hiệu xuất bằng Cache Truy cập sẵn Tránh dò tìm và trễ vòng quay BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 9
- Lưu trữ Flash Nonvolatile, lưu trữ bán dẫn 100× – 1000× nhanh hơn đĩa Nhỏ hơn, tốn ít năng lương tiêu thụ, ổn định hơn Tuy nhiên đắt hơn $/GB (giữa đĩa và DRAM) BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 10
- 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 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 11
- 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 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 12
- 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 25-Aug-16 Khoa Khoa học & kỹ thuật Máy tính 13
- 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 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 14
- 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 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 15
- Hệ thống x86 PC I/O BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 16
- 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 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 17
- 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 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 18
- 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 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 19
- 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 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 20
- 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 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 21
- 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 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 22
- Đ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 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 23
- 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 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 24
- 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 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 25
- 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ữ liệu ở 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 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 26
- 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 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 27
- 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 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 28
- So sánh RAID 3 & RAID 4 BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 29
- 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 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 30
- 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 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 31
- 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 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 32
- 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 (latency) Cho các tác vụ quan trọng (time-critical) Khi hệ thống không tải (unloaded) Cộng latency của các phần Tối đa Hiệu xuất đầu ra (throughput) Phát hiện vị trí “cổ chai” “weakest link” Cấu hình hoạt động ở mức băng thông tối đa Cân bằng toàn bộ hệ thống Khi hệ thống có tải, việc phân tích rất phức tạp BK Cần sử dụng mô hình “xếp hàng” hoặc mô phỏng TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 33
- 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 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 34
- Rack-Mounted Servers Sun Fire x4150 1U server BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 35
- Sun Fire x4150 1U server 4 cores each 16 x 4GB = 64GB DRAM BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật máy tính 36
- 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 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 37
- 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 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 38
- 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 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 39
- 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 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 40
- 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 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 41