آموزش برنامه نویسی همگام و موازی: طراحی اپلیکیشن

Async and Parallel Programming: Application Design

در حال بارگزاری نمونه ویدیو، لطفا صبر کنید...
Video Player is loading.
Current Time 0:00
Duration 0:00
Loaded: 0%
Stream Type LIVE
Remaining Time 0:00
 
1x
    • Chapters
    • descriptions off, selected
    • subtitles off, selected
      نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
      نمونه ویدیوها:
      • در حال بارگزاری، لطفا صبر کنید...
      توضیحات دوره: آیا باید برنامه های دات نت خود را پاسخگوتر کنید؟ سریعتر بدوید؟ در سخت افزار چند هسته ای امروزی، برنامه نویسی غیر همگام و موازی ممکن است راه حل باشد. این دوره (قسمت 2 از 2) طراحی ایمن و کارآمد برنامه های غیرهمزمان و موازی دات نت را مورد بحث قرار می دهد. این بر اساس مقدمه ارائه شده در قسمت 1 ("مقدمه ای بر برنامه نویسی ناهمزمان و موازی در دات نت 4")، جزئیات بیشتری را در مورد عملکرد داخلی Task Parallel Library، خطرات اجرای همزمان، و انتزاعات سطح بالاتر موجود ارائه می کند. در TPL برای کمک به شما. دوره با ترکیب این مفاهیم و ارائه الگوهای مشترک برای ساختن نرم افزارهای موازی سریع و صحیح به پایان می رسد. این دوره برای کسانی است که در .NET 4 یا Silverlight 5 کار می کنند.

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

      درک خطرات همزمانی Understanding the Dangers of Concurrency

      • مقدمه و دستور کار Introductions and Agenda

      • مشکلات همزمانی The pitfalls of concurrency

      • صحت تضمین می کند: ایمنی، سرزندگی Correctness guarantees: safety, liveness

      • اصطلاحات: شرایط مسابقه، بخش های بحرانی Terminology: race conditions, critical sections

      • شرایط مسابقه شامل منابع مشترک Race conditions involving shared resources

      • نسخه آزمایشی 1: موازی کردن یک برنامه جستجوی فایل Logfile Demo 1: parallelizing a Logfile Search app

      • نسخه ی نمایشی 1: طرح کد منبع Demo 1: source code layout

      • دمو 1: از ترتیبی به موازی Demo 1: from sequential to parallel

      • نسخه ی نمایشی 1: خلاصه ای از چرایی خرابی Demo 1: summary of why it's broken

      • حل شرایط مسابقه --- یک نمای کلی Solving race conditions --- an overview

      • راه حل 1: قفل کردن Solution 1: locking

      • نسخه ی نمایشی 2: راه حل با استفاده از قفل Demo 2: solution using locking

      • راه حل 2: به هم پیوستن Solution 2: interlocking

      • نسخه ی نمایشی 3: راه حل با استفاده از قفل کردن Demo 3: solution using interlocking

      • راه حل 3: بدون قفل Solution 3: lock-free

      • نسخه ی نمایشی 4: راه حل بدون قفل Demo 4: lock-free solution

      • خطر اشیاء مشترک The danger of shared objects

      • Thread-safety و راه حل هایی برای اشیاء مشترک Thread-safety and solutions to shared objects

      • نسخه ی نمایشی 5: استفاده از اشیاء ایمن برای موضوع Demo 5: using thread-safe objects

      • اصول اولیه همگام سازی Synchronization primitives

      • ساختارهای داده همزمان: مجموعه های ایمن رشته ای The concurrent data structures: thread-safe collections

      • درس های اجرا... Performance lessons...

      • نسخه ی نمایشی 6: بهبود عملکرد Demo 6: improving performance

      • خلاصه و مراجع Summary and References

      مدل اجرا و انواع موازی سازی Execution Model and Types of Parallelism

      • مقدمه و دستور کار Introductions and Agenda

      • وظایف: نقش توسعه دهنده در مقابل نقش .NEt Tasks: developer's role vs. .NEt's role

      • مدل اجرا: نمای سطح بالا Execution model: high-level view

      • دانه بندی کار: چقدر سبک است؟ Task granularity: just how lightweight?

      • مدل اجرا: وظایف در مقابل نخ ها در مقابل هسته ها Execution model: tasks vs. threads vs. cores

      • برنامه ریزی کار سفارشی Custom task scheduling

      • مشاهدات اضافی در مورد زمانبندی کار Additional observations regarding task scheduler

      • کار دزدی در جزئیات Work-stealing in detail

      • دو فرض مهم: کوتاه مدت، ترتیب تصادفی Two important assumptions: short-lived, random order

      • گزینه Fairness برای اجرای وظایف به ترتیب Fairness option to execute tasks in order

      • گزینه LongRunning برای وظایف> 1-2 ثانیه LongRunning option for tasks > 1-2 seconds

      • دمو 1: اجرای 100 کار طولانی مدت Demo 1: executing 100 long-running tasks

      • نسخه ی نمایشی 1: تلاش برای راه حل با رفتار پیش فرض Demo 1: solution attempt with default behavior

      • نسخه ی نمایشی 1: تلاش برای راه حل با گزینه طولانی مدت Demo 1: solution attempt with long-running option

      • راه حلی برای 100 کار طولانی مدت Solution for 100 long-running tasks

      • نسخه ی نمایشی 2: راه حل مناسب در عمل Demo 2: proper solution in action

      • Parallel.For = راه حل مختصرتر Parallel.For = more concise solution

      • انواع موازی سازی Types of Parallelism

      • موازی سازی داده ها Data parallelism

      • موازی کاری Task parallelism

      • موازی جریان داده Dataflow parallelism

      • به طرز شرم آور موازی Embarrassingly parallel

      • پشتیبانی از TPL برای انواع موازی TPL support for parallelism types

      • Parallel.For, .Foreach, .Invoke Parallel.For, .Foreach, .Invoke

      • موازی سازی ساختار یافته (چنگال-پیوستن). Structured (fork-join) parallelism

      • نسخه آزمایشی 3: نمای کلی برنامه Mandelbrot Demo 3: Mandelbrot app overview

      • نسخه ی نمایشی 3: نسخه متوالی Demo 3: sequential version

      • نسخه ی نمایشی 3: Parallel.For نسخه Demo 3: Parallel.For version

      • پارتیشن بندی داده ها Data partitioning

      • پارتیشن بندی داده های سفارشی Custom data partitioning

      • مدیریت استثنا با کلاس Parallel Exception handling with Parallel class

      • بیرون آمدن از یک حلقه موازی Breaking out of a Parallel loop

      • لغو یک حلقه موازی Cancelling a Parallel loop

      • نسخه ی نمایشی 4: برنامه Mandelbrot با لغو Demo 4: Mandelbrot app with cancellation

      • خلاصه و مراجع Summary and References

      طرح ها و الگوهای برنامه نویسی موازی Designs and Patterns for Parallel Programming

      • مقدمه و دستور کار Introductions and Agenda

      • مشکل طراحی 1: 100+ عملیات فشرده CPU Design Problem 1: 100+ CPU-intensive operations

      • مشکل طراحی 2: دانلود بیش از 20 صفحه وب Design Problem 2: download 20+ web pages

      • مشکل طراحی 3: وظیفه ثبت برنامه Design Problem 3: application logging task

      • الگوهای موازی --- فهرست اصلی Parallel Patterns --- master list

      • الگوی خط لوله Pipeline pattern

      • الگوی جریان داده Dataflow pattern

      • افزایش موازی در خط لوله و جریان داده Increasing parallelism in pipeline and dataflow

      • ساختارهای داده همزمان --- فهرست اصلی Concurrent Data Structures --- master list

      • ConcurrentQueue T ConcurrentQueue T

      • نسخه آزمایشی 1: مروری بر برنامه داده کاوی Netflix Demo 1: overview of Netflix data mining app

      • نسخه آزمایشی 1: نمای کلی راه حل موازی (v1) Demo 1: overview of parallel solution (v1)

      • دمو 1: پیاده سازی با ConcurrentDictionary T Demo 1: implementation with ConcurrentDictionary T

      • نسخه ی نمایشی 1: نتایج Demo 1: results

      • الگوی تولید کننده-مصرف کننده Producer-Consumer pattern

      • پیاده سازی تولید کننده-مصرف کننده با BlockingCollection T Implementation of Producer-Consumer with BlockingCollection T

      • نسخه ی نمایشی 2: راه حل Netflix با استفاده از تولید کننده-مصرف کننده (v2) Demo 2: Netflix solution using Producer-Consumer (v2)

      • نسخه ی نمایشی 2: نتایج Demo 2: results

      • الگوی MapReduce MapReduce pattern

      • پیاده سازی MapReduce Implementing MapReduce

      • نسخه ی نمایشی 3: نتفلیکس با استفاده از MapReduce Demo 3: Netflix using MapReduce

      • نسخه ی نمایشی 3: نتایج Demo 3: results

      • LINQ موازی (PLINQ) Parallel LINQ (PLINQ)

      • نسخه ی نمایشی 4: نتفلیکس با PLINQ Demo 4: Netflix with PLINQ

      • الگوی اجرای گمانه زنی Speculative Execution pattern

      • APM: الگوی مدل برنامه‌نویسی ناهمزمان APM: Asynchronous Programming Model pattern

      • نمونه APM ورودی/خروجی فایل async APM example of async file I/O

      • نسخه آزمایشی 5: تاریخچه سهام با اجرای سوداگرانه و APM Demo 5: Stock History with Speculative Execution and APM

      • چالش طراحی ورودی/خروجی موازی Parallel I/O design challenge

      • خلاصه و مراجع Summary and References

      نمایش نظرات

      آموزش برنامه نویسی همگام و موازی: طراحی اپلیکیشن
      جزییات دوره
      3h 45m
      89
      Pluralsight (پلورال سایت) Pluralsight (پلورال سایت)
      (آخرین آپدیت)
      743
      4.8 از 5
      دارد
      دارد
      دارد
      جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

      Google Chrome Browser

      Internet Download Manager

      Pot Player

      Winrar

      Dr. Joe Hummel Dr. Joe Hummel

      جو بر روی محاسبات با عملکرد بالا و زبانهای دات نت تمرکز دارد. جو از سال 1992 در فن آوری های مایکروسافت تخصص دارد و در ابتکار عمل محاسبات با عملکرد بالا (HPC سرور ، سرور خوشه محاسبه ، MPI ، MPI.NET ، OpenMP ، PFx) ، فناوری های وب (ASP.NET و Ajax Extensions) کاملاً تبحر دارد. برای ASP.NET) ، دسک تاپ (WinForms) ، LINQ ، .NET Framework و محبوب ترین زبانها (VC ++ ، C # ، F # و VB). جو دو کتاب در زمینه توسعه ویندوز به طور مشترک تألیف کرده است ، میزبان بیش از 60 پخش اینترنتی MSDN بوده و دوره هایی را در سراسر جهان تدریس کرده است. جو دکترای علوم کامپیوتر (UC-Irvine ، 1997) دارد ، از این رو "دکتر جو" است. کار پایان نامه وی در زمینه بهینه سازی کامپایلرها برای رایانه های موازی بود. جو یک استاد ممتاز علوم کامپیوتر است و دارای انتشارات تحقیقاتی متعددی در زمینه بهینه سازی کامپایلر و آموزش CS است. جو یک ملوان مشتاق است و به همراه همسر و دخترش در منطقه شیکاگو اقامت دارد. وقتی جو محاسبه نمی کند ، با خانواده و دوستانش در دریاچه میشیگان قایقرانی می کند.