SigmaX triển khai giải pháp quản lý dữ liệu theo thời gian thực

SigmaX đã cải thiện đáng kể hiệu quả của dữ liệu được tạo ra cho nhà môi giới trung tâm bằng cách kết hợp ngăn xếp quản lý dữ liệu của họ với Intel FPGA và Open FPGA Stack (OFS).

Lướt Nhanh

  • SigmaX phát triển luồng dữ liệu đầu cuối cực kỳ nhanh từ việc nhập dữ liệu đến người tiêu dùng, nơi các quyết định có thể được đưa ra gần với thời gian thực.

  • SigmaX mở rộng và tăng tốc phần mềm nguồn mở Apache bằng bộ xử lý Intel® Xeon®, FPGA Intel Agilex® và Open FPGA Stack (OFS).

  • SigmaX đạt được độ trễ thấp hơn và tăng khả năng nhập dữ liệu bằng khả năng tăng tốc dựa trên FPGA so với phương pháp chỉ dựa trên CPU.

author-image

Bởi

Tóm tắt về Ban điều hành

SigmaX giải quyết những thách thức mới nhất trong việc giải quyết các vấn đề quản lý dữ liệu doanh nghiệp trên quy mô lớn. Khách hàng được hưởng lợi ích từ giải pháp quản lý dữ liệu của họ mà không có nghĩa vụ ràng buộc với nhà cung cấp do sử dụng phần mềm Apache nguồn mở và các tài nguyên phát triển FPGA như Open FPGA Stack (OFS). Giải pháp SigmaX được hỗ trợ bởi khả năng tăng tốc FPGA cho phép dữ liệu truyền với tốc độ cực nhanh, cho phép người dùng đưa ra quyết định gần với thời gian thực.

 

  • Giải pháp luồng dữ liệu SigmaX, dựa trên Apache Pulsar và Apache Arrow, giảm độ trễ xuống 100x1
  • Khi chỉ sử dụng Apache Pulsar, SigmaX đạt điểm chuẩn với tốc độ tăng ngay lập tức 250% khi phát trực tiếp so với cạnh tranh bằng Kafka 1
  • Việc tích hợp Apache Pulsar với Apache Arrow giúp thông lượng tăng gấp 20 lần, có thể mở rộng tới hàng nghìn nút 1

Bối cảnh và thách thức:

Nhà môi giới dữ liệu là tập hợp dữ liệu phát trực tiếp sự kiện, công khai, riêng tư hoặc cả hai, được dùng dưới dạng đăng ký. Nhà môi giới dữ liệu sẽ xử lý, làm sạch và cấu trúc dữ liệu được xuất bản và cung cấp dữ liệu cho các doanh nghiệp hoặc người tiêu dùng khác trong doanh nghiệp. Nhà sản xuất dữ liệu đề cập đến nguồn dữ liệu gốc, cho dù đó là giao diện người dùng, dịch vụ hay thiết bị biên và Internet of Things (IoT). Hàng triệu nhà sản xuất dữ liệu có thể đồng thời gửi thông tin đến các nhà môi giới dữ liệu. Sau đó, người tiêu dùng có thể truy xuất dữ liệu gần đây từ nhà môi giới dữ liệu sau khi dữ liệu đó đã được xử lý, làm sạch và cấu trúc. Những nhà môi giới dữ liệu này có thể mở rộng quy mô lên tới hàng nghìn, xử lý song song khối lượng dữ liệu khổng lồ. Các ngành công nghiệp như 5G, xe tự lái, bảo trì dự đoán cũng như các nền tảng vận tải và điện toán biên khác đang giải quyết các tập dữ liệu ngày càng lớn hơn này, có thể mở rộng tới hàng nghìn nhà môi giới và nhà sản xuất dữ liệu.

Trong những ngành này, việc đưa ra quyết định với tốc độ thực tế và phản ứng gần như đồng thời thường rất quan trọng.. Chỉ riêng ngành công nghiệp xe tự lái đã được ước tính sẽ tạo ra từ 4 TB đến 40 TB dữ liệu mỗi giờ. Bên cạnh nhu cầu lớn về xử lý dữ liệu này, các loại cấu trúc dữ liệu và hình thức biểu diễn dữ liệu mới cũng đã xuất hiện, với những tiến bộ về hiệu năng chưa được khai thác trong CPU, GPU và xử lý song song.

Apache Arrow là khung phần mềm không phân biệt ngôn ngữ tiêu chuẩn thường được sử dụng để cải thiện tốc độ phân tích dữ liệu bằng cách tạo định dạng bộ nhớ cột tiêu chuẩn với mức tiết kiệm đồng hồ treo tường là 80%. Nó thường được sử dụng trong các bối cảnh có tập dữ liệu lớn được tạo bởi các cảm biến ở biên, IoT và các ứng dụng quy mô lớn. Apache Arrow kết hợp các lợi ích của cấu trúc dữ liệu dạng cột với tính toán trong bộ nhớ mà CPU, GPU và FPGA có thể sử dụng để cho phép chia sẻ dữ liệu liền mạch và hiệu quả trên các nền tảng mà không cần sao chép hoặc di chuyển dữ liệu.

Bằng cách tận dụng khả năng xử lý không đồng nhất, cùng với các công cụ nguồn mở như phần mềm Apache và OFS, SigmaX cung cấp giải pháp cải thiện việc chuyển đổi các định dạng dữ liệu từ JSON sang Apache Arrow với độ trễ thấp hơn 100 lần và tốc độ nhập dữ liệu tăng 20 lần khi so sánh với việc chia tỷ lệ chỉ sử dụng bộ xử lý Intel Xeon.

Giải pháp

SigmaX đã cải thiện đáng kể hiệu quả của dữ liệu được tạo ra cho nhà môi giới trung tâm bằng cách kết hợp ngăn xếp quản lý dữ liệu của họ với Intel FPGA và OFS. Sau đây là thông tin chi tiết về giải pháp SigmaX:

Bước 1: Bolson chuyển đổi dữ liệu cảm biến sang định dạng Apache Arrow

Dữ liệu cảm biến JSON lần đầu tiên được Bolson nhận khi chạy trên FPGA Intel Agilex bằng cách sử dụng cơ sở hạ tầng OFS nguồn mở. Bolson sau đó chuyển đổi dữ liệu cảm biến JSON sang định dạng dữ liệu phổ quát, Apache Arrow. Bằng cách đặt dữ liệu vào Apache Arrow, các nhà môi giới trở nên nhanh hơn và phản hồi nhanh hơn theo mức độ lớn. Do đó, lộ trình này xếp chồng các lợi ích về độ trễ và thông lượng lên trên các lợi ích của phương pháp tiếp cận chỉ dựa trên CPU.

Bước 2: Apache Pulsar xử lý và làm sạch dữ liệu

Sau đó, nhà môi giới dữ liệu Apache Pulsar sẽ nhận được các tin nhắn ở định dạng Apache Arrow. Dữ liệu mà Apache Pulsar nhận được hiện có thể điện toán được. Apache Pulsar sau đó sẽ xử lý, làm sạch và cơ cấu lại dữ liệu.

Apache Pulsar là nền tảng phát trực tiếp và nhắn tin phân tán có thể so sánh với Apache Kafka. Tuy nhiên, nó mang lại những lợi ích đáng kể so với Apache Kafka, chẳng hạn như cải thiện tính bảo mật, tốc độ, độ trễ và hiệu năng với các tính năng độ tin cậy dữ liệu tích hợp như sao chép địa lý. Nó thường được sử dụng trong các ứng dụng nhạy cảm với độ trễ liên quan đến các lược đồ có độ phức tạp cao hoặc nhu cầu dữ liệu thời gian thực.

Bước 3: Nhà môi giới dữ liệu chuyển thông tin đến người tiêu dùng

Sau khi được nhà môi giới ủy quyền, dữ liệu sẽ được chuyển đến ứng dụng của người tiêu dùng đã đăng ký.

SigmaX đã xác thực khối lượng công việc quản lý dữ liệu này bằng phần cứng dựa trên công nghệ Intel. Ngăn xếp nguồn mở của họ sử dụng bộ xử lý Intel Xeon chạy trong ứng dụng khách và bo mạch HiPrAcc* NC100 của Hệ thống Hitek dựa trên FPGA Intel Agilex để chạy Bolson.

Bo mạch HiPrAcc NC100 được kích hoạt với cả OFS và oneAPI. OFS là công cụ nền tảng quan trọng cho phép các nhà phát triển FPGA xây dựng các khối lượng công việc và ứng dụng dựa trên FPGA tùy chỉnh. Nó cung cấp tất cả mã nguồn phần cứng và phần mềm, tài liệu, ví dụ tham khảo và các công cụ cần thiết để bắt đầu phát triển dựa trên FPGA. Mã phần mềm và phần cứng của OFS là mã nguồn mở trên GitHub.

