آموزش برنامه‌نویسی موازی در جاوا (Parallel Programming in Java) - آخرین آپدیت

دانلود Parallel Programming in Java

نکته: ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره: این دوره مفاهیم بنیادی برنامه‌نویسی موازی را در بستر Java 8 به یادگیرندگان (متخصصان صنعت و دانشجویان) آموزش می‌دهد. برنامه‌نویسی موازی به توسعه‌دهندگان اجازه می‌دهد تا با استفاده از چندین پردازنده به صورت همزمان، از توان محاسباتی کامپیوترهای چند هسته‌ای برای افزایش سرعت برنامه‌ها استفاده کنند. در پایان این دوره، شما یاد خواهید گرفت که چگونه از فریم‌ورک‌های محبوب جاوا برای برنامه‌نویسی موازی (مانند ForkJoin، Stream و Phaser) استفاده کنید تا برنامه‌هایی برای طیف گسترده‌ای از پلتفرم‌های چند هسته‌ای از جمله سرورها، دسکتاپ‌ها یا دستگاه‌های موبایل بنویسید. همچنین با مبانی نظری این حوزه از جمله گراف‌های محاسباتی، موازی‌سازی ایده‌آل، شتاب موازی (Parallel Speedup)، قانون آمداهل (Amdahl's Law)، رقابت داده‌ها (Data Races) و تعیین‌ناپذیری (Determinism) آشنا خواهید شد. چرا این دوره را انتخاب کنیم؟ • تمام کامپیوترهای امروزی چند هسته‌ای هستند، بنابراین یادگیری نحوه گسترش دانش برنامه‌نویسی ترتیبی جاوا به سمت موازی‌سازی چند هسته‌ای برای شما حیاتی است. • جاوا ۷ و ۸ فریم‌ورک‌های جدیدی برای موازی‌سازی (ForkJoin و Stream) معرفی کرده‌اند که پارادایم‌های برنامه‌نویسی موازی را نسبت به روزهای اولیه جاوا به طور قابل توجهی تغییر داده‌اند. • هر یک از چهار ماژول این دوره شامل یک پروژه کوچک (Mini-project) است که تجربه عملی لازم را برای استفاده از مفاهیم آموخته شده در پروژه‌های شخصی خود فراهم می‌کند. • در طول دوره، شما دسترسی آنلاین به مدرس و مربیان خواهید داشت تا سوالات خود را در انجمن‌ها مطرح کرده و پاسخ‌های اختصاصی دریافت کنید. دستاوردهای آموزشی مورد انتظار این دوره عبارتند از: • تئوری موازی‌سازی: گراف‌های محاسباتی، کار (Work)، بازه (Span)، موازی‌سازی ایده‌آل، شتاب موازی، قانون آمداهل، رقابت داده‌ها و تعیین‌ناپذیری. • موازی‌سازی وظایف (Task Parallelism) با استفاده از فریم‌ورک ForkJoin جاوا. • موازی‌سازی تابعی (Functional Parallelism) با استفاده از فریم‌ورک‌های Future و Stream در جاوا. • موازی‌سازی در سطح حلقه (Loop-level) همراه با قابلیت‌های مانع (Barriers) و گروه‌بندی تکرار (Chunking). • موازی‌سازی جریان داده (Dataflow Parallelism) با استفاده از فریم‌ورک Phaser و وظایف داده‌محور. تسلط بر این مفاهیم شما را قادر می‌سازد تا بلافاصله آن‌ها را در برنامه‌های چند هسته‌ای جاوا به کار بگیرید و زیربنای لازم برای تسلط بر سایر سیستم‌های برنامه‌نویسی موازی (مانند C++11، OpenMP و .Net Task Parallel Library) را برای شما فراهم می‌کند.

سرفصل ها و درس ها

خوش آمدید به دوره! Welcome to the Course!

  • خوش‌آمدگویی به دوره Course Welcome

موازی‌سازی وظایف (Task Parallelism) Task Parallelism

  • 1.1 ایجاد و پایان وظایف (Async, Finish) 1.1 Task Creation and Termination (Async, Finish)

  • 1.2 وظایف در فریم‌ورک Fork/Join جاوا 1.2 Tasks in Java's Fork/Join Framework

  • 1.3 گراف‌های محاسباتی، کار و بازه (Work & Span) 1.3 Computation Graphs, Work, Span

  • 1.4 زمان‌بندی چند پردازنده‌ای و شتاب موازی 1.4 Multiprocessor Scheduling, Parallel Speedup

  • 1.5 قانون آمداهل 1.5 Amdahl's Law

  • محاسبه مجموع معکوس آرایه با استفاده از Async Finish (دمو) ReciprocalArraySum using Async-Finish (Demo)

  • محاسبه مجموع معکوس آرایه با استفاده از RecursiveAction در فریم‌ورک Fork/Join (دمو) ReciprocalArraySum using RecursiveAction's in Java's Fork/Join Framework (Demo)

موازی‌سازی تابعی (Functional Parallelism) Functional Parallelism

  • 2.1 فیوچرها (Futures): وظایفی با مقدار بازگشتی 2.1 Futures: Tasks with Return Values

  • 2.2 فیوچرها در فریم‌ورک Fork/Join جاوا 2.2 Futures in Java's Fork/Join Framework

  • 2.3 تکنیک Memoization 2.3 Memoization

  • 2.4 استریم‌های جاوا (Java Streams) 2.4 Java Streams

  • 2.5 رقابت داده‌ها (Data Races) و تعیین‌ناپذیری 2.5 Data Races and Determinism

  • محاسبه مجموع معکوس آرایه با استفاده از RecursiveTask در فریم‌ورک Fork/Join (دمو) ReciprocalArraySum using RecursiveTask's in Java's Fork/Join Framework (Demo)

  • پردازش موازی لیست‌ها با استفاده از Java Streams (دمو) Parallel List Processing Using Java Streams (Demo)

گفتگو با Two Sigma: استفاده از این دانش در دنیای واقعی Talking to Two Sigma: Using it in the Field

  • دیدگاه متخصص صنعت درباره برنامه‌نویسی موازی، همزمان و توزیع‌شده در جاوا - جیم وارد، مدیر عامل Industry Professional on Parallel, Concurrent, and Distributed Programming in Java - Jim Ward, Managing Director

  • دیدگاه متخصصان صنعت درباره موازی‌سازی - جیک کورنبلاو و مارگارت کلی، مهندسان نرم‌افزار Industry Professionals on Parallelism - Jake Kornblau and Margaret Kelley, Software Engineers

موازی‌سازی حلقه‌ها (Loop Parallelism) Loop Parallelism

  • 3.1 حلقه‌های موازی 3.1 Parallel Loops

  • 3.2 ضرب ماتریس موازی 3.2 Parallel Matrix Multiplication

  • 3.3 موانع (Barriers) در حلقه‌های موازی 3.3 Barriers in Parallel Loops

  • 3.4 میانگین‌گیری تکرارشونده یک‌بعدی موازی 3.4 Parallel One-Dimensional Iterative Averaging

  • 3.5 گروه‌بندی تکرار/Chunking در حلقه‌های موازی 3.5 Iteration Grouping/Chunking in Parallel Loops

  • ضرب ماتریس موازی (دمو) Parallel Matrix Multiplication (Demo)

  • میانگین‌گیری تکرارشونده یک‌بعدی موازی (دمو) Parallel One-Dimensional Iterative Averaging (Demo)

همگام‌سازی جریان داده و خط لوله (Pipelining) Data flow Synchronization and Pipelining

  • 4.1 موانع فاز دوگانه با استفاده از Java Phasers 4.1 Split-phase Barriers with Java Phasers

  • 4.2 همگام‌سازی نقطه به نقطه با Phasers 4.2 Point-to-Point Sychronization with Phasers

  • 4.3 میانگین‌گیری تکرارشونده یک‌بعدی با Phasers 4.3 One-Dimensional Iterative Averaging with Phasers

  • 4.4 موازی‌سازی خط لوله (Pipeline Parallelism) 4.4 Pipeline Parallelism

  • 4.5 موازی‌سازی جریان داده (Data Flow Parallelism) 4.5 Data Flow Parallelism

  • مثال‌هایی از Phaser Phaser Examples

  • موازی‌سازی خط لوله و جریان داده Pipeline & Data Flow Parallelism

ادامه مسیر با تخصص «برنامه‌نویسی موازی، همزمان و توزیع‌شده در جاوا» Continue Your Journey with the Specialization "Parallel, Concurrent, and Distributed Programming in Java"

  • دیدگاه متخصص صنعت درباره همزمانی (Concurrency) - دکتر شمس امام، مهندس نرم‌افزار در Two Sigma Industry Professional on Concurrency - Dr. Shams Imam, Software Engineer, Two Sigma

  • دیدگاه متخصص صنعت درباره توزیع‌شدگی (Distribution) - دکتر اریک آلن، نایب رئیس ارشد در Two Sigma Industry Professional on Distribution - Dr. Eric Allen, Senior Vice President, Two Sigma

نمایش نظرات

آموزش برنامه‌نویسی موازی در جاوا (Parallel Programming in Java)
جزییات دوره
19h 25m
33
(آخرین آپدیت)
51,953
4.8 از 5
دارد
دارد
دارد
Vivek Sarkar
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar