GB/s‏ 7‏ פורץ-הדרך של PetaLinux NVMe‏ על ערכת ההערכה ZCU106‏ של AMD‏ עם הפתרון של Design Gateway‏

מאת ‎Design Gateway Co., Ltd.

מרבית תכני Zynq™ UltraScale+™ MPSoC‏ על Linux‏ משובץ משיגים תפוקה של GB/s‏ 2‏ בלבד בשימוש עם מנהל-התקן NVMe‏ סטנדרטי עם Hard Block‏ PCIe Gen3‏. מאמר זה מציג את פתרון Petalinux‏ NVMe‏ הראשון בעולם הפועל במהירות PCIe Gen4 מבלי להסתמך על ה-PCIe Hard Block של ה-FPGA. פריצת-דרך זו מושגת הודות לשימוש ב-NVMe IP Core ביחד עם מנהל התקן תפור-במיוחד של Design Gateway‏. מאמר זה ידגים כיצד מהירות קריאה של כ-GB/s ‏ 7.5‏ ומהירות כתיבה של כ-GB/s‏ 6.9‏ עם ה-SSD‏ Gen4‏ NVMe‏ הנפוץ על ערכת הערכה ZCU106‏ של AMD‏ הן אפשריות, ויציג כיצד הטכנולוגיה של Design Gateway‏ מאפשרת את מלוא הפוטנציאל של NVMe‏ במהירות גבוהה על פלטפורמות Linux‏ משובץ.

מבוא לערכת ההערכה ZCU106‏ MPSoC‏ ™+UltraScale‏ ™Zynq‏

ערכת ההערכה ZCU106‏ של AMD‏ בנויה על פלטפורמת Zynq™ UltraScale+™ MPSoC, ומשלבת מעבדי Cortex®-A53‏ AMD‏ בעלי ארבע ליבות עם לוגיקה ניתנת-לתכנות במהירות-גבוהה. שילוב רב-עוצמה זה מאפשר למהנדסים להריץ מערכות הפעלה מלאות כגון PetaLinux, עם בקרת תוכנה, ניהול I/O‏ במהירות-גבוהה, ופעולת מאיץ FPGA בתוך סביבה אחת.

תמונה של Zynq™ UltraScale+™ EV‏ של AMD‏ (לחצו להגדלה)איור 1‏: Zynq™ UltraScale+™ EV‏ של AMD‏. (מקור התמונה: .Advanced Micro Devices, Inc‏)

תמונה של Linux‏ (Petalinux‏) הפועל Zynq™ UltraScale+™ MPSoC‏ של AMD‏איור 2‏: Linux‏ (Petalinux‏) הפועל Zynq™ UltraScale+™ MPSoC‏ של AMD‏, ומשלב את הגמישות של תוכנה עם האצה בחומרת FPGA‏. (מקור התמונה: AMD‏)

עם זאת, כדי לממש באופן מלא את פוטנציאל הביצועים של SSDs‏ PCIe Gen4 NVMe, המפתחים חייבים גם להבין כיצד מתנהגת חבילת NVMe‏ Linux‏ המסורתית על גבי מעבדי SoC משובצים. אפילו עם הארכיטקטורה ההטרוגנית רבת-העוצמה של ה-ZCU106, מערכות PetaLinux עלולות להיתקל במגבלות תפוקה ויעילות, אתגר שנבחן בסעיף הבא.

מבוא לעיקרון: מדוע NVMe על PetaLinux יוצר לעיתים צווארי בקבוק

