همان طور که در پست “وقتی تکنولوژی کم میآورد” گفتم در این سالهای اخیر پردازندههای چند هستهای رشد چشم گیری داشتهاند. امروز قصد داریم ببینیم این افزایش تعداد هستهها چه فایدهای دارد؟ شاید خیلی از شما بعد از خرید یک پردازندهی ۲ هستهای مثل E8400 یا پردازندهی ۴ هستهای مثل Q6600 چندان احساس افزایش کارایی در سیستم خود نکرده باشید! برای مثال قبلا نرمافزاری مثل مدیا استودیو در عرض بیست دقیقه فیلم شما را تولید میکرد و الان هم همین اتفاق میافتد. تفاوت در چیست؟ از این پس فرض میکنیم شما یک پردازندهی چهارهستهای دارید.
اگر نگاهی به Task Manager بیندازید ملاحظه میکنید که به جای تک گراف سبز رنگی که قبلا میدیدید، الان ۴ گراف کوچک وجود دارد که هر کدام نمایندهی یک cpu است. حال اگر درحین اجرای یک برنامهی سنگین این گرافها را ببینید ملاحظه میکنید که تنها یکی از این گرافها در حالت بیشینه(۱۰۰%) است و سه گراف دیگر روی ۰% قرار دارند. گراف کلی مصرف پردازنده هم تنها ۲۵% مصرف را نشان میدهد. این وضعیت بیانگر این است که آن برنامهی سنگین، تنها میتواند از توان یک پردازنده استفاده کند. متاسفانه این وضعیت برای اکثر نرمافزارهای موجود وجود دارد و از این رو شما هیچ سودی از تعویض پردازندهتان نکردهاید! از ویندوز هم که انتظار نمیرود قدرت توزیع پردازشهای یک برنامه روی چند پردازنده را داشته باشد.
نگران نباشید برای اینکه به پردازندهی خود افتخار کنید!، اینبار چند برنامهی سنگین را اجرا کنید؛ ملاحظه میکنید که هر کدام از این برنامهها از یک پردازنده استفاده کرده و کارایی کاملی از خود به نمایش میگذارند، مثلا اگر چهار برنامه، در حال کار سنگین باشند؛ هر چهار پردازنده مشغول شده و مصرف کلی به ۱۰۰% میرسد. در چنین زمانی پردازندهی شما مثل چهار پردازندهی تک هستهای عمل میکند. خوش به حالتون!
خوب شاید شما به عنوان یک برنامه نویس بخواهید برنامهای بنویسید که از هر چهار هسته استفاده کند؛ چنین کاری البته شود و لیک به خون جگر شود!
در پست بعدی یک روش تقریبا آسان برای استفاده از حداکثر کارایی پردازندههای چندهستهای بیان خواهیم کرد.
——————————————————————————————————————–
Nowadays multi core processors are well developed and distributed through the world. Here we are going to find whether these CPUs are beneficial or not. You may don’t experience a better performance when installing new Quad Core CPU like Q6600 or Dual Core one like E8400. Here I will describe the reasons. From now on I assume that you have a Quad Core CPU.
Take a look on the performance graph of the Task Manager; you will see 4 small graphs instead of traditional single graph. Each graph represents one core of your CPU. Now run a heavy program and trace the graphs, you will see that only one graph is in maximum load and the others are not affected at all; the global CPU usage is about 25%. This is because your program can not use the power of 4 processing cores and also windows can not distribute the work load on all CPUs. So in this case no improvements happened and this multi core CPU is not different from single core CPUs!
Now run 4 heavy applications and again trace the graphs, oh all graphs were reached to the maximum value and the overall CPU usage was reached to 100%. This is a really improvement, you are using the power of four CPUs!
Is it possible that an application uses the power of all processors? Of course, and I will describe it in next posts.