تبلیغات

فناوري QMD جهشي در کنترل هسته هاي CPU

فناوري QMD جهشي در کنترل هسته هاي CPU

سخت افزار/ يکي از مهمترين موارد زير پوستي در دنياي کامپيوترها، عدم تعامل کافي بين سخت افزار و نرم افزار است؛ به طوري که در حال حاضر به دلايل بسيار نرم افزارها توانايي لازم جهت استفاده از حداکثر توان و پرفورمنس سخت افزار ها را دارا نيستند. به عنوان مثال مي توان به کتابخانه هاي سطح پايين (API) اشاره کرد؛ آخرين و معتبر ترين API هاي موجود مانند Vulkan و DX12 به همين منظور توليد شده اند. کاهش سربارهاي پردازشي، کنترل سرريز ها و استفاده بهينه از قابليت هايي همچون Hyper threading مهمترين تمرکز اين API ها را در بهبود ويرايشي تشکيل مي دهند. از آن بدتر، مديريت سيستم عامل ها (OS) است. بسياري از اطلاعات موجود در زمينه مديريت پردازنده (CPU) و حافظه هاي رم (RAM) توسط سيستم عامل ها در هاله اي از ابهام قرار دارد و بسياري از مطالب موجود در اين زمينه، تنها احتمالات و حدس و گمان است. يکي از مهمترين بخش هاي اين نظريه به مديريت هسته هاي پردازنده (CPU Core) مي پردازد. اين مقوله از آنجايي مهم مي گردد که سيستم عامل و نرم افزار وظيفه مديريت هسته هاي پردازنده در لودهاي سنگين را بر عهده دارند و هر هسته به طور مجزا توسط يک اکوسيستم نرم افزاري متشکل از سيستم عامل و نرم افزاري خاص کنترل مي گردد. به عنوان مثال پردازنده هايي همچون Haswell-EX Xeon E7 V3 از 18 هسته برخوردار هستند و قيمت نهايي آنها نسبتا بالا است. شکست محدوديت هاي پردازنده هاي چند هسته اي (Breaking the Multicore Bottleneck) به تازگي بسيار مورد توجه جوامع آکادميک از جمله دانشگاه "ايالتي کاروليناي شمالي" قرار گرفته است.

محققان اين دانشگاه معتقدند که اين مشکل حتي در پردازنده و پلتفرم هاي مدرن امروزي نيز ديده مي شود؛ راه حل آنها در اين زمينه شامل مجموعه اي اختصاصي از "مدارهاي منطقي" و Queue Management Device است. آزمون هاي اين محققان حاکي از آن است که مي توان به روش هايي متشکل از QMD و "کنترل صفوف نرم افزاري" ارتباط بين هسته هاي پردازنده را تقويت نموده و حتي سرعت پردازش هاي ميان هسته اي را تا 2 برابر افزايش داد. در دهه گذشته هر پردازنده شامل چندين ريز پردازنده در يک قالب است؛ اين مهم است که بدون افزايش تعداد هسته ها در قالب هاي (Bloc) بتوان ضمن کاهش توان حرارتي (TDP)، عملکرد پردازشي و بالانس هسته ها را به وسيله نرم افزار کنترل نمود. اما اين راه حل نيز مشکلات خود را به همراه دارد؛ به عنوان مثال برنامه هاي نرم افزاري موجود هستند که نويسندگان آنها کار را بر روي هسته هاي مختلف تقسيم کرده اند. در نتيجه يک يا چند هسته در يک پريود زماني هر چند کوتاه، در انتظار دستوري خاص Park مي شود. در اين حالت نمي توان تقصير را بر گردن طراحي انداخت. در شيوه اي ديگر، حرکت از هسته اي به هسته ديگر است که عمدتا در بين برنامه نويسان رواج ندارد. بدين ترتيب که بخش از پردازش بر عهده هسته اول و بخشي ديگر را هسته اي ديگر بر عهده مي گيرد.

