TPL Dataflow Starvation Fixed

Wednesday, February 10, 2016

TPL Dataflow Starvation Fixed Great news for all TPL Dataflow developers. The old  bug (more than a year since I reported it) was finally fixed at version 4.5.24. now it is safe to use fallback scenario with TPL Dataflow. for example: if you’re having 2 face recognition algorithm: * excellent but slow * fine and fast and you want to use those algorithm on a video streams without getting to much behind. You can limit the Bounded Capacity of the excellent algorithm’s block, link the two algorithm’s blocks to a buffer block. As long as the excellent...

Challenge Quick Access (Links)

Friday, July 17, 2015

this is a quick access page to the Challenges Challenge #1: Buffer On Time, Count and Custom Trigger #2: Avoid Overlaps #3: Suspend on faults throttle #4: Create message from spitted chunks #5: Exception Safe-Point #6: Weak subscription #7: Where Async #8: Suspend Buffering and flush #9: Execute Async Until #10: DistinctUntilChanged with expiration period #11: Semaphore Wait Async Like #12: Task.Delay   Solutions #1: Buffer On Time, Count and Custom Trigger #2: Avoid Overlaps

TPL Dataflow Starvation

Saturday, April 19, 2014

TPL Dataflow Starvation UPDATE: The bug had fixed on version 4.5.24 (after more than a year since I report it) and now it is finally safe to use the fallback scenario . this post is dealing with TPL Dataflow issue that may cause starvation.the TPL Dataflow team aware of it, so we can expect it to be fix in the near future.until then, you should be aware of it in order to avoid potential starvation of some of your Dataflow Blocks. so when does it happens? the starvation will happens when you have 2 blocks which is linked...

Observable.FromAsync is it the right choice?

Saturday, March 22, 2014

Observable.FromAsync is it the right choice? one of the most common RX's practice is to use Observable.FromAsync for executing asynchronous IO operations. typical code may look like: Code Snippet var webClient = new WebClient(); IObservable<string> uris = ...; var dataStream = from uri in uris                     from data in Observable.FromAsync(                         () => webClient.DownloadDataTaskAsync(uri))                     select data; behind the scenes RX set a Task continuation (ContinueWith) and propagate the result through AsyncSubject, actually it is a bit complex and messy implementation combination with TPL Dataflow (.NET 4.5) may offer better solution to asynchronous...

The 3rd day of the SDP

Wednesday, May 8, 2013

The 3rd day of the SDP was over and I want to thanks all the attendants. my yesterday session was about C# 5 async and await. today I will have a full day tutorial on Rx and TPL Dataflow. you can download the demo code and also the presentation for second and third days from here (the link is also having the demo code for today's sessions). anyway, I also want to recommend 2of yesterday session. if you were attend at the conference you should have an access to...

SDP 2012 – Day 2

Monday, November 19, 2012

SDP 2012 - Day 2 the SDP 2012 conference has day 2 had completed. I was speaking about async / await, Rx and TPL Dataflow. you can find the materials for my lecture in here. I will give the same lecture on Wednesday next week, there is a chance that some place is still available, so if you are interesting, you can check it with Sela Marketing.

My session at the SDP

Tuesday, March 13, 2012

Sela conferences (SDP) is coming near (25-29/3/2012). you can check the following link for all the SDP's tutorials and sessions I will present 2 full-day tutorials (Yaniv Rodenski will join me on the first one). the first day Introduction to the Task Parallel Library is a full TPL 4 day which will give you a solid knowledge, HowTo and Consideration about building parallel application using the TPL library.   at the end of this day we will survey some improvement made in .NET 4.5 to the existing TPL Library. the second day Parallel Programming: One...

Tpl Dataflow walkthrough – Part 5

Saturday, January 28, 2012

Tpl Dataflow walkthrough - Part 5 this post is a complete walkthrough of a web crawler sample that was build purely by using Tpl Dataflow. it was built on .NET 4.5 / C# 5 (on a virtual machine using VS 11). I will analyze each part of this sample, both by discussing the Dataflow blocks and the patterns in used. the sample code is available in here (it is a VS 11 project). during the walkthrough you will see the following Tpl Dataflow blocks: TransformBlock ...