• Thứ Hai, 31/10/2005 14:37 (GMT+7)

    Chip multiprocessing

    Định nghĩa: Chip multiprocessing (chip đa xử lý) là một kỹ thuật thiết kế CPU, trong đó lõi của hai bộ xử lý hoặc nhiều hơn được kết hợp trên cùng một tấm silicon (gọi là die) để tăng tốc độ tính toán của máy server sử dụng một hoặc nhiều bộ xử lý. Chip multiprocessing còn có tên gọi khác như "on-chip multiprocessing" hay "multiple-processor system-on-a-chip".

    Theo hứa hẹn vào đầu năm nay, nhóm các nhà sản xuất server hàng đầu bao gồm Sun Microsystems, IBM, Compaq Computer, Hewlett - Packard sẽ tung ra loại server cao cấp được trang bị kỹ thuật chip multiprocessing - chip đa xử lý (CMP). Đây là một bước tiến mới so với các hệ thống hiện tại sử dụng module chip riêng lẻ. Tuy nhiên, trong nhóm này thiếu vắng một tên tuổi lớn là Intel, nhà sản xuất chip lớn nhất đang đặt hy vọng vào kỹ thuật tăng cường xử lý song song ở mức lệnh mà theo công ty thì sẽ có chi phí rẻ hơn.

    Theo các chuyên gia, thay vì tạo ra một bộ xử lý phức tạp người ta có thể đặt hai bộ xử lý cùng module. Vấn đề lớn nhất là làm sao để hệ điều hành hiểu được rằng có hai bộ xử lý trong một chip, ngược lại sẽ không có lợi ích nào. Như vậy, HĐH sẽ phải hỗ trợ chip đa xử lý. Đây là một trở ngại lớn đối với các nhà lập trình.

    Thử nghiệm cho thấy hệ thống hai BXL trong một module làm việc nhanh hơn hệ thống đa BXL riêng lẻ tới 50% hoặc hơn. Do đặt hai CPU trên cùng một tấm silicon, các kỹ sư có thể tận dụng ưu thế về khoảng cách hẹp và tốc độ đường truyền nhanh hơn khi dữ liệu di chuyển giữa hai lõi của CPU. Kết quả rất ấn tượng: bộ xử lý Power4 của IBM có thể xử lý 100GB dữ liệu chỉ trong 1 giây, tương đương với dung lượng của 20 đĩa DVD.

    Những máy ngốn nhiều dữ liệu như vậy sẽ có giá rất cao: hàng trăm nghìn cho tới hàng triệu USD, khiến các hệ thống CMP trở thành sản phẩm thương mại kỹ thuật cao, bao gồm các thiết bị xử lý dữ liệu địa chấn dùng trong khai thác dầu mỏ, các server e-business có khả năng chịu được lưu lượng giao dịch cực lớn, phần cứng xử lý hình ảnh - đồ họa...

    Tuy nhiên, không phải tất cả mọi ứng dụng cao cấp đều thích hợp với CMP. Những chương trình xử lý theo khối về tài chính vẫn phải chạy trên các hệ thống một BXL.

    Những hệ thống CMP thương mại đã bắt đầu xuất hiện. Công nghệ sản xuất chip tiên tiến đã cho phép các kỹ sư cải tiến để chế tạo vi mạch gọn hơn, dày đặc hơn. Từ hai BXL ban đầu, người ta sẽ đưa ra thế hệ 8 BXL trên một module. Nhưng nếu chỉ đơn giản dồn hai chip vào một chỗ thì vẫn chưa đủ để bộ đa xử lý đem lại hiệu quả. Trở ngại kỹ thuật lớn nhất là làm sao để hai BXL cùng tham gia xử lý dữ liệu, và đây cũng là sự khác nhau cơ bản về thiết kế giữa các nhà sản xuất chip.

    Các thiết kế khác nhau

    Đầu năm nay, Sun sẽ tung ra module MAJC-5200 bao gồm hai CPU-500MHz, một bộ xử lý đồ họa và cơ cấu truyền dữ liệu. Tốc độ I/O cực điểm sẽ là 4,8 GB/s. Hai BXL sẽ dùng chung 16KB cache dữ liệu 4 đường, và mỗi CPU có 16KB cache riêng.

    MAJC-5200 còn có khả năng xử lý đa luồng (multithreading): mỗi tác vụ tính toán được chia thành nhiều phần và gửi theo thứ tự đến mỗi CPU. Tuy nhiên, Sun cho biết là nhiều ứng dụng hiện nay còn chưa được tối ưu hóa cho đa luồng. Để khắc phục, MAJC-5200 sử dụng máy ảo Java (JVM) để suy đoán tạo ra đa luồng trong chương trình Java.

    Khác với Sun, BXL tốc độ cao (1GHz) Power4 của IBM không sử dụng công nghệ đa luồng. Để đảm bảo hiệu quả của luồng dữ liệu, Power4 đưa 32MB bộ nhớ của mỗi chip vào cache mức 2 và mức 3 để giữ luồng dữ liệu giữa các chip và bộ nhớ hệ thống ở tốc độ cao.

    Tốc độ đường truyền trên 1GHz

    Các hệ thống Power4 ban đầu sẽ có tần số bus 500MHz, bằng nửa tốc độ BXL, mặc dù hệ thống được thiết kế với tốc độ lớn hơn 1GHz để thích ứng với những BXL sau này. IBM hy vọng sẽ tung ra bộ xử lý CMP trong năm nay.

    Cả Sun và IBM có cùng một quan điểm: chip đa xử lý là một bước nhảy xa về thiết kế CPU. Từ trước tới nay, các kỹ sư tăng tốc độ xử lý bằng các yếu tố: công nghệ chế tạo tốt hơn, vi cấu trúc tốt hơn và biên dịch tốt hơn. Chip đa xử lý đã bổ sung thêm vào bộ công cụ tăng hiệu năng trong sự tiến triển của bộ xử lý. Chip đa xử lý đã đi xa hơn định luật Moore, là một tin mừng cho người dùng máy tính, nhưng đồng thời cũng gây ra nhiều trở ngại hơn cho các nhà làm phần mềm.

    HAI CÁCH TIẾP CẬN CMP

    Các nhà thiết kế chip đa xử lý đã có những cách tiếp cận khác nhau để giải quyết vấn đề xử lý dữ liệu của CPU. MAJC-5200 (dưới) dựa vào hai bộ cache 16KB đa luồng dành riêng để đảm bảo hiệu quả cho luồng dữ liệu. IBM không sử dụng đa luồng trong thiết kế Power4 của họ, thay vào đó là dùng cache mức hai cho việc truyền dữ liệu giữa các chip và cache mức 3 cho bộ đệm truy cập bộ nhớ.

    Computerworld 27/11/2000

    ID: A0101_61