Công nghệ cân bằng tải GPU của Lucid

Khi một công ty có tên Lucid giới thiệu công nghệ mới, hứa hẹn có khả năng đem lại tốc độ xử lý hoàn hảo cho hệ thống đa GPU bất kể bạn dùng loại GPU nào, chúng ta cũng có đôi chút nghi ngờ.

Bởi những tuyên bố này nghe có vẻ kỳ cục và quá lý tưởng để có thể trở thành sự thật. Nhưng cuối cùng Lucid không chỉ giới thiệu được công nghệ này  mà tại IDF (Diễn đàn các nhà phát triển Intel) họ còn trưng bày được một sản phẩm mẫu hoạt động như thật. Rất có thể kết quả đáng nể này sẽ góp phần tạo ra những bước tiến dài trong tương lai. 

Nhưng để hiểu được công ty này đang giới thiệu thứ gì thì đầu tiên bạn cần nhớ lại rằng, những nền tảng như SLI hay CrossFire ,  tuy rất phổ biến nhưng vẫn đang phải đối mặt với nhiều thách thức liên quan tới hiệu suất , mặc dù chúng kết hợp nhiều card đồ hoạ lại với nhau để đạt được tốc độ cao hơn. Ví dụ như khi dùng thêm một chiếc card video thứ hai, theo lí thuyết bạn sẽ tăng được gần gấp đôi tốc độ, nhưng những hệ thống đa GPU lại rất kém bền vững và tốc độ nhiều khi không tỉ lệ chính xác với số lượng card, nhiều Game khi sử dụng như vậy thì lại tiềm ẩn những vấn đề liên quan với phương pháp tái tạo hình ảnh . Khi đó, việc đưa thêm một GPU thứ ba hay thứ tư vào sẽ không giúp được chiếc máy tính của bạn, mà nhiều khi khiến cho hệ thống càng trở nên ì ạch hơn.  

Cấu trúc GPU chính là một phần nguyên nhân của vấn đề này. Khác với CPU, GPU không có khả năng chia sẻ một bộ nhớ chung, vì thế các hãng đồ hoạ không còn cách nào khác là thực hiện việc liên kết GPU trong driver một cách hoàn toàn thủ công đối với từng game và từng nền tảng khác nhau. 

 
Nhưng mấu chốt của vấn đề là do cả SLI lẫn CrossFire đều sử dụng những thuật toán cân bằng tải khá đơn giản, trong đó phổ biến nhất là cách AFR ( alternate frame rendering)  với GPU 0 tái tạo hình ảnh khung A,  GPU 1 tái tạo hình ảnh khung B, GPU 0 tái tạo hình ảnh khung C, cứ như vậy…. Đôi khi AFR cũng hoạt động tốt, nhưng không tương thích với tất cả các ứng dụng.
 
 
Vì thế ngoài ra SLI và CrossFire còn sử dụng một phương pháp khác là SFR ( split-frame rendering ), trong đó GPU 0 chiếm nửa trên màn hình còn GPU 1 chiếm nửa dưới. SFR có khả năng tương thích cao hơn, nhưng lại không phân phối lại công việc ngay từ giai đoạn đồ hoạ ban đầu, vì thế cũng làm ảnh hưởng đến tỉ lệ tăng tốc độ tương ứng với số lượng card. Ngoài ra hai phương thức này vẫn còn một số biến thể khác nữa, nhưng cũng không lấy gì làm phức tạp. 

Ngược lại, phương pháp mà Lucid sử dụng phức tạp, thậm chí là bí ẩn, hơn nhiều. Phương pháp này đòi hỏi phải sử dụng kết hợp phần cứng mà Lucid thiết kế riêng cho việc cân bằng tải đồ hoạ: chip Hydra 100. Con chip này chứa một số thành phần chủ chốt, trong đó có một nhân xử lý RISC mà Lucid mua lại từ một công ty thứ ba, kết cấu chuyển mạch PCI Express  48-lane do Lucid thiết kế, và một Engine kết cấu hình ảnh. Thông thường, Hydra 100 sẽ được kết nối với chip NorthBridge của hệ thống qua kết nối PCIe 16-lane. Đằng sau nó là hai GPU kết nối qua hai link PCIe x16. (Hyrda 100 cũng có thể chia các lane PCIe thành dạng 4x8 đối với hệ thống 4 GPU.)   

 
Sau đó hệ điều hành sẽ nhận diện Hydra 100 dưới dạng một thiết bị PCIe với driver riêng. Nó có tác dụng chặn tất cả những lệnh chuyển đến các loại API đồ hoạ phổ biến nhất: OpenGL, DirectX 9/10/10.1, và đọc tất cả những lệnh cần thiết để tạo khung hình ảnh hoàn chỉnh. Driver của Lucid và RISC của Hydra 100 sau đó sẽ kết hợp lại để phân chia công việc tạo khung này thành nhiều nhiệm vụ nhỏ , xác định ở đâu bị nút thắt cổ chai dữ liệu của khung hình và phân công công việc cho các nguồn tái tạo hình ảnh sẵn có (từ hai GPU trở lên) trong thời gian thực – toàn bộ công việc diễn ra trong vài phần nghìn giây. Sau đó các GPU sẽ hoàn thành công việc được giao rồi trả kết quả cho Hydra 100 qua PCI Express. Hydra tiếp tục nhận hình ảnh từ GPU, kết hợp chúng lại một cách thích hợp bằng hệ thống tạo hình ảnh, rồi trả kết quả lại cho GPU đang kết nối với màn hình để hiển thị. 

Theo như cách hiểu như vậy thì có thể do dữ liệu được đưa lần lượt từng pixel từ GPU vào hệ thống tạo hình ảnh, và do hệ thống này ngay lập tức trả kết quả đã kết hợp lại, nên thời gian trễ tổng cộng là rất nhỏ.  

Sau khi khung hình đã được hoàn thành, Lucid sẽ phân tích tốc độ tương quan của các GPU khách đảm nhiệm khung hình đó, rồi điều chỉnh kỳ vọng đối với khung hình tiếp theo. Do vậy, chủ tịch kiêm đồng sáng lập Lucid Offir Remez tự tin tuyên bố rằng Hydra 100 có khả năng cân bằng khối lượng đồ hoạ rất tốt đối với nhữgn cấu hình GPU không đối xứng như GeForce 8600 GTS và 9800 GTX. Hoặc trong một tình huống thực khác, Lucid đã biểu diễn khả năng cân đối khối lượng đồ hoạ khi chạy Crysis rất êm ái, khi một trong hai GPU tham gia đã dành một phần năng lượng cho việc hiển thị video. 

Do Lucid chỉ đơn giản là làm nhiệm vụ chặn và đọc lệnh OpenGL hay DirectX nên Hydra 100 có khả năng hoạt động được với tất cả các loại GPU, cho dù đó có là Radeon, GeForce hay bất kỳ loại GPU nào khác. (Thực ra thì Intel chính là một trong số những nhà đầu tư tài chính hàng đầu vào Lucid.) Chỉ có điều tất cả các loại GPU tham gia đều phải sử dụng cùng một driver đồ hoạ, vì thế bạn không thể kết hợp giữa GeForce với Radeon.

Phần thú vị nhất trong cơ chế hoạt động của Lucid là cách mà chương trình này chia nhỏ khối lượng công việc và phân phối chúng cho các GPU đơn lẻ. Theo Remez, công ty của ông đã đăng ký trên 50 bằng sáng chế, phần lớn trong số đó là các thuật toán cân đối tải , vốn hoàn thiện hơn nhiều hơn so với AFR, SFR và các phương pháp tương tự.

Thật khó để tả lại màn trình diễn của công ty này tại IDF, nhưng những gì mà họ thể hiện đã tạo cho người xem một ấn tượng tốt. Hệ thống mẫu có hai card GeForce GTX 260 nối với chip Hydra 100, tất cả đựng trong một cái hộp. Sau đó dây PCI Express sẽ nối hệ thống này với khe cắm PCIe x16 trong một hệ thống chuyên biệt (sử dụng chipset Intel). Toàn bộ hệ thống này đang chạy Unreal Tournament 3 ( UT3 ) . Trên màn hình đầu tiên cho thấy kết quả của một GPU, còn trên màn hình thứ hai là kết quả của GPU thứ hai hoặc của khung hình hoàn chỉnh, nếu sử dụng phím nóng để chuyển. GPU 0  tái tạo được toàn cảnh màn hình, nhưng chỉ có một phần là hiển thị đầy đủ bề mặt kết cấu --- một phần sàn nhà, bức tường, cây cột, bầu trời -- phần còn lại trên màn hình là một màu tối đen. Trong khi đó GPU 1 tái tạo được phần hình ảnh ngược với GPU 0. Khi thử đưa chuột ra xung quanh, chúng ta sẽ thấy một sự pha trộn giữa các bề mặt do từng GPU đảm nhiệm thay đổi theo từng khung hình, tạo nên một cảm giác rất kỳ lạ. Nhưng hình ảnh kết hợp hoàn chỉnh cuối cùng là một bản tái tạo pixel hoàn chỉnh của UT3. Nếu chỉ nhìn vào kết quả cuối cùng, bạn sẽ phải tự hỏi xem điều gì đã diễn ra đằng sau nó.  

