با اینکه اغلب CPUهای امروزی دارای بیش از یک هسته پردازشی هستند اما با افزایش تعداد هستهها به همان نسبت کارایی افزایش نمییابد و یک CPU دو هستهای دوبرابر سریعتر از یک CPU تک هستهای نیست. هرچند ظرف چند سال اخیر پیش رفتهای خوبی صورت گرفته اما هنوز هم کارایی CPUهای چند هستهای (Multi-Core) ایده آل نیست. اخیراً تیمی از پژوهشگران دانشگاه MIT معماری جدیدی به نام Swarm را برای CPUهای چند هستهای ابداع کردهاند که در مقایسه با CPUهای چند هستهای فعلی تا 18 برابر سریعتر است.

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