PDA

View Full Version : tpl چيست ؟



Mahdi_110
چهارشنبه 02 بهمن 1392, 19:00 عصر
سلام
وقت بخير دوستان
سئوال يك : در مبحث موازي سازي كسي ميداند عبارت tpl چه معنايي دارد ؟
اگر معني نزديكش هم ميدونيد بفرماييد .
سئوال دوم : tpl چيست ؟ يا به عبارتي شايد بتوان گفت شبيه سازي مدل tpl چيست و چگونه امكان پذير است ؟
با تشكر

Mahdi_110
چهارشنبه 02 بهمن 1392, 19:16 عصر
سلام دوستان
خودم جوابش را پيدا كردم :

سهولت در موازی سازی‌: دات‌نت 4
همان‌طور که در بالا گفته شد، فریم ورک دات‌نت نسخه یک با استفاده از فناوري رشته‌های پردازشی از برنامه‌نویسی برای پردازش موازی پشتیبانی کرده است. با این حال، مطابق آنچه در قسمت‌های قبل مطرح شد، طراحی و پیاده‌سازی یک برنامه برای پردازش موازی روی چند پردازنده با استفاده از فناوری چند رشته‌ای کاری بسیار پیچیده و سنگین بوده و به مدیریت عملیات دقیقی نیاز دارد. به همین دليل، بار کاری توسعه‌دهنده کد و هزینه توسعه یک نرم‌افزار با معماری موازی بسیار بالا خواهد بود. در عین حال، با توجه به انجام مدیریت رشته‌های پردازشی توسط برنامه‌نویس و احتمال بروز خطاهای حین اجرا که قبلاً آزمايش نشده‌اند، مقیاس پذیری و قابلیت اعتماد نرم‌افزار تولید‌شده نیز چندان بالا نخواهد بود. برای حل این مشکلات و سهولت توسعه یک برنامه با قابلیت‌های پردازش‌موازی، مایکروسافت در دات‌نت نسخه چهار امکانات و قابلیت‌های پردازش‌موازی جدیدی عرضه کرده است که با مدیریت خودکار رشته‌های پردازشی و عملیات تشخیص پردازنده مناسب برای اجرا، علاوه‌بر کاهش بار کاری توسعه دهنده کد، قابلیت اعتماد و مقیاس پذیری چنین نرم‌افزارهایی را بسیار بالا برده است.

مهم‌ترین امکانات جدید در دات‌نت 4، کلاس‌های Task Parallel Library یا TPL و Parallel LINQ هستند که به جای مفاهیم رشته‌های پردازشی، امکان کار با وظایف را برای برنامه‌نویس فراهم مي‌سازند. وظایف مختلف، خود از رشته‌های پردازشی تشکیل شده‌اند و هر وظیفه مي‌تواند چندین رشته پردازشی روی چندین پردازنده اجرا كند. در اینجا مدیریت ایجاد، نگه‌داری و اجرای مناسب رشته‌ها بر عهده TPL بوده و به همین دليل، برنامه‌نویس از مدیریت پیچیده رشته‌ها فارغ خواهد بود. به‌طورکلی، تفاوت فناوري پردازش چندرشته‌ای و TPL در این است که رشته‌ها اجزای سازنده TPL بوده و بلوک‌های سازنده آن به شمار مي‌آیند. با استفاده از TPL، برنامه‌نویس مي‌تواند با سادگی بیشتر و با استفاده از اجزای TPL که خود از بلوک‌های سازنده پردازش چند رشته‌ای استفاده مي‌کنند، برنامه خود را توسعه دهد. به بیان دیگر، مي‌توان گفت‌، معماری نرم‌افزار با استفاده از فناوری چند رشته‌ای، کارگر‌محور (worker-oriented) است در حالی که با استفاده از TPL، معماری نرم افزار وظیفه محور (Task-oriented) خواهد بود.

موفق باشيد