Tính tất yếu của việc FPGA thâm nhập vào trung tâm dữ liệu

Tính tất yếu của việc FPGA thâm nhập vào trung tâm dữ liệu
Bạn không cần phải là nhà thiết kế chip để lập trình cho FPGA, giống như bạn không cần phải là lập trình viên C++ để viết mã bằng Java. Tuy nhiên, trong cả hai trường hợp, nó có thể sẽ hữu ích.

Mục tiêu của việc thương mại hóa cả công nghệ Java và FPGA là bác bỏ tuyên bố sau. Tin vui cho FPGA - sử dụng các lớp trừu tượng và bộ công cụ phù hợp, trong 35 năm qua kể từ khi phát minh ra thiết bị logic lập trình, việc tạo ra các thuật toán và luồng dữ liệu cho FPGA thay vì CPU, DSP, GPU hoặc bất kỳ dạng ASIC tùy chỉnh nào khác đã trở thành ngày càng phổ biến, dễ dàng hơn.

Tính kịp thời đáng kinh ngạc của việc tạo ra chúng được thể hiện rõ ràng ở chỗ ngay khi CPU không còn có thể là mô-đun điện toán duy nhất của trung tâm dữ liệu để thực hiện nhiều tác vụ - vì nhiều lý do - thì FPGA đã đạt được hiệu quả, mang lại tốc độ, độ trễ thấp, khả năng kết nối mạng và bộ nhớ - khả năng tính toán không đồng nhất của các SoC FPGA hiện đại, gần như là các hệ thống máy tính hoàn chỉnh. Tuy nhiên, FPGA cũng được kết hợp thành công với các thiết bị khác trong hệ thống lai và theo quan điểm của chúng tôi, chúng mới bắt đầu tìm được vị trí xứng đáng của mình trong hệ thống phân cấp điện toán.

Đó là lý do tại sao chúng tôi tổ chức hội nghị Nền tảng FPGA tiếp theo tại San Jose vào ngày 22 tháng XNUMX. Đương nhiên, một trong những nhà cung cấp FPGA chính trên thế giới và là người tiên phong trong lĩnh vực này là Xilinx. Ivo Bolsens, phó chủ tịch cấp cao kiêm giám đốc công nghệ tại Xilinx, đã phát biểu tại hội nghị và hôm nay cho chúng ta biết suy nghĩ của ông về cách Xilinx đang giúp tạo ra các hệ thống máy tính có thể thay đổi cho các trung tâm dữ liệu.

Các kiến ​​trúc sư và lập trình viên hệ thống đã mất rất nhiều thời gian để tạo ra một trung tâm dữ liệu không đồng nhất, nơi sẽ có nhiều loại sức mạnh máy tính khác nhau để giải quyết các vấn đề về tính toán, lưu trữ và kết nối mạng. Điều này có vẻ cần thiết vì thực tế là việc tuân theo Định luật Moore khi sử dụng các thiết bị CMOS khác nhau ngày càng trở nên khó khăn hơn. Hiện tại, ngôn ngữ của chúng tôi vẫn tập trung vào CPU và chúng tôi vẫn nói về “tăng tốc ứng dụng”, nghĩa là làm cho các chương trình chạy tốt hơn những gì có thể làm chỉ trên CPU. Theo thời gian, các trung tâm dữ liệu sẽ trở thành tập hợp sức mạnh tính toán, lưu trữ dữ liệu và các giao thức gắn kết mọi thứ lại với nhau và chúng ta sẽ quay lại các thuật ngữ như “điện toán” và “ứng dụng”. Điện toán lai sẽ trở nên bình thường như các dịch vụ đám mây ngày nay chạy trên máy tính để bàn hoặc máy ảo và đến một lúc nào đó chúng ta sẽ chỉ sử dụng từ "điện toán" để mô tả cách chúng hoạt động. Tại một thời điểm nào đó - và có khả năng là FPGA sẽ giúp mở ra kỷ nguyên này - chúng ta sẽ lại gọi đó là xử lý dữ liệu.

Việc áp dụng FPGA trong trung tâm dữ liệu sẽ đòi hỏi phải thay đổi tư duy. Bolsens giải thích: “Khi nghĩ về các cách để tăng tốc các ứng dụng ngày nay, bạn phải tìm hiểu những điều cơ bản về cách chúng chạy, những tài nguyên nào được sử dụng, thời gian sử dụng ở đâu”. – Bạn cần nghiên cứu tổng thể vấn đề mà bạn đang muốn giải quyết. Nhiều ứng dụng chạy trong trung tâm dữ liệu ngày nay mở rộng quy mô để tiêu thụ lượng lớn tài nguyên. Lấy ví dụ về học máy, nó sử dụng một số lượng lớn các nút tính toán. Nhưng khi nói về khả năng tăng tốc, chúng ta không chỉ cần nghĩ đến việc tăng tốc độ tính toán mà còn phải nghĩ đến việc tăng tốc cơ sở hạ tầng.”

Ví dụ, trong loại hoạt động học máy mà Bolsens đã nghiên cứu trong thực tế, khoảng 50% thời gian được dành để truyền dữ liệu qua lại giữa các sức mạnh tính toán phân tán và chỉ một nửa thời gian còn lại được dành cho việc tính toán.

“Đây là lúc tôi nghĩ FPGA có thể trợ giúp vì chúng tôi có thể đảm bảo rằng cả khía cạnh tính toán và giao tiếp của ứng dụng đều được tối ưu hóa. Và chúng tôi có thể làm điều này ở cấp độ cơ sở hạ tầng tổng thể và ở cấp độ chip. Đây là một trong những ưu điểm lớn của FPGA, cho phép bạn tạo mạng truyền thông cho các nhu cầu ứng dụng cụ thể. Dựa trên các mô hình di chuyển dữ liệu điển hình trong khối lượng công việc AI, tôi thấy không cần thiết phải có kiến ​​trúc dựa trên chuyển đổi phức tạp. Bạn có thể xây dựng một mạng với luồng dữ liệu lớn. Điều tương tự cũng áp dụng cho các nhiệm vụ đào tạo mạng thần kinh - bạn có thể xây dựng mạng lưới với kích thước gói thích ứng với một nhiệm vụ cụ thể. Bằng cách sử dụng FPGA, các giao thức truyền dữ liệu và cấu trúc liên kết mạch có thể được điều chỉnh và điều chỉnh rất chính xác cho phù hợp với một ứng dụng cụ thể. Và trong trường hợp học máy, rõ ràng là chúng ta không cần các số dấu phẩy động có độ chính xác kép và chúng ta cũng có thể điều chỉnh điều đó.”

Sự khác biệt giữa FPGA và CPU hoặc ASIC tùy chỉnh là CPU hoặc ASIC tùy chỉnh được lập trình tại nhà máy và sau đó bạn không thể thay đổi quyết định về các loại dữ liệu đang được tính toán hoặc các phần tử đang được tính toán hoặc về bản chất của dữ liệu. chảy qua thiết bị. FPGA cho phép bạn thay đổi ý định nếu điều kiện hoạt động thay đổi.

Trước đây, lợi thế này phải trả giá đắt khi lập trình FPGA không dành cho người yếu tim. Nhu cầu là mở các trình biên dịch FPGA để tích hợp tốt hơn với các công cụ mà các lập trình viên sử dụng để viết các ứng dụng song song CPU trong C, C++ hoặc Python và thuê ngoài một số công việc cho các thư viện giúp tăng tốc các quy trình trên FPGA. Đây chính là những gì mà hệ thống máy học Vitis thực hiện, hỗ trợ các nền tảng ML như Caffe và TensorFlow, với các thư viện để chạy các mô hình AI thông thường hoặc bổ sung khả năng FPGA cho các tác vụ như chuyển mã video, nhận dạng đối tượng video và phân tích dữ liệu, quản lý rủi ro tài chính và bất kỳ phần ba nào. -thư viện của đảng.

Khái niệm này không khác nhiều so với dự án CUDA của Nvidia, được ra mắt cách đây một thập kỷ, dự án này giảm tải tính toán song song cho các bộ tăng tốc GPU hoặc từ bộ công cụ ROCm của AMD hoặc từ lời hứa về dự án OneAPI của Intel, sẽ chạy trên các CPU, GPU và FPGA khác nhau.

Câu hỏi duy nhất là làm thế nào tất cả các công cụ này sẽ được kết nối với nhau để bất kỳ người nào cũng có thể lập trình một bộ sức mạnh tính toán theo ý mình. Điều này rất quan trọng vì FPGA đã trở nên phức tạp hơn, phức tạp hơn nhiều so với bất kỳ CPU nào hiện có. Chúng được sản xuất bằng quy trình sản xuất tiên tiến nhất và công nghệ đóng gói chip hiện đại nhất. Và họ sẽ tìm được chỗ đứng của mình, vì chúng ta không thể lãng phí thời gian, tiền bạc, năng lượng và trí thông minh nữa - tất cả những thứ này đều là những nguồn tài nguyên quá đắt tiền.

“FPGA mang lại những lợi thế về mặt công nghệ,” Bolsens nói. – Và đây không chỉ là quảng cáo thông thường về khả năng thích ứng và cấu hình lại. Trong tất cả các ứng dụng quan trọng - học máy, phân tích biểu đồ, giao dịch tốc độ cao, v.v. - chúng có khả năng thích ứng với một nhiệm vụ cụ thể không chỉ đường dẫn phân phối dữ liệu mà còn cả kiến ​​trúc bộ nhớ - cách dữ liệu di chuyển trong chip. FPGA cũng có nhiều bộ nhớ tích hợp hơn các thiết bị khác. Cũng cần lưu ý rằng nếu một tác vụ không phù hợp với một FPGA, bạn có thể mở rộng nó trên nhiều chip mà không gặp phải những nhược điểm đang chờ đợi bạn khi mở rộng các tác vụ trên nhiều CPU hoặc GPU.”

Nguồn: www.habr.com

Thêm một lời nhận xét