2009-05-02

2009-05-02 Saturday - Simulation Based Engineering

Shift in Simulation Superiority...

International Assessment of Research and Development in Simulation-Based Engineering and Science, released on Apr. 22, 2009, by the World Technology Evaluation Center (WTEC).

This WTEC panel report assesses the international research and development activities in the field of Simulation-Based Engineering and Science (SBE&S). SBE&S involves the use of computer modeling and simulation to solve mathematical formulations of physical models of engineered and natural systems. SBE&S today has reached a level of predictive capability that it now firmly complements the traditional pillars of theory and experimentation/observation. As a result, computer simulation is more pervasive today – and having more impact – than at any other time in human history. Many critical technologies, including those to develop new energy sources and to shift the cost-benefit factors in healthcare, are on the horizon that cannot be understood, developed, or utilized without simulation. A panel of experts reviewed and assessed the state of the art in SBE&S as well as levels of activity overseas in the broad thematic areas of life sciences and medicine, materials, and energy and sustainability; and in the crosscutting issues of next generation hardware and algorithms; software development; engineering simulations; validation, verification, and uncertainty quantification; multiscale modeling and simulation; and SBE&S education. The panel hosted a U.S. baseline workshop, conducted a bibliometric analysis, consulted numerous experts and reports, and visited 59 institutions and companies throughout East Asia and Western Europe to explore the active research projects in those institutions, the computational infrastructure used for the projects, the funding schemes that enable the research, the collaborative interactions among universities, national laboratories, and corporate research centers, and workforce needs and development for SBE&S.

The panel found that SBE&S activities abroad are strong, and compete with or lead the United States in some strategic areas. Both here and abroad, SBE&S is changing the way disease is treated, the way surgery is performed and patients are rehabilitated, and the way we understand the brain; changing the way materials and
components are designed, developed, and used in all industrial sectors; and aiding in the recovery of untapped oil, the discovery and utilization of new energy sources, and the way we design sustainable infrastructures. Data intensive and data-driven applications were evident in many countries. Achieving millisecond timescales with molecular resolution for proteins and other complex matter is now within reach due to new architectures and algorithms. The fidelity of engineering simulations is being improved through inclusion of physics and chemistry. There is excitement about the opportunities that petascale computers will afford, but concern about the ability to program them. Because fast computers are now so affordable, and several countries are committed to petascale computing and beyond, what will distinguish us from the rest of the world is our ability to do SBE&S better and to exploit new architectures we develop before those architectures become ubiquitous. Inadequate education and training of the next generation of computational scientists and engineers threatens global as well as U.S. growth of SBE&S. A persistent pattern of subcritical funding overall for SBE&S threatens U.S. leadership and continued needed advances, while a surge of strategic investments in SBE&S abroad reflects recognition by those countries of the role of simulation in advancing national competitiveness and its effectiveness as a mechanism for economic .

(...)

NEW PROGRAMMING LANGUAGES

Most of the new petascale systems are built on multicores with complex memory hierarchies. From the programming standpoint, these new large multicore systems present another major disruptive technology—a challenge even greater than cluster computing and message passing. According to John Hennessy of Stanford University, this is “the biggest problem Computer Science has ever faced”. Simple porting of highly scalable codes like the QBOX or any computational mechanics codes will not lead to any reasonable efficiency, and it carries the danger of largely underutilizing these very expensive petaflop systems, as the PITAC report suggested. Researchers will need to rewrite their application codes and rethink carefully their corresponding algorithms and software. Numerical libraries such as ScaLAPACK will have to undergo major changes to accommodate multicore and multithread computing. The complexity that this involves can be illustrated with a simple example: Consider a system with 128 cores per socket, with 32 sockets per node, and with 128 nodes per system for a total of 524,288 cores. Let us also assume that the system has four threads of execution per core. Hence, the total number of threads that a researcher has to handle is two million, a large number of threads indeed!

Management of so many threads is an almost impossible task, even for very experienced programmers, and therefore new programming languages are required to deal with this enormous multithreading complexity. New languages from the High Productivity Computing Systems (HPCS) program of the U.S. Defense Advanced Research Projects Agency (DARPA) point the way toward the next-generation programming environment on petaflop computers. Specifically, Partitioned Global Address Space (PGAS) languages for the SPMD (single program multiple data) model, such as Unified Parallel C (UPC), co-Array Fortran, and Titanium, and dynamic languages (X10/IBM, Fortress/Sun, Chapel/Cray), offer many advantages for programming in the new environments. They support both private and shared data, distributed data structures, one-sided memory communications, synchronization, and collective communications. PGAS languages are a good fit to shared memory computers but also to hybrid shared/distributed architectures, and they have locality that may be important when dealing with more than 100 cores per chip.