به منظور جلوگيري از بيکار ماندن هسته ها و ارتکاب خطاهاي معمول، پردازنده ها از يک فناوري تحت عنوان Lock-protected Software Queues بهره مي برند. اين "ساختمان داده" است که با توجه به قوانين نرم افزار، هماهنگي و دسترسي به اطلاعات را معين مي کند. اما زماني که يک نرم افزار با سربار پردازشي قابل توجه اجرا مي گردد، ارتباط بين هسته با تنگنا مواجه مي شود. اينتل (Intel) به کمک چند دانشگاه آمريکايي و فعال در زمينه هاي دانشکده برق، الکترونيک، نرم افزار و سخت افزار، چند پروژه تحقيقاتي را رقم زده است. اين پروژه ها در همين راستا استارت خورده و هدف آنها هماهنگ سازي صف هسته در پردازش هاي سنگين است. آرايش QMD داراي تعريف بسيار ساده اي است اما پياده سازي آن به طور کلي در تمامي نرم افزارها به همين سادگي نخواهد بود!

افزودن داده ها به صف و انتقال به Core
فراخواني داده توسط Core و نشست اوليه حافظه هاي کش (Cache)
جايگزين کردن نزديک ترين داده ها به جاي داده قبلي و ارسال سريع آن به هسته

نزديک ترين الگوريتمي که به ذهن شما رسيده است چيست؟ بله، درست است پردازش "گره" يا Node در بسته هاي شبکه که عمدتا داراي ظاهر يکسان هستند. جالب است بدانيد که پس از پياده سازي مناسب QMD در يک پردازنده 16 هسته اي اينتل، سرعت پردازش بسته هاي شبکه 20 بار در زمان بيشتر شده بود. گوگل (Google) يک پروژه مشابه را ايجاد کرده است که ظاهرا در سرورهاي خود مورد استفاده قرار مي دهد. در اين روش خبري از QMD نبوده و براي هر هسته يک کار خاص در نظر گرفته شده است. توزيع کار با يک الويت بندي جالب توجه به هسته هايي مي رسد که پيشگام از نظر پردازش هستند. نرم افزار هسته هايي را انتخاب مي کند که کارهاي در دست اجرا را تمام کرده و در مدت زمان بسيار کوتاه نزديک ترين پردازش که از پيش مشخص و علامت گذاري شده است، به سوي هسته هدايت مي شود. با وجود آنکه محققاني از دانشگاه هاي MIT مانند Srini Devadas که متخصص در زمينه حافظه نهان (Cache) است با فناوري QMD مخالف است، اما اينتل براي پياده سازي آن شک ندارد. اين منتقدان خواهان بازنويسي قوانين حافظه کش هستند. اما محققان اميدوار هستند که فناوري QMD بتواند مفهوم ارتباط بين هسته و CPU input/output system را ساده تر نمايد. در عين حال ابداع "شتاب دهنده هاي سخت افزاري" با بهبود عملکرد بهره وري انرژي، حرکت نرم افزارها به سمت کنترل صحيح هسته هاي پردازنده و Job ها، توزيع مناسب اطلاعات در بين هسته ها، الويت بندي داده هاي نزديک به هسته و مورادي از اين دست مي تواند عملکرد يک پردازنده را به سادگي و به طور قابل توجهي افزايش دهد. اين مهم بدون همکاري توسعه دهندگان سيستم عامل و نرم افزارها امکان پذير نخواهد بود.



مطالب جذاب، داغ و آموزشي فناوري اطلاعات در کانال تلگرامي «آي تي»منبع: سخت افزار

فروش اسکریپت

اسکریپت مجله تفریحی فان سیتی به فروش میرسد. جهت دریافت اطلاعات بیشتر به صفحه زیر مراجعه کنید.

فروش اسکریپت

گزارش تخلف

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

تبلیغات


جدیدترین اخبار

در انتخاب و نمایش محتوا هیچ دخالت انسانی وجود ندارد لذا از شما خواهشمندیم در صورتی که این مطلب را مغایر با قوانین جمهوری اسلامی ایران است به ما گزارش کنید.