Table of Contents

הצמיחה האקספונסיבית של אחסון נתונים ותפקיד FPGAs

הפיצוץ של נתונים שנוצרו על ידי שירותי ענן, האינטרנט של מכשירים, מדיה ברזולוציה גבוהה, ומחשוב מדעי מציב דרישות חסרות תקדים על תשתיות אחסון. מחסנית שער (FPGAs) הופיעו כפלטפורמה רבת עוצמה עבור נתונים בזמן אמת, המציע שילוב של האצה, יעילות חומרה, ויעילות כוח העולה על פתרונות אחסון CPU ו- GPU מסורתיים על ידי הטמעת דרישות קירור מותאם אישית לתוך דחיסות, כדי להפחית את הקיבולת אחסון יעילה של מערכות אחסון.

טכנולוגיית FPGA עבור אבטחת נתונים

מחסניות שער שדה-Programmable הן מכשירים למחצה של לוגיקה פנימית שניתן להגדיר לאחר ייצור כדי ליישם מעגלים דיגיטליים שרירותיים.בניגוד ASICs או CPUs למטרות כלליות, FPGAs מכיל מגוון של בלוקים לוגיים הניתנים לתוכנה, עיבוד אותות דיגיטליים (DSP) הופך חסימות, RAM, ו transceivers במהירות גבוהה של משאבים אלה ניתן לנסח מחדש באמצעות פורמטים סטנדרטיים של פורמטים של CURLS (HD) ו-L) באמצעות תבניות עבודה (HD) כגון CRTS) ו-HD) ו-HDS (D.

כיצד FPGAs Accelerate Compression Workloads

FPGAs להשיג האצה באמצעות מקבילות מסיבית צינורות דטרמיניסטיים. FPGA יחיד יכול מיידיות מאות מנועי דחיסה עצמאית כי לעבד מספר זרמי נתונים במקביל.בניגוד לחוטי CPU שחולקים משאבים וסובלים מהקשרים המתפתלים מעל הראש, FPGA לוגי בלוקים לפעול בדחיסה חד פעמית ממש.

FPGA לעומת CPU / GPU עבור Compression

CPUs מוגבלים על ידי ערכות הוראה קבוע ומספר מוגבל של חוטים בו זמנית, בעוד GPUs, למרות המקבילה שלהם, הם אופטימיזציה עבור פעולות נתונים צף דומה יותר מאשר bit-manipulation ו המילון נראים נפוצים באלגוריתמים. GPUs גם להציג שקיפות משמעותית עקב שיגור גרעינים על פני פאניקה ועברות נתונים PCIe. PGAs, בניגוד, לספק ביצועים ישירים, נמוך, נפיחות נפיחות נפיחות נפיחות נפיחות דחיסה דחיסה 5 פעמים דחיסה דחיסה דחיסה דחיסה דחיסה דחיסה דחיסה דחיסה דחיסה דחיסה דחיסה דחיסה דחיסה דחיסה דחיסה דחיסה דחיסה דחיסה דחיסה דחיסה דחיסה דחיסה דחיסה דחיסה דחיסה דחיסה דחיסה דחיסה דחיסה דחיסה דחיסה דחיסה דחיסה דחיסה דחיסה דחיסה דחיסה דחיסה דחיסה דחיסה דחיסה דחיסה דחיסה דחיסה דחיסה דחיסה דחיסה דחיסה דחיסה דחיסה

עיצוב FPGA-מבוסס קומפרס Algorithms

בניית מנוע דחיסה על FPGA דורש גישה מובנית שמשנה מורכבות אלגוריתמים, משאבי חומרה וביצועי מטרה.תהליך העיצוב מקיף נתונים פרופיל, עיבוד אלגוריתמי, תיאור חומרה, אופטימיזציה של חומרים.

ניתוח דמויות נתונים

הצעד הראשון הוא להבין את התכונות הסטטיסטיות של נתוני המטרה.אחסון עומסי עבודה שונים באופן נרחב: יומני מסד נתונים מכילים תבניות גבוהות וחדשניות, נתונים גנטיים לעתים קרובות יש ריצות ארוכות של בסיסים זהים, וקבצי מולטימדיה כבר לשלב דחיסה פנימית. פרופ'אנליזות ניחושים ובחירת אלגוריתם אלגוריתמים פשוטה יותר (כגון ניתוח דחיסות נתונים דחוסים), באמצעות אופטימיזציה יעילה ביותר של נתונים כגון דחיסות ל-Lropy (לדוגמה, לדוגמה, לדוגמה, לדוגמה, דחיסות יעילות).

מפתחת: Hardware-Friendly Algorithms

לא כל אלגוריתמים דחיסה ממפה היטב לחומרה.פעולות רקוויסטיות, עדכוני עץ דינמיים, וקידוד באורך משתנה עם מכונות ממשלתיות מורכבות יכול לצרוך לוגיקה מוגזמת או לדרג באמצעות חישובים. מעצבי תוכנה לאלגוריתמים, גרסאות מבוססות בלוק שתהליך קבוע בגודל קבוע עם נתחים בגודל קבוע עם שימוש משאבים צפוי. A canonical Huffman encoder, למשל, יכול להשתמש בטבלאות קוד מאוחסנות מראש ב-CDC, חסימת, חסימת, לעתים קרובות, חסימת, חסימת זיכרון RAM, ו-CDC, ל-LZ.

תיאור קשיח ומימוש

לאחר בחירת האלגוריתם, העיצוב נלכד באמצעות VHDL, Verilog, או SystemVerilog. קבוצות רבות מעסיקות כעת את הכלים HLS כגון Xilinx Vitis HLS, Intel HLS, או MathWorks HDL Coder כדי לאסוף C/C מודלים ל- C/C++C לתוך רמת אחסון מלאה (RTL) , שיפור פיתוח.הצורך לנהל בקפידה נתונים באמצעות FIFO, לרשום קידוד כפול, כולל דחיסה של מעבדים (L) ו-APT) כולל דחיסה) אחסון מלא.

