ورود به حساب کاربری

نام کاربری *
رمز عبور *
یاداوری

رايانش موازي از طريق پردازنده هاي چند هسته اي و چند تاري( Multithreaded)

امتیاز کاربران

ستاره غیر فعالستاره غیر فعالستاره غیر فعالستاره غیر فعالستاره غیر فعال
 

پردازنده هاي چند هسته اي و چند تاري( Multithreaded)، به يک رويکرد جديد، براي دستيابي به افزايش عملکرد CPU تبديل شده اند. اکثر نرم افزارهاي کاربردي عددي، از افزايش تعداد هسته هاي محاسباتي قدرتمند سود مي برند. در مورد سرورها، معمولاً اگر مدار تراشه براي به حداکثر رساندن توان عملياتي، از طريق اجراي تارهاي ( threads) متعدد در هر هسته مورد استفاده قرار گرفته باشد، مزيت بيشتري را به همراه خواهد داشت.
ما در اين مقاله به بررسي پردازنده هاي چند هسته اي و چند تاري خواهيم پرداخت که امروزه در بازار حضور دارند. در عين حال، ارزيابي تصميم گيري هاي زيربنائي در حوزه طراحي پردازنده ها، بازدهي مصرف برق و موضوعات نرم افزاري مرتبط با خصوصيات فشار کاري و نرم افزارهاي کاربردي نيز بخشي از مقاله حاضر را تشکيل مي دهند.

بطور سنتي، قدرت عملکرد پردازنده ها، هر 18 ماه يکبار تقريباً دو برابر شده است، زيرا پيشرفتهاي بدست آمده در حوزه فناوري هاي توليد تراشه به افزايش سرعت هاي کلاک پردازنده ها و همچنين پيچيدگي طراحي آنها منتهي گرديده اند. با اينحال، موانعي در مسير تداوم ارتقاء چشمگير فرکانس هاي کاري اين تراشه ها وجود دارند که به مشکلاتي نظير نشت ولتاژ در بين مؤلفه هاي داخلي تراشه و همچنين محدوديت هاي انتشار حرارتي مربوط مي شوند.
قانون مور( Moore Law که پيش بيني کرد چگالي مدارات داخل تراشه ها هر 18 ماه يکبار دو برابر خواهد شد) هنوز اعتبار خود را حفظ کرده و توانائي افزايش پيچيدگي تراشه ها را در اختيار طراحان سخت افزاري قرار مي دهد. در واقع اين اعتبار تا زماني که CPUها به محدوديتهاي سخت فيزيکي در رابطه با چگالي مدار برخورد نکرده اند، ادامه خواهد داشت.

در گذشته، توليدکنندگان از ظرفيت اضافي براي توسعه CPUهاي سوپراسکالر با واحدهاي اجرائي تکراري و خط لوله هاي عميق( به منظور بهره برداري از موازي سازي يا Parallelism در سطح دستورالعمل)، استفاده مي کردند. با اينحال، آنها به اين ترتيب تنها 25 درصد از فضاي اضافي تراشه که در هر سال با اضافه شدن ويژگي هاي جديد معماري در دسترس قرار مي گرفت را به بازدهي مي رساندند. بعلاوه، فاصله عملکردي مابين پردازنده ها و حافظه، بهره احتمالي از افزايش دائمي فرکانس پردازنده ها را محدود مي کند. بنابراين، مسير طراحي که در حال حاضر به منظور افزايش عملکرد دنبال مي شود، از فضاي قابل دسترسي تراشه براي توسعه CPU هاي چند هسته اي و چند تاري استفاده مي نمايد. اين طراحيها از چند وظيفگي( Multitasking) از طريق برنامه هاي موازي و يا اجراي همزمان نرم افزارهاي کاربردي متعدد، پشتيباني مي کنند.

طراحان در ابتدا CPUهاي چند تاري( Multithreaded) را معرفي نمودند که Content-Switching( سويچينگ لايه چهار تا هفت) مابين تارها را در سطح سخت افزار، پياده سازي مي کردند تا زمان بي باري منابع در پردازنده هاي سوپراسکالار پيچيده را کاهش دهند. پس از مدت کوتاهي، طراحان بيش از يک هسته پردازنده را بر روي يک تراشه واحد ترکيب نمودند و حالا ما پردازنده هاي 8 هسته اي را در اختيار داريم. با اين فرض که قانون مور همچنان معتبر باشد، مي توانيم انتظار داشته باشيم که تعداد هسته هاي پياده سازي شده بر روي تراشه ها هر دو سال يکبار دو برابر شده و به اين ترتيب در آينده نزديک شاهد ارائه CPUهائي با 16 پردازنده ( و يا بيشتر) باشيم.

? طيف طراحي
 

هر دو گروه CPUهاي چند هسته اي و چند تاري، با اجراي تارهاي متعدد از خصوصيت همزماني ( Concurrency) بهره مي گيرند، هرچند که طراحي آنها اهداف متفاوتي را دنبال مي کنند. پردازنده هاي چند تاري، از اجراي همزمان تارها در يک سطح با دانه بندي ظريف تر از دستورالعملها، پشتيباني مي کنند تا با صدور دستورالعملها از تارهاي متعدد، بهره برداري بهتري را از منابع پردازنده ها فراهم نمايند. پردازنده هاي چند هسته اي، به سطح بالاتري از همزماني رشته دست پيدا مي کنند و تمرکز کمتري بر ميزان استفاده از هر هسته دارند، در حاليکه مقياس پذيري از طريق تکرار هسته ها را هدف گرفته اند. اين CPUها غالباً CMP(Chip MultiProcesor) ناميده مي شوند. جديدترين طرح هاي CPU و GPU نظير Sun UltraSPARC T2,IBM Power6 ATI RV770، Intel Xeon، ، و Nvidia GT200 هر دو گزينه را ترکيب نموده و داراي هسته هاي چند تاري متعدد هستند.

? هسته هاي چند تاري

 

