Công bố bản dùng thử theo nguyên gốc Compute Compute thứ hai

Kenneth Christiansen
Kenneth Christiansen
Arnaud (Arno) Mandy

Trong năm qua, Intel đã cộng tác với Google và các bên khác về API Áp suất tính toán. Trong Chrome 115, bạn có thể đăng ký bản dùng thử theo nguyên gốc để giúp kiểm thử API mới này. Bài đăng này giải thích các vấn đề mà API được thiết kế để giải quyết cũng như cách sử dụng.

Vấn đề

Web đang trở thành một nền tảng ứng dụng quan trọng, với các tính năng mới giúp các ứng dụng, chẳng hạn như hội nghị truyền hình không chỉ khả thi, mà còn mang lại trải nghiệm thú vị cho người dùng. Trải nghiệm dựa trên nền tảng web sẽ tải tức thì, bạn có thể truy cập các trải nghiệm này từ mọi nơi mà không cần phải cài đặt trước.

Người dùng muốn các ứng dụng có tốc độ tải nhanh và khả năng thích ứng nhanh. Họ cũng muốn tận dụng tối đa thời lượng pin cũng như các thiết bị im lặng và không nóng khi chạm vào. Đôi khi, bạn có thể khó đạt được những điều này khi tạo trải nghiệm nâng cao vì ảnh động mượt mà và việc làm mờ video trong nền tốn rất nhiều công suất xử lý, đẩy phần cứng đến giới hạn và tiêu hao pin.

Ngoài ra, có rất nhiều thiết bị được dùng để truy cập vào các ứng dụng web. Một chiếc máy tính xách tay 5 năm tuổi sẽ có các tính năng rất khác so với một chiếc máy tính để bàn hoàn toàn mới, ngay cả khi chạy cùng một phiên bản trình duyệt.

Các nhà phát triển thường chọn phát triển mẫu số chung nhỏ nhất, tránh sử dụng một số tính năng sẽ đánh thuế các thiết bị cũ hoặc kém tính năng. Tuy nhiên, nếu có thể tối ưu hoá trải nghiệm cho những người dùng sử dụng thiết bị có khả năng sử dụng và đang ở trong môi trường phù hợp để hưởng lợi từ trải nghiệm đó, thì tại sao bạn không thực hiện? Ví dụ: khi tham gia cuộc gọi video từ điện thoại, bạn có thể chỉ cần nhìn thấy loa hiện tại để có trải nghiệm tốt nhất. Tuy nhiên, trên máy tính để bàn, sẽ thật tuyệt khi thấy mọi người tham gia cuộc gọi và phần cứng thường sẽ được phụ trách vào tác vụ. Để đạt được điều này, bạn cần đo từ xa phần cứng trực tiếp mà không ảnh hưởng đến quyền riêng tư của người dùng. Dữ liệu này có thể được sử dụng để lên lịch tác vụ và bật/tắt dần các tính năng nhằm đảm bảo trải nghiệm người dùng mượt mà. API Áp suất điện toán có thể giúp ích cho bạn.

API Áp suất tính toán là gì?

API Áp suất tính toán cung cấp các trạng thái cấp cao đại diện cho áp lực lên hệ thống. Các trạng thái cấp cao này đảm bảo sự cân bằng hợp lý giữa quyền riêng tư (không chia sẻ quá nhiều thông tin cụ thể có thể nhận dạng người dùng) và thông tin mà nhà phát triển có thể dễ dàng lý giải. Ngoài ra, việc này cho phép quá trình triển khai sử dụng các chỉ số phần cứng cơ bản phù hợp để đảm bảo người dùng có thể tận dụng tất cả sức mạnh xử lý có sẵn, miễn là hệ thống không phải chịu áp lực không thể quản lý được.

Ví dụ: CPU hiện đại được thiết kế để chạy tốt ở mức sử dụng 100% trong hầu hết các tình huống, trên một lõi hoặc trên tất cả các lõi. Do đó, việc API mã hoá cứng mức sử dụng 80% là quan trọng có thể khiến nhà phát triển sử dụng không hiệu quả các tính năng của phần cứng và mang lại trải nghiệm người dùng dưới mức tối ưu. Mặt khác, một hệ thống có thể không được làm mát đúng cách hoặc nhiệt độ môi trường xung quanh có thể quá cao vào mùa hè và hệ thống có thể sẽ điều tiết ngay cả trước khi đạt mức sử dụng CPU cao. API hiện tại hoạt động trên toàn bộ áp lực CPU trên toàn cầu, nhưng chúng tôi dự định thử nghiệm việc bật áp lực CPU trên mỗi trang trên luồng chính và trình thực thi.

