Vài ngày trước, tôi thấy mình đang tự hỏi một câu hỏi đơn giản.
Vì sao một số nút xác thực lại chậm đi ngay cả khi phần cứng của họ trông có vẻ hoàn toàn đủ khả năng xử lý khối lượng công việc?
Ban đầu, tôi cho rằng câu trả lời sẽ là tắc nghẽn mạng hoặc độ trễ lưu trữ.
Càng tôi nhìn sâu hơn, lời giải thích càng trở nên đáng ngạc nhiên.
Phần mềm xác thực hiện đại phân phối công việc đầu vào trên nhiều lõi CPU. Việc xác minh chữ ký, thực thi giao dịch, kiểm tra ủy quyền, các sự kiện mạng và thao tác cơ sở dữ liệu đều chạy song song. Trên giấy tờ, điều này nghe có vẻ như một kiến trúc lý tưởng để tăng hiệu năng khi mở rộng quy mô.
Nhưng điện toán song song lại tạo ra những chi phí ẩn của riêng nó.
Khi nhiều luồng worker liên tục truy cập và sửa đổi cùng một dữ liệu chính sách dùng chung, các bộ xử lý liên tục trao đổi quyền sở hữu bộ nhớ đệm giữa các lõi CPU. Các kỹ sư gọi hiện tượng này là “ping-pong bộ nhớ đệm”.
Thay vì thực thi công việc hữu ích, bộ xử lý dành những chu kỳ quý giá để giữ cho trạng thái bộ nhớ đệm nội bộ được đồng bộ.
Về mặt kỹ thuật, không có gì bị hỏng.
Các CPU vẫn hoạt động.
Phần mềm vẫn tiếp tục chạy.
Tuy vậy, thông lượng tổng thể lại âm thầm giảm vì chi phí điều phối bắt đầu thay thế cho phần tính toán mang lại giá trị.
Kiểu tắc nghẽn này hiếm khi xuất hiện trong các hoạt động marketing về blockchain.
Phần lớn các cuộc thảo luận xoay quanh tốc độ giao dịch, thông lượng, hoặc sản xuất khối (block production).
Rất ít người khám phá chính xác bên trong phần mềm trình xác thực (validator) diễn ra điều gì khi hàng nghìn yêu cầu bắt đầu cạnh tranh cùng sử dụng các tài nguyên phần cứng đó.
Quan điểm đó là một lý do khiến tôi quan tâm đến @NewtonProtocol.
Ủy quyền có thể lập trình tạo ra đánh giá chính sách phức tạp trước khi thực thi. Khi tự động hóa ngày càng phổ biến, phần mềm trình xác thực (validator) sẽ không chỉ cần bộ xử lý nhanh hơn.
Nó sẽ cần lịch trình (scheduling) thông minh hơn.
Phân phối tải công việc hiệu quả.
Giảm mức độ tranh chấp bộ nhớ đệm.
Điều phối tốt hơn giữa các luồng thực thi đồng thời.
Những tối ưu hóa này cuối cùng có thể đóng góp cho khả năng mở rộng dài hạn nhiều hơn là chỉ bổ sung thêm phần cứng.
Hiệu năng blockchain chưa bao giờ được xác định bởi một chỉ số duy nhất.
Băng thông mạng là điều quan trọng.
Lưu trữ (storage) là quan trọng.
Mật mã học (cryptography) là quan trọng.
Nhưng kiến trúc phần mềm thường quyết định việc từng nguồn lực trong số đó được sử dụng hiệu quả đến mức nào.
Có lẽ thế hệ cơ sở hạ tầng tiếp theo sẽ không được định nghĩa bởi những cỗ máy nhanh nhất.
Nó có thể được xác định bởi các hệ thống tiêu tốn ít tính toán nhất trong khi xử lý các tác vụ ngày càng phức tạp.
@NewtonProtocol $NEWT $US $TAC #Newt #SKHynixADRBiggestForeignCorporateFundraising #USNaturalGasFallsOver6% #CorningJumpsOver8% #SpaceXAddedToValueIndexes
