خانه > فناوری اطلاعات, آموزش, آموزش کامپیوتر, آموزش اینترنت > چـرا بـرنامه نویـسی همـروند ؟ (4)

چـرا بـرنامه نویـسی همـروند ؟ (4)


استفاده از مدل MPI در برنامه نویسی موازی

امروزه مشخص شده كه محاسبات موازی پاسخی است براِی نِیاز وسِیع ما به قدرت محاسباتی بالا و می دانِیم كه اِین امر با معماری های معمول و تك پردازندها قابل دستِیابی نمی باشد.

بسیاری از کمپانی ها درمعماری های چند پردازنده ها سرمایه گذاری کردند وبسیاری از کالج ها و دانشگاه ها ازمحاسبات موازی در مطالاتشان بهره می گیرند.

افزاِیش استفاده از محاسبات موازی با توسعه استانداردها برای سِیستم های برنامه نوِیسی موازی تسرِیع بخشِیده شده است. اكنون Developer ها می توانند برنامه های موازی قابل انتقال بنوِیسنداز اِین رو انتظار می رود پروژه های وسِیع نرم افزاری به طور موازی قابل پِیاده سازی باشند.

واسط انتقال پِیام ((MPI چِیست؟

واسط یا سطح میانی انتقال پِیام Message Passing Interface – MPI)) ِیك استاندارد قابل انتقال روِی كامپِیوترهای با قابلِیت برنامه نوِیسی موازی می باشد.MPI ازالگوهای انتقال پِیام استفاده می كند كه براِی محاسبات روی ماشِین های با حافظه توزِیع شده مناسب است.البته انتقال پِیام می تواند روی مالتی پروسسورهای با حافظه اشتراكی نِیز به كار برده شود.

مقایسه دیگر سیستم های انتقال پیام MPI بسیار شبیه مقایسه یک مجموعه ی بزرگ و یک زیر مجموعه است.زیرا تغییر برنامه ها به MPI از دیگر سیستم های انتقال پیام به نسبت معمولا ً آسان تر است. MPIمعمولا ً برای افراد مبتدی که تازه قصد شروع کردن دارند راحت تر است ، بسیاری از حالت های این گروه ها نیازی به برنامه های موازی ساده ندارد. MPI همچنین طراحی شده برای آنکه به نحو بهتری اجرا شود ، بنابراین برنامه های  MPI روی سیستم های مطمئن استفاده می شوندوباید بتوانند نسبتا ً سریع روی سیستم های دیگر اجرا شوند.

به طور کلی واسط انتقال پیغام ها و پیام ها یا MPI به طور گسترده ای دراستاندارد های جدید مورد استفاده قرار می گیرد. واسط انتقال پِیام یک برنامه واسط (Interface) و كتابخانه ای  (Library) است از زِیر برنامه هاِیی كه می توانند توسط برخی از زبان های برنامه نوِیسی مانند …,C , FORTRAN 77 فراخوانده شوند و وظیفه آن برقراری ارتباط بین کامپیوترها می باشد.واسط انتقال پِیام به دقت برای استفاده وسِیع و بالاترِین سطح كاراِیی در سِیستم های گوناگون تعرِیف شده است.MPI بر پاِیه انتقال پِیام (message-passing)  طراحی شده كه ِیكی از وسِیع ترِین و قدرتمندترِین الگوهای مورد استفاده برای سِیستم های برنامه نوِیسی موازی می باشد.

MPI به وسیله ی انجمنی ملی مرکب از نماینده هایی از بخش های آزمایشگاهی صنایع ، آکادمی ها و دولت توسعه پیدا کرد. آن  به سرعت همه جا منتشر شد و مورد پردازش قرار گرفت زیرا به دقت طراحی شده بود و برای اجرا روی سیستم های مختلف مجوز داشت، MPI بر پاِیه انتقال پِیام (message-passing)  طراحی شده كه ِیكی از وسِیع ترِین و قدرتمندترِین الگوهای مورد استفاده برای سِیستم های برنامه نوِیسی موازی می باشد.

معرفی استاندارد MPI سبب می شود تا Developerهای نرم افزارهای موازی بتوانند كتابخانه هاِیی از برنامه های موازی بنوِیسندكه هم قابل انتقال(portable) و هم كارامد باشند.