אופטימיזציה טכניקות עבור משאבים וביצועים

משאבי FPGA - טבלאות (LUTs), טבלאות, בלוקים DSP וחסימת RAM - הם סופיים.מעצבים מעסיקים מספר טכניקות כדי לענות על מגבלות מהירות ואזור:

  • (ב) ,0) , פיתוי וזיכרון: הוספת רישומים כדי לשבור נתיבים שילוביים ארוכים, המאפשר תדרי שעון גבוהים יותר.
  • (ב) [15] ,[[1924]]]]]]: [[1924]]]]]]]]
  • (ב) ,0) ,מחלוקת מזכרת: אחסון מילון פיצול לבנקים מרובים עבור גישה לקריאה / כתיבה מקבילים.
  • (ב) ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
  • (FLT:0Partial דינמי reuration (PDR)BuildFLT) 1: הטמעת ליבות דחיסה על זבוב כדי לטפל בסוגי נתונים שונים מבלי לנזוף את המכשיר.

יישום מוצלח מתרומם באמצעות סימולציה, סינתזה, ומיקום-and-ruting, פרמטרים כוונון כמו גודל החלון, עומק שולחן ישה ומספר מנועי מקבילים.

טכניקות למניעת FPGA

כמה אלגוריתמים דחיסה ללא הפסד הוכיחו את יעילות FPGAs, כל אחד עם שינויים מסחריים נפרדים ביחס דחיסה, שקיפות וצריכת משאבים.

Run-Length Encoding (RLE)

RLE מחליף סמלים זהים רצופים עם צמד סמל / ספירה יישום החומרה שלו הוא טריוויאלי: מכונה המדינה משווה על ידינים נכנסים ולהגדיל את הליבות RLE לצרוך פחות מ 200 LUTs, מה שהופך אותם מתאימים בשלבים טרום-תחרותיים או נתונים עם ריצות ארוכות, כגון נתונים סיסמיים או יומני IoT.

Huffman Coding

Huffman encoders ליצור קודים באורך משתנה בהתבסס על תדירות סמל. על FPGAs, הגישה הטיפוסית מאחסנת שולחן חיפוש קוד מבוסס מראש בלוק RAM ומשתמשת משמרת חבית עבור bitpacking. כי השולחן הוא סטטי, דרךput יכול לעלות 40 Gbps עבור קודים בינוניים (למשל, 256 סימנים דינמיים Huffman, אשר מעדכנת את העץ על בסיס נתונים נכנסים, רק לעתים רחוקות יותר, הוא יעיל יותר מאשר פיתוח שיטות אחסון נתונים קומפקטיות.

Lempel-Ziv (LZ77, LZ78) ו-LZW

שיטות מבוססות מילון כמו LZ77 להשיג יחס דחיסה גבוה על נתונים כלליים על ידי החלפת רצפים חוזרים עם אזכורים של אירועים קודמים. FPGA יישום לעתים קרובות להשתמש בגישה מבוססת hash: נתונים נכנסים הוא כברed, ואת הטבלה hash (במעודכן ב BRAM) עוקב את המיקום האחרון של כל אחד יש. A תואם את הנוכחי עם המועמד ופלט או אורך של וידאו כגון IX.

פורמטי מילון קלים (LZ4, Snappy)

פורמטים קלים משקל כמו LZ4 ו- Snappy משמשים נרחב לאחסון כדי לאזן את הדיכאון המהיר עם יחס הגון.מפת העיצוב המינימליסטי שלהם באופן טבעי FPGA לוגיקה.לדוגמה, FLT:0Intel של ההתייחסות LZ4 DesignFLT:1 מדגים כיצד לנתק דחיסה מתוכנה לכרטיס PCIe FPGA, השגת רוחב שנייה עבור אלגוריתמים לעתים קרובות כמו אלגוריתמים ו-SAPD.

Burrows-Wheeler Transform (BWT) + Move-to-Front

BWT מציעה דחיסה יוצאת דופן כאשר יחד עם קוד סטטיסטי, אבל דפוסי הגישה של הזיכרון שלה ומיין קדימה הם קשה מקבילים. FPGA יישום קיימים אבל בדרך כלל לכוון שבבים עם משמעותית על שבבים משמעותיים על שבבים. עבור רוב סביבות האחסון, דחיסה מבוססת BWT נשארת נישה, בשימוש בעיקר בעומסי עבודה ארכיטיביים שבו מהירות trumps.

היתרונות של FPGA-מבוסס נתונים

דחיסה ל-FPGAs מספקת מספר יתרונות שניתן לכמתם עבור מערכות אחסון.

חוסר עקביות נמוכה

דחיסה של תוכנה מציגה שקיפות משתנה עקב לוח זמנים חוט, מפספסים, והפרעות OS. FPGAs, עם צינורות קשיחים שלהם, לספק קבוע, מחזור אופניים-קור חוץ של זמן. ⁇ זה קריטי עבור NVMe לנהוג שבו קושחה בקר חייב לעמוד זמני השלמת פקודה קפדניים.Hardware accelerators יכול דחוס 4 KB תחת 1 microII, המאפשר ללא הפרה של תקציבים NVMet.

המונחים: Line Rate

FPGAs תומך במספר 100 יציאות Ethernet Gbps או PCIe Gen5 x16 נתיבים.מכשיר יחיד יכול להחנות עשרות מנועי דחיסה מקבילים כדי לעמוד על פני 400 Gbps.FLT:0AMD Alveo accelerator CardsFLT:1 ו- Intel PAC מפגינים דחיסה עבור 200 זרמי נתונים Gbps, מה שהופך אותם אידיאליים עבור כל תוכנות f-f-f-p-C דורש רוחב פס קבוע דורש רוחב פס קבוע.

כוח יעילות

יישום קשיח מבטל את פני ההוראה להביא, קוד וחיזוי סניף, ישירות ביצוע אלגוריתם הדחיסה בלוגיקה. בהשוואה ל- CPU שווה ערך, דחיסה מבוססת FPGA לעתים קרובות לצרוך 5-10 פעמים פחות כוח לדחוס על ידיטה. במרכזי נתונים בקנה מידה גדול, יעילות זו מפחיתה עלויות קירור ומורכבות כוח, הורדת עלויות הכוללות של בעלות.

תשלום עבור תשלומים ספציפיים

מכיוון ש- FPGAs הם reconfigurable, מנוע הדחיסה יכול להיות מותאם לסוג הנתונים: רצפים גנטיים, מדדי זמן, נתונים של טייפ פיננסי או תמונות מכולות. מעצב יכול להוסיף שלבים מתקדמים (delta ⁇ , XOR סינון) לפני דחיסה סטנדרטית, שיפור משמעותי יחס תוך שמירה על חומרת מאיץ החומרה.

סקאביה על פני אחסון Tiers

לוחות דחיסה מבוססי FPGA יכולים להיות פרוסים כמו PCIe להוסיף כרטיסי מסך אחסון בודדים או כמו מכשירי דחיסה מבוזרים משותפים על פני הבד.בתשתית שניתן לצריף, FPGAs מאפשר שירותי דחיסה לפי דרישה שמפחיתים באופן עצמאי מ-compute ואחסון, ומיישרים עם עקרונות ענן.

אתגרים ושיקולים

למרות היתרונות המשכנעים, אימוץ דחיסה של FPGA לאחסון מציג כמה מכשולים.

מורכבות עיצוב ומיומנויות מיוחדות

יצירת IP דחיסה מוכן ייצור דורש מומחיות בעיצוב דיגיטלי, אימות, חומרה-תוכנות co-engineering. בריכת הכישרון עבור עיצוב RTL היא קטנה יותר מאשר לפיתוח תוכנה, ופיתוח דחיסה גבוהה יכול לקחת חודשים אפילו עם כלים HLS. ארגונים חייבים לשקול מאמץ פיתוח נגד לחץ בזמן אל השוק.

המונחים: Timing Closure

Real-world FPGAs יש BRAM סופי, DSP פרוסות, ו אלגוריתמים דחיסה אגרסיביים עם דיסלקציות גדולות או מכונות ממשלתיות מורכבות יכולים במהירות למיצוי משאבים, במיוחד במכשירים לטווח בינוני.Achieving תזמון סגירת תדר השעון היעד לעתים קרובות דורש תכנון ריצוף קפדני ומיזוג צינור, מרחיב את מחזור הפיתוח.

אימות ואימות

חומרה קומפרספרסציה חייבת לייצר פלט bitexact תואם מודל התייחסות תוכנה תחת כל המקרים פינה.פיתוח מחסומים מקיף, הפעלת סוויטות רגרסיה עם זרמי נתונים אקראיים, ואימות נגד קבצי מבחן סטנדרטיים בתעשייה (Calgary, Silesia) הופך לרכיבי פרויקט משמעותיים. in-system debugging עם מנתחים לוגיים דורש תכנון זהיר של תכונות של observability.

עלויות ושיקולי נפח

FPGAs גבוה מגיע עם עלויות יחידה משמעותיות, לעתים קרובות מעל 1,000 $ למכשיר. עבור פריסות קטנות כרכים, מחוץ מדף ASICs או פתרונות תוכנה עשוי להיות יותר כלכלי. עם זאת, כאשר מוקרן על צי גדול יחד עם חיסכון כוח, מאיצים מבוססי FPGA יכול לספק תשואה חיובית על ההשקעה, במיוחד עבור ספקי ענן ויפר בקנה מידה.

שילוב עם תוכנת אחסון קיימות

דחיסה transud דורשת אינטראקציה קרובה בין נהג ה-FPGA לבין שכבת בלוק של מערכת ההפעלה או מערכת הקבצים. יישום דחיסה באינטרנט על מכשירים NVMe דורש שינויים בערימה של נהג NVMe או השימוש בסטנדרטים כגון NVMe Computational Storage. מאמץ שילוב זה יכול להאריך פריסה ודורש תכנון משותף חזק בין צוותי חומרה ותוכנה.

שילוב FPGA לאדריכלות אחסון מודרנית

דחיסה FPGA אינה רק פעילות תיאורטית; היא נארזת לתוך הבד של פתרונות אחסון עכשוויים.

NVMe Computational Storage Drives

מפרט NVMe 2.0 כולל תמיכה לאחסון חישובי, המאפשר FPGA או ASIC על הכונן לבצע דחיסה, הצפנה או ירידה בנתונים לפני שהנתונים מגיעים המארחים. מוצרים כמו ScaleFlux CSD ו- Samsung SmartSSD להטביע FPGAs ישירות על הכונן, הסרת מחזורי CPU ושיפור דרמטי של קיבולת יעילה.

PCIe Accelerator Cards for San and NAS

(למשל, Intel PAC, AMD Alveo) ניתן להכניס לתוך בקרים אחסון או NAS nodes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

פולס קומפרספרסומים על CXL

טכנולוגיית Compute Express Link (CXL) מאפשרת זיכרון מטמון-קוהרנטי המאגד על פני מארחים. FPGA מבוססי מכשירי דחיסה יכולים לשבת על הבד CXL ודחוס נתונים לפני שהוא נוחת בזיכרון מתמשך.אדריכלות זו decouples דחיסה ממארחים, המאפשר לשרתים מרובים לשתף את אותה מאגר מאיץ, ניצול גדל ולהפחית את הכוח המזויף.

כיוונים עתידיים

המסלול של טכנולוגיית FPGA מבטיח אפילו יותר פתרונות דחיסה מסוגלים, טשטש את הקו בין אחסון ומחשוב.

AI-Assised Compression

מודלים של למידת מכונות, במיוחד autoencoders ו-transers, יכולים ללמוד תבניות נתונים וליצור תוכניות דחיסה מתקדמות. FPGAs הם מתחילים לארח מאיצים רשת עצביים קלים עבור דחיסה ללא אובדן והפסדים. לדוגמה, מודלים פרוביביליסטיים פרמטריים יכולים להנחות קודים קידוד, השגת 10-20% יותר יחס טוב יותר מאשר אלגוריתמים גנומיים או נתונים היברידיים.

מקור:FPGA Compression Libraries

כדי להוריד את המחסום לכניסה, קהילות משחררות ליבות IP פתוח.פרויקטים כגון FLT:0)FPGA-Compression על GitHubphFLT:1 לספק RTL עבור LZ4, Z סטנדרטי, דינמי Huffman encoders. אימוץ של ליבות קוד פתוח מאיץ חדשנות ומאפשר קבוצות קטנות לשלב חומרה ללא החל מאפס.