تمام هسته هاي چند تاري، تارهاي سخت افزاري متعددي را بصورت On-chip و آماده براي اجرا نگه مي دارند. اين ويژگي براي انجام سوئيچينگ با دانه بندي دقيق مابين تارهاي قابل اجرا و به حداقل رساندن هزينه هاي سوئيچ محتوا( Content Switching) از طريق تسهيم( Multiplexing) در سطح سخت افزار، ضروري است.
هر رشته On-chip به مؤلفه هاي وضعيت مخصوص به خود نظير نشانگر (Pointer) دستورالعمل و ساير رجيسترهاي کنترلي نياز دارد. بنابراين، تعداد تکرارهاي مورد نياز از مؤلفه هاي وضعيت( State Components) و متعاقباً بالاترين درجه پشتيباني سخت افزاري از همزماني و اشباع واحدهاي اجرائي براساس تعداد تارهاي On-chip تعيين مي گردد. تارهاي بيشتر در عين حال امکان پنهان سازي تأخيرهاي دسترسي و يا وقفه هاي ايجاد شده بخاطر خطاي پيش بيني انشعاب را فراهم مي کنند. پردازنده زئون اينتل براي پشتيباني از يک رشته سخت افزاري ثانويه، تنها به 5 درصد فضاي تراشه بيشتر نياز دارد، اما پس از اين افزايش، بطور آشکارا Super-Linear خواهد بود.
تعداد تارهاي On-chip در هر هسته که بطور معمول توسط پردازنده هاي تجاري پشتيباني مي شوند، از 2 در پردازنده هاي Xeon اينتل تا 8 در پردازنده هاي Sun UltraSPARC T2 متغير است. عدد فوق العاده 128 تار در Tera/Cray MTA نشان دهنده يکي از اولين طراحيهاي موفق عملي( و نه تجاري) است. اين پردازنده به تعداد زيادي از تارها نياز داشت تا تأخيرهاي دسترسي حافظه را پنهان نموده و فقدان يک کاشه در معماري خود را جبران کند. طراحان از همين طراحي در واحد پردازنده گرافيکي فوق العاده چند تاري Nvidia GT200 استفاده کرده اند که در آن از حداقل کاشه ممکن استفاده شده است تا منابع محاسباتي اضافي به حداکثر برسند.
جدول [1] نشان مي دهد که توليدکنندگان از تنوعي از روشها براي سوئيچ مابين تارهاي داخل هر هسته استفاده مي نمايند. اين روشها از ايجاد تناوب مابين تارها( Alternating) تا صدور واقعي دستورالعملها از تارهاي متعدد در هر سيکل را در بر مي گيرند. جديدترين پردازنده ها، از روش دوم استفاده مي کنند که معمولاً تحت عنوان SMT(Simultaneous MultiThreading) شناخته مي شود، هرچند که اينتل آن را تحت عنوان فناوري HTT(Hyperthreading Technology) معرفي نموده است. SMT در هر سيکل، دستورالعملهائي که قبلاً کدگشائي شده اند را از تنها يک زيرمجموعه از تارهاي On-chip ارسال مي کند. تعداد تارهاي داخل اين زيرمجموعه در عين حال بر ميزان بکارگيري واحدهاي اجرائي تأثير مي گذارد، خصوصاً اگر تارها، استفاده يکديگر از اين واحدها را تکميل نمايند. با اينحال، در حال حاضر هيچ پردازنده تجاري در دسترس قرار ندارد که بتواند صدور دستورالعملها را از بيش از دو رشته در هر هسته و هر سيکل انجام دهد.

? پردازنده هاي چند هسته اي

 

چند تاري سخت افزاري در هر هسته، مقياس پذيري را بخاطر نقطه اشباع واحدهاي اجرائي و هزينه تارهاي اضافي محدود کرده است، در حاليکه پردازنده هاي چند هسته اي پتانسيل بيشتري را براي مقياس پذيري وعده مي دهند. جدول [1]، فهرست خلاصه شده اي از پردازنده هاي چند هسته اي موجود را نشان مي دهد. اکثر تراشه هاي چند هسته اي اوليه، بصورت يک جفت سازي ساده از طراحي تراشه هاي تک هسته اي موجود ساخته مي شدند( همان کاري که در Itanium دو هسته اي انجام شد). اين تراشه ها، با حفظ بخش عمده اي از معماري اسلاف خود، صرفاً واحدهاي اجرائي و کنترلي را تکرار نموده و بقيه واحدهاي موجود بر روي تراشه را به اشتراک مي گذاشتند. واحدهاي به اشتراک گذاشته شده عبارت بودند از کاشه، کنترلر حافظه، واحدهاي پردازشي ثانويه نظير واحدهاي مميزي شناور( FPU)، مؤلفه هاي خنک کننده و پايه هاي خارجي. با اينحال، به اشتراک گذاري با معايبي در زمينه درگيري بر سر منابع اشتراکي نيز همراه است.



گرايش هاي موجود در حوزه توسعه معماري ها، بيانگر يک حرکت به سمت تکرار مؤلفه هاي اضافي On-chip ( نظير کنترلر حافظه و کاشه ها) هستند که مي توانند خصوصي بوده و يا به اشتراک گذاشته شوند. براي مثال، هريک از پردازنده هاي IBM Power6 و AMD Opteron داراي کاشه هاي L2 اختصاصي هستند، اما چند کنترلر حافظه را به اشتراک مي گذارند.

? ادغام مؤلفه ها

 

تعداد و انتخاب مؤلفه هاي مجتمع On-chip، يک تصميم گيري مهم در حوزه طراحي است. مؤلفه هاي احتمالي براي درج بر روي تراشه عبارتند از کنترلرهاي حافظه، اينترفيس هاي ارتباطي و حافظه. پياده سازي کنترلر حافظه بر روي تراشه، باعث افزايش پهناي باند و کاهش تأخير مي شود که گرايش اخير به سمت ادغام اين مؤلفه را توضيح مي دهد.
بعضي از طراحي ها از چند کنترلر حافظه مجتمع پشتيباني مي کنند تا امکان مقياس پذيري پهناي باند دسترسي حافظه با تعداد هسته ها را فراهم نمايند. هر دو پردازنده 
IBM Power6 و Sun UltraSPARC T2 در اين گروه قرار دارند. ادغام يک هسته GPU بر روي تراشه، گزينه ديگري به حساب مي آيد که براي نسل بعدي CPUها مطرح شده است. يک روش مشابه، قبلاً در بازارهاي موبايل و Embedded مورد استفاده قرار گرفته و به دفعات هر دو هسته همه منظوره ( General-Purpose) و هسته پردازنده سيگنال ديجيتال را بر روي يک تراشه واحد ادغام کرده است. سيستم Blu Gene/P شرکت IBM بر يک طراحي SoC(System on-chip) فوق العاده مجتمع تکيه دارد و به 4 هسته، 5 اينترفيس شبکه، 2 کنترلر حافظه و 8 مگابايت کاشه L3 مجهز مي باشد که به سيستم امکان مي دهند به صدها هزار پردازنده مقياس دهي گردد. کنترلرهاي حافظه مجتمع، I/O، توابع امنيتي و يک اينترفيس شبکه پيشرفته در پردازنده هاي UltraSparc، مي تواند مثال بسيار خوب ديگري باشد.


? کاشه هاي اختصاصي در مقابل کاشه هاي اشتراکي


 

