Execution Time Based Heuristic Custom Task Scheduler

If you follow the samples for Parallel Programming with the .Net Framework, you may have come across the ParallelExtensionsExtras and the Additional TaskSchedulers. Although these samples cover a broad set of requirements I recently came across another that could be satisfied with the creation of a new custom task scheduler. In the current samples there…

0

Hadoop Streaming and F# MapReduce

And now for something completely different. As you may know Microsoft has recently announced plans for a Hadoop adoption for both Windows Server and Windows Azure. You can find out more about Hadoop and Windows Azure at Apache Hadoop-based Services for Windows Azure and Availability of Community Technology Preview (CTP) of Hadoop based Service on…

3

F# Parallel Array Sorting

In previous posts I have presented code to perform Parallel Sorting of arrays using 2 different methods: Merge sort using Barrier: http://blogs.msdn.com/b/carlnol/archive/2011/07/17/f-array-parallel-sort-functions-demonstrating-a-merge-sort-using-barrier.aspx Quicksort: http://blogs.msdn.com/b/carlnol/archive/2011/07/17/f-an-array-parallel-quicksort-implementation.aspx As the code is spread out over these post I thought it would be useful to wrap up the code into a single solution for downloading: http://code.msdn.microsoft.com/FSharp-Parallel-Array-Sort-0833cf30 Although the two implementations…

0

F# Parallel Processing and the Command Pattern

In a previous post I talked about a mechanism for Parallel Process Execution with Conditional Completion. This code was a direct translation from a C# pattern. However it is worth noting that the Command pattern is not actually necessary in functional languages. To demonstrate this here is a version of the ForEachPartial method, from the…

0

F# and Running Parallel Tasks

Recently I have been working a lot with the Task Parallel Libraries. In doing so, in F#,  you will quickly learn that one has to perform quite a bit of casting. As such I have found it useful to define some wrapper members that abstract these casting and calling schematics: type ParallelEx =     static member…

0

F#: An Array.Parallel Quicksort Implementation

As I mentioned in my previous post, Array.Parallel sort functions demonstrating a Merge Sort using Barrier, I wanted to continue the parallel sort examples with a Quicksort using the Task Parallel Libraries. F#, as do all functional languages, lend themselves easily to Quicksort implementations. There are many variations of an F# Quicksort, here are a…

0

F# Array.Parallel sort functions demonstrating a Merge Sort using Barrier

If you follow the excellent Parallel Programing with .Net blog, you will have read a recent post by Emad Omara demonstrating a Parallel Merge Sort using Barrier. While there may be more efficient parallel sorting options, as this post notes, this is a good demonstration of the usage of a Barrier, and presents a reasonable…

0