اقتصادی صارفین کی گریڈ ملٹی کور پروسیسرز کی آمد بہت سارے صارفین کے لئے یہ سوال پیدا کرتی ہے کہ: آپ ملٹی کور سسٹم کی اصل رفتار کو مؤثر طریقے سے کیسے گنتے ہیں؟ کیا واقعی ایک 4-کور 3GHz سسٹم 12Ghz ہے؟ پڑھیں جیسے ہی ہم تفتیش کرتے ہیں۔
آج کا سوال وجواب کا سیشن ہمارے پاس سوپر یوزر کے بشکریہ ہے St اسٹیک ایکسچینج کی ایک ذیلی تقسیم ، سوال و جواب کی ویب سائٹوں کی کمیونٹی ڈرائیو گروپ بندی۔
سوال
سپر یوزر ریڈر این ریلنگھ یہ جاننا چاہتا تھا کہ ملٹی کور سسٹم کے لئے پروسیسر کی رفتار کا اصل حساب کیسے کیا جاتا ہے:
کیا یہ کہنا درست ہے ، مثال کے طور پر ، جو 3G کور ہرٹج پر چل رہا ہے اس میں چار کورز والا ایک پروسیسر در حقیقت 12GHz پر چلنے والا ایک پروسیسر ہے؟
میں ایک بار ایک "میک بمقابلہ پی سی" دلیل (جس کی وجہ سے اس موضوع کی توجہ نہیں ہے… جو مڈل اسکول میں واپس آرہا تھا) میں پڑ گیا جس نے اصرار کیا کہ میکس کو صرف 1 گیگا ہرٹ مشین کی حیثیت سے اشتہار دیا جارہا ہے کیونکہ وہ دوہری تھے -پروسیسر G4s ہر 500MHz پر چل رہا ہے۔
اس وقت میں جانتا ہوں کہ وجوہات کی بناء پر یہ ہاگ واش ہے ، لیکن میرے خیال میں زیادہ تر لوگوں پر ظاہر ہے ، لیکن میں نے صرف اس ویب سائٹ پر "6 کور x 0.2GHz = 1.2Ghz" کے اثر سے ایک تبصرہ دیکھا اور اس سے مجھے دوبارہ اس بارے میں سوچنا پڑا۔ اس کا اصل جواب ہے۔
تو ، گھڑی کی رفتار کے حساب کتاب کے الفاظ کے بارے میں یہ کم یا زیادہ فلسفیانہ / گہرا تکنیکی سوال ہے۔ مجھے دو امکانات نظر آرہے ہیں:
- ہر بنیادی حقیقت میں ہر سیکنڈ میں ایکس حسابات کر رہا ہے ، اس طرح حساب کی کل تعداد ایکس (کور) ہے۔
- گھڑی کی رفتار بجائے ایک دوسرے کی خلا میں پروسیسر کے چکروں کی تعداد کی ایک گنتی ہے ، لہذا جب تک کہ تمام کور ایک ہی رفتار سے چل رہے ہیں ، ہر گھڑی کے چکر کی رفتار یکساں رہتی ہے چاہے کتنے ہی کور موجود ہوں۔ . دوسرے لفظوں میں ، ہرٹز = (کور 1 ہ ہرٹز + کور 2 ہ ہرٹ +…) / کور۔
تو کل گھڑی کی رفتار کی نشاندہی کرنے کا مناسب طریقہ کیا ہے اور اس سے بھی اہم بات یہ ہے کہ کیا ملٹی کور سسٹم پر سنگل کور اسپیڈ نام کو استعمال کرنا بھی ممکن ہے؟
جواب
سپر یوزر کے معاون موکوبائی واضح چیزوں کو صاف کرنے میں مدد کرتے ہیں۔ وہ لکھتا ہے:
کواڈ کور 3GHz پروسیسر کبھی بھی 12GHz سنگل کور کی طرح تیز نہیں ہونے کی بنیادی وجہ یہ ہے کہ اس پروسیسر پر چلنے والا کام کیسے کام کرتا ہے ، یعنی سنگل تھریڈ یا ملٹی تھریڈ۔ امدہل کا قانون جب آپ چل رہے ہیں اس کی نوعیت پر غور کرتے وقت اہم ہے۔
اگر آپ کے پاس ایسا کام ہے جو فطری طور پر خطی ہوتا ہے اور بالکل ٹھیک مرحلہ وار کرنا پڑتا ہے جیسے کہ (انتہائی سادہ پروگرام)
10: a = a + 120: ہر 10تب یہ کام پچھلے پاس کے نتائج پر زیادہ انحصار کرتا ہے اور اس کی قدر کو خراب کیے بغیر خود کی متعدد کاپیاں نہیں چلا سکتا
'ایک'جیسا کہ ہر کاپی کی قیمت مل رہی ہوگی'ایک'مختلف اوقات میں اور اسے مختلف طرح سے لکھنا۔ اس سے کام صرف ایک ہی دھاگے تک محدود ہے اور یوں یہ کام کسی بھی وقت صرف ایک ہی کور پر چل سکتا ہے ، اگر یہ متعدد کوروں پر چلنا ہوتا تو ہم آہنگی کی بدعنوانی واقع ہوتی۔ یہ ڈبل کور سسٹم کی cpu طاقت کے 1/2 یا کواڈ کور سسٹم میں 1/4 تک محدود ہے۔اب کوئی کام کریں جیسے:
10: a = a + 120: b = b + 130: c = c + 140: d = d + 150: ہر 10یہ ساری لائنیں آزاد ہیں اور پہلے جیسے 4 الگ الگ پروگراموں میں تقسیم ہوسکتی ہیں اور ایک ہی وقت میں چلائی جاسکتی ہیں ، ہر ایک کسی بھی ہم آہنگی کے مسئلے کے بغیر کسی ایک کور کی مکمل طاقت کا موثر استعمال کرنے کے قابل ہے ، یہ وہ جگہ ہے جہاں امدہل کا قانون اس میں آتا ہے.
لہذا اگر آپ کے پاس زبردستی طاقت کا حساب کتاب کرنے کے لئے ایک ہی تھریڈ ایپلی کیشن موجود ہے تو سنگل 12 گیگا ہرٹز پروسیسر ہاتھوں کو جیت سکتا ہے ، اگر آپ کسی طرح کام کو الگ الگ حصوں اور کثیر جہتوں میں تقسیم کرسکتے ہیں تو 4 کور قریب آسکتے ہیں ، لیکن کافی حد تک نہیں ، عمدہah کے قانون کے مطابق ، وہی کارکردگی۔
ایک ملٹی سی پی یو نظام آپ کو اہم چیز دیتا ہے وہ ہے ردعمل۔ ایک ہی بنیادی مشین پر جو سخت محنت کر رہی ہے اس پر سست نظام لگتا ہے کیونکہ زیادہ تر وقت ایک کام کے ذریعہ استعمال کیا جاسکتا ہے اور دوسرے کام صرف بڑے کام کے مابین مختصر پھٹکے میں چلتے ہیں جس کے نتیجے میں ایسا نظام پیدا ہوتا ہے جو سست یا قائل لگتا ہے۔ . ملٹی کور سسٹم پر بھاری کام ایک کور ہو جاتا ہے اور دوسرے تمام کام دوسرے کاموں پر چلتے ہیں ، اپنے کام تیزی سے اور موثر انداز میں انجام دیتے ہیں۔
"6 کور x 0.2GHz = 1.2Ghz" کی دلیل ہر حالت میں کوڑے دان ہے سوائے اس کے کہ کام بالکل متوازی اور آزاد ہوں۔ بہت سارے کام ایسے ہیں جو انتہائی متوازی ہیں ، لیکن پھر بھی ان کو مطابقت پذیری کی کچھ شکل درکار ہے۔ ہینڈ بریک ایک ویڈیو ٹرانسکوڈر ہے جو دستیاب تمام سی پی یو کو استعمال کرنے میں بہت اچھا ہے لیکن اس کے لئے یہ ضروری نہیں ہے کہ دوسرے دھاگوں کو ڈیٹا سے پُر رکھیں اور وہ ڈیٹا اکٹھا کریں جس کے ساتھ وہ کام کرتے ہیں۔
- ہر بنیادی حقیقت میں ہر سیکنڈ میں ایکس حسابات کر رہا ہے ، اس طرح حساب کی کل تعداد ایکس (کور) ہے۔
ہر کور ایک سیکنڈ میں X حساب کتاب کرنے کی اہلیت رکھتا ہے ، فرض کرتے ہوئے کہ کام کا بوجھ مناسب متوازی ہے ، ایک لکیری پروگرام پر ، جو آپ کے پاس ہے وہ 1 کور ہے۔
- گھڑی کی رفتار بجائے ایک دوسرے کی خلا میں پروسیسر کے چکروں کی تعداد کی ایک گنتی ہے ، لہذا جب تک کہ تمام کور ایک ہی رفتار سے چل رہے ہیں ، ہر گھڑی کے چکر کی رفتار یکساں رہتی ہے چاہے کتنے ہی کور موجود ہوں۔ . دوسرے لفظوں میں ، ہرٹز = (کور 1 ہ ہرٹز + کور 2 ہ ہرٹ +…) / کور۔
میرے خیال میں یہ غلط فہمی ہے کہ 4 x 3GHz = 12GHz ، ریاضی کے کاموں سے فائدہ اٹھاتا ہے ، لیکن آپ سیب کا سنتری سے موازنہ کر رہے ہیں اور رقم ٹھیک نہیں ہے ، ہر حالت کے لئے GHz کو آسانی سے شامل نہیں کیا جاسکتا۔ میں اسے 4 x 3GHz = 4 x 3GHz میں تبدیل کردوں گا۔
وضاحت میں شامل کرنے کے لئے کچھ ہے؟ تبصرے میں آواز بند. ٹیک سیکھنے والے اسٹیک ایکسچینج کے دوسرے صارفین سے مزید جوابات پڑھنا چاہتے ہیں؟ یہاں مکمل گفتگو کے دھاگے کو چیک کریں .