$$News and Reports$$

14 ינו' 2014
IMG_0009 - Copy.jpg
בתמונה מימין לשמאל: פרופ' ברכה שפירא – רמ"ח הנדסת מערכות מידע, פרופ' ליאור רוקח – מרצה מומחה ב Big Data  ומרצה במחלקה. אסף עראקי – ארכיטקט בקבוצת Advanced Analytics באינטל, גיא רפפורט – מהנדס תוכנה במחלקה, מנדי הנר – מנהל רשת המחלקה להנדסת מערכות מידע

במחלקה להנדסת מערכות מידע באוניברסיטת בן-גוריון בנגב יכולים להיות מרוצים. המחלקה קיבלה מימון מחברת "אינטל" לרכישת אשכול שרתים בנפח כולל של מעל TB200 שעליהם הותקנה מערכת Hadoop של אינטל.
 
מדובר בהפצה מיוחדת של Hadoop אשר נוצרה על ידי ענקית החומרה, ומגיעה עם כל הרכיבים הנחוצים למטלות מורכבות של עיבוד מבוזר. ב"אינטל" ישראל מברכים על המהלך, שצפוי לשרת את הסטודנטים הלומדים את תחום ה-big-data במחלקה כמו גם את החוקרים שלה, ומציינים כי נכון להיום, זהו אשכול ה-Hadoop הפיזי הגדול בישראל, כלומר אשכול שאינו פועל בענן מרוחק (דוגמת ה-EC2 של אמאזון) אלא על חומרה המותקנת on-site באוניברסיטה.
 
חוזרים לתחילת הסיפור
לפני כמעט עשור, בשנת 2005, מצאה את עצמה ענקית האינטרנט Yahoo! ניצבת בפני בעיה מסדר גודל חדש לגמרי. החברה, שהתחילה כמנוע חיפוש והיום כבר שולחת ידה בתחומים רבים אחרים, היה צורך "לאנדקס" (ליצור אינדקס) כמות גדולה של נתונים לטובת הגירסה החדשה של מנוע החיפוש שלה (תחת שם הקוד Nutch). שני מהנדסים, דאג קאטינג ומייק קאפארלה, החליטו לממש בעצמם מערכת מבוזרת לעיבוד נתונים. במקום להסתמך על מספר קטן מחשבי על, המערכת החדשה מסתמכת על מספר מרובה של שרתים זולים יחסית (כל יחידת עיבוד בעלות משוערת של 10,000$ - מחיר נמוך יחסית לענף השרתים), כאשר המערכת לוקחת כהנחת יסוד שכל דיסק, כרטיס רשת או סוויץ' המחבר כמה מחשבים כאלו לאשכול עלול לקרוס.
 
עיצוב המערכת שאב השראה משתי עבודות שפורסמו מוקדם יותר על ידי יחידת המחקר של גוגל, Google Research. הראשונה, מ-2003, הציגה לעולם את ה-Google File System, או GFS בקיצור. זוהי מערכת מבוזרת לניהול קבצים, המאפשרת לאחסן מידע ולגשת אליו במהירות תוך כדי שהיא מחלקת אותו על פני דיסקים רבים, ולא רק זה - אלא גם משכפלת כל חתיכת מידע כ-3 פעמים (לפחות) על מנת שיתאפשר לגשת למידע גם במקרה שמחשב המחזיק עותק מסוים שלו - קרס.
 
השניה, מ-2004, הציגה לעולם את פרדיגמת ה-MapReduce: מעין מטא-אלגוריתם לעיבוד מבוזר, אשר כל מתכנתת הניגשת לפתור בעיה כותבת את החלקים הייחודיים של הבעיה שלה לתוך המסגרת המוכתבת על ידי MapReduce. עבור בעיות מסוימות המתאימות למסגרת זו, ניתן לפתח מערכות אשר יכולות להתמודד עם קלט גדול ביותר. מערכת מבוססת MapReduce יכולה לחלק את הקלט לכמה חלקים, לבצע עליו חישובים (Map) ולחבר את כל החישובים לכדי תשובה מאוחדת (Reduce). הדוגמא הקלאסית היא ספירת מילים בטקסט. נניח ונרצה לדעת כמה פעמים מופיעה כל מילה בספר מסוים. ניתן לעשות זאת על ידי מעבר על הספר וספירת המילים; אולם גם על ידי חלוקת הספר לשני חלקים, אשר שני אנשים שונים יעברו עליהם ובסוף יחברו את התוצאות (מה שיקח פחות זמן); כנ"ל על ידי חלוקה לשלושה אנשים... וכו'.
 
ובחזרה ל-Yahoo ולקאטינג וקאפארלה: הפרוייקט של השניים היה מימוש של הרעיונות שהציגה גוגל במאמרים שלה, בקוד פתוח (שלאחר מכן אומץ על ידי Apache) בניגוד למערכות הסגורות שבשימוש גוגל. הפרוייקט קיבל את שמה של בובת-הפיל של בנו של קאטינג - Hadoop.
 
אבל מה זה בעצם Hadoop?
מערכת Hadoop היא מערכת עיבוד מבוזרת המותקנת על מספר מחשבים המחוברים ביניהם ברשת. המערכת מאפשרת לשלוח עבודות (Jobs) אשר היא דואגת לחלק לחלקים (כמו בדוגמא לעיל - הספר המחולק למספר "מוני מילים") ולאחד לתוצאה אחת. המערכת בנויה ממערכת קבצים מבוזרת - ה-Hadoop Distributed File System או HDFS, מימוש של ה-GFS של גוגל; ומפלטפורמת MapReduce אשר משתמשת ב-HDFS על מנת לשתף מידע בין המחשבים השונים המשתתפים בחישוב.
 
Hadoop נמצאת כיום בשימוש בחברות ענק כגון Yahoo!, ebay ופייסבוק. בעקבות השימוש הנרחב במערכת, פותחו לה גם הרחבות שונות, כמו לדוגמא מערכת בסיס נתונים מבוזרת בשם Hive פותחה בפייסבוק ומאפשרת לכתוב שאילתות בשפה דמוית SQL על גבי מידע בנפחים גדולים ביותר ולקבל תשובות במהירות הבזק. גם אלגוריתמים מורכבים יותר - למשל, עבור בינה מלאכותית - פותחו בגירסאות שרצות מעל Hadoop (פרויקט בשם Mahout).
 
"הגירסה אותה מפיצה Intel מגיעה עם התוספים הנ"ל מותקנים ועוד תוספים רבים, לרבות ממשק אינטרנטי המאפשר לקבל נתונים על המערכת בזמן אמת ומקל על הניהול שלה," כך מספר גיא רפפורט, האחראי על המערכת מטעם המחלקה להנדסת מערכות מידע באוניברסיטת בן-גוריון בנגב. "התחלנו מאפס עם התקנה של Apache Hadoop, וראינו כי טוב. התלבטנו בין מספר הפצות מסחריות, דוגמת זו של Cloudera, וכאשר שיתוף הפעולה עם אינטל עלה על הפרק התלהבנו, כי ידענו שכאן נוכל לא רק לקבל שירות - אלא גם להשיב טובה ולשתף את אינטל הישראלית בידע ובניסיון שנצבור. המערכת תשמש את טובי החוקרים והסטודנטים שלנו, ביניהם פרופ' ליאור רוקח, מומחה בעל שם עולמי בתחום בסיסי נתונים ומערכות לומדות, אשר מלווה את העבודה הטכנית ונותן את הדגשים שיאפשרו למערכת לשרת גם את החוקרים והחוקרות שלנו בצורה מיטבית. אני גם עובד בשיתוף פעולה מלא עם אסף עראקי, ארכיטקט בקבוצת Advanced Analytics באינטל אשר אחראי על תחום שיתוף הפעולה עם האקדמיה, ונהנה מכל רגע". ותיקי המחלקה יודעים לספר שעראקי כבר מוכר במסדרונותיה - הוא אחד מבוגרי המחזור הראשון של המחלקה בבן-גוריון.