PDA

View Full Version : سوال: استفاده از پردازنده های چند هسته ای



علیرضا حسن زاده
یک شنبه 01 فروردین 1389, 22:32 عصر
با سلام خدمت دوستان
من یه برنامه نوشتم که نیاز به کار پردازشی زیادی داره. حالا می خوام بدونم تو C#‎ چطور میتونم از مزایای پردازنده های چند هسته ای استفاده کنم؟ همونطور که میدونید وقتی Task منیجر رو باز می کنیم واسه هر هسته پردازنده یه دیاگرام نمایش میده که میزان کاری رو که روی هر هسته پردازنده هست رو نشون میده (البته تا جایی که من میدونم) وقتی برنامه من اجرا میشه کار روی یکی از هسته ها به حد ماکسیسمم میرسه ولی اون یکی در همون حد معمول همیشگی میمونه می خوام بدون راهی هست که بتونم از هر دو هسته استفاده کنم؟ یا اصلا چطور می تونم کار رو بین این هسته ها تقسیم کنم(با C#‎) یا اگه کار یه جایی تو سخت افزار بین این دو تقسیم میشه چرا فقط یکی شون زیاد کار میکنه و اون یکی تقریبا بیکاره؟:لبخند::متفکر:

Omid.Mafakher
یک شنبه 01 فروردین 1389, 23:46 عصر
-------------------------------------

MehdiLiver
دوشنبه 02 فروردین 1389, 01:41 صبح
من هم همین مشکل رو زمان پردازش تصویر دارم
!!!!
اگه کسی راهی بلده بگه

sia_2007
دوشنبه 02 فروردین 1389, 01:47 صبح
Parallel Programming نه Parallel Computing
ولی در کل حرف شما عجیبه !
چون خود JIT بسته به نوع پردازنده بهترین تصمیم رو میگیره

sia_2007
دوشنبه 02 فروردین 1389, 01:47 صبح
در ضمن Net 4. هنوز Release نهایی نشده

mehdi.mousavi
دوشنبه 02 فروردین 1389, 02:59 صبح
با سلام خدمت دوستان من یه برنامه نوشتم که نیاز به کار پردازشی زیادی داره. حالا می خوام بدونم تو C#‎‎ چطور میتونم از مزایای پردازنده های چند هسته ای استفاده کنم؟

سلام.
لطفا این مقاله (http://msdn.microsoft.com/en-us/magazine/cc163340.aspx) رو بخونید. بعد نوشته های این Weblog (http://blogs.msdn.com/pfxteam/) رو تعقیب کنید. اگر از C++ سر در میارید، من این کتاب رو توصیه می کنم (http://www.amazon.com/Professional-Multicore-Programming-Implementation-Developers/dp/0470289627). حتی اگر از C++ چیزی هم نمیدونید، باز خوندن این کتاب بهتون یاد میده که FSB، BSB، DCA، HT، North Bridge، South Bridge و دیگر مفاهیم سخت افزاری که باید با اونها آشنا باشید چی هستن، تا بتونید یک برنامه Multicore-Friendly خوب بنویسید... بعنوان مثال توضیحات کاملی در مورد Intel Core 2 Duo Processor و AMD Multicore Opteron میده و داشتن این اطلاعات، لازمه خوب بودن در این بخش هستش.

در نهایت، می تونید منتظر منتشر شدن این کتاب (http://www.amazon.com/s/ref=ntt_athr_dp_sr_1?_encoding=UTF8&sort=relevancerank&search-alias=books&field-author=Adam%20Freeman) باشید. Adam Freeman نویسنده خوبی هستش و احتمالا این کتابش هم، خوب باشه.

موفق باشید.

علیرضا حسن زاده
دوشنبه 02 فروردین 1389, 16:01 عصر
سلام.
لطفا این مقاله (http://msdn.microsoft.com/en-us/magazine/cc163340.aspx) رو بخونید. بعد نوشته های این Weblog (http://blogs.msdn.com/pfxteam/) رو تعقیب کنید. اگر از C++‎ سر در میارید، من این کتاب رو توصیه می کنم (http://www.amazon.com/Professional-Multicore-Programming-Implementation-Developers/dp/0470289627). حتی اگر از C++‎ چیزی هم نمیدونید، باز خوندن این کتاب بهتون یاد میده که FSB، BSB، DCA، HT، North Bridge، South Bridge و دیگر مفاهیم سخت افزاری که باید با اونها آشنا باشید چی هستن، تا بتونید یک برنامه Multicore-Friendly خوب بنویسید... بعنوان مثال توضیحات کاملی در مورد Intel Core 2 Duo Processor و AMD Multicore Opteron میده و داشتن این اطلاعات، لازمه خوب بودن در این بخش هستش.

دوست عزیز من ++C بلدم و می دونم یه کارایی میشه کرد چون به سخت افزار مشیه دسترسی مستقیم داشت برای #C هم میشه اون توابع رو از ++C با یه DLL استفاده کرد(یه موقع فکر نکن راحته) منظور من اینه که مستقیم تو خود #C کار کنم و با متد ها و کلاس های Net. ؟:لبخند:

علیرضا حسن زاده
دوشنبه 02 فروردین 1389, 16:04 عصر
شما این قابلیت رو روی دات نت 4 می تونید توسط تکنولوژی Parallel Programming داشته باشید.
دوست عزیز میشه بگین تو چه فضای نامی یا با چه کلاسی؟:لبخند:

علیرضا حسن زاده
دوشنبه 02 فروردین 1389, 16:08 عصر
در ضمن Net 4. هنوز Release نهایی نشده
با ویژوال استدیو 2010 نخسه بتا عرضه شده
http://go.microsoft.com/fwlink/?LinkId=183410:لبخندساده: (http://go.microsoft.com/fwlink/?LinkId=183410:%D9%84%D8%A8%D8%AE%D9%86%D8%AF%D8%B 3%D8%A7%D8%AF%D9%87:)

علیرضا حسن زاده
دوشنبه 02 فروردین 1389, 16:17 عصر
دوستان می تونید از این لینک استفاده کنید:
http://msdn.microsoft.com/en-us/library/dd460693%28VS.100%29.aspx
گفتم کسایی هم که بخوان همچین کاری بکنن استفاده کنن
فقط یه مسئله هست اونم اینکه تو لینک بالا اون طوری که من متوجه شدم گفته با threadها میشه همچین کاری کرد کسی بلده چطوری؟:لبخند:

sia_2007
دوشنبه 02 فروردین 1389, 16:31 عصر
دوست عزیز من هم وجود Net 4. رو از عدم نفی نکردم؛ اما هیچ آدمی با یک محصول نسخه بتا برنامه نویسی تجاری نمیکند و محصول ارائه نمیکند.
در ضمن Release Condicated این پلتفرم ارائه شده، نیازی به نسخه بتا نیست.
دوست عزیز 3 نمونه کار خوب تو سایت MSDN هست.

Omid.Mafakher
چهارشنبه 04 فروردین 1389, 00:32 صبح
-------------------------------------