حال آنكه مزِیت استفاده از اِین كتابخانه ها اِین است كه باعث پنهان شدن بسِیاری از جزئِیات دشوار برنامه نوِیسی موازی از دِید كاربر شده و در نتِیجه عملِیات و محاسبات موازی را برای استفاده دانشجوِیان و مهندسان و متخصصان تمامی شاخه های علوم آسان تر و قابل دسترسی تر می سازد.

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

واسط انتقال پیام یا MPI تنها برای حل و ازبین بردن این مشکلات به وجود آمد وهدف این متن هااین است که بتوانند دانش آموزان ، آموزگاران وافراد دیگر رابا ابزار هایی که می توانند به نحوی ساده ترباعث تغییرمسیرهای مختلف تکنولوژی شود آشنا کند.

برنامه نویسی موازی با MPI یا PPMP اولین وپیشرفته ترین عملیاتی ست که برای برنامه نویسی سیستم های موازی معرفی می شودPPMPI .  مقدمه ای ازMPI و عناصرمعرفی برنامه نویسی موازی را تهیه  کرده است. این توضیحات همه ی حالت های مختلف  MPI را در بر می گیرد به صورت مختصری محاسبات موازی را پشتیبانی می کند و موضوعی در رابطه با اشکال زدایی موازی را بیان می کند.برنامه های موازی طراحی شده وتوسعه پیدا کردندو تحلیل شده و به مرحله ی اجرا در آمدند.

در مورد انتقال پیام

عبور پیام از نظر فهم و یادگیری ، برنامه های مشکلی نیستند،برای اینکه بشر می تواند در هر زمانی عمل انتقال پیام را انجام دهد. دو دلیل برای نیاز به انتقال پیام ها نیاز است:یکی  برای تغییر داده ها بین عمل ها و وظایف موازی به آنها نیاز داریم ودیگری برای سنکرون کردن و همزمانی وظایف از آن ها استفاده می شود.اگر همه ی وظایف به صورت کامل ازهم مستقل باشند هیچ پیامی برای عبور یا کنترل موازی سازی ضروری نیست. در این حالت صحبت کردن در مورد برنامه نویسی موازی کاری نادرست است.

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

اگرانتقال پیام روش ساده ای برای برنامه نیست چرا ازآن استفاده می شود؟

روش های دیگری برای برنامه های موازی کامپیوتر ها وجود دارد،برای نمونه داده های موازی زبان برنامه نویسی High-Performance Fortran (HPF) .در داده های موازی زبان ها معمولا ًبه هیچ برنامه نویسی برای انتقال پیام نیاز نیست.متاسفانه برنامه نویسی داده های موازی فقط برای زیر مجموعه های الگوریتم ها استفاده می شود. درمورد فواید عبور پیام به طور کلی مدل message-passing می تواند در الگوریتم هایی که شما می خواهید  استفاده شود وبا بیشتر سیستم های کامپیوتری سرو کار داشته باشد.

در آغاز به عنوان یادآوری بایدگفته شود MPI شبیه تحولی ترکیبی از سیستم های پیشین message-passing می باشد.وبرای یک برنامه نویس به معنی بسیاری از برنامه های مفید و وابسته ی سطح بالاست.

به دلیل اینکه استاندارد MPI یک استاندارد باز است هر کسی می تواند یک اجرا از آن را در اختیار ودر دسترس خود داشته باشد.چندین بخش عمومی از این ها به صورت متداول وجود دارد که می توان اطلاعات را از بین آنها انتخاب کردونیز بسیاری از فروشنده های  ابرکامپیوترهاترجمه ها وتفسیر هایی را ارائه دادند.

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

هرچند MPI برنامه نویسی محیطی موازی نیست برخی صورت های محاسبات موازی شامل استاندارد ها هستند.در نتیجه MPI شامل امکانات وتسهیلاتی برای کنترل فرایند های پویا ،ورودی و خروجی های موازی و نیز آغاز وظایف موازی ندارد.زیرا که این صورت های جاری خارج از سطح استاندارد ها هستند هر اجرایی از MPI پیشنهادی برای برنامه نویسی محیط موازی ست.

صورت های ویژه ای از MPI

پیشنهادMPI مجموعه غنی ای از توابع برای انجام ارتباطات نقطه به نقطه

point-to-point)) است.در مجموع می توان به ساده گی وظایف را درمیان گروه ها تقسیم کرد تا بخش هایی از محاسبات به این نحو انجام شود.همچنین امکاناتی برای انجام محاسبات زیاد وجود دارد ،برای مثال پیدا کردن بیشترین مقدار یک مجموعه یا برگزیدن فعالیتی که باید بعدا ً انجام شود.برنامه نویس می تواندوظایف را درتوپولوژی های مجازی سازماندهی کند برای نمونه ارتباطات نزدیک همسایه ها در یک شبکه مربعی یک برنامه خیلی سرراست است.

اجرای MPI صورت های آغازین درک برنامه نویس است.اول از هر چیز درMPI قابلیت اطمینان برای انتقال پیام ها مهم است.همچنین پیام ها ازوظایف ویژهای فرستاده می شوندو بخشی از آنها که ارسال شدندبه کارهای دیگری می رسند بنابراین لزومی ندارد برنامه نویس کارهای ساماندهی خسته کننده و نیز چک کردن را انجام بدهد.

شاید پیشرفت بسیاری کهMPI    داشته تصویر کلی ای از اشخاص در تماس باشد.ساخت آن ممکن است باعث مجزا شدن ارتباطات باشد که فقط  کارهایی که در آنها بخشی از پیام های عبوری را می گیرد انجام می دهد.این ساخت ممکن است کاربرد ها و زیرروال کتابخانه ها را بنویسد که این ارتباطات به صورت نامرئی در جهان باقی مانده.درنتیجه انتقال پیام در بعضی از بسته بندی های نرم افزاری انجام می شود بدون اینکه با دیگر پیام های انتقالی ای که توسط بخش های دیگر انجام می شوندقاطی شود.اجرای آن خیلی ضروری ست برای مثال یک حل کننده موازی برای معادله های خطی که می توانند به وسیله برنامه فراخوانی شوندو MPI برای انجام کارهای موازی انجام می شود.

دربیشتر نمونه ها MPI قابلیت توسه پذیری را دارد.MPI ممکن است توسعه پیدا کندبرای مثال پیوستگی درخواست ویژه ی یک لایه از محاسبا ت اولیه روی MPI .همچنین اشکالزدایی ،برجسته سازی و تجسم فکری برنامه های موازی ممکن است مهارت ساخت در استاندارد MPI را استفاده کند.برای نمونه درک شکل های همرا ه را می توان نام برد.

چگونگی برنامه نویسی با MPI

بخش مهمی از برنامه نویسی موازی معمولا ً پیدا کردن الگوریتم موازی سازی ست،نه انتخاب کردن ابزار های موازی سازی.غالبا ً الگوریتم های سری کار آمد و مفید بهترین حالت برای محاسبات موازی نیستند.

مسئله مهم این که در پی پیدا کردن یک الگوریتم قابل قیاس باید در مورد کدبندی برنامه فکر کرد.اگر برنامه نویسی عبور پیام مدلی مناسب وکاربردی به نظر برسددز این حالت است که MPI می تواند یک انتخاب خوب برای اجرای حالت های موازی باشد.بهترین راه برای شروع برنامه نویسی MPI استفاده از یک مثال است.نمونه های مناسبی به عنوان مثال برای MPI در اینترنت به صورت مجموعه گرد آوری شده.اجرا هایی که از MPI در دسترس است ممکن است مجموعه ای از این نمونه ها باشد و چک کردن برنامه ها که می تواند الگویی برای برنامه ها باشد.

Distributed Computingمحاسبات توزیع شده

Distributed Computing  :یك سرِی محاسبات موازِی است كه از چندین كامپِیوتر مستقل كه در یك شبكه با هم مكاتبه می كنند استفاده میکند تا یك هدف مشترك ِیا كارِی را انجام دهد.

نوع سخت افزار ، زبان برنامه نوِیسی ، سیستم عامل و منابع  دِیگر ممكن است در تنوع ساختن آن  اثر زِیادِی بگذارد. اِین مسئله مثل اِین است كه چند دسته كامپِیوتر را كه از نظر منابع با هم متفاوت هستند در كنار هم قرار دهِیم تا ِیك كار واحد را سرِیعتر انجام دهند.

Organizationسازمان