گذشته از همزماني، کاشه ها مهمترين ويژگي در ارتقاء عملکرد پردازنده هاي مدرن به حساب مي آيند، زيرا فاصله مابين سرعت پردازنده و زمانهاي دسترسي حافظه را پر مي کند. روش غالب براي نزديک کردن اين فاصله، از فضاي قابل دسترسي تراشه براي تأمين مقدار بيشتري از حافظه کاشه On-chip استفاده مي نمايد. بعضي از معماريهاي پردازنده، يک روش کاملاً متفاوت را انتخاب کرده و اساساً هيچ کاشه اي را بکار نمي گيرند. در اين روش، تأخيرهاي حافظه از طريق پردازش چند تاري( نظير Tera/Cray MTA) و يا با استفاده از حافظه اي که با سرعت بالا مستقيماً آدرس دهي مي گردد ( نظير Cell SPE) پنهان مي شود.
سازماندهي حافظه کاشه، يکي از ملاحظات بسيار مهم به حساب مي آيد. جديدترين طراحيهاي تراشه هاي چند هسته اي، داراي يک کاشه L1 اختصاصي براي هر هسته مي باشند تا ميزان رقابت براي اين سطح حياتي از کاشه را به حداقل ممکن برسانند. اگر هسته از تارهاي سخت افزاري متعددي پشتيباني کند، کاشه L1 مابين تارهاي داخل هر هسته به اشتراک گذاشته مي شود. تخصيص کاشه L2 در طراحيهاي چند هسته اي داراي تنوع بيشتري مي باشد. اين کاشه مي تواند بطور خصوصي يا اختصاصي براي هر هسته پياده سازي گرديده و يا مابين هسته ها به اشتراک گذاشته شود. کاشه L3 بطور تاريخي يک ساختار خارج از تراشه ( Off-chip) و اشتراکي بوده است، اما طراحيهاي جديدتري نظير Itanium شرکت اينتل و Opteron چهار هسته اي شرکت AMD به کاشه هاي L3 از نوع on-chip مجهز هستند.
اينکه کاشه هاي اشتراکي مفيدتر هستند يا کاشه هاي خصوصي، نه تنها به مصالحه هاي مرتبط با استفاده از فضاي تراشه، بلکه به خصوصيات نرم افزارهاي کاربردي بستگي خواهد داشت. کاشه هاي اشتراکي در صورتي اهميت بيشتري خواهند يافت که تارهاي يک نرم افزار کاربردي واحد بر روي هسته هاي متعددي اجرا گرديده و مقدار قابل ملاحظه اي از داده ها را به اشتراک بگذارند. در اين صورت، يک کاشه اشتراکي بسيار اقتصادي تر خواهد بود زيرا از ايجاد کپي هاي متعدد داده ها و انتقالهاي مکرر« کاشه به کاشه» اجتناب خواهد کرد. با اينحال، کاشه هاي اشتراکي مي توانند تقاضاهاي بسيار زيادي را بر اتصالات داخلي( Interconnects) تحميل نمايند.
تارهاي نرم افزاري که داده هاي زيادي را به اشتراک نمي گذارند، مي توانند به رقابت براي کاشه بپردازند. اين وضعيت، پيش بيني سرويس مورد نياز هر رشته را دشوار خواهد نمود زيرا اينکار به جزئيات الگوهاي دسترسي حافظه، مکان دسترسي حافظه و همچنين بار کاري سيستم بستگي خواهد داشت. کاشه هاي خصوصي، يک راه حل آسان براي تفکيک عملکرد و تضمين قابليت پيش بيني سرويسها را فراهم مي کنند.

بعنوان يک روش انعطاف پذيرتر، يک طراحي دو رگه( Hybrid) تعداد مختلفي از بانکهاي کاشه را فراهم مي نمايد که برحسب نيازهاي تارهاي در حال اجرا به کاشه، بعنوان کاشه هاي خصوصي و يا اشتراکي تخصيص داده شوند. اين روش مي تواند از هر گروه تارهائي که داده ها را به اشتراک مي گذارند و تارهائي که داده ها را به اشتراک نمي گذارند، پشتيباني کند. همانطور که در تحقيقات اخير پيشنهاد شده است، طراحي دو رگه مي تواند براي تقسيم بندي متناسب بصورت ديناميک، بهسازي گردد. اين ويژگي، امکان تأمين يک سطح سرويس معادل يک تراشه تک هسته اي با مقدار متناظري از منابع کاشه تدارک ديده شده را براي هر هسته تأمين مي کند.



? تفاوت منابع اختصاصي و اشتراکي رشته سخت افزاري 


برخلاف طراحيهاي چند هسته اي که به سمت تکرار اکثر منابع گرايش دارند، اشتراک گذاري يک روش غالب در چند تاري( Multithreading) سخت افزاري به حساب مي آيد. با اينحال، هنوز سطحي از تکرار و تقسيم بندي، ضروري خواهد بود. تکرار براي واحدهاي اجرائي که مي توانند در معرض رقابت شديدي قرار بگيرند، حياتي است. تقسيم بندي ثابت( Static) و يا ديناميک يک منبع، دسترسي انحصاري هر رشته به سهم خودش را تضمين مي نمايد که در نتيجه يک راه حل ساده براي تأمين جريان مستقل و عادلانه اجراي تارها را فراهم مي کند.

براي مثال، بعضي از طراحي ها تقسيم بندي را براي بافرهاي دستورالعمل پياده سازي مي نمايند. تقسيم بندي ثابت، مرزهاي قطعي را ايجاد مي کند در حاليکه تقسيم بندي ديناميک مي تواند مرزها را بطور انعطاف پذيري انتخاب نموده و در نتيجه يک حداقل سهم را براي هريک از تارهاي در حال اجرا حفظ کند. اشتراک گذاري، انعطاف پذيري بسيار بيشتري را در استفاده از منابع امکانپذير مي سازد، اما باعث افزايش احتمال رقابت گرديده و مي تواند به مکانيزمهائي براي جلوگيري از انحصارطلبي ( Monopolization) نياز داشته باشد. اکثر طراحيهاي چند تاري، از ترکيبي از اشتراک گذاري، تکرار و تقسيم بندي استفاده مي کنند. تصميم گيري طراحي براساس ميزان رقابت بر سر يک منبع خاص در بين تارها، ملاحظات بي طرفي و هزينه انجام مي شود.

 

? تحمل نقص

تقسيم بندي ديناميک کاشه و يا ساير منابع، مي تواند گسترش يابد تا با نواقص سخت افزاري که احتمال وقوع آنها با افزايش چگالي مدار بيشتر خواهد شد، درگير شود. اين نواقص مي توانند باعث ايجاد نويز الکتريکي و يا اشکالات دائمي کوچک در سيليکون گرديده و احتمالاً با انتشار از مؤلفه هاي منفرد به خرابي کل تراشه منتهي شوند. بعضي از توليدکنندگان CPUها، هسته هاي معيوب را در مرحله توليد از کار مي اندازند تا بازدهي آنها را بعنوان قالبي از تقسيم بندي ثابت افزايش دهند. بعلاوه، تحمل نقص مي تواند قابليت پيکربندي ديناميک و تقسيم بندي واحدهاي تکراري و قابل تفکيک نظير اتصالات درون تراشه اي و کنترلرهاي حافظه را علاوه بر بانکهاي متعدد کاشه، در بر داشته باشد. اين قابليت به پشتيباني از سطوح مختلف جدا سازي در مقابل اشتراک گذاري و جداسازي مؤلفه هاي فعال از مؤلفه هاي معيوب، منتهي مي گردد. چنين راه حلهائي تا حدود زيادي دسترس پذيري کلي را افزايش داده و کاهش عملکرد قابل قبولي را در صورت بروز نواقص به همراه خواهند داشت.



? اتصالات داخلي


يک ويژگي مهم ديگر که بر عملکرد تراشه هاي چند هسته اي تأثير مي گذارد، برقراري ارتباط مابين مؤلفه هاي On-chip مختلف است: هسته ها، کاشه ها و ( در صورتيکه ادغام شده باشند) کنترلرهاي حافظه يا شبکه. طراحيهاي اوليه از يک گذرگاه مشابه با سيستمهاي چند پردازنده اي سنتي استفاده مي کردند. طراحيهاي امروزي به سمت يک تقاطع ( Crossbar) و يا ساير مکانيزم هاي پيشرفته براي کاهش تأخير و رقابت استفاده مي کنند. براي نمونه، CPUهاي شرکت AMD از يک تقاطع استفاده مي کنند. در حاليکه پردازنده هاي Tilera TILE64 يک Mesh چند لينکي بدون مانع ( Nonblocking) را پياده سازي مي نمايند. با اينحال، اتصالات داخلي مي توانند بسيار پر هزينه باشند: يک تقاطع 8×8 بر روي تراشه مي تواند ناحيه اي به بزرگي 5 هسته را اشغال نموده و به اندازه دو هسته برق مصرف کنند.


