SigmaX ปรับใช้โซลูชันการจัดการข้อมูลแบบเรียลไทม์

SigmaX ปรับปรุงประสิทธิภาพของข้อมูลที่สร้างให้กับโบรกเกอร์กลางได้อย่างมีนัยสำคัญโดยการเชื่อมโยงสแต็กการจัดการข้อมูลกับ Intel FPGA และ Open FPGA Stack (OFS)

ข้อมูลโดยย่อ

  • SigmaX พัฒนาโฟลว์ข้อมูลแบบครบวงจรที่รวดเร็วเหลือเชื่อจากการนำเข้าข้อมูลไปยังผู้บริโภค ซึ่งสามารถตัดสินใจได้ในเวลาใกล้เคียงเรียลไทม์

  • SigmaX ขยายและเร่งความเร็วซอฟต์แวร์โอเพ่นซอร์ส Apache โดยใช้โปรเซสเซอร์ Intel® Xeon®, เอฟพีจีเอ Intel Agilex® และ Open FPGA Stack (OFS)

  • SigmaX ให้เวลาแฝงที่ต่ำกว่าและการนำเข้าข้อมูลเพิ่มขึ้นด้วยการเร่งความเร็วบน FPGA เมื่อเปรียบเทียบกับแนวทางที่ใช้ CPU เท่านั้น

author-image

โดย

สรุปข้อมูลผู้บริหาร

SigmaX จัดการกับความท้าทายล่าสุดในการแก้ปัญหาการจัดการข้อมูลองค์กรในวงกว้าง ลูกค้าจะได้รับประโยชน์จากโซลูชันการจัดการข้อมูลของตนโดยไม่มีข้อผูกมัดในการล็อคอินของผู้จำหน่าย เนื่องจากการใช้ซอฟต์แวร์ Apache แบบโอเพ่นซอร์สและทรัพยากรการพัฒนา FPGA เช่น Open FPGA Stack (OFS) โซลูชัน SigmaX ที่ขับเคลื่อนโดยการเร่งความเร็ว FPGA ช่วยให้ข้อมูลไหลในอัตราที่รวดเร็วอย่างเหลือเชื่อ ทำให้ผู้ใช้สามารถตัดสินใจได้ในเวลาใกล้เคียงเรียลไทม์

 

  • โซลูชันโฟลว์ข้อมูล SigmaX ซึ่งใช้ Apache Pulsar และ Apache Arrow ช่วยลดเวลาแฝงลงได้ 100x1 เท่า
  • การใช้ Apache Pulsar เพียงอย่างเดียว จะวัดประสิทธิภาพ SigmaX ที่ความเร็วเพิ่มขึ้น 250% ทันทีสำหรับการสตรีมเทียบกับการแข่งขันโดยใช้ Kafka1
  • การบูรณาการ Apache Pulsar เข้ากับ Apache Arrow ส่งผลให้ปริมาณงานเพิ่มขึ้น 20 เท่า และปรับขนาดได้เป็นพันโหนด1

พื้นหลังและความท้าทาย:

นายหน้าข้อมูลคือชุดข้อมูลการสตรีมเหตุการณ์ ทั้งแบบสาธารณะ ส่วนตัว หรือทั้งสองอย่าง โดยทำหน้าที่เป็นการสมัครสมาชิก นายหน้าข้อมูลจะประมวลผล ทำความสะอาด และจัดโครงสร้างข้อมูลที่เผยแพร่ และให้บริการข้อมูลแก่ธุรกิจหรือผู้บริโภคอื่นๆ ภายในธุรกิจ ผู้ผลิตข้อมูลหมายถึงแหล่งที่มาของข้อมูล ไม่ว่าจะเป็นอินเทอร์เฟซผู้ใช้ บริการ หรืออุปกรณ์ Edge และอุปกรณ์ Internet of Things (IoT) ผู้ผลิตข้อมูลหลายล้านรายสามารถส่งข้อมูลไปยังนายหน้าข้อมูลได้พร้อมๆ กัน ผู้บริโภคสามารถดึงข้อมูลล่าสุดจากนายหน้าข้อมูลได้เมื่อได้รับการประมวลผล ทำความสะอาด และจัดโครงสร้างแล้ว นายหน้าข้อมูลเหล่านี้สามารถขยายขนาดได้สูงสุดถึงหลายพัน โดยประมวลผลข้อมูลจำนวนมหาศาลในแบบคู่ขนาน อุตสาหกรรมต่างๆ เช่น 5G, ยานพาหนะขับเคลื่อนอัตโนมัติ, การบำรุงรักษาเชิงคาดการณ์ และแพลตฟอร์มการประมวลผลและการขนส่ง Edge อื่นๆ กำลังจัดการกับชุดข้อมูลที่ใหญ่ขึ้นเรื่อยๆ เหล่านี้ ซึ่งสามารถขยายขนาดไปยังโบรกเกอร์และผู้ผลิตข้อมูลนับพันราย