בעוד ש-PetaLinux מספק שכבת תוכנה רבת-עוצמה עבור בקרת בחומרה וניהול I/O‏ נתונים, מימוש NVMe הקונבנציונלי שלה אינו ממוטב עבור ביצועים מתמשכים של תפוקה גבוהה. האינטראקציה בין Linux Kernel לבין מערכת עיבוד מבוססת-ARM מציגה מספר מקורות של אי-יעילות המגבילים את ניצול רוחב-הפס גם כאשר משאבי PCIe Gen4 זמינים:

  • תקורה של חבילת Kernel‏: מנהל ההתקן הסטנדרטי של NVMe פועל כולו בתוך Linux Kernel‏, המערב מספר מתגי הקשר, טיפול בפסקים (Interrupt‏), עותקי חוצץ ותחזוקת Cache‏. פעולות מונעות-תוכנה אלו מגבילות IOPS‏ ומונעות ניצול מלו רוחב-הפס.
  • מגבלות תזמון ועומק תורים: תצורות NVMe של ברירת-המחדל משתמשות לעתים קרובות בתורים רדודים וגודלי בלוקים I/O‏ קטנים. בשילוב עם תקורה של תזמון ה-Kernel‏, ניצול ה-CPU‏ מגיע לרוויה לפני שרוחב-הפס של הקישור מגיע לרוויה.
  • אילוצי CPU‏ ותת-מערכת זיכרון: ב-SoCs משובצים כמו ה-Zynq UltraScale+ MPSoC, רוחב-פס DDR ותעבורת קוהרנטיות Cache‏ בין ה-PS ל-PL יכולים להפוך לתקרת הביצועים האמיתית.
  • ניהול הספק ו-IRQ: מערכות שתצורתן נקבעה עם מווסתי CPU‏ לפי-דרישה או זיקות פסקים (Interrupt‏) לא-מאוזנים עשויות לחוות ביצועים מופחתים תחת עומסי עבודת I/O‏ כבדים.
  • השפעה על העולם האמיתי: אפילו מערכות מתואמות-היטב המשתמשות במנהל התקן NVMe קונבנציונלי עולות לעיתים רחוקות על GB/s‏ 2.5‏-1.5~. זה רק 50-60% מרוחב-פס GB/s‏ 4‏, שהוא היכולת המלאה של Gen3x4‏ PCIe‏.
  • PCIe Hard Block‏ אינו זמין עבור Gen4‏: למרות שלהתקני SoC‏ מסוימים יש מקמ"שים התומכים בקצבי איתות PCIe Gen4‏ (Gbps‏ 16‏ לכל נתיב), ה-PCIe Hard Block‏ המובנה שלהם נותר מוגבל לפעולת Gen3‏. פער ארכיטקטוני זה מונע מהמערכת למנף את מלוא הפוטנציאל של רוחב-הפס של Gen4‏, ומגביל יישומים עם ביצועים עיליים או עתירי-נתונים הדורשים תפוקה רצופה של כמה Gigabyte‏ על פלטפורמות FPGA ממוטבות-עלות.

פריצת הגבול

כדי להתגבר על מגבלת ביצועים זו, המפתחים עוזבים בדרך כלל את חבילת האחסון מנוהלת-Kernel‏ ועוברים ל-I/O‏ מואצי-חומרה או של User-Space‏. ישנן שתי גישות נפוצות:

  • מסגרות-עבודה SPDK/DPDK‏: מנהלי-התקנים אופן-תשאול ב-User-Space‏, החוסכים מתגים ופסקים (Interrupts) להקשר של ה-Kernel‏. עם זאת, שיטה זו צורכת משאבי CPU עצומים.
  • הפחתת עומס FPGA‏ (לדוגמה, מנוע NVMe-IP + DMA‏): העברת פקודות עיבוד, ניהול תורים והעברת נתונים לתוך לוגיקה ניתנת-לתכנות, תוך השגת תפוקה כמעט במהירות-החוט עם ביצועים דטרמינסטיים ברמת-החומרה.

ארכיטקטורת הפתרון

תמונה של השוואה בין פתרונות NVMe על PetaLinux תוך שימוש ב-+Zynq UltraScale‏איור 3: השוואה בין פתרונות NVMe על PetaLinux תוך שימוש ב-+Zynq UltraScale‏. (מקור התמונה: Design Gateway)

פתרון Petalinux‏ DMA‏ של Design Gateway‏ מחליף PCIe Hard IP‏ ומנהל-התקן NVMe‏ מסורתיים עם Soft NVMeG4-IP Core‏ ומנהל-התקן NVMe‏ DG‏ מותאם-במיוחד.

ארכיטקטורת חומרה זו מורידה עומס מהחומרה ומריצה PCIe Gen4‏ בשלמותה דרך מקמ"שי FPGA‏, תוך השגת תפוקה של GB/s‏ 7‏ על פלטפורמות +Zynq UltraScale‏. על ידי שילוב NVMeG4-IP ו-DMA‏ Dual-AXI תחת מנהל-התקן DG מאוחד, המערכת חוסכת את תקורת ה-CPU‏, ומאפשרת ביצועים מלאים של Gen4 x4‏ על PetaLinux.

המאפיינים העיקריים

  • NVMe Gen4 Soft IP‏ על PL‏ - פתרון NVMe‏ שלם מוריד עומס מהחומרה עם אינטגרציה של PCIe Gen4 Soft IP Core‏, וחוסך את הצורך ב-PCIe Hard Block‏ תוך שימוש במקמ"שי FPGA‏ במקסימום הפוטנציאל שלהם.
  • ערוצי Dual-DMA‏ להכפלת רוחב-הפס, המגיע ל-GB/s‏ 8‏ עבור מהירות PCIe Gen4‏.
  • מנהל-התקן Petalinux‏ מותאם-במיוחד עם בקרה נקייה וממשקי ניטור, ממוטבים-היטב עבור מניעת צווארי בקבוק בתנועת נתוני תוכנה-חומרה.
  • ממשקים תואמי-AXI‏ עבור אינטגרציה קלה בתוך Pipelines‏ של נתוני PL‏.
  • חבילת הדגמה שלמה עם קוד מקור, סקריפטים, תיעוד והוראות עבור הפעלה מהירה
  • תכן נייד הניתן להתאמה לכל התקן FPGA‏ של AMD‏ התומך ב-Linux‏ משובץ.

תוצאות מימוש וביצועים על ZCU106‏

איור 4 מציג מבט כולל על תכן הייחוס המבוסס על ערכת ההערכה ZCU106‏ (XCZU7EV‏) של AMD‏. המערכת משלבת את ה-NVMe Gen4 Soft IP‏ של Design Gateway‏ עם ארכיטקטורת Dual-DMA‏ ומנהל-התקן Petalinux‏ מותאם-במיוחד, ומאפשרת גישה במהירות גבוהה בין SSD‏ Gen4‏ NVMe‏ ו-OS‏ Petalinux‏.

לפרטים נוספים על תכן הייחוס של NVMeG4-IP עם DMA ב-PetaLinux, אנא עיינו במסמך תכן הייחוס של NVMeG4-IP עם DMA על PetaLinux הנמצא באתר האינטרנט של Design Gateway.

תמונה של מסמך תכן ייחוס NVMeG4-IP‏ עם DMA‏ על תכן הייחוס Petalinux‏איור 4: מבט כולל על תכן הייחוס. (מקור התמונה: Design Gateway)

מערכת ההדגמה נועדה לכתוב ולתקף נתונים באמצעות ה-NVMe SSD‏ על ה-ZCU106. ביצוע הבדיקה מבוקר באמצעות קונסולה טורית על ה-PetaLinux באמצעות יישום DG NVMe. יישום זה מעביר נתונים בין זיכרון המארח לבין ה-SSD NVMe דרך שני ערוצי DMA עבור פעולה במהירות גבוהה. ה-CPU‏ אחראי רק על הגדרה וניטור, בעוד שכל תנועת הנתונים מטופלת בחומרה.

לוח מתאם AB17-M2FMC משמש לחיבור ה-NVMe SSD‏ לחריץ FMC-HPC, כפי שמוצג באיור 5.

תמונה של סביבת ההדגמה שהוגדרה על ה-ZCU106איור 5: סביבת הדגמה שהוגדרה על ה-ZCU106. (מקור התמונה: Design Gateway)

תוצאת הבדיקה לדוגמה בעת הרצת מערכת ההדגמה על ה-ZCU106 תוך שימוש ב-990 Pro‏ של Samsung‏ עם TB‏ 1‏ מוצגת באיור 6, ומאשרת ניצול מלא של רוחב-הפס PCIe Gen4 x4 על ה-PetaLinux.

תמונה של השוואת ביצועי קריאה/כתיבה של NVMe SSD על ה-ZCU106איור 6: השוואת ביצועי קריאה/כתיבה של NVMe SSD על ה-ZCU106: מנהל התקן NVMe מסורתי לעומת פתרון DG NVMe. (מקור התמונה: Design Gateway)

סיכום

ה-NVMe Gen4 Soft IP של Design Gateway עבור PetaLinux הופך את ה-+Zynq UltraScale‏ לפלטפורמת אחסון עם ביצועים עיליים, ומשיג תפוקה של GB/s‏ 7‏ הראשונה-בעולם במהירות Gen4‏. הודות להורדה מלאה של העומס של פרוטוקול NVMe לתוך לוגיקת החומרה, יחד עם מנהל התקן PetaLinux ממוטב-היטב, הפתרון מונע צווארי בקבוק ברמת-התוכנה, ממקסם את נצילות נתיבי הנתונים, ומגדיל את רוחב-הפס עבור עומסי עבודה של DAQ ועיבוד וידאו. התכן הוא נייד, יעיל ואידיאלי עבור מערכות קצה או משובצות הדורשות הן תפוקה גבוהה והן ביצועים דטרמיניסטיים.

מיאון אחריות: דעות, אמונות ונקודות מבט המובעות על ידי מחברים שונים ו/או משתתפי פורום באתר אינטרנט זה לא בהכרח משקפות את הדעות, האמונות ונקודות המבט של חברת DigiKey או את המדיניות הרשמית של חברת DigiKey.

אודות כותב זה

Design Gateway Co., Ltd.