Multi-Algorithm Frameworks and Dynamic Reconfiguration

מערכות אחסון עתידיות יעסיקו אלגוריתמים רבים של דחיסה, שנבחרו בזמן אמת על בסיס נתונים profiling.FPGAs עם רזולוציה חלקית דינמי יכול להחליף מאיצים חומרה בתוך מילימטרים, המאפשר מכשיר אחד להתמודד עם מסדי נתונים של OLTP, זרמי גיבוי, ו יומני ללא מבנה עם אלגוריתמים אופטימליים. בשילוב עם שיבוש נתונים חכמים, גמישות כזו תעשה ערכות אחסון עצמי.

קוונטית-Resistant and Post-Quantum Compression

ככל שמחשוב קוונטי מתפתח, הצפנה ודחיסה אחסון יצטרכו להתאים. FPGA מבוסס מאיצים לשלב פרימיטיביים לאחר-quantum הצפנה לצד דחיסה, המציע צינור חומרה מאוחדת המבטיח ומפחית את גודל הנתונים בו-זמנית.הביצועים ה ⁇ יים של FPGAs מבטיח כי שכבות אבטחה נוספות אלה אינן מציגות לאות בלתי צפויות.

שקיפות עם DPUs ו-SmartNICs

יחידות עיבוד נתונים (DPUs) ו- SmartNICs כבר משלבות רשת עם דחיסה. FPGAs יוצר עמוד השדרה הניתנת לתוכנה באדריכלות DPU רבות, המאפשר צינורות דחיסה מותאם אישית בתוך אותו מכשיר המטפלת תעבורת רשת. התכנסות זו מאפשרת דחיסה אחסון להתרחש בקצה הרשת, צמצום התנועה נתונים ושחרור משאבים מארחים לחלוטין.

