Thời Gian Thực Thi Của Các Hoạt Động Máy Tính Điển Hình
Năm 2010, trong bài chia sẻ đến các sinh viên của Đại học Stanford, Tiến sĩ Jeff Dean, Trưởng khoa của Google's School of Infrastructure Wizardry và là người đứng sau nhiều hệ thống nổi tiếng như TensorFlow, ProtocolBuffers, Bigtable, và MapReduce, đã cung cấp những con số ấn tượng về thời gian thực thi các hoạt động máy tính điển hình.
Mặc dù những con số này có thể đã lỗi thời với công nghệ máy tính hiện đại, nhưng chúng vẫn mang lại cái nhìn bao quát về độ nhanh và chậm của các thao tác máy tính.
Hoạt Động | Thời Gian Thực Thi |
---|---|
L1 Cache Reference | 0,5 ns |
Branch Mispredict | 5 ns |
L2 Cache Reference | 7 ns |
Mutex Lock/Unlock | 100 ns |
Main Memory Reference | 100 ns |
Nén 1K bytes với Zippy | 10.000 ns = 10 μs |
Gửi 2K bytes qua mạng 1 Gbps | 20.000 ns = 20 μs |
Đọc 1 MB tuần tự từ bộ nhớ | 250.000 ns = 250 μs |
Đi vòng trong cùng datacenter | 500.000 ns = 500 μs |
Seek ổ đĩa | 10.000.000 ns = 10 ms |
Đọc 1 MB tuần tự từ mạng | 10.000.000 ns = 10 ms |
Đọc 1 MB tuần tự từ ổ đĩa | 30.000.000 ns = 30 ms |
Gửi gói tin CA->Hà Lan->CA | 150.000.000 ns = 150 ms |
Lưu Ý Quan Trọng
Nắm rõ các đơn vị thời gian:
- ns = nanosecond
- μs = microsecond
- ms = millisecond
1 ns = 10⁻⁹ giây
1 μs = 10⁻⁶ giây = 1.000 ns
1 ms = 10⁻³ giây = 1.000 μs = 1.000.000 ns
Sau bài chia sẻ của Tiến sĩ Jeff Dean, một kỹ sư phần mềm tại Google đã phát triển một công cụ để trực quan hóa những con số trên, giúp người dùng dễ dàng nhận diện các khía cạnh thú vị của các hoạt động máy tính.
Phân Tích Thông Tin
Phân tích các số liệu này giúp chúng ta hiểu rõ hơn về các lý thuyết trong ngành công nghệ thông tin:
-
Tốc độ đọc dữ liệu từ bộ nhớ nhanh gấp nhiều lần so với ổ cứng.
- Đọc 1 MB tuần tự từ bộ nhớ (250.000 ns = 250 μs) so với từ ổ cứng (30.000.000 ns = 30 ms).
-
Hạn chế việc tìm kiếm trên ổ cứng đến mức tối đa.
- Disk Seek (10.000.000 ns = 10 ms).
-
Nén dữ liệu trước khi truyền qua internet sẽ tiết kiệm được thời gian.
- Nén 1K bytes với Zippy (10.000 ns = 10 μs).
-
Độ trễ trong việc gửi nhận giữa các Data Center ở những khu vực khác nhau.
- Gửi gói tin CA->Hà Lan->CA (150.000.000 ns = 150 ms).
Lời Nhắn Đến Độc Giả
Bạn có thể tìm hiểu thêm nhiều bài viết trong series "Thiết Kế Hệ Thống" trên blog của mình. Hy vọng kiến thức này sẽ mang lại giá trị cho bạn!
Hãy theo dõi mình trên Facebook "CLB Lập trình - THPT Ngọc Tảo" hoặc kênh Youtube "Tờ Mờ Sáng học Lập trình" để cùng nhau nâng cao hiểu biết về công nghệ và lập trình hoàn toàn miễn phí!
Facebook CLB Lập trình - THPT Ngọc Tảo: Fanpage
Youtube Tờ Mờ Sáng học Lập trình: Kênh Youtube
Hẹn gặp lại các bạn! 👋
Tài Liệu Đọc Thêm
- Clean Architecture: A Craftsman’s Guide to Software Structure and Design - Robert C. Martin
- Designing Data – Insensitive applications - Martin Kleppmann
- System Analysis and Design - Alan Dennis, Barbara Haley Wixom, Roberta M. Roth
- System Design Interview - Alex Xu
- Modern Systems Analysis and Design - Joseph Valacich, Joey George
- Head First Design Patterns - Eric Freeman, Elisabeth Robson
source: viblo