با اینکه اغلب CPUهای امروزی دارای بیش از یک هسته پردازشی هستند اما با افزایش تعداد هستهها به همان نسبت کارایی افزایش نمییابد و یک CPU دو هستهای دوبرابر سریعتر از یک CPU تک هستهای نیست. هرچند ظرف چند سال اخیر پیش رفتهای خوبی صورت گرفته اما هنوز هم کارایی CPUهای چند هستهای (Multi-Core) ایده آل نیست. اخیراً تیمی از پژوهشگران دانشگاه MIT معماری جدیدی به نام Swarm را برای CPUهای چند هستهای ابداع کردهاند که در مقایسه با CPUهای چند هستهای فعلی تا 18 برابر سریعتر است.
این معماری جدید که Swarm نام دارد، در قالب یک CPUا64 هستهای پیاده سازی شده و در دسترس است. در تئوری این CPUا64 هستهای میبایست 64 برابر سریعتر از یک CPU یک هستهای باشد اما متاسفانه درست همانند CPUهای چند هستهای فعلی، چنین نیست. ضعف CPUهای چند هستهای در این واقعیت نهفته که برنامهها برای بهره گیری از تمام هستههای پردازشی موجود میبایست در سطح کد منبع این قابلیت را داشته باشند و بتوان Task را بین هستههای پردازشی تقیسم کرد. با هدف جلوگیری از باز نویسی دادهها توسط هر قسمت از Task، باید ترتیب پردازشها اولویت بندی شوند زیرا بخشهای مختلف هر Task پس از تقسیم میان هستهها، نمیتواند از هر نقطهای آغاز شود، در غیر این صورت به احتمال قوی دادهها به درستی پردازش نمیشوند. عملیات اولویت بخشی و صف بندی فرآیند وقت گیری است که روش های فعلی بینقص یا مطلوب نیستند.
سیستم جدید Swarm دارای مدار ویژهای است که Taskها را با استفاده از برچسب زمانی رده بندی و به صورت موازی اجرا میکند، در این سیستم Taskها بر مبنای اولویت به صورت نزولی پردازش میشوند. هنگامی که چند Task به طور هم زمان بر روی دادههای واحد کار میکنند، Swarm با بهره گیری از یک مدار ویژه که از دادهها نسخه پشتیبان تهیه میکند، از بروز تداخل در نوشتن دادهها یا storage conflict جلوگیری میکند. در این سیستم ابتدا از دادهها پشتیبان تهیه میشود و پس از پردازش دادهها توسط Task با بالاترین اولویت، مقدار اولیه دادهها که ممکن است توسط Taskپیشین تغییر یافته باشد، برای Taskهای با اولویت پایینتر بازیابی میشود. در صورتی که چنین مکانیزمی پیاده سازی نشود، دادهها خراب میشوند.
در خلال بررسیها، معماری Swarm بین 3 تا 18 برابر در انجام محاسبات از CPUهای چند هستهای معمولی عملکرد بهتری از خود به نمایش گذاشته است. احتمالاً میدانید برای اینکه برنامهها بتوانند از بیش از یک هسته پردازشی بهره بگیرند، باید در سطح کد منبع این قابلیت پیاده سازی شود، جالبتر اینکه برای اجرای برنامهها با سیستم Swarm، در مقایسه با بازنویسی کد برنامه برای اجرا با CPUهای چند هستهای فعلی، تنها به یک دهم و حتی کمتر تغییر در کُد منبع برنامه نیاز است. به گفته MIT، معماری جدید Swarm برنامههایی که قادر به استفاده از بیش از یک هسته پردازشی CPUهای فعلی نیستند را تا 75 برابر سریعتر اجرا میکند.
راز برتری Swarm در استفاده از گرافها برای رده بندی و اولویت بخشی به Taskها و سپس اجرای موازی آنها است. کل این فرآیند به طور کاملاً خودکار و بدون نیاز به دخالت انسان صورت میگیرد.
منبع: softpedia
نظر خود را اضافه کنید.
برای ارسال نظر وارد شوید
ارسال نظر بدون عضویت در سایت