با کاشه هاي صرفاً خصوصي بر روي تراشه، تبادل داده ها مابين تارهاي در حال اجرا بر روي هسته هاي مختلف، بطور تاريخي استفاده از Interconnect هاي خارج از تراشه( Off-chip) را اجباري ساخته است. کاشه هاي On-chip اشتراکي بطور طبيعي از تبادل داده ها مابين تارهاي در حال اجرا بر روي هسته هاي مختلف پشتيباني مي کنند. بنابراين، معرفي يک سطح از کاشه اشتراکي بر روي تراشه ( عموماً L2 و يا در گرايشهاي تازه تر، L3) و يا پشتيباني از ميان برهاي تبادل داده نظير انتقال کاشه به کاشه، به کاهش ترافيک Off-chip کمک خواهد نمود. با اينحال، تعداد بيشتر سطوح کاشه On-chip، اتصالات داخلي بر روي تراشه را ملزم به پشتيباني از ملزومات بسيار بيشتري در زمينه پهناي باند و پيچيدگي مي نمايد.


با افزايش پردازش داده ها از طريق موازي سازي بيشتر در سطح رشته، معمولاً تقاضا براي بافت ارتباطي Off-chip نيز براي دسترسي هاي حافظه، I/O و يا ارتباطات مابين پردازنده ها افزايش مي يابد. به منظور برآورده نمودن اين ضرورت، ارتباطات Off-chip از ساختارهاي مبتني بر گذرگاه به Interconnectهاي نقطه به نقطه مبتني بر بسته گرايش پيدا کرده اند AMD اولين بار اين مفهوم را بصورت HyperTransport پياده سازي کرد و سپس اينتل نيز با QuickPath مسير مشابهي را دنبال نمود. اتصالات Off-chip و پشتيباني از وابستگي داده ها( data-coherency) در عين حال بر مقياس پذيري سرورهاي مبتني بر CPUهاي متعدد، تأثير مي گذارد.


?
طراحي هاي اختصاصي

 
بعضي از پردازنده هاي چند هسته اي، براي اداره نمودن بارهاي کاري بسيار اختصاصي طراحي شده اند. سري Azul Vega از تراشه هاي چند هسته اي طراحي شده براي افزايش عملکرد عمليات جاوا، استفاده مي کند. طراحان، پردازنده Tilera TILE64 را به منظور پردازش داده ها با 64 هسته پردازشي ساده کم مصرف، بهينه سازي نموده اند. اين ترکيب، ظرفيت جريان داده ها را افزايش داده و پردازنده مذکور را به يک گزينه مناسب براي سيستم هاي Embedded نظير روترهاي مخابراتي تبديل مي کند. با وجود آنکه IBM Cell در ابتدا براي کنسول هاي بازي طراحي شده بود، اما در عين حال توانست سودمندي خود براي کاربردهاي پردازش داده ها در حوزه هاي نجوم و زيست انفورماتيک( Bioinformatics) به اثبات برساند


GPU يک مثال فوق العاده از طراحي چند هسته اي اختصاصي به حساب مي آيند.GPUهاي مدرن داراي 10 هسته يا بيشتر هستند که هريک از آنها براي پردازش SIMD داده ها که از طريق صدها و يا هزاران رشته ساده شده در هر هسته انجام مي گردد، بهينه سازي شده اند. اين ويژگي، آنها را براي پردازش شديداً عددي نظير راندوي ويديوئي، ژن شناسي، مدلسازي علمي و يا رمزنگاري مناسب مي سازد.


?
عملکرد پردازنده هاي چند هسته اي و چند تاري


عملکرد تک تاري: سيستمهاي مبتني بر پردازنده هاي Intel Core i7 بالاترين رده بندي را در مقايسه هاي SPECfp2006 و SPECint2006 به خود اختصاص داده و امتياز بدست آمده توسط آنها در حوزه هاي سرعت Integer و سرعت Coating-point( که توسط کنترلر حافظه آنها پشتيباني مي شود) در مقايسه با پردازنده هاي Opteron شرکت AMD ( نتايج HP Opteron 2348 که در دسامبر سال 2008 بدست آمده اند) به ترتيب 68 و 84 درصد بالاتر بوده است. بعلاوه، پردازنده هاي Core i7 اينتل داراي بهترين امتياز در توان عملياتي SPECfp و SPECint نيز مي باشند.


در رابطه با توان عملياتي براي نرم افزارهاي کاربردي عددي SPECfp، پردازنده Opteron در هنگام استفاده از کد شديداً بهينه سازي شده تنها اندکي بهتر از Sun UltraSPARC T2 خواهد بود، اما با استفاده از بهينه سازي استاندارد به يک برتري 26 درصدي دست پيدا مي کند. با اينحال، UltraSPARC T2 پردازنده Opteron را در مقايسه چند تاري SPECweb 2005 براي زمانهاي پاسخ و توان عملياتي سرورهاي وب با سرويس دهي به 36 درصد درخواستهاي بيشتر در طول يک دوره زماني مشابه، پشت سر مي گذارد.

مطالعات شبيه سازي با نرم افزارهاي کاربردي بانک اطلاعاتي، خصوصاً OLTP و DSS، چهل درصد کاهش در زمان پاسخدهي را براي POWER5 در مقايسه با UltraSPARC T1 نشان داده اند، البته در صورتي که يک بار کاري اشباع نشده بر آنها تحميل گردد. با اينحال، UltraSPARC T1 تحت فشارهاي کاري اشباع شده توانست 70 درصد برتري توان عملياتي را به نمايش بگذارد.

عملکرد چند تاري: مزاياي تعدد تارهاي سخت افزاري، تا حدودي به اين موضوع بستگي خواهند داشت که نرم افزار کاربردي از Multithreading استفاده مي کند يا Multiprocessing. فعال نمودن Hyperthreading دو تاري بر روي پردازنده Xeon اينتل با يک افزايش عملکرد 33 درصدي نسبت به اجراي تک تاري براي نسخه OpenMP مقايسه NAS FT همراه بود. در مقايسه، نسخه Multiprocess مقايسه NAS FT شاهد کاهش عملکرد بود. نسخه OpenMP مقايسه FT با 8 درصد افت عملکرد نسبت به اجراي تک تارياي مواجه شد، در حاليکه نسخه چند پردازشي استاندارد FT شاهد يک افت 50 درصدي در عملکرد بود که تا حدود زيادي به رقابت بر سر حافظه توسط ارتباطات شديد Interprocess مربوط مي شد.
عملکرد چند هسته اي: مثال پردازنده هاي دو هسته اي AMD Opteron، با دستيابي به 37 درصد عملکرد بهتر هنگام بکارگيري هسته دوم در اندازه گيريهاي مقايسه استاندارد چند پردازشي NAS CG/FT، بهره عملکردي هسته هاي متعدد را به نمايش مي گذارد. همين مطالعه در عين حال نشان داد که يک تراشه دو هسته اي در مقايسه CG تنها 5/8 و در مقايسه FT تنها 9 درصد کندتر از دو تراشه که هرکدام در حال استفاده از يک هسته واحد هستند، عمل مي کند. اين در حالي است که يک تراشه دو هسته اي بازدهي بسيار بالاتري در زمينه هزينه ها و مصرف برق را به همراه دارد.يک مطالعه ديگر با نرم افزارهاي کاربردي چند پردازشي خالص که بر روي کلاسترهاي بزرگي با حداکثر 4096 پردازنده اجرا مي شدند، مزيتهائي مابين 20 تا 50 درصد را با استفاده از يک هسته ثانويه به نمايش گذاشت.

? پيچيدگي هسته در مقابل تعداد هسته ها


بهينه سازيهاي سنتي پردازنده ها، به دنبال افزايش سرعت اجراي سريال يک رشته واحد بودند و از فناوريهائي نظير اجراي خارج از ترتيب، پيش بيني ديناميک انشعاب و خط لوله هاي طولاني تر براي دستيابي به نرخ کلاک بالاتر استفاده مي کردند. دسترس پذيري موازي سازي در سطح رشته به همراه موازي سازي در سطح دستورالعمل، تصميم گيريهاي طراحي مهمي را در زمينه ميزان ضرورت ساده سازي طراحيهاي سنتي CPU به منظور اختصاص مدار بيشتر به همزماني، ايجاد مي کنند.

UltraSPARC T1 از شرکت Sun که تعداد FPUهاي موجود بر روي تراشه را کاهش مي دهد و يا پردازنده Atom اينتل که اجراي خارج از ترتيب را حذف مي نمايد، مثالهاي خوبي در اين زمينه مي باشند. در پردازنده Cell که يک مورد غائي در اين زمينه به حساب مي آيد، گرايش مذکور به کاهش چشمگير مجموعه دستورالعملها و حذف پيش بيني ديناميک انشعاب يا بازچيني( Reordering) دستورالعملها منتهي گرديده است. ساير تراشه ها( نظير Power6 که واحدهاي FPU و Integer شديداً بهينه سازي شده نظير يک FPU دسيمال را ارائه مي کند)، پيچيدگي را افزايش داده اند تا عملکرد هر هسته را به حداکثر برسانند. پردازنده هاي Mainframe در عين حال به پشتيباني از پردازش نقل و انتقالات سنگين نيز احتياج دارند. به همين دليل، پردازنده z10 شرکت IBM معماري Power6 را با پيش بيني پيشرفته انشعاب و مديريت کاشه، توسعه داده است.

افزايش پهناي صدور( Issue-Width) در عين حال باعث حداکثر سطح عملکرد نيز خواهد شد، همانند معماري POWER5 که 5 دستورالعمل را در هر سيکل صادر مي کند و يا تراشه هاي AMD که تنها 3 دستورالعمل را در هر سيکل صادر مي کنند. پردازنده هائي که بر روي عملکرد هر رشته تمرکز دارند، بطور کلي داراي سرعتهاي کلاک بسيار بالاتري در مقايسه با پردازنده هائي مي باشند که بر پشتيباني از تعداد بيشتر تارها متمرکز هستند. اين تمايز بخوبي در نرخ کلاک 5 گيگاهرتزي پردازنده IBM POWER6 و سرعت کلاک 3/73 گيگاهرتزي پردازنده PentiumExtremeEdition در مقايسه با سرعت کلاک 1/6 گيگاهرتزي پردازنده شديداً چند تاري UltraSPARC T2 قابل مشاهده است.

با اينحال، استفاده از فضاي اضافي تراشه براي ارتقاء عملکرد هر رشته، به بهره هاي غير خطي منتهي مي شود. بعبارت ساده تر، تجربه نشان مي دهد که چهار برابر شدن پيچيدگي تنها با دو برابر شدن عملکرد همراه خواهد بود. يکي از ملاحظات مهم در زمينه سطح عملکرد براي هر نرم افزار کاربردي، اين است که برنامه هاي سريال نمي توانند از همزماني تراشه بهره برداري کنند. حتي در برنامه هاي موازي نيز بعضي از قسمتهاي الگوريتم بايستي بصورت ترتيبي ( Sequential) اجرا شوند و قانون Amdahl اشاره مي کند که حداکثر سرعت يک الگوريتم براساس درصد بخش ترتيبي آن مشخص مي گردد. متوازن نمودن پيچيدگي هسته و تعداد هسته ها، به همراه بازخوردهاي کاهش دهنده از عملکرد بالاتر هر رشته را مي توان بعنوان ضميمه اي از اين قانون، به رسميت شناخت. در عين حال، اين ضميمه در کنار ساير ملاحظات به نتيجه گيريهاي زير منتهي خواهد شد:

- تعداد زياد هسته هاي ساده داراي ارجحيت خواهد بود، ماداميکه بخش سريال نرم افزار کاربردي بسيار کوچک باشد. در غير اينصورت، هسته هاي پيچيده تر بسيار مفيدتر هستند.

- با افزايش تقاضا براي فضاي تراشه به منظور پياده سازي اتصالات داخلي مابين تعداد بيشتري از هسته ها و مقياس پذيري محدود نرم افزار کاربردي بخاطر فقدان موازي سازي کافي، سربار هماهنگ سازي و يا عدم توازن بار کاري، هسته هاي پيچيده تر ارجحيت پيدا مي کنند.
- نرم افزارهاي کاربردي که مي توانند سطح بالائي از حداکثر عملکرد تئوريک را بکار بگيرند( نظير نرم افزارهاي کاربردي با تأکيد بر محاسبات مميزي شناور و يا نرم افزارهاي کاربردي عددي شديداً موازي)، مي توانند نتايجي بالاتر از آنچه که معمولاً پيش بيني مي شود را از پيچيدگي بيشتر بدست آورند.
با اينحال، علاوه بر عملکرد هر نرم افزار کاربردي، بار کاري کلي نيز بايستي در نظر گرفته شود. عملکرد هر نرم افزار کاربردي زماني اهميت خواهد داشت که بار کاري کلي تنها حاوي اندکي از نرم افزارهاي کاربردي بوده يا با نرم افزارهاي کاربردي حساس به عملکرد سر و کار داشته باشيم. در غير اينصورت، به آساني مي توان بکارگيري مناسب را از بارهاي کاري با چندين وظيفه سريال و نرم افزارهاي کاربردي موازي که تنها به کسري از تعداد هسته هاي مقياس دهي شده اند، بدست آورد. اين ترکيب مي تواند به يک توان عملياتي (Throughput) بالا و همچنين زمانهاي برگشت ( Turnaround) مناسب منتهي گردد که از اهداف طراحي سرورهاي تجاري نظير سرورهاي وب و يا سرورهاي بانک اطلاعاتي به حساب مي آيند. براي ايجاد توازن مابين عملکرد هر رشته و توان عملياتي، مقياس اول زماني افزايش خواهد يافت که امکان تخصيص منابع بيشتري بر روي تراشه بصورت ديناميک وجود داشته باشد( مثلاً براي اجراي قضاوتي يا Speculative Execution). اين وضعيت احتمالاً براي نرم افزارهاي کاربردي با وابستگي بالا به داده ها و « Miss»هاي کاشه مفيد خواهد بود. پردازنده Rock شرکت Sun که در مراحل پيش از توليد قرار دارد، اين ايده را با استفاده انتخابي از دو رشته سخت افزاري در هر هسته براي اجراي يک رشته نرم افزار کاربردي، پياده سازي مي نمايد. يک روش ساده تر که قبلاً در بعضي از پردازنده هاي چند تارياي اعمال شده است، در صورت اجرا در حالت تک وظيفگي( Single-Task) منابع تقسيم بندي شده را به يک رشته تخصيص مي دهند. اين روش براي مثال در پردازنده هاي Xeon و PentiumExtremeEdition اينتل پياده سازي شده است.
بعنوان يک احتمال ديگر، طراحي تراشه مي تواند شامل تنوعي در رابطه با پيچيدگي هسته ها باشد( نظير پردازنده Cell شرکت IBM). چند هسته با پيچيدگي بالا مي توانند بخشهاي ترتيبي نرم افزارهاي کاربردي سنگين را اجرا کنند. اگرچه اينگونه پردازنده ها هنوز قابل دسترسي نيستند، اما تحقيقات نشان مي دهند که پردازنده هاي حاوي تعداد زيادي از هسته هاي ساده و تعداد کمي هسته هاي داراي عملکرد بالا مي توانند بالاترين قدرت کلي پردازش را براي سطح معيني از فضاي تراشه و مصرف برق فراهم نمايند. با اينحال، طراحي و برنامه ريزي اين پردازنده ها مي تواند بسيار دشوارتر باشد.

