Software Transactional Memory
Writing software applications in which parts of the application run in different, concurrently running threads introduces many challenges not present in single-threaded applications. Since the order of operations isn't fixed, failures can be difficult to repeat and thoroughly testing the software is more difficult.
There are many models for creating concurrent software that have been implemented in a variety of programming languages. Arguably the most popular models today are based on locks, actors and transactional memory. This talk briefly describes all three models, including their pros and cons. It then dives deeper into software-based transactional memory (STM). The talk ends with a detailed look at a specific STM implementation, that provided by the Clojure programming language.
Attendees will gain a better understanding of the options available for creating multithreaded software applications and gain a clear understanding of the characteristics of STM. This knowledge will aid software developers in making decisions about programming for concurrency
regardless of the programming language being used.
About Mark Volkmann
Mark Volkmann is a partner at Object Computing, Inc. (OCI) in St. Louis where he has provided software consulting and training since 1996. As a consultant, Mark has assisted many companies with Java, XML, Web, JavaScript, jQuery, Node.js, and AngularJS application development.
Mark has created and taught many courses on topics including: Java, Swing, XML, Ruby, HTML5, CSS3, JavaScript, jQuery, Node.js, and AngularJS.
Mark is a frequent presenter at St. Louis area user groups. He has written for XML Journal and the No Fluff Just Stuff (NFJS) magazine. He has presented at the XML DevCon, NFJS and Strange Loop conferences.
Mark frequently writes articles on various software development topics. These can be found at http://ociweb.com/sett.
More About Mark »