תכנון מוצרי הדור הבא Next-Gen

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

כיום, מגוון היישומים הוא רב. בקצה העליון של הסקאלה ניתן למנות את יישומי AI, DEEP LEARNING NLP או פלטפורמת אחרות בעולמות ה- HPC, באמצע את שרתי אפליינס ועמדות עבודה תעשייתיות ועד למחשבי הקצה דלי- ההספק בעולמות ה IOT.

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

צווארי הבקבוק בתהליך מסוג זה יכולים להיות, בין היתר:

  • יכולת התוכנה לעבד תהליכים במקביל -parallel processing (יbit/instruction/task level)
  • רגישות התוכנה למהירות העיבוד
  • רגישות לרוחב פס ומהירות גישה לזיכרון

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

לאחר מכן ניישם את המתודולוגיה הזו על שאר החלקים הקריטיים במוצר כגון:

  • גישה לנתונים (Data Base )
  • אינטגרציה של הרכיבים לעולם החיצון

CPU Or GPU?

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

המעבד המרכזי (CPU) אחראי לניהול החומרה ומערכת ההפעלה במערכת המחשוב ונותן מענה למגוון רחב של עומסי עבודה, בעיקר לאלו הדורשות זמן המתנה (latency) נמוך ויחס ביצועים/ליבה גבוה. לעומתו – המעבד הגרפי (GPU) נועד במקור להאיץ (acceleration) בזמן עומסי עבודה, עבור יישומים גרפים – 3D Rendering  או לטובת משחקי מחשב הצורכים משאבי מחשוב כבדים עבור הגרפיקה ובכך להקל את העומס על המעבד.

יחד עם זאת, בשנים האחרונות פותחו כרטיסים גרפיים כלליים המציעים יכולות עיבוד מקביליות לסוגים רבים של יישומים. חשוב לציין שיצרניות המעבדים והכרטיסים גרפיים מציעות משפחות שונות של מוצרים בחלוקה של LOW END, MID range  & High End  כאשר השוני בין המשפחות הוא בביצועים, מעטפת הספק, אורך חיים ועלות בהתאמה.

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

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

שילוב GPU/CPU

בהנחה שתוצאות הבדיקה מכוונות אותנו להאצה גרפית, נדרש לבחור את המעבד הגרפי המתאים  בין עם זה פתרון מובנה (integrated graphics solution) או כרטיס גרפי מאחת המשפחות שיורכב על חריץ הרחבה בלוח האם וישולב עם המעבד הנכון.

 בכדי לבחור את השילוב הנכון, יש לשקלל את יכולתו של כל אחד מהם לטפל בצורה יעילה בצווארי הבקבוק שנותחו בתחילת התהליך:

רגע לפני ההחלטה – מה חשוב לוודא?

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

המאמר נכתב על ידי עידן קרן, מומחה פתרונות OEM ב"בינת תקשורת מחשבים"

טוני מלינקוביץ'
טוני הוא העורך הראשי שלנו כאן באתר, עם ידע רחב בחומרה ומקורות מהירים, טוני הוא גם הכתב המהיר ביותר שלנו, בנוסף לכתבות המעולות של טוני הוא גם אחראי על רוב הביקורות שלנו באתר וגם על המלל וחוות הדעת על חלק מסיקורי הוידאו שלנו.
דילוג לתוכן