Áp suất tính toán có các trạng thái sau:

  • Danh định: Khối lượng công việc hiện tại gây ra áp lực tối thiểu, cho phép hệ thống chạy ở tần số xung nhịp thấp hơn để duy trì nguồn điện.
  • Trung bình: Hệ thống đang hoạt động bình thường, mọi thứ đều mượt mà và có thể thực hiện thêm công việc mà không gặp vấn đề gì.
  • Nghiêm trọng: Có một số áp lực nghiêm trọng lên hệ thống, nhưng có thể quản lý được và hệ thống đang hoạt động tốt, nhưng có thể sắp đạt đến giới hạn:
    • Tốc độ xung nhịp (tuỳ thuộc vào nguồn điện xoay chiều hoặc nguồn một chiều) luôn ở mức cao.
    • Nhiệt độ cao nhưng vẫn có thể kiểm soát được và không gây hiện tượng điều tiết.

Tại thời điểm này nếu bạn thực hiện thêm công việc, hệ thống có thể chuyển sang trạng thái quan trọng.

  • Quan trọng: Hệ thống hiện sắp đạt đến giới hạn, nhưng chưa đạt đến giới hạn. Quan trọng không có nghĩa là hệ thống đang chủ động điều tiết, nhưng trạng thái này không tồn tại bền vững trong thời gian dài và có thể dẫn đến việc điều tiết nếu khối lượng công việc vẫn như cũ. Tín hiệu này là lệnh gọi cuối cùng để ứng dụng web giảm bớt khối lượng công việc.

Bật Compute Compute API

Theo mặc định, Compute Áp suất API không được bật trong Chrome, nhưng bạn có thể thử nghiệm API này trong Chrome 115 bằng cách bật chức năng này một cách rõ ràng. Bạn có thể kích hoạt tính năng này cục bộ bằng cách bật cờ enable-experimental-web-platform-features.

Để bật tính năng này cho mọi khách truy cập vào ứng dụng của bạn, bản dùng thử theo nguyên gốc hiện đang được tiến hành và được thiết lập để kết thúc trong Chrome 118 ( ngày 18 tháng 7 năm 2023). Để tham gia dùng thử, hãy đăng ký và thêm một phần tử meta có mã thông báo bản dùng thử gốc vào tiêu đề HTML hoặc HTTP. Để biết thêm thông tin, hãy tham khảo bài đăng Bắt đầu dùng bản dùng thử theo nguyên gốc.

Quan sát áp lực tính toán

Đoạn mã sau minh hoạ cách theo dõi và hành động khi có thay đổi về áp suất tính toán:

// The `records` parameter is a sequence of records between two
// consecutive callbacks. Currently it contains ten entries, but
// this is an implementation detail.
function callback(records) {
  const lastRecord = records.pop();
  console.log(`Current pressure ${lastRecord.state}`);
  if (lastRecord.state === 'critical') {
    // Reduce workers load by 4.
  } else if (lastRecord.state === 'serious') {
    // Reduce workers load by 2.
  } else {
    // Do not reduce.
  }
}

const observer = new PressureObserver(callback, {
  // Sample rate in Hertz.
  sampleRate: 1,
});
observer.observe('cpu');

Đoạn mã sau đây minh hoạ cách sử dụng Compute Compute API từ iframe:

<iframe src="https://mysite.com/" allow="compute-pressure">
  <script>
    // Use Compute Pressure API.
  </script>
</iframe>

Hỗ trợ nền tảng

Tính năng Compute Compute API hiện có trong Chrome 115 trên Linux, ChromeOS, MacOS và Windows.

Bản minh hoạ

Hãy thử bản minh hoạ được nhúng bên dưới để xem trạng thái áp lực điện toán thay đổi như thế nào dựa trên một số áp lực nhân tạo.

Trong trường hợp trình duyệt của bạn không hỗ trợ API này, thì video dưới đây sẽ hiển thị bản ghi bản minh hoạ.

Ý kiến phản hồi

Ở giai đoạn này, ý kiến phản hồi của nhà phát triển thực sự quan trọng, vì vậy, vui lòng gửi vấn đề lên GitHub kèm theo nội dung đề xuất và câu hỏi.

Xác nhận

Hình ảnh chính do Robert Anasch tạo trên Unsplash. Bài viết này do Rachel AndrewThomas Steiner xem xét.