Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
‫در‬ ‫موازی‬ ‫نویسی‬‫برنامه‬ ‫از‬ ‫گزارشی‬‫پی‬‫اچ‬‫پی‬
@AlaFalaki | ‫فلکی‬ ‫عالم‬ ‫عل‬
http://AlaFalaki.ir
‫مرداد‬۱۳۹۴
‫؟‬ ‫چیست‬ ‫موازی‬ ‫نویسی‬‫برنامه‬
‫همزمان‬ ‫صورت‬ ‫به‬ ‫دستور‬ ‫چندین‬ ‫اجرای‬
۲ / ۲۲
‫؟‬ ‫موازی‬ ‫نویسی‬‫برنامه‬ ‫چرا‬
●‫اجرا‬ ‫زمان‬ ‫کاهش‬
●‫بزرگتر‬ ‫مسائل‬ ‫حل‬
●‫محلی‬ ‫غیر‬ ‫منابع‬ ‫از‬ ‫استفاده‬
●‫سریا...
‫افزار‬‫سخت‬ ‫های‬‫محدودیت‬ ‫بر‬ ‫غلبه‬
۴ / ۲۲
‫پی‬‫اچ‬‫پی‬‫موازی‬ ‫نویسی‬‫برنامه‬ ‫و‬
●‫فرآیندی‬ ‫چند‬
●‫نخی‬ ‫چند‬
●‫فرآیندها‬ ‫توزیع‬
۵ / ۲۲
‫پی‬‫اچ‬‫پی‬‫موازی‬ ‫نویسی‬‫برنامه‬ ‫و‬
●‫فرآیندی‬ ‫چند‬
●‫نخی‬ ‫چند‬
●‫فرآیندها‬ ‫توزیع‬
۶ / ۲۲
‫چندفرآیندی‬
●‫؟‬ ‫چیست‬ ‫فرآیند‬
‫اجرا‬ ‫حال‬ ‫در‬ ‫برنامه‬ ‫از‬ ‫نمونه‬ ‫یک‬
‫پی‬‫اچ‬‫پی‬‫دارد‬ ‫فرزند‬ ‫فرآیند‬ ‫ایجاد‬...
‫چندفرآیندی‬
‫به‬ ‫تقسیم‬۳: ‫زیر‬ ‫روش‬
●
FORK
●
EXECUTE COMMAND
●
PIPING
۸ / ۲۲
‫چندفرآیندی‬)FORK(
●‫تابع‬ ‫از‬ ‫استفاده‬()pcntl_fork
●‫اکستنشن‬ ‫نصب‬ ‫به‬ ‫نیاز‬PCNTL
●‫والد‬ ‫فرآیند‬ ‫شماره‬ ‫و‬ ‫فرآی...
‫چندفرآیندی‬)FORK(
●:‫ها‬‫محدودیت‬
‫ویندوز‬ ‫عامل‬‫سیستم‬ ‫در‬ ‫استفاده‬ ‫قابل‬ ‫غیر‬ -
‫فرآیندها‬ ‫بال‬ ‫تعداد‬ ‫در‬ ‫پای...
‫چندفرآیندی‬)Execute Command(
http://php.net/manual/en/ref.exec.php
●‫تابع‬ ‫از‬ ‫استفاده‬()exec
exec(“php helloworld.php”...
‫چندفرآیندی‬
●:‫قبل‬ ‫روش‬ ‫دو‬ ‫محدودیت‬
‫میان‬ ‫ارتباط‬ ‫برقراری‬ ‫امکان‬ ‫نبود‬
‫اجرا‬ ‫حال‬ ‫در‬ ‫فرآیند‬ ‫دو‬
۱۲ / ۲۲
‫چندفرآیندی‬)Piping(
●‫از‬ ‫استفاده‬STDIN/STDOUT‫تابع‬ ‫و‬()proc_open
●‫فرآیندها‬ ‫میان‬ ‫ارتباط‬ ‫برقراری‬
●:‫محدودیت‬
‫س...
‫پی‬‫اچ‬‫پی‬‫موازی‬ ‫نویسی‬‫برنامه‬ ‫و‬
●‫فرآیندی‬ ‫چند‬
●‫نخی‬ ‫چند‬
●‫فرآیندها‬ ‫توزیع‬
۱۴ / ۲۲
‫چندنخی‬
●‫؟‬ ‫چیست‬ ‫نخ‬
‫ها‬‫دستورالعمل‬ ‫از‬ ‫ای‬‫مجموعه‬
‫مشترک‬ ‫داده‬ ‫فضای‬ ‫با‬
۱۵ / ۲۲
‫چندنخی‬
* Z.T.S: Zend thread safe
https://github.com/krakjoe/pthreads
●‫نخ‬ ‫نسخه‬ ‫نصب‬‫امن‬*‫پی‬‫اچ‬‫پی‬
‫مشترک‬ ‫منابع...
‫چندنخی‬
●:‫محدودیت‬
‫رود‬‫می‬ ‫بین‬ ‫از‬ ‫فرآیند‬ ‫کل‬ ،‫نخ‬ ‫یک‬ ‫در‬ ‫خطا‬ ‫ایجاد‬ ‫با‬ -
۱۷ / ۲۲
‫پی‬‫اچ‬‫پی‬‫موازی‬ ‫نویسی‬‫برنامه‬ ‫و‬
●‫فرآیندی‬ ‫چند‬
●‫نخی‬ ‫چند‬
●‫فرآیندها‬ ‫توزیع‬
۱۸ / ۲۲
‫فرآیندها‬ ‫توزیع‬
●‫چیست؟‬ ‫فرآیند‬ ‫توزیع‬
‫شبکه‬ ‫یک‬ ‫در‬ ‫فرآیندها‬ ‫انتقال‬
۱۹ / ۲۲
‫فرآیندها‬ ‫توزیع‬
●‫سوکت‬ ‫نویسی‬‫برنامه‬
●‫خاص‬ ‫شرایط‬ ‫پیشبینی‬
●‫ها؟‬‫کتابخانه‬ ‫از‬ ‫استفاده‬
۲۰ / ۲۲
‫فرآیندها‬ ‫توزیع‬
●‫ها‬‫پیچیدگی‬ ‫بردن‬ ‫بین‬ ‫از‬
●:‫نظیر‬ ‫هایی‬‫کتابخانه‬
●
Gearman
●
ZeroMQ
●...
۲۱ / ۲۲
‫در‬ ‫موازی‬ ‫نویسی‬‫برنامه‬ ‫از‬ ‫گزارشی‬‫پی‬‫اچ‬‫پی‬
@AlaFalaki | ‫فلکی‬ ‫عالم‬ ‫عل‬
http://AlaFalaki.ir
‫مرداد‬۱۳۹۴ ۲۲ ...
Upcoming SlideShare
Loading in …5
×

گزارشی از برنامه‌نویسی موازی در پی‌اچ‌پی

466 views

Published on

ارائه «گزارشی از برنامه‌نویسی موازی در پی‌اچ‌پی» در اولین همایش پی‌اچ‌پی ایران

برای کسب اطلاعات بیشتر و یا سوالی در زمینه این اسلاید می‌توانید به آدرس زیر مراجعه کنید.
http://goo.gl/C9pYi8

Published in: Software
  • Be the first to comment

گزارشی از برنامه‌نویسی موازی در پی‌اچ‌پی

  1. 1. ‫در‬ ‫موازی‬ ‫نویسی‬‫برنامه‬ ‫از‬ ‫گزارشی‬‫پی‬‫اچ‬‫پی‬ @AlaFalaki | ‫فلکی‬ ‫عالم‬ ‫عل‬ http://AlaFalaki.ir ‫مرداد‬۱۳۹۴
  2. 2. ‫؟‬ ‫چیست‬ ‫موازی‬ ‫نویسی‬‫برنامه‬ ‫همزمان‬ ‫صورت‬ ‫به‬ ‫دستور‬ ‫چندین‬ ‫اجرای‬ ۲ / ۲۲
  3. 3. ‫؟‬ ‫موازی‬ ‫نویسی‬‫برنامه‬ ‫چرا‬ ●‫اجرا‬ ‫زمان‬ ‫کاهش‬ ●‫بزرگتر‬ ‫مسائل‬ ‫حل‬ ●‫محلی‬ ‫غیر‬ ‫منابع‬ ‫از‬ ‫استفاده‬ ●‫سریالی‬ ‫نویسی‬‫برنامه‬ ‫های‬‫محدودیت‬ ‫بر‬ ‫غلبه‬ ●‫افزار‬‫سخت‬ ‫های‬‫محدودیت‬ ‫بر‬ ‫غلبه‬ ۳ / ۲۲
  4. 4. ‫افزار‬‫سخت‬ ‫های‬‫محدودیت‬ ‫بر‬ ‫غلبه‬ ۴ / ۲۲
  5. 5. ‫پی‬‫اچ‬‫پی‬‫موازی‬ ‫نویسی‬‫برنامه‬ ‫و‬ ●‫فرآیندی‬ ‫چند‬ ●‫نخی‬ ‫چند‬ ●‫فرآیندها‬ ‫توزیع‬ ۵ / ۲۲
  6. 6. ‫پی‬‫اچ‬‫پی‬‫موازی‬ ‫نویسی‬‫برنامه‬ ‫و‬ ●‫فرآیندی‬ ‫چند‬ ●‫نخی‬ ‫چند‬ ●‫فرآیندها‬ ‫توزیع‬ ۶ / ۲۲
  7. 7. ‫چندفرآیندی‬ ●‫؟‬ ‫چیست‬ ‫فرآیند‬ ‫اجرا‬ ‫حال‬ ‫در‬ ‫برنامه‬ ‫از‬ ‫نمونه‬ ‫یک‬ ‫پی‬‫اچ‬‫پی‬‫دارد‬ ‫فرزند‬ ‫فرآیند‬ ‫ایجاد‬ ‫قابلیت‬ ۷ / ۲۲
  8. 8. ‫چندفرآیندی‬ ‫به‬ ‫تقسیم‬۳: ‫زیر‬ ‫روش‬ ● FORK ● EXECUTE COMMAND ● PIPING ۸ / ۲۲
  9. 9. ‫چندفرآیندی‬)FORK( ●‫تابع‬ ‫از‬ ‫استفاده‬()pcntl_fork ●‫اکستنشن‬ ‫نصب‬ ‫به‬ ‫نیاز‬PCNTL ●‫والد‬ ‫فرآیند‬ ‫شماره‬ ‫و‬ ‫فرآیند‬ ‫شماره‬ ‫در‬ ‫تفاوت‬ ●‫محیط‬ ‫در‬ ‫تنها‬ ‫کارگیری‬‫به‬CLI http://php.net/manual/en/intro.pcntl.php ۹ / ۲۲
  10. 10. ‫چندفرآیندی‬)FORK( ●:‫ها‬‫محدودیت‬ ‫ویندوز‬ ‫عامل‬‫سیستم‬ ‫در‬ ‫استفاده‬ ‫قابل‬ ‫غیر‬ - ‫فرآیندها‬ ‫بال‬ ‫تعداد‬ ‫در‬ ‫پایین‬ ‫وری‬‫بهره‬ - ‫فرزند‬ ‫و‬ ‫والد‬ ‫فرآیند‬ ‫بین‬ ‫منابع‬ ‫اشتراک‬ - ۱۰ / ۲۲
  11. 11. ‫چندفرآیندی‬)Execute Command( http://php.net/manual/en/ref.exec.php ●‫تابع‬ ‫از‬ ‫استفاده‬()exec exec(“php helloworld.php”, $output); ●‫اکستنشن‬ ‫نصب‬ ‫به‬ ‫نیاز‬program execution ●‫با‬ ‫مقایسه‬ ‫در‬ ‫بهتر‬ ‫کارآیی‬FORK‫فرآیند‬ ‫کردن‬ ۱۱ / ۲۲
  12. 12. ‫چندفرآیندی‬ ●:‫قبل‬ ‫روش‬ ‫دو‬ ‫محدودیت‬ ‫میان‬ ‫ارتباط‬ ‫برقراری‬ ‫امکان‬ ‫نبود‬ ‫اجرا‬ ‫حال‬ ‫در‬ ‫فرآیند‬ ‫دو‬ ۱۲ / ۲۲
  13. 13. ‫چندفرآیندی‬)Piping( ●‫از‬ ‫استفاده‬STDIN/STDOUT‫تابع‬ ‫و‬()proc_open ●‫فرآیندها‬ ‫میان‬ ‫ارتباط‬ ‫برقراری‬ ●:‫محدودیت‬ ‫سازی‬‫پیاده‬ ‫در‬ ‫پیچیدگی‬ - http://php.net/manual/en/function.proc-open.php ۱۳ / ۲۲
  14. 14. ‫پی‬‫اچ‬‫پی‬‫موازی‬ ‫نویسی‬‫برنامه‬ ‫و‬ ●‫فرآیندی‬ ‫چند‬ ●‫نخی‬ ‫چند‬ ●‫فرآیندها‬ ‫توزیع‬ ۱۴ / ۲۲
  15. 15. ‫چندنخی‬ ●‫؟‬ ‫چیست‬ ‫نخ‬ ‫ها‬‫دستورالعمل‬ ‫از‬ ‫ای‬‫مجموعه‬ ‫مشترک‬ ‫داده‬ ‫فضای‬ ‫با‬ ۱۵ / ۲۲
  16. 16. ‫چندنخی‬ * Z.T.S: Zend thread safe https://github.com/krakjoe/pthreads ●‫نخ‬ ‫نسخه‬ ‫نصب‬‫امن‬*‫پی‬‫اچ‬‫پی‬ ‫مشترک‬ ‫منابع‬ ‫به‬ ‫دسترسی‬ ‫های‬‫محدودیت‬ ‫بر‬ ‫غلبه‬ - ●‫اکستنشن‬ ‫از‬ ‫استفاده‬pthread ●‫گرایی‬‫شئ‬ ‫از‬ ‫پشتیبانی‬ ۱۶ / ۲۲
  17. 17. ‫چندنخی‬ ●:‫محدودیت‬ ‫رود‬‫می‬ ‫بین‬ ‫از‬ ‫فرآیند‬ ‫کل‬ ،‫نخ‬ ‫یک‬ ‫در‬ ‫خطا‬ ‫ایجاد‬ ‫با‬ - ۱۷ / ۲۲
  18. 18. ‫پی‬‫اچ‬‫پی‬‫موازی‬ ‫نویسی‬‫برنامه‬ ‫و‬ ●‫فرآیندی‬ ‫چند‬ ●‫نخی‬ ‫چند‬ ●‫فرآیندها‬ ‫توزیع‬ ۱۸ / ۲۲
  19. 19. ‫فرآیندها‬ ‫توزیع‬ ●‫چیست؟‬ ‫فرآیند‬ ‫توزیع‬ ‫شبکه‬ ‫یک‬ ‫در‬ ‫فرآیندها‬ ‫انتقال‬ ۱۹ / ۲۲
  20. 20. ‫فرآیندها‬ ‫توزیع‬ ●‫سوکت‬ ‫نویسی‬‫برنامه‬ ●‫خاص‬ ‫شرایط‬ ‫پیشبینی‬ ●‫ها؟‬‫کتابخانه‬ ‫از‬ ‫استفاده‬ ۲۰ / ۲۲
  21. 21. ‫فرآیندها‬ ‫توزیع‬ ●‫ها‬‫پیچیدگی‬ ‫بردن‬ ‫بین‬ ‫از‬ ●:‫نظیر‬ ‫هایی‬‫کتابخانه‬ ● Gearman ● ZeroMQ ●... ۲۱ / ۲۲
  22. 22. ‫در‬ ‫موازی‬ ‫نویسی‬‫برنامه‬ ‫از‬ ‫گزارشی‬‫پی‬‫اچ‬‫پی‬ @AlaFalaki | ‫فلکی‬ ‫عالم‬ ‫عل‬ http://AlaFalaki.ir ‫مرداد‬۱۳۹۴ ۲۲ / ۲۲

×