• Thứ Tư, 04/08/2004 03:46 (GMT+7)

    Suy đoán song hành

    Một nhà nghiên cứu của công ty phần mềm Microsoft - Eric Horvitz - cho biết ông đang cố gắng tìm hiểu xem 'máy tính cần quan tâm đến việc gì khi nó rảnh rang'. Theo ông, máy tính có rất nhiều thời gian nghỉ và như vậy là phí phạm tài nguyên tính toán!

    Máy tính không được 'ngạc nhiên' trước các yêu cầu, nhất là của những người dùng thường xuyên. Ví dụ khi máy tính chạy một ứng dụng mạng, trong thời gian tạm nghỉ, nó có thể lấy về và lưu vào bộ nhớ thông tin từ Internet mà người dùng sau này có thể cần tới. Người ta gọi như vậy là 'tính toán liên tục', khi đó máy tính luôn 'bận bịu' vì phải 'đoán trước' được ý định của người dùng.

    Nhà sáng chế ra Ethernet, Bob Metcalf ước lượng rằng 99% năng lực của toàn bộ máy tính trên thế giới bị lãng phí. Ông xác định các bộ vi xử lý hiện đại như Itanium của Intel tham gia vào việc suy đoán, trong khi làm việc chúng có thể thực hiện một số tác vụ trước khi được yêu cầu. Nguyên tắc này cần được nâng lên mức cao hơn, áp dụng cho hệ điều hành và phần mềm ứng dụng.

    'Những gì đã làm được ở mức phần cứng thì quá nhỏ nhoi so với khả năng có thể làm được', Metcalf nhận xét. 'Đây là một ý tưởng lâu đời, rất sâu sắc, cần được thực hiện đến cùng'. Ông gọi ý tưởng này là 'anticiparallelism' ('suy đoán song hành').

    Một số yếu tố của việc tính toán liên tục đã có trong sáng kiến Autonomic Computing của IBM với mục đích làm cho hệ thống có thể tự quản lý. IBM đang phát triển phần mềm tự cấu hình, đồng thời liên tục tối ưu hóa hiệu năng của chính nó.

    Trong mô hình của Horvitz, tính toán liên tục đòi hỏi máy tính kiểm soát các tác vụ có thể có và thực hiện những việc nào có 'giá trị dự kiến' cao nhất. Giá trị dự kiến được tính dựa trên khả năng mà người dùng sẽ tiến hành theo hướng đó và giá trị nó mang lại khi được thực hiện trước. Càng tránh được thời gian chờ đợi thì giá trị càng cao.

    Nhiều ứng dụng có thể tận dụng được khả năng tính toán liên tục. 'Hãy tưởng tượng nếu Microsoft Outlook xác định được những việc bạn có thể sẽ thực hiện - bạn định làm gì với các thông điệp e-mail, bạn sẽ xem chúng như thế nào, thông điệp nào sẽ được xem lại', Horvitz giải thích. Sự chậm trễ sẽ giảm tối thiểu vì Outlook có thể thực hiện nhiều tác vụ trước khi được yêu cầu.

    Một ứng dụng trên máy chủ có thể xây dựng mô hình thống kê cho hoạt động của máy trạm nhằm đánh giá khả năng mà một nội dung thông tin có thể được người dùng yêu cầu. Thay vì chờ tín hiệu từ người dùng, hệ thống sẽ xem xét băng thông trống và chủ động đẩy dữ liệu về. Máy khách (client) bao giờ cũng lục trong bộ nhớ cục bộ trước tiên để tìm thông tin được yêu cầu, và thật kỳ diệu khi dữ liệu này đã sẵn sàng ở đó.

    Liệu người dùng có phàn nàn khi hệ thống suy đoán sai? Không có vấn đề gì, ý tưởng cơ bản của việc tính toán ngẫu nhiên là nếu phạm sai lầm, nó sẽ không được ghi nhận.

    Sự trợ giúp không mong muốn
    Có những phần mềm anticiparallelism hoạt động công khai hơn. Chẳng hạn nó có thể trợ giúp, thay đổi màn hình hiển thị hay mở một ứng dụng mới mà nó cho rằng bạn cần. Điều này có thể dẫn đến tình trạng thất vọng với hệ thống 'thông minh' nhưng lại không đủ thông minh như mong muốn. Microsoft đang nghiên cứu vấn đề này và triển khai những phương thức đánh giá sai lầm của hệ thống ngay khi suy đoán, đồng thời thu thập phản hồi và hướng dẫn của người dùng.

    Các hệ điều hành cũng đang được trông chờ sẽ tham gia vào tính toán liên tục. Một hệ điều hành chạy trên server cần phải dự đoán được hành động của người dùng cũng như máy khách và khả năng tài nguyên mạng. Microsoft gọi dự án của họ trong lĩnh vực này là Crystal Ball.

    Horvitz cho biết các phương pháp của ông tạo sự cân bằng tải, nếu tất cả các ứng dụng trên mạng đều thực hiện như vậy thì có thể giảm đáng kể sự chậm trễ của Internet server và router. Nhưng cần lưu ý là một ngày nào đó khi tất cả mọi người đều thực hiện tính toán liên tục, ai làm kém hơn thì hệ thống của người đó sẽ chậm hơn.

    Thu Nga
    Computerworld 7/1/2002

    ID: B0205_39