מבט מפוכח על מהפכת ה-SSD

רכשתם כבר SSD? אתם שוקלים? האם הכונן הקשיח הוא צוואר הבקבוק שמאט את המחשב שלכם?

טוב, אני יודע שרוב הקוראים של הבלוג הם אנשי תוכנה. מה לעזאזל יש למתכנת הג’אווה / #C להתעסק בברזלים של המחשב שמתקין בכלל איש ה-IT? “מבחינתי שיהיה בצבע ירוק עם כוכבים, העיקר שהקוד של IFile יעבוד” – יכול לומר מתכנת אפליקציה שאינה דורשת ביצועים גבוהים.

התמונה משתנה כאשר אנו זקוקים לביצועים טובים יותר. המערכת שלנו היא לא רק התוכנה אלא גם החומרה – והבנה מה קורה שם למטה יכולה להיות כלי רב-עוצמה.

הנה 37Signals הראו שלא תמיד זקוקים לארכיטקטורה מתוחכמת כדי להשיג Internet Scale, צריך רק טרה זיכרון וכונני SSD על כל מכונה. רגע! טרה זיכרון?? – מסתבר שטרה זיכרון עולים כיום 12 אלף דולר – משכורת וחצי של מתכנת בארה”ב.

חכו רגע… אני שומע קולות ביקורת:”בעיות ביצועים יש לפתור בתוכנה – לא בחומרה”

“הממ לא מבינים כלום, זה טוב להתחלה – אבל הם לא ישרדו”.

“SSD יקרים מדי”

“SSD נשחקים. פתאום כל המידע שנשמר עליהם יעלם – ואז מה?”.

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

להשקיע 200 אלף דולר בעבור כל השרתים ולחסוך רה-ארכיטקטורה שיכולה לקחת שנים – נשמע לי דווקא עסקה טובה.

חומרה – מה התחדש

אני מניח שרובכם למד באוניברסיטאות בעשור האחרון, ואני אמשיך ואניח שהאוניברסיטאות לימדו אתכם חומר בן עשור ויותר – כלומר אתם מכירים (לפחות) תאוריה של מעבד 8086 עם כמות זעומה של זיכרון.

מאז המספרים גדלים ללא-היכר, אך מלבד להכפיל את כל המספרים פי מאה מיליון מלאן-תלפים – האם משהו השתנה?!

מהירות רכיבי המחשב השונים מתקדמים עם הזמן – אך לא באותו הקצב. הדבר דומה מאוד לסדרי גודל של אלגוריתמים: נניח (O(n ו-(O(n*lgn. כאשר ערכו של n הוא קטן הם יראו דומים, אך ככל שילך n ויגדל יתרבו הפערים עד ששני הביטויים (או היעילויות) יהיו מורגשות ביותר.

כך רכיבי המחשב הבסיסיים:
מעבד מרכזי (CPU), זיכרון (memory), כונן קשיח (HD) ורשת (network).
בואו נבחן את קצב ההתפתחות שלהם:

בראש אצים-רצים המעבדים, המכפילים את כוחם פי 2 כל 18 חודשים, או פי 100 בעשור. כיום הם כ”כ מהירים כך שהם הפכו במידת מה למשאב עודף: רוב המחשבים הבייתיים לא זקוקים ליותר מהמעבד הבסיסי ביותר. “גיימרים” משקיעים את כספם במאיצים גרפיים במקום במעבד ובחוות השרתים יש מגמה לקנות המון זיכרון על חשבון כח העיבוד (כל נושא ה In Memory Database).

אינטל – שחייה ממכירת מעבדים החלה להוסיף יכולות של כרטיס גרפי ישר לתוך ה-CPU ולהתמקד בצריכת חשמל נמוכה [1]. מהירות המעבד הפכה כמעט ל-Commodity.

מקום שני אצה-רצה הרשת, עם קצב גדילה של מרשים 50% בשנה או פי 57 בעשור.
אמנם הרשת החלה בנקודת פתיחה אומללה (למי שזוכר מודמים של 1200 סק”ש – שבהתחשב בסיביות הביקורת זה 120 בתים בשנייה) – אך היא מתקדמת בקצב מרשים ביותר וכיום: “אצלנו – אינטרנט של 20Mbps זה סטנדרט!” [2]

מקום שלישי נמצאים הכוננים הקשיחים. אין לי נתונים מדוייקים, אך שיערוך גס שעשיתי מכמה גרפים מציג התקדמות בקצב ההעברה (transfer rate) של פי 15 עד 20 בעשור. קצב העברה של כוננים מגנטיים דיי נבלם בשנים האחרונות והוא עומד על כ-100MBps בערך [3]. יש לציין שנפח האיכסון, פרמטר חשוב אחר, גדל מעריכית ובקצב גדול בהרבה – בערך פי 100 בעשור.

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

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

מהו כונן SSD?

ה-SSD (קיצור ל-Solid State Drive), בקצרה, הם כוננים מבוססי טכנולוגיה של זכרונות פלאש (בניגוד לדיסקים מגנטיים). מכיוון שאין להם חלקים מכניים הם שקטים יותר, צורכים פחות חשמל, ויכולים לספוג זעזועים קשים מבלי להפגע (לא באחריותי!).

ברשת ניתן להתקל במספרים לא מבוקרים שמצוטטים גם באתרי חדשות חשובים כגון “SSD מהיר פי 1000 עד 10000 מכונן קשיח רגיל”. זה לא מקרה נדיר שאתרי חדשות מובילים מפרסמים מידע לא רציני. את הדיוק העיתונאי הם שומרים בעיקר למדור הפוליטיקה – שם יקנסו ב 300 אלף ש”ח על כל טעות – על פי חוק חדש. אם תתקינו כונן SSD חדיש במחשב שלכם תזכו לזמן טעינה של תוכנות הקצר בממוצע פי 2. כלומר, וורד יטען ב-2 שניות במקום ב-4 שניות. מי שקנה כונן SSD בעקבות כתבה “מהיר פי 1000 ויותר” פשוט עלול להתאכזב.

דיסק מגנטי הוא מהיר בתחילתו, והביצועים הולכים ומתדרדרים עבור קבצים שנוספו מאוחר יותר. זו אחת הסיבות לתוכנות Defrag, מקור: תמונת מסך מאתר חברת HD TUNE PRO, יצרנית התוכנה

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

הבלוף של יצרני ה SSD (או למה RAID 0 מת)

עם הזמן, הופכים כונני ה-SSD למוצר שיכול לרכוש גם המשתמש הביתי / הסטארט-אפ הקטן. בפחות מ-1000 שקל ניתן לקנות כונן בגודל 120GB שיכול להגיע לקצב קריאה של כמעט 600MBps! פי שש מכונן מגנטי מהיר!

מקור: יח"צ iOmega. עיבוד תמונה

ווהו וואו – בטח אתם חושבים לעצמכם “אני אהיה ממש טיפש עם לא אקנה אחד כזה”.

“אולי אפילו אקנה שניים”.

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

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

מקרא: Sequential – הוא קצב קריאה רציפה (נאמר קובץ של 1M ומעלה) ויש גם נתונים על קריאה של קבצים קטנים יותר.

מקור: תמונת מסך מ-thessdreview.com

ברור לי שאתם קוראים נבונים ותבחרו את הדיסק שמופיע במסגרת הכחולה. בעוד כונני SSD מציגים קצב קריאה של 500MBps לקריאה רציפה – נתון זה הוא לא מעניין כי פחות מ-1% מהפעילות הרגילה של כונן קשיח היא פעילות על קבצים בגודל 512K ומעלה (למשל: העתקת סרט וידאו מדיסק לדיסק. בתוך אותו הדיסק השינוי הוא רק ברישום של מערכת הקבצים) קריאה וכתיבה של קבצים בגודל 4K קוראת בקצב של עשרות MBps בכוננים המהירים ביותר.

שני נתונים החשובים על מנת להבין את התמונה השלמה:

  • דיסק מגנטי קורא קבצים בגודל 4K בקצב של פחות מ 1MBps.
  • בשימוש ממוצע בכונן הקשיח – כ-70% מהפעולות הם על קבצים (ליתר דיוק “בלוקים”) בגודל 4K או 8K – כך שנתון זה הוא בעל משמעות מכריעה.

כאשר מציבים את המשקולות של אחוזי השימוש – ברור למדי שדיסק קשיח יש לבחור ע”פ פעולות הכתיבה של בלוקים (“קבצים”) בגודל 4K ו-8K.

כונן SSD לא יעתיק קבצי ענק בצורה מהיר הרבה יותר והוא לא יגרום לתוכנות להטען מהר הרבה יותר. אך אם יש לכם בסיס נתונים או Cache שמבצע המון פעולות קריאה וכתיבה של בלוקים קטנים וללא הרף – ההבדל המעשי הוא בין כ-300 פעולות לשנייה האפשריות על דיסק מגנטי מהיר במיוחד מול כמה עשרות אלפי פעולות לשנייה האפשריות על דיסק SSD מהיר במיוחד. פאקטור של פי 100-200 יותר פעולות. מהפכה.

הזדקנות מהירה

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

אם הייתי עושה זאת הייתי מתאכזב מ-2 סיבות:

א. בשעה 11 וחצי בלילה קשה למדי למצוא מישהו שימכור לי כונן SSD.

ב. אם הייתי שם את המערכת שלי על כונן SSD ממוצע במחיר 1000 ש”ח קרוב לודאי שהוא לא היה שורד חצי שנה. יותר גרוע: הוא היה הופך איטי יותר ויותר ופתאום המידע היה נעלם. חתיכת באסה!

העניין הוא שכונני SSD עוברים שחיקה מהירה.

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

בחלונות 7 הוסיפו תמיכה בפקודת TRIM המאפשרת מחיקה של בלוקים גדולים יותר על כונן ה-SSD – ולכן מפחיתה משמעותית את השחיקה שלהם.

בכל מקרה עבור מחשב ביתי, אפילו כונן ללא תמיכה ב-TRIM עשוי לשרוד כמה שנים בצורה סבירה [4].עבור מחשב לעבודה כדאי בהחלט שתהיה תמיכה ב-TRIM.

עבור שרתים גם TRIM לא יעזור: שרת שעובד 24×7, והכונן מאפשר לו רבבות של פעולות בשנייה – הולך לשחוק את הכונן בקצב מהיר.

לעצם כך ישנם כונני SSD המוגדרים כ Enterprise Class – כוננים אשר לרוב משתמשים בטכנולוגיית SLC היקרה והנשחקת פחות ומשתמשים ב”ספיירים” של תאי זיכרון – ומתוכננים להחזיק מעמד כמה שנים תחת עבודה ממושכת. הם יעלו בערך פי 4 יותר, אם מדובר בשרת ממוצע. עבור מקרי קצה של כתיבה אינטנסיבית במיוחד ודרישות לכונן יציב כסלע – טושיבה תמכור לכם כונן 400GB אותו תוכלו לטחון ללא-אבחנה במשך 11 שנה במחיר פעוט של 7000$ לחתיכה.

וריאנטים אחרים של כונני SSD לשרתים יכולים לספק מהירויות גבוהות במיוחד ולרוב מתחברים ישירות לחריץ ה-PCI-Express על מנת לדלג על בקר הדיסקים (חיבור SATA) על מנת לספק בערוץ ישיר נתונים לתוך המעבד במהירות מסחררת.

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

להמציא שוב את הגלגל

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

מדוע שלא תקנו דיסק מגנטי גדול וזול ועוד דיסק SSD קטן, נאמר 64GB, ואת כל הגישות שצריכות מהירות גבוהה תבצעו רק עליו? תאזנו בין נפח אכסון (דיסק מגנטי) למהירות (כונן SSD).

ייתכן ויהיו שימליצו לכם “לקנות דיסק SSD עבור מערכת ההפעלה”. זוהי גישה מיושנת (אולי בת שנתיים) ולא כ”כ יעילה – רוב רובם של הקבצים של מערכת ההפעלה שוכבים כאבן שאין לה הופכין. הכנסו למשל בחלונות 7 לתיקיה C:\Windows\winsxs והסבירו לי מה מאכסנת שם מערכת ההפעלה בנפח של קרוב ל-10GB.

הגישה החדשה יותר (שנות העשרה) היא לתת לתוכנה לסדר לכם את הקבצים בהם משתמשים בתדירות גבוהה על ה SSD בעצמה: הקבצים אליהם ניגשים הרבה – על SSD וכל השאר – על הדיסק הגדול והאיטי. ניתן לעשות זאת בעזרת כונן SSD יעודי לתפקיד Caching כגון OCZ Synapse או Crucial Adrenaline המסופקים עם תוכנה מתאימה [5].

ישנם כוננים המגיעים בחבילה אחת האורזת דיסק מגנטי ודיסק SSD כגון Seagate Momentus XT (מה שנקרא דיסק היברידי – אם אחרי הפרסומות לבנק מזרחי אתם יכולים עוד להתייחס למילה הזו ברצינות).

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

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

בסיסי נתונים ימשיכו להזרים מזומנים לקופות יצרני ה-SSD הגדולים על מנת לשמר שרת יחיד לבסיס הנתונים – פיתוח מערכת מבוזרת עדיין תעלה יותר מכל מכל SSD שהם יכולים להציע…

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

[1] היום, בחדרי השרתים, בוחרים מעבדים ע”פ כח חישוב לוואט. על כל וואט משלמים לא רק בחשבון החשמל. מכיוון שקירור הוא כבר קרוב לאופטימום על וואט עולה גם בחשמל של מערכת המיזוג ובנדל”ן – יש גבול כמה ניתן לקרר מטר מעוקב מבלי שהעלויות יזנקו.

[2] חבר סיפר לי שבקליפורניה, לפני שנתיים, 100 מגה היה דיי מקובל בקרב חובבי מחשבים. הנה נתונים עולמיים של הממוצע הביתי. לא שחשבתי שלקחתם את הפרסומת ברצינות.

[3] יש להבחין שנפח איכסון / קצב העברה של רכיבי אכסון נוהגים למדוד בבתים בשניה (Bps), בעוד מהירות של רשת מודדים בביטים לשנייה (bps) – מידה הקטנה פי 8 (כי יש 8 ביטים בבית). יש לשים לב האם האות B היא קטנה או גדולה על מנת לא להתבלבל.לכן, כשאתם גולשים באינטרנט “5 מגה”, או 5Mbps, – אתם יכולים להעביר רק “625KBps”.

[4] שחיקה זו היא הסיבה מדוע ממליצים לא לבצע Defrag על כונני SSD. התמורה מאיחוד קבצים היא זניחה עבור כונן SSD (שקורא קבצים קטנים במהירות) – והשחיקה היא רבה.

[5] התוכנה, בשם Dataplex, יודעת לנהל ברזולוציה אפילו יותר מדוייקת מקבצים: רזולוציה של בלוקים של מערכת הקבצים – שגודלם לרוב 4K.

פורסם במקור ב-Software Archiblog

Avatar

ליאור בר-און

ליאור בר-און הוא Chief Architect בחברת סטארטאפ ישראלית גדולה.

הגב

10 תגובות על "מבט מפוכח על מהפכת ה-SSD"

avatar
Photo and Image Files
 
 
 
Audio and Video Files
 
 
 
Other File Types
 
 
 

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

סידור לפי:   חדש | ישן | הכי מדורגים
אלון
Guest

תודה על הפוסט המעניין!

מבין עניין
Guest

כתבה מאוד מעניינת, חסרה שם אחת התמונות (עם גרפים של מהירויות הרד-דיסקים כמדומני)
בנוסף,
מניסיון מסוים בשימוש של SSD ככונן מערכת, אני יכול לציין כי רוב רובן של הפעולות היומיומיות (קבצי אופיס, וידאו ומערכת ההפעלה) הואצו בצורה עצומה גם במקרים שהם עבדו מהכונן הישן.
העניין נובע כנראה מעלייה מאוד מהירה של התוכנות הרלוונטיות לזיכרון וכמו כן מהCACHE האוטומטי שמתבצע בקובץ הPAGE.
בנוסף, פתרון טוב לעניין הDEFRAG הוא, העתקה של כל ה120GB לכונן האיטי והחזרה שלהם – פעם בכמה חודשים.

סה”כ כתבה מרשימה ומעניינת שהרחיבה את ההבנה שלי.

אביב
Guest

יופי של כתבה !!! ואני כמובן מבין היטב שלא רצית להתפזר לנושא התוכנה אבל בכל זאת שאלה אחת קטנה ואני מצטט את הכתוב:
“למשל: העתקת סרט וידאו מדיסק לדיסק. בתוך אותו הדיסק השינוי הוא רק ברישום של מערכת הקבצים…”
אולי אתה יכול קצת לשפוך אור על הנושא הזה ? אני זוכר (לפחות ב- WINxp) שהעתקת קובץ בתוך הארדיסק כן כותבת מחדש את הסיביות כל פעם ולא רק משנה את המצביע במערכת הקבצים.. זה תמיד היה ככה במערכות מבוסס יוניקס (לינוקס/IT) אבל לא בחלונות בדורותיו השונים… האם אני טועה? או שזה פשוט התקדם בחלונות ויסטה/7 לצורה החסכונית שבה לינוקס תמיד עבדה ?

אייל
Guest

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

ליאור בר-און
Guest

תודה על התגובות.

אכן חסרה תמונה או שתיים בכתבה – אני אבקש מהעורך של newsgeek להכליל אותן. את הפוסט המקורי עם התמונות המלאות אתה יכול למצוא בלינק הבא:
http://www.softwarearchiblog.com/2012/02/ssd.html

אביב: הכוונה אכן הייתה להעברה של קבצים – לא העתקה. כל זה נכון כל עוד מדובר באותו ה partition על מנת לדייק.
תודה אייל על התיקון.

איציק
Guest

יופי של כתבה!

תום ביגלאייזן
Guest

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

אה, (וסליחה מראש על הקנטרנות :) – יש לך טעות כתיב שחוזרת על עצמה בכל הכתבה, האיות של המילה “אכסון”. דיסקים קשיחים מאחסנים (Store) ולא מאכסנים (Host) אותו:
אכסון אתרים מול אחסון מידע.

אבירן
Guest

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

ליאור בר-און
Guest

תום: צודק לגמרי. תודה על ההערה.
אבירן: ייתכן שכונן Cache הוא בדיוק מה שאתה צריך. הוא ייתן לך מהירות של כמעט SSD על נפח של עד 2 טרה.
כדאי לך לבחון את הביקורת הבאה: http://www.storagereview.com/ocz_synapse_cache_ssd_review

מנסיון עם Premiere Pro – אם אתה עובד עם וידאו הייתי בוחר את הכונן בן ה 128GB.

RAMI
Guest

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

wpDiscuz

תגיות לכתבה: