RE: [aus-dotnet] Has anyone used the CCR?


    [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
    • From: Bill McCarthy
    • Subject: RE: [aus-dotnet] Has anyone used the CCR?
    • Date: Thu, 14 Jun 2007 03:44:03 -0700

    Hi Ian,
    
    I think you've misunderstood what I was saying.  If you use LINQ style
    declarative coding, you say to the compiler go get that. The sample of sing
    using yield, you have to direct the flow yourself.  So that is, if you use
    yield, you have to do the flow direction, if however you use a declarative
    style, you can let the framework decide how to co-ordinate that for you. 
    
    > -----Original Message-----
    > From: peter@xxxxxxxxxxx [mailto:peter@xxxxxxxxxxx] On Behalf Of ILT
    > Sent: Thursday, June 14, 2007 7:33 PM
    > To: dotnet@xxxxxxxxxxx
    > Subject: RE: [aus-dotnet] Has anyone used the CCR?
    > 
    > Bill
    > 
    > >> You couldn't do that (or not as easily)
    > >> if you for example wrote a custom iterator (e.g. "yield").
    > I think you're wrong in that assertion.
    > 
    > Georgio Chrysanthakopoulos and Satnam Singh (the Cambridge-based Indian
    > with
    > a Scots accent) in their paper [1] "An Asynchronous Messaging Library
    > for
    > C#" do exactly that, and it is viable with the C# 2.0 language in
    > conjunction with their 154K library (the CCR .NET assembly).
    > 
    > The point of their work - which I do urge you to watch and read about -
    > is
    > exactly that it does NOT require extensive architecting of an
    > application by
    > you & me as developers in order to deal with the concurrency that might
    > arise. And it's not just of benefit for multicore processor systems.
    > 
    > [1] http://research.microsoft.com/~tharris/scool/papers/sing.pdf
    > 
    > Also, it can be used as a simple library without the requirement that
    > it be
    > worked into the language as extensions, or incorporated elsewhere in
    > the CLR
    > or compiler / IDE infrastructure.
    > 
    > However, they do believe that it is useful to have the "joins"
    > technology
    > built into language and compiler, and that the debugger be appropriate
    > to
    > the concurrency problems they're trying to solve (I'll leave it as
    > vague as
    > that).
    > 
    > I am not asserting that this is the ultimate answer - the technologies
    > have
    > been in development since around 1989 (afaik from my superficial
    > examination
    > of the literature), and these two guys have some way to go before it
    > becomes
    > prime-time.
    > 
    > In fact, for most purposes the "usual ways" of thread control with
    > blocks,
    > transactions and multiple nested try-catch constructs works, but I
    > would bet
    > that the port-setting approach used with CCR is 10 times as effective
    > and
    > 100 times as simple as the Joel Pobar "best practice" tutorial I
    > mentioned
    > before. No exaggeration.
    > 
    > It is only one of MSR's efforts in concurrency / parallelism (eg,
    > Accelerator project) and George C. emphasises that it's the
    > Coordination
    > (rather than Concurrency) part of CCR library that is the big step
    > forward.
    > 
    > As it is explained elsewhere, a major boost for the CCR technology
    > itself is
    > the combination with the DSSP (Decentralized Software Services
    > Protocol) [2]
    > which is a simple SOAP-based protocol. Of course this is separate from
    > CCR
    > but complementary. Essentially it's an extension to HTTP protocol.
    > 
    > Henrik Nielsen is (afaik) the instigator of DSSP. Nielsen was co-author
    > of
    > the HTTP protocol and is Microsoft's lead envoy to the W3C SOAP
    > committee.
    > 
    > [2]
    > http://download.microsoft.com/download/5/6/B/56B49917-65E8-494A-BB8C-
    > 3D49850
    > DAAC1/DSSP.pdf
    > 
    > The 4 or 5 webcasts are rather large, but there's a lot of good stuff
    > ("take
    > home messages"), and a good code demo by Jeffrey Richter who wrote an
    > article on CCR in MSDN Mag 9/2006.
    > 
    > I'll leave off this subject now, and try Richter's expanded code
    > examples.
    > 
    > Ian Thomas
    > GeoSciSoft - Perth, Australia
    > _________________
    > You are a part of the Australian "dotnet" mailing list. To unsubscribe
    > send "unsubscribe dotnet" or to re-subscribe send "subscribe dotnet" in
    > the body of the email to: imailsrv@xxxxxxxxxxxx For assistance with
    > this list please email info@xxxxxxxxxxxx
    > List Managed by www.stanski.com and Proudly Sponsored by
    > www.ico.com.au.
    
    
    _________________
    You are a part of the Australian "dotnet" mailing list. To unsubscribe send "unsubscribe dotnet" or to re-subscribe send "subscribe dotnet" in the body of the email to: imailsrv@xxxxxxxxxxxx For assistance with this list please email info@xxxxxxxxxxxx
    List Managed by www.stanski.com and Proudly Sponsored by www.ico.com.au.
    
    
    
    



    (Click here for more information on the aus-dotnet mailling list)