Kết quả:

Khối lượng công việc quản lý dữ liệu của SigmaX tăng tốc quá trình chuyển đổi dữ liệu sang Apache Arrow bằng cách sử dụng hai công nghệ chính của Intel – Intel Agilex FPGA và OFS. Sử dụng khả năng tăng tốc FPGA và OFS, khối lượng công việc chuyển đổi dữ liệu của SigmaX nhanh hơn 100 lần với lượng dữ liệu nhiều hơn 20 lần1. Khối lượng công việc quản lý dữ liệu này có thể được áp dụng cho nhiều ứng dụng, bao gồm chăm sóc sức khỏe, bảo hiểm, 5G, bảo trì dự đoán, v.v.

OFS cho phép chúng tôi tạo khối lượng công việc được tăng tốc bằng FPGA bằng cách cung cấp tất cả mã nguồn phần cứng và phần mềm, tài liệu, ví dụ tham khảo và công cụ mà chúng tôi cần để bắt đầu – không cần mày mò chuyên sâu về FPGA.

Robert Morrow, Giám đốc điều hành, SigmaX

Cách bắt đầu tăng tốc FPGA bằng cách sử dụng Open FPGA Stack:

Các nhà phát triển FPGA có thể chọn từ một loạt bo mạch hỗ trợ OFS tùy chỉnh do Intel cung cấp hoặc của bên thứ ba và sử dụng tài liệu nguồn mở và mã nguồn để bắt đầu xây dựng khối lượng công việc tùy chỉnh của họ.

Bảng sau đây phác thảo cách nhà phát triển có thể bắt đầu phát triển khối lượng công việc dựa trên FPGA bằng cách sử dụng bo mạch do Intel cung cấp hoặc của bên thứ ba.

  Sử dụng bo mạch Intel Sử dụng bo mạch hệ sinh thái
Bước 1: Chọn một bo mạch

Sử dụng nền tảng tham chiếu OFS

Nền tảng tham chiếu có thể đẩy nhanh quá trình đánh giá hoặc khởi động (bring-up) nhưng không bắt buộc.

Sử dụng bo mạch tùy chỉnh hoặc cbo mạch bên thứ ba

Duyệt qua danh mục bo mạch OFS để xem các bo mạch có sẵn.

Bước 2: Đánh giá tài nguyên nguồn mở OFS Bạn có thể tìm thấy tài liệu kỹ thuật trên GitHub. Nhà cung cấp bo mạch sẽ cung cấp tài liệu kỹ thuật OFS tương ứng.
Bước 3: Truy cập mã phần cứng và phần mềm nguồn mở Sửa đổi hoặc sử dụng mã phần cứng và phần mềm OFS được cung cấp có sẵn tại GitHub (OFS). Nhà cung cấp bo mạch sẽ cung cấp mã phần mềm/phần cứng OFS tương ứng.
Bước 4: Phát triển khối lượng công việc bằng RTL hoặc C/C++ (sử dụng oneAPI)

Tuân theo luồng OFS RTL

HOẶC

OFS cho phép biên dịch hạt nhân oneAPI. Sử dụng quy trình phát triển oneAPI và xây dựng khối lượng công việc FPGA trong C/C++.

Lưu ý:

1Số liệu được xuất bản trong “Chuyển đổi hàng chục gigabyte mỗi giây JSON-to-Arrow bằng bộ gia tốc FPGA." IEEE Xplore. Tháng 12 năm 2021. ieeexplore.ieee.org/documents/9609833

Cấu hình thử nghiệm: Thiết kế bộ tăng tốc FPGA để phân tích cú pháp JSON ghi dữ liệu đã được giải tuần tự hóa vào bộ nhớ máy chủ ở định dạng trong bộ nhớ cột Apache Arrow. Bao gồm năm giai đoạn: Nhận tài liệu JSON, Phân tích tài liệu JSON và giải tuần tự hóa dữ liệu thành Arrow RecordBatch, Thay đổi kích thước Arrow RecordBatch, Tuần tự hóa Arrow RecordBatch thành thông báo Arrow IPC, Xuất bản thông báo IPC lên chủ đề Pulsar thông qua nhà môi giới Pulsar. Tất cả các hoạt động triển khai đều sử dụng tối đa 8 byte, mang lại cho mỗi trình phân tích cú pháp thông lượng đầu vào theo lý thuyết cao nhất là 1,6 GBps khi chạy ở tần số 200 MHz.