שיקולים מעשיים

מעבר לאדריכלות ועיצוב אלגוריתם, פריסת דחיסת FPGA בייצור דורש תשומת לב זהירה לשילוב מערכת, ניטור ביצועים וניהול מחזור חיים.

הנהג והחברותיות Co-Development

פתרון דחיסה מוצלח של FPGA תלוי בערימה של נהג משותף הדוק.הנהג חייב לנהל מחמי זיכרון, לתאם העברות פיזור-gather DMA, ולטפל בשיקום שגיאות.צוותים לעתים קרובות לפתח שכבת קושחה קלה על ה-FPGA שמקבלת פקודות מהנהג המארח ומבקרת את תקני הדחיסה.

הופעות Benchmarking and Tuning

לפני הפריסה, הפתרון הדחיסה צריך להיות מתואם נגד עומסי עבודה מציאותיים.המדדים העיקריים כוללים יחס דחיסה, דרך חישוב (MB / s למנוע), התפלגות לב, ניצול משאבים. כלים כמו fio או VDBench יכולים לדמות תעבורת אחסון. מעצבים חייבים לכוונו פרמטרים כגון מספר של מנועי מקבילים, פריחה גדלים, ותדירות כדי להתאים את האחסון - NAND הטבות פלאש מ 4 KB, תוך שימוש בבלוקים מגנטיים גדולים יותר.

overprovision and Fault Tolerance

מערכות אחסון צופים זמינות גבוהה. FPGA למנועי דחיסה צריך להיות מתוכנן עם אדמוניות: מספר מנועי כרטיס, נכשל לתוכנות CPU במקרה של כשל המנוע, וכרטיסים עם יכולת מינוף חם.

מסקנה

ההיתוך של טכנולוגיית FPGA עם פתרונות אחסון אינו מגמה חולפת - זה הופך לפרקטיקה סטנדרטית עבור כל ארגון מטפל בנפח נתונים מסיבי. כמו תהליכי ייצור מתכווץ וכלים עיצוביים בוגר, מבוסס FPGA יספק יחס גבוה יותר, לנטיות נמוכות יותר, וגישה רחבה יותר, מלט תפקידו בדור הבא של תשתיות אחסון חכמות.