ในอุตสาหกรรมเหล่านี้ การตัดสินใจอย่างรวดเร็วในโลกแห่งความเป็นจริงและการตอบสนองแทบจะพร้อมๆ กันมักเป็นสิ่งสำคัญมาก อุตสาหกรรมยานยนต์ไร้คนขับเพียงอย่างเดียวได้รับการประเมินว่าสามารถสร้างข้อมูลได้ตั้งแต่ 4 TB จนถึง 40 TB ต่อชั่วโมง นอกเหนือจากความต้องการมหาศาลในการประมวลผลข้อมูลแล้ว โครงสร้างข้อมูลประเภทใหม่ๆ และรูปแบบการแสดงข้อมูลก็เกิดขึ้นเช่นกัน พร้อมด้วยความก้าวหน้าด้านประสิทธิภาพที่ยังไม่ได้ใช้ใน CPU, GPU และการประมวลผลแบบคู่ขนาน

Apache Arrow เป็นเฟรมเวิร์กซอฟต์แวร์ที่ไม่ขึ้นกับภาษามาตรฐานที่ใช้กันทั่วไปเพื่อปรับปรุงความเร็วของการวิเคราะห์ข้อมูลโดยการสร้างรูปแบบหน่วยความจำแบบเรียงเป็นแนวมาตรฐาน ซึ่งช่วยประหยัดนาฬิกาแขวนได้ทั้งหมด 80% มักใช้ในบริบทที่มีชุดข้อมูลขนาดใหญ่ที่สร้างโดยเซ็นเซอร์ที่ Edge, IoT และแอปพลิเคชันขนาดใหญ่ Apache Arrow ผสมผสานประโยชน์ของโครงสร้างข้อมูลแบบเรียงเป็นแนวเข้ากับการประมวลผลในหน่วยความจำที่ CPU, GPU และ FPGA สามารถใช้เพื่อเปิดใช้งานการแบ่งปันข้อมูลข้ามแพลตฟอร์มได้อย่างราบรื่นและมีประสิทธิภาพโดยไม่ต้องคัดลอกหรือย้ายข้อมูล

ด้วยการใช้ประโยชน์จากการประมวลผลที่แตกต่างกัน ควบคู่ไปกับเครื่องมือโอเพ่นซอร์ส เช่น ซอฟต์แวร์ Apache และ OFS ทำให้ SigmaX มอบโซลูชันที่ปรับปรุงการแปลงรูปแบบข้อมูลจาก JSON เป็น Apache Arrow ในเวลาแฝงที่ต่ำกว่า 100 เท่า และอัตราการนำเข้าข้อมูลเพิ่มขึ้น 20 เท่า เมื่อเปรียบเทียบกับการปรับขนาด โดยใช้โปรเซสเซอร์ Intel Xeon เพียงอย่างเดียว

โซลูชัน

SigmaX ได้ปรับปรุงประสิทธิภาพของข้อมูลที่สร้างให้กับโบรกเกอร์กลางได้อย่างมีนัยสำคัญโดยการเชื่อมโยงสแต็กการจัดการข้อมูลกับ Intel FPGA และ OFS ต่อไปนี้คือรายละเอียดโซลูชัน SigmaX:

ขั้นตอนที่ 1: Bolson แปลงข้อมูลเซ็นเซอร์เป็นรูปแบบ Apache Arrow

ข้อมูลเซ็นเซอร์ JSON ได้รับครั้งแรกโดย Bolson ที่ทำงานบนเอฟพีจีเอ Intel Agilex โดยใช้โครงสร้างพื้นฐาน OFS แบบโอเพ่นซอร์ส จากนั้น Bolson จะแปลงข้อมูลเซ็นเซอร์ JSON เป็นรูปแบบข้อมูลสากล ซึ่งก็คือ Apache Arrow การใส่ข้อมูลลงใน Apache Arrow ช่วยให้โบรกเกอร์เร็วขึ้นและตอบสนองมากขึ้นตามลำดับความสำคัญ ดังนั้นเส้นทางนี้จึงซ้อนข้อดีด้านเวลาแฝงและปริมาณงาน นอกเหนือจากประโยชน์ของแนวทางที่ใช้ CPU เพียงอย่างเดียว

