תכירו – Parallella

בתחום המחשבים כיום ישנם התפתחתויות שונות לכיוונים שונים, כאשר ההתקדמות כיום בד"כ היא לכיוונים די צפויים: בתחום ה-Embedded מכניסים כיום את ה-64 ביט, וירטואליזציה שתיכנס במעבדים מבוססים A15 ומעלה, יותר ליבות (כיום רוב המעבדים בתחום הנ"ל הם עם 4 ליבות, חברות כמו nVidia, Qualcomm, Samsung כבר מוכרות מעבדים עם 8 ליבות). הפיתוחים האלו כמובן לא ממש משנים כיום דברים רבים (מתי פגשתם אפליקציות 64 ביט ל-Embedded או איזה Hypervisor שידע להשתמש ביכולות של ARM A15?) אבל כמובן אלו דברים שעוד שנה שנתיים יהיה בהם שימוש רב ויש דברים כמו ה-GPU המשופר שיש בצ'יפים של החברות הנ"ל שיעשה בהם שימוש כבר במוצרים החדשים שיצאו בחודשיים-שלוש הקרובים.

בתחום המחשבים המשובצים חלה בשנה האחרונה התפתחות מעניינת, כשיצא ה-Raspbery Pi, מחשב משובץ קטן ב-2 דגמים, כאשר הדגם היותר יקר עולה כ-35$, כלום כסף. המחשב הנ"ל נותן בעצם למשתמשים לראשונה את האפשרות להכיר יותר מקרוב אפשרויות תכנות וכמובן את עולם ה-Embedded. בעולם בהחלט התלהבו מהמחשבים הקטנים הללו וכיום כבר נמכרו יותר ממיליון חתיכות.

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

אבל אם אתה מחפש לוח אחר עם יותר יכולות, אתה תיתקל במשהו מעניין: המחירים – הרבה יותר גבוהים במדרגות הבאות. כך לדוגמא, לוח ה-Panda Board (משמאל) שמכיל מעבד מבוסס ARM A9 דו-ליבתי, עם 1 ג'יגה זכרון ומעבד גרפי משופר יותר, עולה בשוק כיום כמעט 200$, כמעט פי 6 מה-Pi. הסיבה למחיר היא כמובן שאין הרבה דרישה ללוחות כאלו ועלויות היצור לכמויות קטנות – גבוהה.

בחודשים האחרונים נכנס מוצר חדש (שיצא בקרוב לשווקים) שנקרא Parallella וכך הוא נראה:

רואים את הכרטיס הנחמד הזה? הוא יעלה 99$, והוא כולל מעבד דו ליבתי עם 1 ג'יגה זכרון, כניסה לכרטיס SD, חיבור HDMI, חיבור USB OTG, חיבור USB רגיל, חיבור רשת 1Gb.

על פניו, זו נשמעת הצעה מעולה, חצי ממחיר לוח ה-Panda.

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

קודם כל, בכרטיס הקטנצ'יק הנחמד הזה יש לך FPGA, כלומר אם בא לך לתכנן צ'יפ, בין אם זה יהיה מעין מעבד גרפי, או כל דבר שבא לך, כל עוד אתה יודע לעבוד עם FPGA – אתה יכול, וזה בנוי בפנים. אגב, לוח פיתוח FPGA פשוט עולה בשוק היום (רק הלוח עם הצ'יפ, שום דבר מעבר, לא ARM ולא נעליים) – בערך כ-200$.

אבל גולת הכותרת של המכשיר הוא צ'יפ ה-Epiphany 3 שבתוכו. מדובר בצ'יפ שכולל בתוכו 16 ליבות כאשר כל ליבה כוללת מעבדת RISC פשוט, 32K זכרון, DMA שמאפשר לך לגשת לזכרונות בליבות האחרים, ממשק רשת, ובין הליבות יש גם … ראוטר.

זה נראה כך:

emesh

מבחינת ביצועים, לא מדובר פה במשהו שיכול להתחרות ב-GPU שנמצא לך במחשב. בהחלט לא. הצ'יפ הנ"ל מסוגל לתת ביצועים של כ-70 ג'יגהפלופ (GFlop). היתרון של הצ'יפ הוא בצריכת חשמל, כאשר כל ה-16 ליבות עובדות, הוא צורך כ… 2 וואט! ה-GPU במחשב צורך הרבה, הרבה יותר.

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

הכרטיס הזה בעצם מאפשר למפתחים לראשונה להכיר את עולם העבודה המקבילה, קחו את עולם ה-Multithreaded צעד קדימה. אתה לא צריך ללמוד שפת תכנות חדשה, ואם אתה יודע C ואתה משתמש ב-GCC, אז לא תצטרך להשקיע הרבה. חשבת פעם ללמוד OpenCL? הצ'יפ בהחלט תומך בכך.

אבל זה לא מסתיים כאן.

16 ליבות היה בשביל חברת Adapteva רק ההתחלה. כיום יש להם את צ'יפ ה-Epiphany IV שכולל לא פחות מ-64 ליבות וכבר בשנה הבאה הם יוציאו מעבד עם לא פחות מ-1024 ליבות כאשר לכל ליבה יהיו 128K זכרון, עם ביצועים של 1.2 TFlop ועם זה אפשר לעשות המון. מי שמכיר או שמע על Beowulf בלינוקס, ישמח לראות איך הוא רץ יפה מאוד על הכרטיס והצ'יפ במאמר כאן.

לסיכום: אני ממליץ בחום לרכוש את הכרטיס הזה, גם לאלו שמעולם לא התנסו בתכנות מקבילי. הכרטיס הזה מריץ מהרגע הראשון אובונוטו 12.10 גירסת Desktop, כך שאפשר להתחיל להשתמש בכרטיס כמחשב דסקטופ קטנצ'יק ומשם להמשיך בלימוד והתנסות. אחרי הכל, 99$ זה לא כזה יקר.