From lechner@cs.uml.edu Mon Mar 21 21:28:15 2005 From: Bob Lechner Subject: From SCM Tech News 0503189 - Ref. to Herb Sutter in DDJ Mar 2005 To: 05s52x Some motivation to learn about concurrent distributed multi-process{or,ing} systems: "A Fundamental Turn Toward Concurrency in Software" Dr. Dobb's Journal (03/05) Vol. 30, No. 3, P. 16; Sutter, Herb Author and ISO C++ Standards committee Chairman Herb Sutter writes that software applications will need to become concurrent because increasingly powerful processors are already starting to lose their ability to fully support existing applications. However, not all key operations of an application are suited to parallelization, and applications are expected to become more reliable on CPUs. This trend toward concurrency can be addressed either through application redesign or more efficient code, which will increase the importance of efficiency and performance optimization as well as force programming languages and systems to become concurrency-enabled. Sutter identifies three approaches to achieving performance gains in new processors for the next few years: Hyperthreading, multicore, and cache. Hyperthreading involves multiple threads running in parallel in one CPU, while the multicore approach has multiple actual CPUs running on one processor. And cache, which CPU designers have used to boost application performance for the past three decades, will allow some existing applications to remain viable for a time without any dramatic redesign. Concurrency--multithreading in particular- -is already being employed in mainstream software in order to logically separate naturally independent control flows and enhance performance. The tradeoff is that the concurrent programming model is much tougher than the model for sequential control flow, although it can be learned