PDC 2009 was an exciting event, with announcements about Azure, Silverlight 4, and Office 2010 popping up one after another. For me, there was another reason why this year’s PDC was exciting – it was my first chance to present in a major conference.

image

The video of my session is available as Silverlight video, and also as high-quality WMV and standard-quality WMV. Here are the slides. Check it out and let me know how I did!

And, here are videos of all PDC sessions related to parallel programming.

Never having presented at PDC before, I didn’t know how many people to expect at my session. I was happy with the turn out – this is a view of my session from the back of the room:

SNC00100

8 Comments to “Video of my PLINQ session at PDC 2009”

  1. Tomasz Kujawa says:

    I think it was great session – I could only watch the video, but even that was very good.:D Looking forward to more your presentations.

  2. Karol Andraszek says:

    Great Session, but I have problem when I use PLINQ with DataBase:

    I’m tried to update rows using PLINQ (I used Parallel.ForEeach() too), but I don’t have good results.
    And Parallel result is worse then Sequential…

    What I have to do, that to have parallel result better ?

  3. Karol, what does your query look like? Note that PLINQ only parallelizes the work done on the client. If you are updating a database, PLINQ is typically not the right choice.

  4. Karol Andraszek says:

    My Code:

    bool[] result = new bool[personCollection.Count];
    result = personCollection.AsParallel().Select(x => data.UpdatePerson(x)).ToArray();

    Why PLINQ is not the right choice?
    When I run stored sprocedure, sp_who2 on SQL2008 I see six connections, but all them have sleeping status…

    Thanks for replay :)

  5. This really depends on what data.UpdatePerson(x) does, and what the server does in response. Somewhere there must be a lock.

    Perhaps SQL2008 only executes one of the updates at a time. You can try what happens when you run six processes concurrently, with each process invoking the stored procedure.

  6. Karol Andraszek says:

    You are right, When I run six processes at the same moment I have still the same problem.

    Should I change Sql options to connections ?

    Can you tell me If I use PLINQ to communication with DataBase, Should I expect better result than LINQ or PLINQ is only applicable to the in memory operations ?

    Thanks for response again :)

  7. Yes, PLINQ is most often applied to expensive, in-memory operations. PLINQ runs the user delegates on different threads, and so if the processing is happening on your multi-core machine, all of the cores will be used to evaluate the query.

    In your example, PLINQ runs your operations in parallel. Each operation opens a connections to the database. But, it seems that by opening multiple concurrent connections, you group update does not get any faster – probably because the database takes a lock and serializes the operations. Does that help clarify things?

  8. Christian Peeters says:

    Hi Igor,

    I attended your session at the PDC09. Great talk!
    I found it very interesting, so when they asked me to do a session at MS DevDays in the Netherlands I decided to talk about LINQ and PLINQ.
    I hope my crowd also will be inspired by it.

Leave a Reply

You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>