? هزينه و مصرف برق


عملکرد ديگر بر اهداف طراحي پردازنده ها تسلط ندارد: هزينه هاي توليد تراشه و تحمل نقص، بازدهي مصرف برق و انتشار حرارتي نيز همگي به ملاحظات حياتي در اين حوزه تبديل شده اند.

از آنجائيکه هسته ها ساده تر شده اند، مصرف برق آنها بطور خطي کاهش مي يابد که يک برتري مهم براي پردازنده هاي چند هسته اي به حساب مي آيد. افزايش بازدهي مصرف برق و کاهش گرماي توليد شده، امکان ادغام هسته هاي بيشتر در داخل يک پردازنده واحد را فراهم مي سازد، البته با اين مصالحه که مصرف برق اتصالات داخلي با تعداد هسته هاي يک پردازنده افزايش پيدا مي کند. مصرف برق بر انتخاب مابين طراحيهاي چند هسته اي و طراحيهاي چند تاري تک هسته اي تأثير مي گذارد: گزينه اول از بازدهي مصرف برق بالاتري برخوردار است، اما طراحيهاي دو رگه با هسته هاي SMT متعدد همان سطح از عملکرد براي هر وات معادل با طراحيهاي CMP خالص را تأمين مي کنند. پردازنده هاي چند هسته اي در عين حال گزينه هاي بيشتري را براي مديريت مصرف برق ارائه مي کنند، زيرا امکان مديريت مصرف برق هسته هاي CMP بطور جداگانه از طريق خاموش کردن آنها و يا کاهش فرکانس کاري در مواقعي که سيستم با بار کاري سبکي درگير است، وجود خواهد داشت. تنظيم مصرف برق يک موضوع حياتي در حوزه Computing موبايل به حساب مي آيد، اما سرورها نيز مي توانند تا حدود زيادي از آن سود ببرند.

از يک نقطه نظر کلي، افزايش هزينه هاي الکتريکي باعث تقاضا براي افزايش بازدهي مصرف برق پردازنده ها و ساير مؤلفه هاي سيستم مي گردد، با اين مزيت اضافي که هزينه هاي خنک کنندگي را کاهش مي دهد. با وجود آنکه CPU تنها 25 تا 45 درصد از برق مصرفي يک سرور را به خود اختصاص مي دهد، هزينه هاي الکتريکي تحميل شده براي يک دوره 4 ساله مي توانند به قيمت خريد خود سيستم نزديک شوند. در مورد ماشينهاي Computing با عملکرد بالا، ساخت راه حلهاي سفارشي سازي شده خنک کنندگي مي تواند درست به اندازه خود کامپيوتر هزينه در بر داشته باشد. بعلاوه، کاهش مصرف برق امکان افزايش چگالي Rack را در اتاقهاي سرور فراهم مي سازد.

بهينه سازي مقياس عملکرد براي هر وات و هر دلار، در عين حال امکان دستيابي به معماريهاي فوق العاده مقياس پذير را فراهم مي سازد. IBM Blu Gene/P و IBM Blu Gene/L که با سرعت کلاک 850 مگاهرتز کار مي کنند، مثالهاي فوق العاده اي در اين زمينه هستند. معماري Blu Gene/p که براي سادگي، هزينه توليد پائين، يکپارچه سازي بالا و مقياس پذيري قابل ملاحظه طراحي شده است، با بهره گيري از 40960 پردازنده به قدرت 450 ترافلاپس دست پيدا مي کند. IBM hybrid QS22/LS21 که در فهرست Top 500 سال 2009 بعنوان سريعترين معماري با بالاترين سطح بازدهي مصرف برق معرفي شده، در سوپر کامپيوتر Roadrunner آزمايشگاه هاي ملي Los Alamos مورد استفاده قرار گرفته است. اين معماري در عين حال بالاترين رتبه را در فهرست Green 500 که در نوامبر سال 2008 منتشر شده بود را به خود اختصاص داده است. کسب اين رده بنديهاي عالي با بهره گيري از بازدهي مصرف برق و هزينه تراشه هاي Cell بعنوان پردازنده هاي محاسباتي اصلي امکانپذير گرديده است.



? چالش نرم افزاري 


 
در آينده، رشد نمائي عملکرد پردازنده ها اصولاً از هسته ها و تارهاي سخت افزاري بيشتر، قابل دستيابي خواهد بود. با اينحال، همزماني سخت افزاري تنها با چند برنامه سريال و يا با نرم افزارهاي کاربردي موازي سازي شده قابل بهره برداري خواهد بود. بخاطر محدوديت فرصتهاي موجود براي ارتقاء بيشتر عملکرد براي هر رشته، کد سريال بايد به دقت بهينه سازي گردد. توان عملياتي مي تواند حتي بر روي کامپيوترهاي شخصي با برنامه سريال نيز بهبود پيدا کند، البته در صورتيکه هسته هاي اضافي به اجراي سيستم عامل يا وظايف پشت صحنه( نظير نرم افزارهاي امنيتي يا اسکنهاي ويروس) پرداخته و يا براي پشتيباني از Virtualization مورد استفاده قرار گيرند. با اينحال، استدلالهاي مذکور تنها براي تعداد کمي از هسته ها قابل پياده سازي هستند، در حاليکه گرايش کنوني به سمت پردازنده هاي چندين هسته اي پيش مي رود.

نرم افزار سرور مي تواند داراي ساختار چند تاري باشد تا توان عملياتي بالاتري را با جايگذاري ( Interleaving) در خواستها و احتمالاً بهره برداري از CPUهاي متعدد فراهم نمايند. با اينحال، اکثر نرم افزارهاي عادي براي همزماني آماده نشده اند. امکانات موجود براي استخراج موازي سازي بطور خودکار در حال حاضر بسيار محدود هستند و موازي سازي معمولاً بايستي صراحتاً بيان گردد. به همين دليل، Herb Sutter معتقد است که تغيير به سمت برنامه نويسي موازي براي ماشينهاي معمولي، تحول بزرگ بعدي پس از معرفي برنامه نويسي شيء گرا خواهد بود. نوشتن برنامه هاي موازي صحيح و کارآمد، يک چالش مهم است که به ابزارهاي بهتر و مدلهاي برنامه نويسي انتزاعي تري نياز دارد تا سلامت و راحتي برنامه نويسي رشته را افزايش دهند. راه حلهاي احتمالي براساس تجربيات بدست آمده در Computing با عملکرد بالا ارائه خواهند شد، در حاليکه بازار فوق العاده گسترش يافته اين حوزه نيز انگيزه لازم براي بهبود بيشتر تکنيکهاي HPC را فراهم مي سازد.