ขั้นตอนที่ 2: Apache Pulsar ประมวลผลและล้างข้อมูล

โบรกเกอร์ข้อมูล Apache Pulsar จะได้รับข้อความในรูปแบบ Apache Arrow ตอนนี้ข้อมูลที่ได้รับจาก Apache Pulsar จะสามารถคำนวณได้ตามปกติ จากนั้น Apache Pulsar จะประมวลผล ทำความสะอาด และปรับโครงสร้างข้อมูลใหม่

Apache Pulsar เป็นแพลตฟอร์มการส่งข้อความและการสตรีมแบบกระจายซึ่งเทียบได้กับ Apache Kafka แต่แพลตฟอร์มนี้ยังให้ประโยชน์ที่สำคัญเมื่อเทียบกับ Apache Kafka เช่น ความปลอดภัย ความเร็ว เวลาแฝง และประสิทธิภาพที่ได้รับการปรับปรุง พร้อมฟีเจอร์ความน่าเชื่อถือของข้อมูลในตัว เช่น การจำลองทางภูมิศาสตร์ โดยทั่วไปจะใช้ในแอปพลิเคชันที่ไวต่อเวลาแฝงซึ่งเกี่ยวข้องกับสคีมาที่มีความซับซ้อนสูงหรือความต้องการข้อมูลแบบเรียลไทมม

ขั้นตอนที่ 3: โบรกเกอร์ข้อมูลโอนข้อมูลให้แก่ผู้บริโภค

หลังจากการมอบหมายจากโบรกเกอร์ ข้อมูลจะถูกโอนไปยังแอปพลิเคชันผู้บริโภคที่สมัครเป็นสมาชิก

SigmaX ได้ตรวจสอบเวิร์กโหลดการจัดการข้อมูลนี้โดยใช้ฮาร์ดแวร์ที่ใช้เทคโนโลยี Intel สแตกโอเพ่นซอร์สของพวกเขาใช้โปรเซสเซอร์ Intel Xeon ที่ทำงานอยู่ในแอปพลิเคชันไคลเอนต์และ บอร์ด Hitek Systems HiPrAcc* NC100 ที่ใช้เอฟพีจีเอ Intel Agilex เพื่อเรียกใช้ Bolson

บอร์ด HiPrAcc NC100 เปิดใช้งานได้ทั้งกับ OFS และ oneAPI OFS เป็นเครื่องมือพื้นฐานสำคัญที่ช่วยให้นักพัฒนา FPGA สามารถสร้างเวิร์กโหลดและแอปพลิเคชันที่ใช้ FPGA แบบกำหนดเองได้ โดยมีซอร์สโค้ดฮาร์ดแวร์และซอฟต์แวร์ เอกสาร ตัวอย่างอ้างอิง และเครื่องมือทั้งหมดที่จำเป็นในการเริ่มการพัฒนาโดยใช้ FPGA โค้ดซอฟต์แวร์และฮาร์ดแวร์สำหรับ OFS เป็นโอเพ่นซอร์สบน GitHub

ผลลัพธ์:

เวิร์กโหลดการจัดการข้อมูลของ Sigma เร่งความเร็วการแปลงข้อมูลเป็น Apache Arrow โดยใช้เทคโนโลยี Intel ที่สำคัญสองอย่าง ซึ่งคือเอฟพีจีเอ Intel Agilex และ OFS การใช้การเร่งความเร็ว FPGA และ OFS ทำให้เวิร์กโหลดการแปลงข้อมูลของ SigmaX เร็วขึ้น 100 เท่าพร้อมข้อมูลมากกว่า 20 เท่า1 เวิร์กโหลดการจัดการข้อมูลนี้สามารถนำไปใช้กับแอปพลิเคชันที่หลากหลาย เช่น การดูแลสุขภาพ, การประกันภัย, 5G, การบำรุงรักษาเชิงคาดการณ์ และอื่นๆ