Remez cho biết Lucid sử dụng kết hợp nhiều thuật toán cân đối tải, nhưng không tiết lộ gì thêm về cách làm việc của các thuật toán này. Ông chỉ nói kết quả cuối cùng là một tỉ lệ tuyến tính tốc độ gần như hoàn hảo đối với số lượng GPU. Ngay cả khi kết hợp GPU không đúng cách, nếu loại GPU chậm hơn có tốc độ vào khoảng 70% so với loại kia thì toàn bộ hệ thống cũng có tốc độ gấp 1.3 lần so với một card duy nhất. 

Khi hỏi Remez về những nhược điểm hoặc sự bất tương thích có thể xảy ra với phương pháp này. Những nhược điểm có thể gây ra một số vấn đề như tình trạng khử răng cưa đa mẫu hoặc đôi khi là làm treo SLI và CrossFire. Nhưng Remex chỉ nhấn mạnh rằng MSAA sẽ hoạt động bình thường và phương pháp dựa trên API, không phân biệt GPU mà Lucid sử dụng giúp SLI và CrossFire tránh được tình trạng bất tương thích với ứng dụng hoặc phần cứng.   

Lucid cũng hé lộ một số lĩnh vực có thể áp dụng công nghệ này. Trong đó có lẽ rõ ràng nhất là việc đưa chip chuyển đổi PCI Express vào một card video hai GPU như Radeon HD 4870 X2. Hiện Lucid đang đàm phán với các nhà sản xuất bo mạch về khả năng này. Ngoài ra, chip Hydra 100 cũng có thể được sử dụng trong các bo mạch chủ để kích hoạt tốc độ cao nhất từ hệ thống đa GPU hiện đại và giúp hiện thực hoá khả năng kết hợp giữa một card video chậm chạp đời cũ với một card hiện đại tốc độ cao để đạt được tốc độ tốt hơn. Sự xuất hiện của Hydra 100 cũng là một giải pháp đơn giản giúp khắc phục tình trạn kén chipset của hệ thống đa GPU. Ví dụ như một bo mạch chủ sử dụng chip Hydra và chipset Intel có thể chạy cả GPU GeForce, cho dù Nvidia không cho phép SLI trên chipset Intel. Và vị trí thứ ba dành cho công nghệ này là trong các “pod,” hoặc các thiết bị Multi-GPU cắm ngoài chuyên dụng cho thị trường đồ hoạ chuyên nghiệp, tương tự như  Quadro của Nvidia.

Tại IDF, Lucid sử dụng hệ thống mẫu bằng silicon alpha, nhưng hiện họ đã tìm được loại silicon phù hợp và cho biết đã sẵn sàng tung sản phẩm ra thị trường vào nửa đầu năm 2009. Những con chip đầu tiên chỉ hỗ trợ được PCI Express thế hệ thứ nhất, nhưng theo Lucid thì như vậy là đã quá đủ cho nhu cầu hiện tại. Loại silicon A0 được sử dụng tại IDF có thể hoạt động mà không cần bộ điều nhiệt (tôi đã trực tiếp dùng tay kiểm chứng điều này). Còn theo Andrew Schmied, phó chủ tịch Marketing của Lucid thì loại chip này tiêu tốn chưa đến 5W. 

 

Hãy giả sử rằng Hydra 100 thực hiện được tất cả những công việc mà những người sinh ra nó đã hứa hẹn, vậy câu hỏi ở đây là: “Mức độ thực hiện những điều này đến đâu?” và “Ai sẽ có lợi từ công nghệ này?” Với câu hỏi đầu tiên, bằng cách thử nghiệm cho bản demo của Crysis chạy ở độ phân giải 1920x1200 và cấp độ chất lượng cao nhất trong DirectX 9. Hệ thống kiểm định sử dụng hai card GeForce 9800 GTX và có tốc độ từ 40 đến 60 FPS  theo hệ thống đo tốc độ tích hợp trong game. Game chạy rất, rất mượt mà và không nhận thấy bất kỳ khoảng thời gian trễ nào giữa chuột với màn hình. Đây có vẻ là một điều rất hứa hẹn, nhưng trước khi đưa ra kết luận chính thức, chúng ta vẫn phải làm thêm một số thí nghiệm khác nữa. 

Hiện tại chưa biết chính xác đối tượng khách hàng hàng đầu mà Lucid nhắm tới là ai, nhưng ít nhất thì đã có một hãng máy tính lớn tại Đài Loan và một hãng sản xuất card video đang đàm phán với công ty này. Có vẻ như công nghệ mới này có sức hút rất lớn. 

Không rõ phản ứng của AMD và Nvidia với công ty này - một hãng nhỏ mới thành lập nhưng đã có công nghệ cân đối đồ hoạ tốt hơn họ rất nhiều – như thế nào ?

 

Bài trên chúng tôi lấy lại từ trang Web cũ theo yêu cầu của bạn đọc và cho tới giờ Lucid đã có sản phẩm thực tế Hydra 100 và 200 được MSI và một số nhà sản xuất khác sử dụng trên Motherboard của mình .

 

\"\"