سازمان اثر متقابل بِین هر كامپِیوتر ِیك شروع با اهمِیت است ، بدِین معنِی كه نوع ِیاچگونگِی ارتباط بِین هر دو كامپِیوتر براِی ما مهم است، تا بتوانِیم از گستره ِی وسِیع و موجود كامپِیوتر‌هاِی گوناگون استفاده كنِیم.

پروتكل ِیا كانال ارتباطِی نباِید شامل اطلاعاتِی باشد كه توسط ماشِین اصلِی فهمِیده نشود و نباِید از اِین اطلاعات استفاده كند. توجه وِیژه اِی لازم است تا پِیغام ها به درستِی تحوِیل داده شوند و پِیغام هاِی باطل پذِیرفته نشوند، در غِیر اِینصورت اِین پِیغام ها باعث خرابِی سِیستم  و ساِیر كامپِیوترهاِی  موجود در شبكه مِی شوند.

عامل مهم دِیگر ، تواناِیِی فرستادن نرم افزار بر روِی كامپِیوتر در ِیك راه قابل حمل است، بنابراِین ممكن است اِین نرم افزار ها بوسِیله شبكه موجود اجرا شده و نماِیش داده شو ند.

ممکن است اجرا شدن نرم افزارها زمانِی كه از سخت افزار هاِی متفاوت و منابع دِیگر استفاده مِی كنِیم ممكن نباشد بنابراِین باِید از روش هاِی دِیگر مثل گردآورِی ضربدرِی (Cross – compiling) ِیا حمل كتاب راهنماِی اِین نرم افزار (manually porting) استفاده شود.

هدف از طراحی

گونه هاِی بسِیار متفاوتِی براِی distributed computing وجود دارند و همچنِین براِی طراحِی ِیك نمونه ِی موفق آن رقابت هاِی زِیادِی وجود دارد.

هدف اصلِی سِیستم محاسبات تقسِیم شده است كه مصرف كنندگان و منابع را از طرِیق ِیك راه شفاف ، باز و قابل قِیاس به هم وصل كند. اِین سِیستم ها ،‌به اِین گونه بسِیار قوِی تر و موثر تر از سِیستم هاِی كامپِیوترِی هستند كه در انها كامپِیوترهاِی مجزا را به هم وصل مِی كنِیم.

امروزه سروِیس هاِی وب ِیك پروتكل استاندارد را براِی اتصال اِین سِیستم ها (سِیستم  هاِی گروهِی) به ِیكدِیگر فراهم مِی كنند.

ِیك مثال براِی distributed system ، شبكه جهانِی وب (اِینترنت) است. وقتِی شما ِیكِی از صفحات وب را مِی خوانِید شما در اصل از ِیك distributed system كه شامل ساِیت مربوطه است استفاده مِی‌كنِید. زمانِی كه شما در وب جستجو مِی كنِید، جستجو گر وب كه روِی كامپِیوتر شما اجرا مِی شود با سِیستم هاِی وب مختلف كه صفحه وب را فراهم كرده اند در ارتباط است.

ممكن است مرورگر از ِیك سرور نماِینده استفاده كند تا بتواند اطلاعات ذخِیره شده روِی سرورهاِی وب را سرِیع تر و اِیمن تر برساند. براِی پِیدا كردن اِین سرورها همچنِین از اسم سِیستم تقسِیم شده (distrubuted domain Name system) استفاده مِی شود.

مرورگر وب شما با همه ِی سرورهاِی موجود در اِینترنت از طرِیق ِیك سِیستم متشكل از راه پِیماها(Routers) كه خودشان ِیك قسمت از distributed system وسیع است ارتباط برقرار میکند.

Scalability

موضوع اصلی:توانایی(قابلیت)

یک سیستم توانا سیستمی است که به راحتی بتواند خود را با تغییراتی از قبیل تعداد مصرف کنندگان منابع و محاسبات وفق دهد.

توانایی میتواند در سه اندازه ی متفاوت اندازه گیری شود:

Load scalability:یک distributed system باِید گسترش و استفاده از منابع اشتراكِی را براِی ما آسان كند تا هم Load هاِی قوِی و هم Load  هاِی ضعِیف بتوانند خود را با آن وفق دهند.

Geogtaphic scalability (تواناِیِی جغرافِیاِیِی) : ِیك سِیستم تواناِیِ جغرافِیاِیِی سِیستمِی است كه سود ها و قابلِیت استفاده خود را صرف نظر از اِینكه مصرف كنندگان  ِیا منابع چقدر با آن فاصله دارند حفظ كند .

Administrative scalability (تواناِیِی اجراِیِی) : اِین مهم نِیست كه چند سازمان متفاوت نِیاز دارند تا ِیك سِیستم تقسِیم شده را به اشتراك بگذارند بلكه اِین سِیستم باِید همواره به آسانِی قابل استفاده باشند. چند خسارت اجراِیِی مِی تواند براِی سِیستمِی كه ِیك ِیا چند تا از خصوصِیات بالا را ندارند اتفاق بِیفتد.

Multiprocessorمالتی پروسسور

سِیستم چند پردازنده اِی بطور ساده ِیك كامپِیوتر است كه بِیش از ِیك cpu در روِی مادربورد خود دارد. اگر ِیك سِیستم عامل به گونه اِی ساخته شده است كه از اِین روش سود ببرد، مِی‌تواند process هاِی متفاوتِی را روِی cpu هاِی متفاوتِی اجرا كند. چند پردازنده اِی هاِی متفاوتِی در طول اِین سالها براِی استفاده در سِیستم‌هاِی تقسِیم شده كشف شده اند.

شركت inter در cpu هاِی خود از ِیك تكنولوژِی به نام   Hyperthreadingاستفاده كرده است كه اجازه مِی دهد تا بِیش از ِیك thread (ِیا بعضِی وقت ها دو) روِی ِیك cpu اجرا شوند.

بِیشترِین درخشندگِی اخِیر چند پردازنده اِی ها مربوط به : _UltraSPARK TL2× 64 Athlon _ pentium D شركت inter است كه سعِی در افزایش تعدادTHREAD  هاِی جارِی كه مِی توانند اجرا شوند دارند.

Multicomputer systemمالتی کامپیوتر

یك سِیستم چند كامپِیوترِی سِیستمِی است كه از چندِین كامپِیوتر مستقل كه به وسِیله مخابرات تلفن بهم وصل شده اند تشكِیل شده است.

سِیستم هاِی چند كامپِیوترِی مِی توانند همگن (ِیكسان) و ِیا ناهمگن (غِیر ِیكسان) باشند. ِیك distributed system همگن سِیستمِی است كه در ان همه cpu ها ِیكسان است و به وسِیله ِی ِیك شبكه ِی ِیكسان به هم وصل شده اند. اغلب براِی محاسبات موازِی كه نمونه اِی از distributed computing  است استفاده مِی شود، كه در آن‌هر كامپِیوتر روِی ِیك بخش از ِیك مشكل خاص كار مِی كند.

در مقابل distributed system نا همگن سِیستمِی است كه مِیتواند از گونه هاِی مختلف كامپِیوتر با حافظه هاِی بسِیار متفاوتِی از لحاظ اندازه و همچنِین پردازنده هاِی متفاوتِی از لحاظ قدرت و طرز ساخت، ساخته شود. اِین ها امروزه در حجم وسِیعِی بوسِیله ِی بسِیارِی از شركت هاِی سازنده ساخته مِی شوند تا بتوانند به كامپِیوترهاِیشان به وسِیله سخت افزارهاِیِی كه كهنه شده اند سرعت بخشِیده و قِیمت آن  را به طور همزمان بالا ببرند.

انواع معماری

معمارِی هاِی سخت افزارِی و نرم افزارِی متنوعِی و جود دارد كه معمولاً براِی محاسبات تقسِیم شده استفاده مِی شده است . در ِیك سطح پاِیِین، بهم وصل كردن چند cpu به وسِیله شبكه الزامِی است، صرف نظر از اِینكه آن شبكه روِی برد متشكل از مدار منتشر شده است و ِیا اِینكه از چندِین زوج سست وسِیله ها و كابل ها تشِیكل شده است. در ِیك سطح بالا، بهم وصل كردن (پِیوستن) چند پراسس كه روِی آن cpu ها اجرا مِی شوند به وسِیله سِیستم ارتباطِی الزامِی است.

Client-server: ِیك client كد باهوش براِی گرفتن اطلاعات (داده ها) با سرور تماس برقرار مِی‌كند و سپس اِین اطلاعات را به user (استفاده كننده) نشان مِی دهد. هرگونه تغِیِیرِی در وروِی به سرور گزارش شده و اِین تغِیِیرات اعمال مِی شود.

3-tire architecture  : سِیستم سه tire (صف) ، هوش client را به وسط tire انتقال مِی دهد سپس client هاِیِی كه جاِی مشخصِی ندارند مِی توانند استفاده شوند. اِین مسئله تقاضاهاِی گسترده را ساده و مختصر مِی كند . اكثر تقاضاهاِی وب سه tire هستند.

N-tiet architecture : n ردِیفها به عنوان نمونه به تقاضاهاِی وب بر مِیگردد كه تقاضاهاِیشان را به سروِیسهاِی دِیگر مِی فرستند. اِین نوع تقاضا ِیك از مسئولِترِین هاِی موفقِیت سرور‌هاِی متقاضِی است.

Tightly coupled : به عنوان نمونه به ِیك دسته ماشِین هاِیِی بر مِی گردد كه پراسس هاِی ِیكسان را به صورت موازِی انجام مِی دهند و كار را بِین هركدام از آن ها به صورت مجزا تقسِیم مِی كند و سپس نتاِیج هرِیك را گرفته و در كنار هم قرار مِی دهد تا نتِیجه نهاِیِی را بسازد و اعلام كند.

Peer – to – peer  : ِیك ساختار است زمانِی كه ِیك ماشِین ِیا ماشِین هاِی خاصِی كه ِیك سروِیس را براِی منابع شبكه سروِیس دهِی ِیا اداره مِی كنند وجود نداشته باشد. در عوض همه ِی مسئولِیت هاِیِی كه به طور ِیكسان بِین ماشِینها تقسِیم شده است آن را به عنوان preers (صفت ها ) مِی شناسند.

Service oriented : زمانِی است كه سِیستم به عنوان سروِیس هاِی قابل استفاده مجدد طراحِی شده و با معِیارهاِی معِینِی مِی توان دوباره از آن تقاضا كرد.

Mobile code : مبتنِی بر ِیك طراحِی اصولِی براِی حركت نزدِیك ترِین پردازش به منبع ِیك داده است .

:  Replicated repository   جاِیی كه اِین مخزن بِین distributed system براِی حماِیت پراسس‌هاِی offline و Online تكرار شده است ، فراهم شدن اِین تأخِیر در به روز رسانِی داده قابل قبول است.

:Concurrency

اجرا كردن distributed computing ِیك نوع از همزمانِی است.

:Computing taxonomies

نوع هاِی distributed computers بر اساس طبقه بندِی Flynn است، كه به شرح زِیر است :

SISD (Single instruction, single data)

MISD (multilpe instruction, single data)

SIMD (Single instruction, multiple data)

MIMD(multiple instruction ,multiple data)

فهرست منابع:

1.تناوش  مهرداد  اشنائی با سبک برنامه نویسی موازی  چاپ اول  تهران  ناقوس  1382

2. http://www.gup.uni-linz.ac.at/thesis/diploma/christian_schaubschlaeger/html/chapter02a4.html

3.http://www.llnl.gov/computing/tutorials/parallel_comp/http://www.di.unipi.it/Evaluation/vannesch.html

4.http://www.csc.fi/math_topics/Publ/mpi.html

5.http://www.cs.usfca.edu/mpi/preface.html

6. http://en.wikipedia.org/wiki/Concurrent_programming

7.http://en.wikipedia.org/wiki/Distributed_programming

  1. هنوز دیدگاهی داده نشده است.
  1. No trackbacks yet.

پاسخی بگذارید

در پایین مشخصات خود را پر کنید یا برای ورود روی شمایل‌ها کلیک نمایید:

نشان‌وارهٔ وردپرس.کام

شما در حال بیان دیدگاه با حساب کاربری WordPress.com خود هستید. بیرون رفتن / تغییر دادن )

تصویر توییتر

شما در حال بیان دیدگاه با حساب کاربری Twitter خود هستید. بیرون رفتن / تغییر دادن )

عکس فیسبوک

شما در حال بیان دیدگاه با حساب کاربری Facebook خود هستید. بیرون رفتن / تغییر دادن )

عکس گوگل+

شما در حال بیان دیدگاه با حساب کاربری Google+ خود هستید. بیرون رفتن / تغییر دادن )

درحال اتصال به %s

%d وب‌نوشت‌نویس این را دوست دارند: