הפוסט הבא טכני, ולא מומלץ לחלשים בליבם.
שוחרר קרנל לינוקס גרסא 2.6.17.
אחר הדברים המאוד מעניינים שם הוא מנגנון שנקרא SMP Alternatives.
SMP זה Symetric Multi Processor, כלומר – תמיכה בריבוי מעבדים.
סימטרי זה כי כל המעבדים שווים בתפקיד, אין מעבד שמנהל את כל השאר.
מכיון שהתמיכה בריבוי מעבדים נמצאת בקרנל, המצב עד היום היה שמי שרוצה קרנל שתומך בריבוי מעבדים נאלץ להשתמש בקרנל שקומפל עם תמיכה כזו.
המנגנון החדש מאפשר אופטימיזציה בזמן ריצה של הקרנל למספר המעבדים, מה שקורה הוא שבזמן עליה, הקרנל בודק כמה מעבדים יש, וממש משנה את הקוד של עצמו כדי להתאים אופטימלית למספר המעבדים.
דבר זה מאפשר שימוש באותו קרנל למערכות עם מעבד יחיד וגם למערכות עם ריבוי מעבדים.
דבר מגניב אפילו יותר, אם כי שנוי במחלוקת, הוא שימוש במנגנון הזה כדי להתאים קרנל רץ כאשר נוסף למערכת מעבד נוסף, או ירד, בזמן ריצה.
הוספת מעבדים למערכת רצה נתמך בחומרת שרתים מתקדמת מאוד, אבל בעתיד הלא רחוק מערכת הוירטואליזציה Xen תתמוך בהוספת מעבדים למערכת אורחת, ואז השימוש יהיה נפוץ יותר.
בעצם מה שזה אומר שקרנל יכול לעלות עם אופטימיציה למעבד יחיד, בזמן ריצה, לקבל מעבד חדש, לשנות את עצמו כך שירוץ אופטמלי על שני מעבדים, לאבד מעבד, ולחזור להיות אופטימלי לריצה על מעבד יחיד.
דבר די מדהים.
למיטב הבנתי התמיכה כרגע היא רק באופטימיזציה בזמן עליה, ולא לשינוי בזמן ריצה.
דבר מעניין נוסף למי שמריץ מערכת עם כמה מעבדים (או ליבות) הוא מנהל משימות (scheduler) חדש, שמנצל טוב יותר ריבוי מעבדים.