Cuộc chiến xử lý song song đã bắt đầu!!!

Cái nóng của mùa hè năm nay dường như đã làm nóng thêm bầu không khí chiến tranh giữa các đại gia trong ngành công nghiệp máy tính. Đó là cuộc chiến giành quyền kiểm soát thị phần xử lý song song trong một tương lai “hết sức gần” (độ một hai năm nữa) trên các kiến trúc đa lõi và chip đồ họa máy tính, giữa ba đại gia Intel, NVIDIA, AMD, và gần đây có cả Apple tham gia với tuyên bố về sản phẩm hết sức đình đám là OpenCL. Chúng ta hãy cùng nhau điểm lại các sự kiện đáng chú ý trong cuộc chiến này suốt hai năm gần đây.

Có lẽ cuộc chiến đa lõi này đã được bắt đầu vào ngày 8 tháng 11 năm 2006, khi NVIDIA, sau gần 4 năm trời nghiên cứu với khoảng 400 triệu đô la đầu tư, đã công bố một thế hệ chip đồ họa đa lõi hoàn toàn mới, với tên gọi GeForce 8800, mở đầu cho loạt chip GeForce 8, hay còn gọi tắt là G80, hoặc chính xác hơn là Tesla thế hệ 1 (tên này mới chỉ được đưa ra sau này). Ngoài khả năng vượt trội về mặt đồ họa, tiềm ẩn bên trong kiến trúc chip G80 là khả năng xử lý song song mức cao có thể lập trình được qua môi trường lập trình CUDA, được NVIDIA chính thức công bố bản beta vào ngày 16 tháng 2 năm 2007 (chính là ngày sinh nhật CEO của NVIDIA, Jen-Hsun Hoang, và cũng là ngày thành lập công ty NVIDIA).

Chỉ sau khi NVIDIA công bố chip G80 có sáu ngày, AMD đã tuyên bố về dự án AMD Stream Processor vào ngày 14 tháng 11 năm 2006. Cùng với dự án về phần cứng này, hàng loạt xúc tiến về mặt phần mềm cũng đã được AMD tiến hành cho đến nay, bao gồm cả đặc tả CTM (Close To the Metal), vốn đã bị “cho ra rìa” từ lâu và bộ phát triển phần mềm Stream SDK.

Tiếp tục mở rộng thị trường tính toán hiệu năng cao ở mức doanh nghiệp, ngày 20 tháng 6 năm 2007, NVIDIA đã chính thức giới thiệu dòng máy Tesla cho tính toán song song cùng với bộ công cụ lập trình CUDA, với phiên bản 1.0 chính thức được trình làng ngày 12 tháng 7 năm 2007, rồi phiên bản 1.1 nối tiếp vào ngày 14 tháng 11 cùng năm. Có thể nói những bước đi kế tiếp nhau này của NVIDIA đã tạo nên một sự khởi động đầy màu sắc cho mảng tính toán song song trên GPU, cả ở phía công nghiệp lẫn giới nghiên cứu khoa học tại các phòng lab ở nhiều trường đại học, viện nghiên cứu, và cả trong các công ty trong nhiều ngành công nghiệp khác nhau như dầu khí, tài chính, truyền thông đa phương tiện, y khoa, v.v… Mọi người có thể tham khảo thêm những gì thế giới đang tạo ra với CUDA ở đây.

Không chịu ngồi yên khi nhìn thấy tiềm năng to lớn của thị trường điện toán trực quan (visual computing), ngay từ khoảng gần cuối năm 2006, trong giới thạo tin công nghiệp đã râm ran về chuyện Intel tuyển thêm rất nhiều người cho một dự án chip đồ họa mới. Đến ngày 17 tháng 3 năm 2008, Intel đã chính thức trả lời mọi người qua thông cáo báo chí về kế hoạch chip đa lõi tương lai của công ty, trong đó phần đề cập về kiến trúc Larrabee nhấn mạnh rằng nó sẽ phục vụ cho môi trường điện toán trực quan.

Trong khi lời tuyên bố này của Intel vẫn đang còn làm tốn không biết bao nhiêu thời gian, công sức, và giấy mực của các phương tiện truyền thông, rồi của các web site chuyên về phần cứng đồ họa, thì ngày 2 tháng 6 năm 2008, NVIDIA đã làm cả thế giới ngạc nhiên với một công bố mới, được dự đoán là có khả năng làm thay đổi hẳn bộ mặt của ngành công nghiệp điện toán trong một ngày không xa. Tên của “quả bom tấn” đó là Tegra. Từ trước đến nay, ngoài kiến trúc x86 của Intel, chúng ta đã có dịp chứng kiến các kiến trúc phi x86 như PowerPC của Apple, Sparc của Sun Microsystem, … tung hoành trên chiến trường điện toán hiệu năng cao. Nhưng đã bao giờ bạn tưởng tượng ra được là, chúng ta sẽ không cần có mainboard để gắn tùm lum thứ lên đó, rồi tốn công sức và tiền bạc để giải nhiệt cho những thứ được gắn lên, và lại còn phải tốn một cái thùng bự để chứa nó không? Với Tegra của NVIDIA, điều đó đang trở thành hiện thực. Tegra không phải là chip đồ họa (GPU), cũng không phải là CPU thu nhỏ, mà là cả một hệ thống được đặt vào một con chip có kích cỡ 12mm x 12mm (144mm vuông), xài điện tối đa 4W. Chính xác nó là một SoC (System on a Chip).

Mọi người vẫn chưa hết bối rối với Tegra thì ngày 16 tháng 6 năm 2008, Apple đã đề đạt lên Hiệp hội Công nghiệp về Giao diện Lập trình Ứng dụng Media (tên gọi là Khronos), đặc tả ngôn ngữ lập trình song song kiểu C, gọi là OpenCL, vốn dự kiến sẽ được dùng trong hệ điều hành Mac OS kế tiếp của Apple. Tôi cũng đã tìm thấy một bài viết khác khá hay về tương lai của OpenCL ở đây. Cái vụ OpenCL này chắc sẽ còn chuyện để nói dài dài. Dạo này đi đâu thấy ai cũng hỏi về nó, mệt quá!

Nhằm đẩy nhanh tốc độ mở rộng thị trường xử lý song song cao cấp, ngày 17 tháng 6 năm 2008, NVIDIA đã chính thức giới thiệu dòng sản phẩm Tesla thế hệ 2, là sản phẩm tính toán song song trên chip đồ họa đầu tiên có khả năng tính toán cỡ Tera flop (siêu máy tính).

Không chịu thua kém, trong tháng Tám mùa hè nóng nực này, Intel đã đi tiếp những bước đi quan trọng trong cuộc đấu đa lõi của mình, bằng cách chính thức công bố chi tiết kỹ thuật của giải pháp Larrabee qua báo chí ngày 4 tháng 8 năm 2008, và sau đó tám ngày tại Hội nghị Đồ họa Máy tính thường niên 2008 (SIGGRAPH’08) với một bài viết chi tiết về mặt thiết kế ở đây. Ngoài ra, tại Diễn đàn các nhà phát triển Intel IDF’08, Intel cũng đã tung ra một cú đánh nỗ lực sau cùng của mùa hè này về phía CUDA bằng cách thông báo là sẽ nhanh chóng cho ra đời bộ công cụ hỗ trợ lập trình song song được tích hợp vào Microsoft Visual Studio, gọi là Intel Parallel Studio.

Mọi chuyện vẫn còn tiếp diễn. Ngày hôm nay (ngày 25 tháng 8 năm 2008) tại San Jose, NVIDIA đã mở màn lần đầu tiên trong lịch sử một hội nghị lớn về điện toán trực quan gọi là NVISION’08. Điểm đặc biệt của hội nghị này là nó bao gồm rất nhiều màn trình diễn đặc sắc về công nghệ trực quan, và có cả một hội nghị kỹ thuật chỉ tập trung bàn về CUDA. Chắc chắn là tôi sẽ nhanh chóng có bài tóm tắt nội dung của SIGGRAPH’08, IDF’08, và NVISION’08 có liên quan đến xử lý song song để học hỏi.