UPC, in particular, is expressive enough to allow programmers to hand-optimize. An example is shown in Figure 5.5, where UPC is compared against MPI for gather/scatter operations used in finite element codes; there is a clear factor-of-two speedup by using optimized UPC instead of MPI. In terms of the dynamic languages, X10 emphasizes parallel safety, whereas Fortress and Chapel emphasize expressivity. Fortress uses a math-like representation; X10 and Chapel employ a more traditional programming language front-end. Before the HPC community is likely to adopt these new languages, however, there are many challenges to be addressed, including interoperability with the existing languages, scalable memory models, and parallel I/O procedures.

2009-04-21

2009-04-21 Tuesday - MPI Tutorials

wikipedia.org: Message Passing Interface

cmu.edu What is MPI?

Boston University, Scientific Computation & Visualization: Multiprocessing by Message Passing MPI

Blaise Barney, Lawrence Livermore National Laboratory
http://www.llnl.gov/computing/tutorials/mpi/#Getting Started

Basic MPI
(Tom Murphy, Dave Joiner, Paul Gray, Henry
Neeman, Charlie Peck, Alex Lemann, Kristina
Wanous, Kevin Hunter)

OpenMPI Modular Component Architecture (MCA)
FAQ:General run-time tuning



Open MPI: Version 1.3.1

The Portland Group: PGI Guide for OpenMPI

The Portland Group: MPI Debugging and Profiling

Lecture Notes: MPI Application Development Using the Analysis Tool MARMOT - by Bettina Krammer, Matthias S. Müller, and Michael M. Resch1; High Performance Computing Center; Stuttgart, Germany.

Writing Hybrid MPI/OpenMP Code


Internet Parallel Computing Archive
Hosted by WoTUG at Computer Science Department, University of Kent at Canterbury, UK
Designing and Building Parallel Programs, by Ian Foster

Internet Parallel Computing Archive > Books


2009-04-23 Thursday Update:
MPI.NET: High-Performance C# Library for Message Passing

2009-04-21 Tuesday - McKinsey & Co. on Cloud Computing

McKinsey & Co. Report: Clearing the Air on Cloud Computing

Tim Bray's commentary:
http://www.tbray.org/ongoing/When/200x/2009/04/19/Cloud-or-not

2009-04-09

2009-04-08 Thursday - SOA Governance - Versioning

I'm working on the draft of a proposed SOA Governance policy document (Service/WSDL/XSD Versioning) for a current client engagement, and have found the following links/references to be useful in guiding some of my thinking:

1 Designing and versioning compatible Web services; March 28, 2007; Aditya Narayan, Founder, QCD Microsystems; Irina Singh, Senior Consultant, IBM
http://www.ibm.com/developerworks/websphere/library/techarticles/0705_narayan/0705_narayan.html

2 Best practices for Web services versioning; January 30, 2004; Kyle Brown, Senior Technical Staff Member, IBM; Michael Ellis, Solution Architect, IBM;
http://www.ibm.com/developerworks/webservices/library/ws-version/

3 Web Services Description Language (WSDL) 1.1, W3C Note 15 March 2001
http://www.w3.org/TR/wsdl

4 Web Services Description Language (WSDL) Version 2.0 Part 0: Primer, W3C Recommendation 26 June 2007
http://www.w3.org/TR/2007/REC-wsdl20-primer-20070626/#basics

5 Web Services Description Language (WSDL) Version 2.0 Part 1: Core Language W3C Recommendation 26 June 2007
http://www.w3.org/TR/2007/REC-wsdl20-20070626/

6 Web Services Description Language (WSDL) Version 2.0 Part 2: Adjuncts W3C Recommendation 26 June 2007
http://www.w3.org/TR/2007/REC-wsdl20-adjuncts-20070626/

7 WSDL 2.0 SOAP Binding Namespace
http://www.w3.org/2007/06/wsdl/soap.xsd

8 W3C Architecture Domain, Web Services Home
http://www.w3.org/2002/ws/Activity

9 WSDL 2.0 SOAP Binding NamespaceW3C XML Schema Definition Language (XSD) 1.1 Part 1: Structures W3C Working Draft 30 January 2009
http://www.w3.org/TR/xmlschema11-1/

10 XML Schema Part 1: Structures Second Edition W3C Recommendation 28 October 2004
http://www.w3.org/TR/xmlschema-1/

