شما وقتی در یک برنامه یک نخ رو آزادانه برای اجرا روی هر هسته ای انتخاب می کردید بهتون cpu usage و total usage بین 98 الی 100 درصد میده. درسته؟ حالا در دو برنامه رسیده به 94 و 92 درصد.
طبق ادعای شما برای اجرای این دو برنامه فقط دو هسته درگیر شدن، هر هسته برای یک نخ در یک برنامه و اون دو هسته دیگه پردازنده تون الان بیکار ئه و 25 + 25 درصد توان پردازنده مشغول ئه و 25 + 25 درصد بیکار ئه.
پس چطور این مساله رو توضیح میدید که یک هسته که 25 درصد توان پردازنده بود تونسته بود 98 الی 100 درصد کارایی بده ولی حالا که دو تا هسته شد با 50 درصد توان پردازنده کارایی شون شده 94 + 92 درصد؟
مگه شما مدعی نیستید که اون دو تا هسته دیگه الان بیکار هستند و کاری به اون دو تا نخ ندارند برای سایر کارهای سیستم عامل آزادند هر کاری لازمه بکنند؟ چطور توان دو هسته ای موازی تون اومد پایین؟
این چطور پردازش موازی ای در دو هسته فیزیکی مستقل ئه که دو تا پروسه جدا دارن ولی اجرای همزمان شون نتونسته کارایی اجرای تکی رو ارائه کنه؟
این هم مثل همون یکی. با فرض شما که مدعی هستید وقتی نخ بین CPU0 و CPU1 سوئیچ میشه سایر هسته ها آزاد هستند و درگیر نیستن، چه توضیحی دارید برای اینکه نخی که آزاد بوده در یکی از دو هسته CPU0 و CPU1 اجرا بشه روی کارکرد در هسته CPU2 و CPU3 تاثیر داره؟
و حتما می توانید توضیح بدین که چطور کارکرد این 50 درصد تون پایینتر از اجرای یک نخ شده؟ اینکه چطور با این اجرای موازی از 98 الی 100 درصد رسیدین به 94 و 92 درصد. شما که میگید من نمیتونم بپذیرم که وقتی بین دو هسته سوئیچ میشه بار کاری روی سایر هسته ها ایجاد بشه چطوری این تجربه رو تفسیر می کنید که فقط 50 درصد توان پردازنده رو گرفتید و کاری به سایر هسته ها نداشتید ولی کارکرد اومد پایینتر؟ شما که میگید پردازنده هنوز 50 درصد بیکار ئه چطور کارکرد هسته اش کم شد؟
آره، متوجه نشدین. منظور من دقیقا همون مرغی است که یه پا داره.