Trong điểm chuẩn, bạn phải luôn thiết lập giới hạn của mình là gì. Bởi vì nếu bạn mong đợi nhận được 100mbs từ lan đó thì bạn chỉ đang tự đánh lừa chính mình!
Nhìn vào thiết kế Khối này của RaspberryPI Model-B
Vì vậy, chúng tôi thiết lập một thực tế rất quan trọng ở đây. Ethernet bị tắc nghẽn bởi bộ điều khiển USB vì hình thành khối digram chúng tôi thiết lập nó được kết nối với bộ chia USB. (Không có dấu hiệu rõ ràng là nó sử dụng một bus khác hay chỉ đơn giản là USB2?)
Nhìn kìa - một sơ đồ khối khác,
Bây giờ làm sáng tỏ hơn về tình hình. Bộ điều khiển 10/100 được kết nối với bộ chia USB - thật không may, một lần nữa, không có thông số kỹ thuật nào nói rằng bộ trung tâm giao tiếp với bộ điều khiển lan nhanh như thế nào - mong đợi sự thật quan trọng là tốc độ usb và lan được đàm phán cho môi trường usb tốc độ hỗn hợp.
Thẻ SD ở đâu?
Hóa ra thẻ SD được kết nối trực tiếp với BCM2835 (trang 65) và chúng đi sâu vào chi tiết rất lớn về hiệu suất bị ảnh hưởng từ các cấp cấu hình khác nhau. Một điều quan trọng cần lưu ý là nếu thẻ SD có Đồng hồ chuyên dụng, nó có thể chạy độc lập với CPU / GPU lõi ở tốc độ tối đa (dù sử dụng thẻ và tiêu chuẩn nào - bạn có thể thấy nó hỗ trợ một vài tiêu chuẩn.)
Vậy điều đó có ý nghĩa gì?
Điều đó có nghĩa là nếu bạn điểm chuẩn thẻ SD nhanh hơn và ổ đĩa bút crappy (4gb / 8gb), rất có thể bạn sẽ nhận được sự khác biệt lớn về hiệu suất. Vì vậy, bây giờ nó đặt ra câu hỏi, làm thế nào CPU / GPU xử lý giao tiếp với thiết bị nhúng tuyệt vời này (chip usb / lan) và tốc độ mà nó có khả năng giao tiếp.
Bạn thấy lý thuyết thực sự có thể đi bao xa trước khi chúng ta thực sự thực hiện bất kỳ điểm chuẩn nào? Một điểm quan trọng khác ở đây là - CPU điều khiển luồng dữ liệu như thế nào. Nó có sử dụng kênh đồng hồ riêng như khuyến nghị không?
Ở một thế giới lý tưởng, bạn sẽ nghĩ rằng LAN / USB này sẽ xử lý nó. Nhưng điều đó đòi hỏi MCU .. chúng ta có thấy MCY ở bất cứ đâu trong sơ đồ khối đó không .. KHÔNG!
Vì vậy, CPU phải yêu cầu IO DATA gửi cho nó cổng USB sau đó chuyển đến cổng LAN (thông qua cùng USB HUB) Có .. vì vậy điều đó sẽ gây ra một số vấn đề về tốc độ ở đâu đó.
Ngoài ra, điều tuyệt vời cần lưu ý là những gì xảy ra khi bạn sao chép vào ổ đĩa USB và từ thẻ SD tất cả thông qua mạng LAN .. nó sẽ gây ra một số lưu lượng truy cập.
Chúng ta cần điểm chuẩn các khía cạnh khác nhau
Khi thiết lập những gì chúng tôi đang cố gắng để chuẩn, chúng tôi có thể đặt câu hỏi trong thế giới thực.
- USB bên trong xử lý dữ liệu từ SD nhanh như thế nào?
- Bao nhiêu CPU được sử dụng để đọc / ghi vào SD sau đó vào LAN?
- Bao nhiêu CPU được sử dụng để đọc / ghi vào ổ USB Pen?
- Việc sao chép bất kỳ dữ liệu nào ảnh hưởng trực tiếp đến việc sử dụng CPU?
- Làm thế nào tốt chip USB / LAN xử lý đọc dữ liệu từ 2 nguồn trở lại cổng LAN và nó có ảnh hưởng đến CPU theo tỷ lệ không?
- Không cần kiểm tra xem lan có nhận được đủ 10mb / giây hay không vì nó bị tắc nghẽn do trạng thái của trung tâm USB.
Bây giờ bạn biết những gì bạn đang đấu tranh cho tôi thách thức bạn tự trả lời cho họ.
Bạn có thể thấy đây là một điểm khởi đầu rất tốt.
Tài liệu tham khảo
Nhưng chủ yếu là,
kiến thức và đánh giá kỹ thuật của riêng tôi, tôi đã thực hiện dựa trên kinh nghiệm nhúng của riêng tôi. OP đã hỏi một câu hỏi rất hay nhưng thiếu để hiểu rằng nếu không có sự hiểu biết về lý thuyết về một hệ thống, bạn sẽ phải cam chịu đánh giá / giải quyết các vấn đề thực tế.
Các kết quả
(4) Câu trả lời này cho thấy một số thử nghiệm cướp biển trái đất. Và nó chứng minh rằng việc thực hiện giao dịch dữ liệu mạnh ảnh hưởng trực tiếp đến CPU (chỉ không chắc là thẻ SD hay quá trình chuyển dữ liệu bên trong chip BCM sang chip USB / LAN)
(6) Đã chứng minh rằng cổ chai duy nhất sẽ là nguồn (ví dụ thẻ SD chậm) Hub USB quản lý để bơm dữ liệu ở mức 90% + nhưng trả lời cho câu hỏi 4 và 5 có thể ảnh hưởng trực tiếp đến hiệu suất này.
Vì vậy, thực hiện một số nghiên cứu và đóng góp của những người dùng khác, chúng tôi đang bắt đầu thiết lập và nhận được kết quả sơ bộ.
Dưới đây là một biểu đồ đẹp để giúp hình dung những gì chúng ta đang giải quyết.
sudo hdparm -t /dev/sdx
như một công cụ hữu ích để đo điểm chuẩn.