توسعه دهندگان نرم افزارهاي عمومي مي توانند از مدل برنامه نويسي حافظه اشتراکي OpenMP اقتباس نمايند که بطور گسترده اي در HPC مورد استفاده قرار مي گيرد. يک مسير نويدبخش ديگر، حافظه تراکنشي ( Transactional) است که مفهوم تراکنش را از بانکهاي اطلاعاتي عاريه گرفته و هماهنگ سازي دسترسي به داده ها را از طريق مکانيزمهاي خودکار Rollback و Checkpointing تسهيل مي نمايد. Sun Rock اولين پردازنده اي است که از اين مدل بصورت سخت افزاري براي موارد عمومي پشتيباني مي نمايد. بجاي صرف زمان بيشتر براي توسعه نرم افزار موازي، يک روش اقتصادي تر از کامپايلرها و کتابخانه هاي موازي سازي شده نظير کتابخانه BLAS(Basic Linear Algebra Subprograms) استفاده مي کند. نياز به ابزارها و مدلهاي برنامه نويسي بهتر، در عين حال بر HPC نيز تأثير مي گذارد. در حال حاضر، حتي اگر امکان به اشتراک گذاشتن داده ها نيز وجود داشته باشد، بسياري از برنامه نويسان موازي انحصاراً از پردازشها استفاده مي کنند، عليرغم آنکه عملکرد کلي از پياده سازي چند تاري نرم افزاري بر روي گره هاي SMP(Symmetric Multiprocessing) حافظه اشتراکي سود مي برد. کلاسترهاي HPC با گره هاي چندين هسته اي براي دستيابي به مقياس پذيري و بازدهي بالاتر احتمالاً نيازمند استفاده از مدلهاي برنامه نويسي Thread/Process دو رگه هستند. خوشبختانه، کاربران Multithreading را ترجيح مي دهند و احتمالاً گامهاي اضافي به سمت پياده سازي آن را آسانتر از اولين گامهاي برداشته شده از پردازش سريال به Multiprocessing خواهند يافت. بعلاوه، نرم افزارهاي کاربردي HPC به نمايش سطح بالاتري از موازي سازي در مقايسه با گذشته نياز دارند تا از همزماني سخت افزاري تأمين شده توسط پردازنده هاي چند هسته اي بهره گيري نمايند. اينکار احتمالاً تنها تا سطح معيني امکانپذير خواهد بود زيرا مقياس پذيري نرم افزارهاي کاربردي محدود است، مگر آنکه اندازه مسائل افزايش پيدا کند. يک عامل محدود کننده ديگر اين است که افزايش تعداد هسته ها کمتر از افزايش تعداد پردازنده ها براي عملکرد سودمند خواهد بود، به استثناء زماني که تارها داده هائي را به اشتراک مي گذارند. بنابراين، CPU هاي چند هسته اي عملاً SMPهاي جديد نيستند.

چالش نرم افزاري در عين حال بر کامپايلرهاي عمومي را که احتمالاً نياز دارند هسته هاي ساده شده يا اختصاصي ( نظير هسته هاي داخل تراشه Cell و يا يک GPU) را آدرس دهي نمايند، تحت تأثير قرار مي دهد.

در حاليکه در گذشته خود سخت افزار تا حدود زيادي موازي سازي سطح دستورالعمل را استخراج مي کرد، هسته هاي ساده شده اکنون به تلاش بيشتري از سوي کامپايلر براي بازچيني دستورالعملها، درج اشارات پيش بيني انشعاب استاتيک و Vectorize نمودن پردازش داده ها براي استخراج دستورالعملهاي SIMD نياز دارند.
در رابطه با سيستم عامل، Schedulerهاي سنتي پردازنده به تغييراتي نياز داشتند تا عدم تجانس و تفاوتهاي عملکردي در سلسله مراتب cpu ها، هسته ها و تارهاي سخت افزاري را هماهنگ نمايند. بعلاوه، تحقيقات نشان داده اند که زمانبندي( Sdheduling) با هدف به حداقل رساندن رقابت براي منابع، در صورتي اهميت خواهد داشت که ماشين کاملاً تحت فشار بار کاري قرار گرفته باشد.

چالش بعدي، تطبيق نرم افزارهاي کاربردي با نيازهاي موجود به منابع تکميلي در مواردي است که منابع به اشتراک گذاشته مي شوند( نظير نرم افزارهاي کاربردي نسبتاً حساس به کاشه در شرايطي که کاشه ها به اشتراک گذاشته مي شوند و يا نرم افزارهاي کاربردي متکي بر محاسبات مميزي شناور يا Integer در شرايطي که FPUها به اشتراک گذاشته شده اند). از آنجائيکه تارهاي يک نرم افزار کاربردي واحد احتمالاً همگن هستند، امکان دستيابي به گزينه هاي انطباقي بهتر با تاريهاي نرم افزارهاي کاربردي مختلف وجود خواهد داشت. براي کلاسترهاي HPC، اين گزينه تا امروز در سطح بالائي مورد استفاده قرار نگرفته است زيرا برآورد تأثيرات رقابتي مابين برنامه هائي با تعداد زيادي از پردازشهاي به هم پيوسته بسيار دشوار بوده و بايستي پيش از اجراي وظايف بر روي ماشين پيش بيني شوند. تحقيقات اخير، تأثيرات رقابتي نسبتاً اندکي را براي اکثر ترکيبهاي برنامه ها بر روي کلاسترهاي 64 گره اي را با پتانسيل دستيابي به دقت پيش بيني بالاتر نشان داده اند.


? مسيرهاي آينده نگرانه CPUهاي چند هسته اي و چند تاري


 
ما پيش بيني مي کنيم که طراحي تراشه ها( براساس قانون مور) به تعداد زيادي از هسته ها و تارهاي سخت افزاري رشد خواهد کرد. با اينحال، ارتباطات Off-chip و محدوديتهاي مربوط به پايه ها، موانع قابل توجهي را در مسير مقياس پذيري و قابليت برنامه ريزي تراشه هاي Multicore/Multithreaded بوجود مي آورند، زيرا بر نرخ انتقال داده ها از/ به هسته ها تأثير مي گذارند. در حال حاضر هيچ فناوري نويدبخشي براي افزايش چشمگير تعداد پايه ها در چشم انداز صنعت وجود ندارد. فناوريهاي انتقالي جديد( نظير اتصالات داخلي HyperTransport و QuickPatch) توان عملياتي مؤثر را براي هر پايه افزايش مي دهند، اما نمي توانند با رشد نمائي هسته ها همگام بمانند. از آنجائيکه هسته هاي بيشتر بايستي با داده ها و دستورالعملها مشغول نگهداشته شوند، آينده طراحيهاي چندين هسته اي مي تواند محدود باشد. اين نگرانيها مي توانند با پنهان سازي تأخيرهاي دسترسي حافظه از طريق Multithreading سخت افزاري و افزايش مقدار حافظه On-chip برطرف شوند.

در رابطه با محدوديتهاي نرم افزاري، تعداد نسبتاً اندکي از نرم افزارهاي کاربردي مي توانند از همزماني بسيار بالا براي افزايش عملکرد خود استفاده کنند. توان عملياتي با اجراي چندين وظيفه سريال و يا چند نرم افزار کاربردي نسبتاً موازي( که بر روي سرورها قابل انجام است) افزايش مي يابد، هرچند که ممکن است ماشينهاي عمومي از اين وضعيت سود نبرند. از سوي ديگر، موفقيت طراحيهاي چندين هسته اي تا حدود زيادي به در دسترس قرار گرفتن مدلها، کتابخانه ها و ابزارهاي برنامه نويسي مناسب بستگي خواهد داشت.

