בתחום המחשבים כיום ישנם התפתחתויות שונות לכיוונים שונים, כאשר ההתקדמות כיום בד"כ היא לכיוונים די צפויים: בתחום ה-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 שמאפשר לך לגשת לזכרונות בליבות האחרים, ממשק רשת, ובין הליבות יש גם … ראוטר.
זה נראה כך:
מבחינת ביצועים, לא מדובר פה במשהו שיכול להתחרות ב-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$ זה לא כזה יקר.
הצעד הבא יהיה UDOO אם אפשרות להרחבה כמו פרללה, בקיצור, השוק הולך להתחמם, רק צריך לקוות שהמחירים האלה ירדו אחרת כל החגיגה הזאת לא תהיה שווה הרבה…
חץ, אם אתה מחפש חלופות לפי, יש דברים במחירים סבירים בהרבה:
http://wiki.debian.org/RaspberryPi
שים לב שהמאמר שאליו קישרת לא מדגים כלל את היכולות המיוחדות של השבב. הוא בסך הכל מראה איך שמונה מערכות לינוקס רגילות מריצות במקביל (בעזרת MPI – לא משהו מורכב מדי) עם תהליך אחד לכל מערכת (אפילו לא תהליך אחד לליבה) חישוב. אם אתה רוצה מערכת עם הרבה ליבות ARM בשטח קטן, יש מי שימכרו לך את כאלו. נדמה לי שאפילו HP מוכרת מערכות כאלו.
אבל זה לא מדגים את המקבול המדהים שהמערכת אמורה להציע. המגיב הראשון שם מאוכזב מכך (ומחבר המאמר ענה תשובה מתחמקת).
אם תסתכל בפוסט, בהחלט הזכרתי את ה-PI.
מה ש-HP מוכרת זה משהו אחר לגמרי וגם את זה היא לא הולכת למכור כרגע (אני מניח שאתה מדבר על Moonshot, שכרגע בכלל כולל מעבדי Atom של אינטל, לא Calxeda). בנוסף, מדובר על שוק אחר לגמרי, שמכוון למערכות יחסית קטנות, לא לשמש כשרתים, שוק ש-HP מכוונת אליו.
התבלבלתי בין HP לדל: http://dell.com/arm
ויש כמובן לא מעט ספקים אחרים.
צפריר, אלו 2 דברים שונים לחלוטין. לא מדובר כאן בערימת Core של ARM בכלל, כמו ש-DELL מוכרת בלינק שהראית, אלא בליבות פשוטות לעשות דברים פשוטים, בגלל זה יש לך כמות קטנה מאוד של זכרון (32K) והאסמבלר עצמו מאוד פשוט (משהו כמו 36 פקודות אם אני זוכר נכון), כך שמה שמוצע זה צ'יפ עם כמות ליבות גדולה לעשות דברים פשוטים אבל שדורשים מקביליות.
ההשוואה הכי קרובה לזה מעולם הדסקטופ זה כל כרטיס גרפי, תראה כמות ליבות יש בו, וגם שם מדובר על ליבות פשוטות מאוד.
בקיצור, תצטרך לכתוב בעצמך תוכנה באסמבלר למעבד חדש ולא מוכר. לא נשמע כמו כיף גדול.
אבל זה לא נשמע כמו חידוש מהפכני: נשמע כמו עוד מעבד עזר (החידוש המהפכני הוא אולי שהמפרט שלו זמין בניגוד לשאר המעבדים הגרפיים שדורשים כל מיני ספריות קנייניות לעבודה מולם). אני מקווה שזה באמת נכון.
בינתיים נתקלתי בבעית זמינות של Raspberry Pi. הזמנתי יחידה אצל ספק והוא הודיע לי שלמרות שבאתר שלו היה כתוב שהזמינות מיידית, הזמינות בהחלט אינה מיידית.
מעניין אם גם עבור הלוחות האחרים יהיו בעיות זמינות דומות.
ועוד נקודה קטנה: KVM תומך כבר היום בוירטואליזציה במעבדי ARM שתומכים בכך (Cortex A7 ו־Cortex A15). לעומת זאת, אין עדיין בשוק מעבדי ARM 64 ביט (ליבות ARMv8), אבל יש כבר כמה הפצות שנבנו עבורם (אובונטו, סוזה ונדמה לי שגם פדורה ודביאן) בעזרת אמולטורים.
בהרצאה ב־FOSDEM איש מסוזה אמר שמערכת הבניה של שרות הבניה שלהם דורשת תמיכה בוירטואליזציה ולכן נכנסה לקצב סביר רק כשהם קיבלו לוחות חדשים שמבוססים על Cortex A15.