برنامه نویسی چند نخی و چند وظیفه ای در کامپیوترهای چند هسته ای با رویکرد LabVIEW

06:36360

سیستم های کامپیوتر چند هسته ای امروزه دارای پردازنده هایی مجهز به دو یا تعداد بیشتری هسته پردازشی می باشند، هر هسته دارای میکرو پردازشگر مستقل می باشد. یک میکروپردازشگر چند هسته ای در یک سیستم می تواند چندین پردازش را  همزمان انجام دهد. سیستم های چند هسته ای دارای منابع پردازش مشترکی هستند که گاهی در سیستم های چند پردازشگری جایگزین می شوند، مانند حافظه ی کش L2 و باس front – side.
سیستم های چند هسته ای عملکردی مشابه با سیستم های چند پردازشگر دارند، اما گاهی هزینه ی بسیار کمتری دارند چون به یک مادربرد که از چندین پردازشگر پشتیبانی کند(مثلا چند سوکت پردازشگر) نیاز نیست.

چند وظیفه ای (MULTI TASKING)

در عمل پردازش، چند وظیفه ای به روشی گفته می شود که با آن چندین وظیفه( یا فرآیند) انجام شوند و این وظایف دارای منابع پردازش معمول مشترکی (مثلا یک CPU)باشند. با یک سیستم عامل چند وظیفه ای(مثل ویندوز XP) می توانید به طور همزمان چندین برنامه اجرا کنید. چند وظیفه ای همان قابلیت سیستم عامل برای جا به جایی سریع بین هر وظیفه ی پردازشی می باشد تا این حس را القا کند که چندین برنامه به طور همزمان در حال اجرا هستند.
چون سرعت کلاک CPU به طور مداوم به مرور زمان افزایش یافته است، نه تنها برنامه ها سریع تر اجرا می شوند، بلکه سیستم عامل ها نیز سریع تر بین برنامه ها جا به جا می شوند. این امر باعث عملکرد کلی بهتری می شود. اعمال بسیاری می توانند در یک کامپیوتر همزمان انجام شوند، و هر برنامه نیز سریع تر اجرا می شود.

تک هسته ای

در یک کامپیوتر با CPU یک هسته ای، تنها در هر مقطع از زمان یک برنامه می تواند اجرا شود، به این معنی که CPU به صورت فعال تنها برای آن وظیفه دستورالعمل ها را اجرا می کند. چند وظیفه ای، با برنامه ی زمان بندی به این صورت که کدام وظیفه در هر زمان اجرا شود و کدام وظیفه منتظر است تا اجرا شود، این مشکل را برطرف کرد.

one core OP

چند هسته ای

در سیستم های چند هسته ای، سیستم عامل های چند وظیفه ای می توانند واقعا چندین وظیفه را همزمان اجرا کنند. موتور های چند پردازشی برای وظایف مختلف به صورت مستقل عمل می کنند.
برای مثال، در یک سیستم دو هسته ای، ۴ برنامه( مانند پردازش word، ایمیل، جستجو در وب و نرم افزار آنتی ویروس) هر کدام می توانند همزمان به یک هسته ی پردازشگر مجزا دسترسی داشته باشند. می تواند با بررسی ایمیل و تایب کردن یک کلمه به طور همزمان عمل چند وظیفه ای را انجام دهید، بنابراین عملکرد کلی برای برنامه ها بهبود می یابد..

multi core OP

چند نخی (MULTI THREADING)

چند نخی، ایده ی چند وظیفه ای را به برنامه ها توسعه می دهد، پس می توانید عملکرد های حاصی را در داخل یک برنامه به نخ های مجزا تقسیم بندی کنید. هر کدام از نخ ها می توانند به صورت موازی اجرا شوند. سیستم عامل زمان پردازش را نه تنها در بین برنامه های مختلف، بلکه همچنین بین هر نخ در داخل برنامه توزیع می کند.
در یک برنامه ی آلات دقیق ملی LabVIEWی چند نخی، یک برنامه ممکن است به ۴ نخ تقسیم شود – یک نخ واسط کاربری، یک نخ اکتساب داده، نخ ارتباطات شبکه و یک نخ واقعه نگاری. می توانید هر کدام از این نخ ها را اولویت بندی کنید تا به صورت مجزا عمل کنند. بنابراین، در برنامه های چند نخی، چندین وظیفه می توانند به صورت موازی با دیگر برنامه هایی که بر روی سیستم در حال اجرا هستند، اجرا شوند.

multi thread OP

برنامه هایی که از مزیت چند نخی استفاده می کنند مزایای فراوانی دارند که از جمله ی آنها می توان به موارد زیر اشاره کرد :
استفاده ی کارا و موثر تر از CPU
قابلیت اطمینان بهتر سیستم
بهبود عملکرد در کامپیوترهای دارای چند پردازشگر
در برنامه های بسیاری، می توانید فراخوانی های همزمان برای منابع داشته باشید(منابع مانند آلات دقیق). این فراخوانی های آلات دقیق گاهی زمان زیادی برای تکمیل شدن نیاز دارند. در یک برنامه ی تک نخی، یک فراخوانی همزمان به صورت موثر از انجام هر وظیفه ی دیگری در داخل برنامه تا زمانی که عملیات کامل شود، جلوگیری می کند. چند نخی این جلوگیری را از میان بر می دارد.
در عین حال که فراخوانی همزمان بر روی یک نخ اجرا می شود، دیگر بخش های برنامه که به این فراخوانی وابسته نیستند، بر روی نخ های مختلف اجرا می شوند. اجرای برنامه تا زمانی که فراخوانی همزمان تکمیل شود، به جای اینکه متوقف شود، پیشرفت می کند. در این صورت، یک برنامه ی چند نخی، کارایی CPU را به حداکثر می رساند چون اگر هر نخ از برنامه آماده ی اجرا باشد، متوقف نمی شود.

برنامه نویسی چند نخی در LABVIEW

LabVIEW به صورت خودکار هر برنامه را به چندین نخ اجرایی تقسیم می کند. وظایف پیچیده ی مدیریت نخ به صورت ناپیدا در داخل سیستم اجرایی LabVIEW قرار می گیرند.

multi thread with labview

برنامه نویسی چند وظیفه ای در LABVIEW

LabVIEW از چند نخی انحصاری بر روی سیستم های عاملی که این ویژگی را ارائه دهند، استفاده می کند. LabVIEW همچنین از چند نخی چند کارگی نیز استفاده می کند. سیستم های عامل و پردازش گر های دارای چند نخی انحصاری از تعداد محدودی نخ استفاده می کنند، پس در موارد خاص، این سیستم ها از چند نخی چند کارگی استفاده خواهند کرد.
سیستم اجرایی با استفاده از نخ ها، به صورت انحصاری VI ها را چند وظیفه ای می کند. به هر حال، تعداد محدودی از نخ ها موجود هستند. برای اجرای برنامه های زیاد به طور موازی، سیستم اجرایی در هنگامی که نخ های موجود مشغول هستند، از چند وظیفه ای چند کارگی استفاده می کند. همچنین، سیستم عامل چند وظیفه ای انحصاری را بین برنامه و دیگر وظایف انجام می دهد.

لینک کوتاه
https://iranautomation.com /?p=60

بدون دیدگاه

پاسخ دهید

فیلدهای مورد نیاز با * علامت گذاری شده اند