يك اصل ساده اما تقريبا فراموش شده را احيا مي*كند: كارآيي و توان عملياتي همه چيز است. ميزان سرعت CPU هنگامي كه در زمان دستيابي به حافظه، ابزارهاي جانبي و ساير CPUها دچار مشكل مي*شود بسيار اهميت پيدا مي*كند. يك سرور Xeon كه يك حجم كاري ثابت را اجرا مي*نمايد (يعني يك مجموعه قابل پيش*بيني از برنامه*ها با نيازمندي*هاي منبعي ثابت) از نظر اقتصادي يك راه*حل بي*نظير محسوب مي*شود. اما حجم كاري پوياي كنوني – از برنامه*هاي شبكه تا BI همزمان تا پارتيشن*بندي منبع مجازي شده -- Xeon 32 بيتي را ناچار مي*سازد زمان زيادي را صرف انتقال اطلاعات نمايد.
براي كارهاي پويا، IT به سرورهاي يونيكس 64 بيتي با ورودي/خروجي سريع و قابليت بسط بالا روي آورد. اما هزينه هنگفت، كارآيي نامناسب محاسبه و نيازهاي پايان*ناپذير نگهداري اين سرورها زمينه مهاجرت به Xeon را فراهم نمود. راه*حل ايده*آل، راه*حلي است كه كارآيي و توانايي بالا را بدون قرباني نمودن كارآيي محاسبه و هزينه مناسب محصولي مانند Xeon فراهم بياورد – چيزي بين سرورهاي ارزان PC 32 بيتي و IBM Power 64 بيتي، Itanium اينتل يا ماشين*هاي Sparc Sun Microsystems.
اين خلا اكنون پر شده است. دو پلاتفرم 64 بيتي ظاهر گرديدند، يكي Opteron از شركت Advanced Micro Devices و ديگريPowerPC 970FX از شركت IBM. طبيعتا، ما نمي*توانستيم براي تهيه دو تا از نخستين سيستم*هاي مبتني بر اين چيپ*ها و مشاهده محاسبه*گري 64 بيتي بر روي يك سيستم هم قيمت Xeon به انتظار بنشينيم. نخستين سيستم*هاي آزمايش ما عبارت بود از يك سرور dual-Opteron از AMD كه بر روي يك مادربورد MSI و يك Xserve G5 جفت پردازنده از شركت Apple Computer جاي گرفته بود.
سخت*افزار گسسته
ارزش پلاتفرم*هاي PowerPC 970FX و Opteron بيش از پردازنده تنها است. سيستم عامل*ها، باس*ها، و چيپ*ست*ها همگي نقش قابل توجهي ايفا مي*كنند. اما معماري CPU در اين رده جديد از سيستم*هاي 64 بيتي به همان صورت اوليه باقي مانده است.
Opteron شركت AMD چيپ سرور در يك رده 64 بيتي از پردازنده*هاي سازگار با پنتيوم است كه دسك*تاپ، mobile Athlon 64 و Athlon 64 FX-53 ابداعي براي ايستگاه*هاي كاري با كارآيي بالا را در بر مي*گيرد. از ميان اينها، تنها Opteron پيكربندي*هاي چندپردازنده را پشتيباني مي*نمايد. جادوي Opteron، يكپارچه*سازي كاركرد north bridge – ارتباط حافظه و CPU -- درون خود چيپ است.
PowerPC 970FX، Xserve G5 جديدترين محصول همكاري ميان Apple، IBM و Motorola است. IBM هسته*ي CPU اينترپرايز Power4 64 بيتي خود را در PowerPC 970FX سهيم نمود. Apple ساير بخش*هاي طراحي سيستم Xserve G5 شامل باس*ها، منطق north bridge، منطقsouth bridge و كنترل كننده* سيستم (نمايشگر سلامت) را انجام داد.
هر دو سيستم همان گونه كه توسط فروشندگان پيكربندي شده بودند مورد آزمايش قرار گرفتند، به جز اين كه ما هر دو ماشين را به 4 گيگابايت رم متصل كرديم. مشخصه*هاي استاندارد در دو سرور شامل دو پورت Gigabit Ethernet، دو طبقه* جدا شدني هاردديسك، كارت*هاي اساسي VGA و پورت*هاي USB مي*باشد. به همراه هر دو ماشين، نرم*افزار مديريت سرور ارائه شده است و مي*تواند چندين سرور را مانيتور نمايد. سرور Opteron قادر به انجام مديريت lights-out است – يعني، كنترل از راه دور انرژي، پيكربندي و عيب*يابي در هنگام خاموش بودن سرور.
بررسي دقيق*تر
هم Opteron و هم PowerPC 970FX (ما در ادامه مقاله از نام ساده*تر Apple G5 استفاده مي*كنيم) مي*توانند هر تركيبي از برنامه*هاي 32 بيتي و 64 بيتي را به طور همزمان اجرا نمايند. البته، كارآيي ايده*آل Opteron و G5 هنگامي حاصل مي*گردد كه CPU در حالت 64 بيتي راه*اندازي شود و تمامي برنامه*ها براي عملكرد 64 بيتي كامپايل شده باشند. اما عملكرد 64 بيتي صرف هنوز براي اكثر ما كاربردي نيست. هزاران برنامه 32 بيتي تجاري بايستي مجددا كامپايل گرديده و مورد تاييد اعتبار قرار گيرند.
مايكروسافت تا زمان نگارش اين مقاله قادر به ارائه يك نسخه نهايي از ويندوز 64 بيتي Server 2003 نبود. براي تست Opteron، ما SuSE Enterprise Server 9.0 Linux بارگذاري شده و پيكربندي شده توسط AMD را مورد استفاده قرار داديم. اين لينوكس يك كرنل و دستورات 64 بيتي را اجرا مي*نمايد و ابزار توسعه* آن بهره**برداري كامل را از Opteron به عمل مي*آورد. كد فعال شده براي Opteron به لينوكس وارد شده و بايد بخشي از اكثر توزيع*هاي عمده باشد.
Xserve G5، OS X Server نسخه 10.3.4 را اجرا نمود. اين يك سيستم عامل 32 بيتي است كه G5 CPU را در يك حالت پل قرار مي*دهد كه امكان دسترسي به برخي از امكانات 64 بيتي G5 را از كد 32 بيتي فراهم مي*آورد. ابزار توسعه Xcode متعلق به Apple، كه از يك مجموعه كامپايلر GNU توسعه يافته توسط Apple به عنوان يك back end استفاده مي*نمايد، تا حدي براي G5 بهينه خواهد شد كه برنامه*هاي اجرايي حاصل شده بر روي Macهاي قديمي*تر اجرا نخواهند گرديد. اما Apple نمي*تواند بدون قراردادن آن در عرضه*هاي 32 بيت و 64 بيت اين كار را در مورد كرنل انجام دهد، كه اين نيز يك كار بسيار بزرگ است.
هر دو سيستم حاضر در آزمايش ما به خوبي بوت شده و كاملا كار خود را انجام دادند. ما كار كامپايل تعدادي از تست*هاي open source را انجام داديم و دريافتيم، همان گونه كه اميدوار بوديم، هر پروژه*اي كه ما براي لينوكس SuSE بر روي Opteron كامپايل كرده بوديم همچنين بدون تغيير برايOS X Server كامپايل مي*گردد.
تست كارآيي ما بر روي توان عملياتي متمركز گرديد. توان عملياتي حافظه براي هر دو سيستم، كه توسط بخش كپي حافظه از تحليلگر STREAM سنجيده شد، در ميزان حدود 2GBps برابر بود. اين سرعت كانال ميان حافظه و CPUها نيست؛ اين صرفا سرعتي بود كه STREAM با آن قادر به تكميل عمل جابجايي يك قطعه از داده از يك مكان در حافظه به مكاني ديگر بود. همان گونه كه ما پروسس*هاي موازي آزمايشي بيشتري را به دو ماشين اضافه مي*كرديم، كاهش اجتناب*ناپذيري را در توان عملياتي مشاهده كرديم. توان عملياتي حافظه G5 تقريبا در يك خط مستقيم تقليل يافت، در واقع هر بار كه تعداد پروسس*هاي موازي دو برابر مي*شد توان عملياتي نصف مي*گرديد. به عبارت ديگر، Opteron يك قابليت جالب در نسبت توان عملياتي حافظه*اش تحت بار افزايشي داشت. با هشت پروسس موازي كه از سوي STREAM به دو پردازنده Opteron وارد مي*شد، توان عملياتي حافظه به ندرت پايين*تر از 1/2GBps رفت. اين بيانگر قدرت كنترلرهاي حافظه موجود بر روي CPU ”Opteron“ و سيستم عامل 64 بيتي محض لينوكس SuSE Enterprise بود.
در مقابل، G5 از لحاظ كارآيي ورودي/خروجي جانبي بسيار قدرتمند بود. كنترلر ورودي/خروجي Apple درخواست*هاي داده را به صورت همزمان و به شكلي بسيار كارآمد ميان ابزارها انتقال مي*داد، صرفنظر از بار محاسبه يا مشغوليت ساير ابزارهاي جانبي. اين برعكس Opteron است، كه الگويي از تقليل كارآيي ورودي/خروجي تحت افزايش بار ورودي/خروجي و/يا محاسبه نشان مي*داد – كه ما از سرورهاي PC انتظار داريم. اين امر براي ما كاملا واضح است كه اولويت طراحي Apple براي معماري خود توان عملياتي جانبي بوده است.
تونايي اجراي برنامه*هاي 32 بيتي بدون از دست رفتن كارآيي و پشتيباني لينوكس و يونيكس، بهايي را كه معمولا توسط مهاجرت*كنندگان پرداخت مي*شود حذف مي*نمايد. شما مي*توانيد يك سرور جفت Xeon را با يك جفت Opteron بدون اينكه مشكلي در اجراي برنامه*هاي نصب شده – شامل برنامه*هاي فراگير ويندوز – پيش آيد جايگزين نماييد. همچنين، Xserve G5 با هيچ يك از سرورهاي مبتني بر Apple G4 (شامل نسل*هاي قبلي Xserve و Power Mac G4) مشكلي ندارد و تقريبا تمامي برنامه*هاي open source را بر روي يونيكس، لينوكس و BSD اجرا مي*كند.
هر دو معماري سرورهاي كاربردي جاوا را به شكل خاص خود ايجاد نموده*اند، با ويرايش*هاي Opteron از جاوا براي لينوكس و Solaris. مهندسان Apple به شكل خاص بر روي جاوا كار كرده*اند و ويرايش*هاي بهينه* شده دسك*تاپ و سرور را از جاوا ساخته*اند، به همراه نرم*افزار سرور Web Objects كه يك محصول ساده و توسعه*پذير از Apple مي*باشد.
اما فروشندگان نرم*افزار تجاري، هنوز موضعي در قبال تكنولوژي 64 بيتي اتخاذ نكرده*اند. Opteron تا كنون توانسته با عرضه*كنندگان عمده نرم*افزار براي پشتيباني به توافق برسد. اما با وجود سازگاري 100 درصد اينتل، فروشندگان نيازي به مهاجرت ندارند، چرا كه كاربران مي*توانند به شكل نامحدودي نرم*افزارهاي 32 بيتي خود را اجرا نمايند.
Apple راه بسيار دشوارتري را در پيش رو دارد. زيرا شروع ديرهنگامي را در دنياي اينترپرايز داشت. درست است كه Apple احتمالا قادر خواهد بود با استفاده از ابزار توسعه*ي مجاني، پايه BSD Unix و چارچوب برنامه كلاينت Cocoa خودش، توسعه*گران را از ساير پلاتفرم*ها (شامل ويندوز) جذب خود نمايد؛ اما اگر شركت واقعا خواهان جذب فروشندگان نرم*افزار است، به چيزي بيش از يك پلاتفرم جديد 64 بيتي جذاب به عنوان طعمه نياز خواهد داشت. آن بايد بازار اينترپرايز خود را كه در حال ظهور است به شكلي ابتكاري توسعه دهد.
روي ديگر سكه
براي آن دسته از افرادي كه دوست دارند آن روي سكه را ببينند، چند واقعيت كوچك در مورد ارزيابي پلاتفرم*ها جالب خواهد بود. بياييد از شرح برخي از مزايايي كه اين دو پلاتفرم 64 بيتي نسبت به Xeon دارند شروع كنيم.
ابتدا، سازگاري وعده داده شده از سوي AMD و IBM به نظر مي*رسد كه تحقق يافته است. به صورت پيش*فرض، هر دو CPU در مواجهه با سيستم عامل*ها و برنامه*هاي كاربردي كه از پيشينيان 32 بيتي خود قابل تشخيص نيستند، به عنوان پردازنده*هاي 32 بيتي بوت مي*شوند.
در مورد Opteron، كارآيي محاسبه در حالت legacy 32 بيتي، با Athlon MP 32 بيتي AMD مشابه است. حتي در حالت legacy، Opteron همچنان داراي حافظه* on-board و باس*هاي چند پردازنده مي*باشد. آن همچنين داراي يك اتصال بسيار سريع Hypertransport به كنترلر ورودي/خروجي south bridge است كه مي*تواند با سرعت بسيار بالا داده را از CPU به كارت*هاي توسعه انتقال دهد. و آن همچنان داراي معماري NUMA (non-uniform memory access) است كه كارآيي چند پردازشي را بهبود بخشيده و حد رم را به 4 گيگابايت براي هر CPU افزايش مي*دهد.
بنابراين از از يك ديد سطح بالا، اين گونه به نظر مي*رسد كه حالت legacy 32 بيتي Opteron را تبديل به يك Xeon مي*نمايد. اما اين تغيير حالت بر روي كارآيي توان عملياتي Opteron تاثير محسوسي نمي*گذارد.
همچنين، G5 در هنگام بوت شدن در حالت 32 بيتي همانند نسل پيشين خود، G4، مي*شود. و همان گونه كه Opteron كار خود را انجام مي*دهد، معماري ورودي/خروجي پيشرفته آن همچنان با سيستم عامل*ها و برنامه*هاي 32 بيتي كار مي*كند. اما G5 يك تجديد نظر اساسي در هسته PowerPC محسوب مي*گردد، با دستورالعمل*هاي جديد و يك طراحي اجراي داخلي جديد كه در مقايسه با Opteron كارآيي بهتري را در اجراي برنامه*هاي 32 بيتي ارائه مي*دهد. نرم*افزار 32 بيتي كه با بهينه*سازي*هايي براي مشخصه*هاي منحصربه فرد G5 مجددا كامپايل شده، افزايش محسوسي را هم در توان محاسبه و هم در توان عملياتي ورودي/خروجي به دست مي*آورد.
هيچ راه ساده*اي براي دستيابي به بيش از 4 گيگابايت رم كه تمامي سيستم*هاي 32 بيتي توانايي خواندن و نوشتن مستقيم آن را دارند، وجود ندارد. Xeon حافظه را در حد بالاتر از 4 گيگابايت با استفاده از سگمنت*هايي كه مي*توانند درون يك منطقه رزرو شده در فضاي 4 گيگابايت صفحه*بندي شوند (صفحاتي كه مي*توانند به اين منطقه وارد يا از آن خارج شوند) ايجاد كرده است. قابليت Opteron در الحاق 4 گيگابايت رم به هر CPU به شكل بالقوه*اي يك راه*حل مناسب*تر ايجاد كرده است: اگر سيستم عامل بتواند پروسس*ها را براي اجرا بر روي CPUاي كه داراي فضاي آزاد بيشتري در رم است مجددا سازماندهي نمايد، صفحه*بندي بسيار كمي مورد نياز است. اما Opteron مي*تواند از طرح صفحه*بندي نيز استفاده نمايد، و حافظه الحاق شده به هر پردازنده براي سايرين نيز قابل دستيابي است.
مقايسه با Xeon
اگر اينتل Opteron را از لحاظ حافظه فيزيكي افزايش يافته داراي برخي مزاياي منحصربه فرد بداند، حق با اوست. در هر صورت، اينتل ناچار است CPUها و باس Xeon را مجددا طراحي نمايد تا تاكيد آنها را از سرعت كلاك به توان عملياتي انتقال دهد. در ميان سرورهاي داراي قيمت مناسب، با وجود هشت CPU كه Opteron بدون دخالت كنترلرها آنها را اداره مي*نمايد، هيچ معماري CPU و باسي وجود ندارد كه با قابليت*هاي كلي توان عملياتي Opteron برابري كند.
معماري G5، كه توسط چيپ*ست Apple و سيستم عامل OS X آن بهبود يافته، نيز قابل توجه است. طراحي ورودي/خروجي پردازنده PowerPC 970FX خوب است، اما از لحاظ طراحي اساسي، با اينتل برابري نمي*كند. چيزي كه G5 را سرپا نگه مي*دارد برتري چيپ*ست Apple و هسته عالي Power4 متعلق به IBM است.
حتي هنگامي كه به عنوان يك چيپ 32 بيتي مورد استفاده قرار مي*گيرد، معماري G5 RISC آنقدر كارآمد است كه برنامه*هاي بهينه شده مي*توانند به شكلي عالي اجرا گردند، به خصوص در حوزه محاسبات اعشاري، كه IBM همواره در آن از برتري برخوردار بوده است، و در حوزه*ي محاسبات برداري. G5، از آنجايي كه در پلاتفرم Xserve G5 پياده*سازي شده، از لحاظ توان محاسبه و قدرت عملياتي در مقايسه با Opteron داراي توازن و ثبات بيشتري است.
نكات فراواني براي بررسي جهت گزينش معماري*هاي سرور وجود دارد، اما مهم نيست كه شما بر چه مبنايي مقايسه خود را انجام مي*دهيد، Opteron و G5 به دلايل متعددي انتخاب*هاي بهتري نسبت به Xeon خواهند بود.
-----------------------
پس تكليف Itanium چيست؟
چرا ما يك سرور Itanium را مورد آزمايش قرار نداديم؟
اگر شما در مورد تصميم ما براي ارزيابي G5 (PowerPC 970FX) و Opteron در يك مقاله تعجب كرده*ايد، تنها نيستيد. اين مقاله در اصل قرار بود Opteron را با Itanium 2 مقايسه نمايد، اما يكسري اتفاقات جالب در طي تهيه اين مقاله رخ داد.
Itanium 2 جايگاهي را كه ما انتظار داشتيم تاكنون به دست نياورده است. با وجود قابليت اجراي HP-UX، تمامي توزيع*هاي لينوكس، و ويندوز سرور 2003، به نظر مي*رسد آينده Itanium 2 به بن*بست برسد. اما اين شكست عايد Hewlett-Packard، IBM، و Sun نيز گرديده است. اين سه شركت رده اول اكنون منابعي براي سرورهاي دو-پردازنده و چهار-پردازنده و ايستگاه*هاي كاري مبتني بر Opteron هستند.
اين همه هياهو براي چيست؟ ويندوز. درست است، ويندوز سرور 2003 بر روي Itanium 2 اجرا مي*گردد، اما اين واقعيت به انگيزه اينتل كمكي نكرده است. توسعه*گران ويندوز علاقه*اي به كار با معماري Itanium ندارند. امكان اجراي چارچوب .Net مايكروسافت وجود ندارد (اگر چه از شنيده*ها اين گونه بر مي*آيد كه پشتيباني در آينده اعمال خواهد شد) و توسعه*گران ويندوز بايستي Visual Studio .Net 2003 را بر روي دسك*تاپ*هاي 32 بيتي خود اجرا كنند. آنها كد خود را براي اجرا و تست درون يك ماشين Itanium 2 قرار مي*دهند، سپس كار ويرايش و كامپايل را انجام مي*دهند، و در نهايت كد را به سرور باز مي*گردانند و مجددا تست مي*كنند. اين تكنيك بسيار شبيه كار توسعه*گران PocketPC است. توسعه*گران خود مايكروسافت نيز براي Itanium 2 سر و دست نمي*شكنند. آنها در مورد ترس از كدنويسي براي اين معماري عجيب و غريب، رك و صادق هستند. بي*رغبتي آنها براي اين است كه سازگاري Itanium 2 در رده سرور اينترپرايز مايكروسافت ضعيف است.
گردآورنده: TAHA