11 Versioning XML Vocabularies; By David Orchard; December 03, 2003
http://www.xml.com/lpt/a/1329

12 Extensibility, XML Vocabularies, and XML Schema; By David Orchard; October 27, 2004
http://www.xml.com/lpt/a/1492

13 Web Service Contract Versioning Fundamentals Part I: Versioning and Compatibility; by Thomas Erl, David Orchard and James Pasley;
Published: November 17, 2008 (SOA Magazine Issue XXIII: October-November 2008)
http://www.soamag.com/I23/1108-5.asp

14 Web Service Contract Versioning Fundamentals Part II: Version Identifiers and Versioning Strategies ; by Thomas Erl, David Orchard and James Pasley; Published: Jaunary 19, 2009 (SOA Magazine Issue XXV: January 2009)
http://www.soamag.com/I25/0109-4.asp

15 Versioning Options; Scott Seely; Microsoft Corporation; October 15, 2002
http://msdn.microsoft.com/en-us/library/aa480518.aspx

16 Design Strategies for Web Services Versioning, Adapting to the needs of the business; By Chris Peltz, Anjali Anagol-Subbarao , April 14, 2004, SOA World Magazine
http://soa.sys-con.com/node/44356

17 Zero, One, or Many Namespaces?
http://www.xfront.com/ZeroOneOrManyNamespaces.pdf

18 Checking a Web service for version changes at runtime; Jim Culbert; August 1, 2003
http://searchsoa.techtarget.com/tip/0,289483,sid26_gci917380_mem1,00.html

19 Checking a Web service for version changes at runtime; Jim Culbert; August 1, 2003
http://searchsoa.techtarget.com/tip/0,289483,sid26_gci917380_mem1,00.html

20 Notes on Versioning of XML schemas; O. Newell; MIT Lincoln Laboratory; August 29, 2007
https://wiki.ucar.edu/download/attachments/13927814/VersioningNotes.pdf

21 Checking a Web service for version changes at runtime; Jim Culbert; August 1, 2003Notes on Versioning of XML schemas; O. Newell; MIT Lincoln Laboratory; August 29, 2007XML Schema Versioning Use Cases; Draft - 31 January 2006; W3C XML Schema Working Group
http://www.w3.org/XML/2005/xsd-versioning-use-cases/

22 “… more on XML Schemas”; Roger L. Costello; XML Technologies Course
http://sinbad.dit.upm.es/docencia/grado/curso0607/5%20optional%20Costello%20xml-schemas2.pdf

23 Versioning Web Service Parameters; Don Smith’s MSDN blog; December 3, 2004
http://blogs.msdn.com/donsmith/archive/2004/12/03/274198.aspx

24 One parameter to rule them all: Part 2; Don Smith’s MSDN blog; November 29, 2004
http://blogs.msdn.com/donsmith/archive/2004/11/29/271419.aspx

25 Make minor backward-compatible changes to your Web services; Russell Butek; Web Services Consultant, IBM; November 30, 2004
http://www.ibm.com/developerworks/webservices/library/ws-backward.html

26 [Web] Service Versioning Guidance; Don Smith, January 31, 2006
http://blogs.msdn.com/donsmith/archive/2006/01/31/520338.aspx

27 Principles of Service Design: Service Versioning; John Evdemon, MSDN; August 2005
http://msdn.microsoft.com/en-us/library/ms954726.aspx

28 SOA Change Management (Part 1); Robin Mulkers; November 8, 2005
http://it.toolbox.com/blogs/composite-apps/soa-change-management-part-1-6451

29 Versioning; Codehaus Xfire > Users Guide; Dan Diephouse; March 2007
http://docs.codehaus.org/display/XFIRE/Versioning

30 Designing Extensible, Versionable XML Formats; by Dare Obasanjo; July 21, 2004
http://www.xml.com/pub/a/2004/07/21/design.html

31 Splitting up WSDL: The Importance of targetNamespace; Scott Seely; MSDN; August 20, 2002
http://msdn.microsoft.com/en-us/library/aa480511.aspx

32 Versioning REST Web Services; Peter Williams; May 11, 2008 http://barelyenough.org/blog/2008/05/versioning-rest-web-services/

33 Design Strategies for Web Service Versioning; Chris Peltz, Anjali Anagol-Subbarao; April 5, 2004
http://soa.sys-con.com/node/44356




2009-04-24 Friday Update:

WS02 Governance Server > WSDL tool Checklist

WordCount

Copyright

© 2001-2026 International Technology Ventures, Inc., All Rights Reserved.