OFS ช่วยให้เราสามารถสร้างเวิร์กโหลดที่เร่งด้วย FPGA ได้โดยการจัดหาซอร์สโค้ดฮาร์ดแวร์และซอฟต์แวร์ เอกสารประกอบ ตัวอย่างอ้างอิง และเครื่องมือที่เราต้องการในการเริ่มต้น โดยไม่จำเป็นต้องซ่อมแซม FPGA ในเชิงลึก

Robert Morrow ซีอีโอของ SigmaX

วิธีเริ่มต้นใช้งานการเร่งความเร็ว FPGA โดยใช้ Open FPGA Stack:

นักพัฒนา FPGA สามารถเลือกบอร์ดแบบกำหนดเองที่ Intel จัดหาให้ หรือบอร์ดที่รองรับ OFS ของบริษัทอื่น และใช้เอกสารโอเพ่นซอร์สและซอร์สโค้ดเพื่อเริ่มสร้างเวิร์กโหลดแบบกำหนดเอง

ตารางต่อไปนี้สรุปวิธีที่นักพัฒนาสามารถเริ่มต้นการพัฒนาเวิร์กโหลดบน FPGA โดยใช้บอร์ดที่ Intel จัดหาให้หรือบอร์ดของบริษัทอื่น

  การใช้บอร์ด Intel การใช้บอร์ดระบบนิเวศ
ขั้นตอนที่ 1: เลือกบอร์ด

การใช้แพลตฟอร์มอ้างอิง OFS

แพลตฟอร์มอ้างอิงสามารถเร่งการประเมินหรือการนำมาพิจารณา แต่ไม่จำเป็นต้องมี

ใช้บอร์ดแบบกำหนดเองหรือของบุคคลที่สาม

เรียกดู แคตตาล็อกบอร์ด OFS เพื่อดูบอร์ดที่มีอยู่

ขั้นตอนที่ 2: ประเมินทรัพยากรโอเพ่นซอร์ส OFS ดูเอกสารด้านเทคนิคได้ใน GitHub ผู้จำหน่ายบอร์ดจะจัดเตรียมเอกสารทางเทคนิคของ OFS ที่เกี่ยวข้อง
ขั้นตอนที่ 3: เข้าถึงรหัสฮาร์ดแวร์และซอฟต์แวร์โอเพ่นซอร์ส แก้ไขหรือใช้รหัสซอฟต์แวร์และฮาร์ดแวร์ OFS ที่มีอยู่ที่GitHub (OFS) ผู้จำหน่ายบอร์ดจะให้โค้ดสซอฟต์แวร์/ฮาร์ดแวร์ OFS ที่เกี่ยวข้อง
ขั้นตอนที่ 4: พัฒนาเวิร์กโหลดโดยใช้ RTL หรือ C/C++ (โดยใช้ oneAPI)

ปฏิบัติตามขั้นตอน OFS RTL

หรือ

OFS เปิดใช้งานการรวบรวมเคอร์เนล oneAPI ใช้ขั้นตอนการพัฒนา oneAPI และสร้างเวิร์กโหลด FPGA ใน C/C++

หมายเหตุ:

1รูปภาพที่เผยแพร่ใน “การแปลง JSON-to-Arrow หลายสิบกิกะไบต์ต่อวินาทีด้วยตัวเร่งความเร็ว FPGA” IEEE Xplore ธันวาคม 2021 ieeexplore.ieee.org/documents/9609833

การกำหนดค่าการทดสอบ: การออกแบบตัวเร่ง FPGA สำหรับการแยกวิเคราะห์ JSON ที่เขียนข้อมูลดีซีเรียลไลซ์ลงในหน่วยความจำโฮสต์ในรูปแบบในหน่วยความจำแบบเรียงเป็นแนว Apache Arrow ประกอบด้วยห้าขั้นตอน: รับเอกสาร JSON, แยกวิเคราะห์เอกสาร JSON และดีซีเรียลไลซ์ข้อมูลลงใน Arrow RecordBatch, ปรับขนาด Arrow RecordBatch, ทำให้อนุกรม Arrow RecordBatch เป็นข้อความ Arrow IPC, เผยแพร่ข้อความ IPC ไปยังหัวข้อ Pulsar ผ่านโบรกเกอร์ Pulsar การใช้งานทั้งหมดใช้สูงสุด 8 ไบต์ ซึ่งทำให้แต่ละพาร์เซอร์มีอัตราส่งผ่านอินพุตทางทฤษฎีสูงสุดที่ 1.6 GBps เมื่อทำงานที่ 200 MHz