در حال حاضر CPUهاي موجود گزينه هاي متفاوتي را در رابطه با طراحي خود و استفاده از فضاي تراشه، ترکيب مي کنند. ملاحظات طراحي نه تنها تعيين تعداد هسته ها و تارها، بلکه پيچيدگي هسته ها، اتصالات داخلي، اندازه کاشه ها و همچنين ميزان و نوع مؤلفه هاي به اشتراک گذاشته شده را نيز در بر مي گيرند. از آنجائيکه گزينه هاي طراحي با مصالحه هاي گوناگوني سر و کار دارند، يک طراحي کلي نگرانه که با نرم افزارهاي کاربردي هدف و معيارهاي بهينه سازي اضافي نظير مصرف برق، انتشار حرارتي، تحمل نقص و هزينه هدايت مي شود، ضرورت خواهد داشت.
در رابطه با تصميم گيري ميان تارهاي سخت افزاري و هسته ها، به نظر مي رسد که نقطه مناسب براي Computing عمومي در طراحيهاي دو رگه نهفته است. امکان اضافه کردن تعداد کمي از تارهاي On-chip در ازاي افزايش نسبتاً اندکي در مدارات اضافي وجود خواهد داشت و مي تواند بهبود چشمگيري را در توان عملياتي به همراه داشته باشد. با اينحال، بازگشتهاي کاهنده در عملکرد و افزايش هزينه هاي مدار، بهره بدست آمده از تارهاي سخت افزاري را محدود خواهند کرد. بنابراين، عموماً بهتر است از فضاي تراشه در وراي چند رشته سخت افزاري براي پياده سازي تعداد بيشتري از هسته ها، کاشه بيشتر و ساير مؤلفه ها مورد بهره برداري قرار گيرد. CPUهاي دو رگه در عين حال نشان داده اند که درست به اندازه طراحيهاي چند هسته اي خالص داراي بازدهي انرژي مناسبي مي باشند.
توازن مابين هسته ها و تارهاي سخت افزاري براي سرورها که به حداکثر توان عملياتي نياز داشته و از تعداد بيشتر تارهاي سخت افزاري در هر هسته سود مي برند، تغيير خواهد کرد. سرورها عموماً تعداد زيادي از برنامه هاي غير عددي را اجرا مي کنند که بطور معمولي با تأخير بيشتري سر و کار دارند اما امکان پنهان سازي آن با استفاده از Multithreading وجود خواهد داشت. در مقابل، نرم افزارهاي کاربردي عددي به ندرت از Multithreading سخت افزاري سود مي برند، در حاليکه عملکرد بهتري را بر روي طراحيهاي چندين هسته اي به نمايش مي گذارند

با در نظر گرفتن اين واقعيت که هر CPU گزينه متفاوتي را جهت بهينه سازي انتخاب کرده است، تصميم گيري در مورد مناسب ترين پردازنده براي يک ترکيب بخصوص از نرم افزارهاي کاربردي بر عهده مصرف کننده است.

 



--------------------------

منبع: بزرگراه رايانه، شماره 129

شرکت دانش بنیان رایانش سریع هزاره ایرانیان به منظور ارائه راهکارهای رایانش سریع، تحلیل داده، بیگ دیتا و کلان داده به سازمانها و شرکتهای عصر دیجیتال تشکیل شده است. خدماتی از جمله طراحی راهکارهای بیگ دیتا، راه اندازی دریاچه داده و انباره داده، ساخت کاتالوگ داده، تحلیل داده و یادگیری ماشینی و ... از جمله فعالیتهای این شرکت می باشد.

 

 

آخرین مقالات

کامپایل و نصب mfix-2016.1

درک عملکرد دستگاه های انرژی، محیط زیست و فرایندها...

معرفی کامل صف پیشرفته کاف...

آپاچی کافکا نیز پلت فرم متن باز به منظور پردازش جر...

روندهای معماری داده در سا...

هدف اصلی از پیاده‌سازی معماری داده، استانداردسازی...

کامپیوترهای کوانتومی: انف...

کامپیوترهای کوانتومی انفجاری در سرعت محاسبات ایجا...

رایانش مرزی یا EDGE COMPU...

در این مقاله تصمیم داریم با مفهومی به نام رایانش...

پردازش سریع تصاویر دریافت...

پردازش سریع تصاویر دریافت از راه دور (RS) در بسیار...

امنیت در مجازی سازی و رای...

مجازی سازی و رایانش ابری در رایانش ابری کامپوننت...

الگوریتم‌‌های پیش‌بین و ک...

استفاده از الگوریتم‌های پیش‌بین و هوش مصنوعی به د...

استفاده از سیستم چند عامل...

رایانش ابری یکی از راه حل های فشرده توسعه یافته بر...

۶ مهارت پر تقاضای بازار د...

متخصص دانش ابری (Cloud professional) یکی از عناوی...

جریان موازی بین منابع HPC...

چکیده انجام تجزیه و تحلیل یا تولید تصویری همزمان ب...

پردازش داده‌های جریانی در...

با ظهور وب ۲٫۰ و اینترنت اشیا، ردگیری همه نوع اطلا...

معرفی روش ها و ارائه پیشن...

چكیده محاسبات ابری یک فنآوری جدید نیست؛ بلکه روشی...

آیا فرآیند دموکراتیزه شدن...

ما وسط یک تحول تکنولوژیکی هستیم که شیوه سازماندهی...

کارکرد نظارتی و مدیریتی م...

محاسبات ابری و اینترنت اشیا به عنوان دو مبحث داغ د...

پیوند کلان داده با هوش مص...

سیستم‌های نرم‌افزاری تجاری همچون سرویس‌های ERP و...

محاسبات ابری قدرت رقابتی...

آیا فناوری دیجیتال، یک نیروی دموکراتیزه کننده است...

معماري لامبدا در مقابل مع...

معماري لامبدا تولید بی وقفه داده ها در دنیاي امروز...

زبان برنامه‌نویسی Milk سر...

زبان برنامه‌نویسی Milk که توسط دانشگاه MIT توسعه...

بیگ دیتا ، یادگیری ماشین...

سازمان‌ها گاهی اوقات به سختی تلاش می‌کنند تا با دس...

محاسبات مه چه هستند و چه...

در ابتدا همه چیز «ابر» بود، ولی حالا کلمه جدید «مه...

توسعه هوش مصنوعی مبتنی بر...

به گزارش ایسنا و به نقل از انگجت، پژوهشگران "ام.آی...

نگاهی به کاربردهای رایانش...

رایانش ابری مبحثی است که این روزها زیاد به آن پرد...

نرم افزار شبیه سازی، آنال...

دانلود CST Studio Suite: ارائه راه حل های محاسبات...

دانلود Siemens Star CCM+...

نرم افزار Star CCM یک ابزار شبیه سازی قدرتمند است...

ورود بیگ دیتا به صنعت دار...

تکنولوژی در حال ورود به صنعت داروسازی است و پیش‌بی...

چهارمین جلسه meetup: اصلا...

مهاجمان اغلب با استفاده از اشتباهات کدنویسی کوچک و...

مدیریت خصوصیات صف در کلاس...

 لیست زیر ,ویژگی های صف را نمایش می دهد : acl_grou...

AMD از رویکرد طراحی تازه‌...

AMD چند روز پیش به‌صورت رسمی از رویکرد طراحی جدیدی...

دومین جلسه meet up:مقدمه...

فهرست : توضیح مختصر از توسعه ی کلودسیم نصب کلودسیم...

گالری تصاویر

hacklink al duşakabin fiyatları fethiye escort bayan escort - vip elit escort dizi film izle erotik film izle duşakabin hack forum casibom marsbahis marsbahisgirtr marsbahis matadorbet casibom starzbet