Concurrency: Past and Present
Brian Goetz discusses the difficulties of creating multithreaded programs correctly, incorrect synchronization, race conditions, deadlock, STM, concurrency, alternatives to threads, Erlang, Scala.
Tracking change and innovation in the enterprise software development community
Posted by Randy Shoup on Feb 05, 2008 05:00 PM
Hibernate without Database Bottlenecks
Scale Your Application without Punishing Your Database
Guide to Calculating ROI with Terracotta Open Source JVM Clustering
Why Should I Care About Terracotta?
Terracotta 2.6 - Download now for scalability without tradeoffs
Unfortunately the audio on this goes to hell about 15 minutes in. Don't listen with the volume too loud or you'll be punished with really loud static blasts. Ironicly the static blasts only seem to occur when he says important things :P
Now it doesn't start even.
sorry, it does but takes a while.
Great presentation, Randy. Have you checked out the nascent Design Patterns Project over at the Open Management Consortium? http://www.open-management.com/community/open_standards/omc_design_patterns The early efforts are around design patterns for automation, but many of the themes you touched on are well within the project's scope (of being a neutral repository for operations design patterns). -Damon http://dev2ops.org
Hi, Damon -- Glad you liked the presentation. Thanks a lot for the pointer to the Design Patterns Project -- I hadn't known about it before. Looks like it is off to an encouraging start. I'll be interested to see how it evolves. It certainly would be valuable to have a repository for such patterns. -- Randy
hello randy. where can i download the presentation? it seems like you apply very well a federated database system(or virtual database) thanks in advance
Hi, Mario -- A pdf version is available from the QCon SF conference track "Architectures you've always wondered about" (http://qcon.infoq.com/sanfrancisco/tracks/show_track.jsp?trackOID=70). Here is a direct link: http://www.eos1.dk/qcon/sf2007/slides/public/RandyShoup_eBayArchPrinciples.pdf You can certainly think of eBay's database strategy as federated, and we definitely virtualize the federated aspect to make the programming model simpler for the developers. "Sharding" is a related term which seems to be entering more common use. Whatever you call it, it has been critical to our ability to scale. One thing I will add is that the fact that we implement the virtualization logic inside the application server (as opposed to some intermediate tier) has made it easier to optimize connections and request routing without an additional network hop. -- Randy
Thank you Randy for sharing this brilliant material with us (Note: I have only read the PDF). Obviously, a number of strategies only apply to the range of massive traffic that eBay has (otherwise they come at the price of a difficult maintenance). But, still, I believe the principles are fundamentally right, and should be applied to any potentially large web site.
Brian Goetz discusses the difficulties of creating multithreaded programs correctly, incorrect synchronization, race conditions, deadlock, STM, concurrency, alternatives to threads, Erlang, Scala.
Often the hardest part of changing technologies is language syntax differences. This new article provides Java developers with a transition guide to Actionscript which forms the foundation of Flex.
Neal Ford talks about having multiple languages running on one of the two major platforms: Java and .NET. He also presents the advantages offered by Ruby compared to static languages like Java or C#.
David Anderson talks about the history of Agile, the current status of it and his vision for the future. The role of Agile consists in finding ways to implement its principles.
Nick Sieger talks about the future of JRuby, Java Integration, and his work on JEE deployment tools for Ruby on Rails like Warbler.
Rustan Leino and Mike Barnett of Microsoft Research discuss the technology in Spec# and its futures.
Henrik Kniberg talks about 10 possible reasons to fail while doing Scrum and XP. Maybe the team does not have a definition of what Done means to them, or they don't know what their velocity is.
This article outlines 9 principles Marc Lammers discovered while building the world’s best field hockey team, mapping them to software development practices.
8 comments
Reply