Advanced Data and Stream Processing with Microsoft TPL Dataflow

Advanced Data and Stream Processing with Microsoft TPL Dataflow

English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 2h 54m | 417 MB

CPUs have more and more cores, but writing parallel programs is tricky. In this course, you will learn how the data flow programming model combined with the actor model makes writing high performance, large data-processing systems easy.

Writing a highly parallel application is tricky, but it doesn’t have to be; with the proper tools it can be significantly simplified. In this course, Advanced Data and Stream Processing with Microsoft TPL Dataflow, you will learn how to take advantage of both the data flow programming model and the actor model implemented in Microsoft TPL Dataflow to write systems capable of quickly processing hundreds of gigabytes of data. First, you will explore the architectural principles of TPL Dataflow, including some of the pitfalls of abstraction over executed code-blocks. Next, you will use blocks to construct production-grade workflows with proper error handling and monitoring. Finally, you will learn how the imperative approach to execution logic makes parallelizing and performance optimization a breeze. Finishing this course will give you a unique tool to write systems that can handle large amounts of data, or even just high-performance systems that take advantage of all the processing power available on the machine without sacrificing code readability and reuse.

Table of Contents

Course Overview
1 Course Overview

Is TPL Dataflow Right for Your Problem
2 Introduction
3 What Is TPL Dataflow
4 What Is the Dataflow Programing Model
5 When To Use TPL Dataflow
6 Summary

TPL Dataflow Building Blocks
7 Introduction
8 ActionBlock and InputQueue
9 TransformBlock and MaxDegreeOfParallelism
10 BatchBlock and Competition
11 TransformManyBlock
12 BufferBlock and BoundedCapacity
13 BroadcastBlock
14 JoinBlock
15 BatchedJoinBlock
16 WriteOnceBlock
17 Summary

Building an Efficient Pipeline with Parallelization Filtering and Customization
18 Introduction
19 Completion
20 LinkToWithPropagation
21 LinkTo Options.Append
22 LinkTo Options.MaxMessages
23 LinkTo Options Message Filtering
24 Multiple Producers and Completion
25 Error Handling
26 Custom Blocks Encapsulate
27 Custom Blocks Inheritance
28 Summary

Performance and Monitoring
29 Introduction
30 General Performance
31 Single Producer Constrained
32 ConcurrentExclusiveSchedulerPair
33 MaxMessagesPerTask
34 Performance Monitoring
35 Summary