Making Parallel Programming Easier using Patterned Programming Techniques and Tools Presentation uri icon

Description

  • With the ubiquitous multi-core processors, Graphical Processing Units (GPUs), and clusters made of unwanted computers and a switch, parallel computing is available to almost everyone. No longer does parallel computer or high performance computing require the using of very expensive and rare supercomputers. Chip manufacturers are determine to add more and more cores to their processors in an apparent race for more FLOPS. It has always been the case that software advances lag behind hardware advances. Never has that been more the case that the lag of parallel software behind parallel systems. Very little software is written to exploit multiple cores or multiple processors. Parallel computer is mostly used for high performance computing that requires Exa-scale performance, such as weather forecasting, aircraft or submarine designing, oil exploration, chemical catlysts, quantum chromodynamics, Astronomy, Human genome, superconductor design, etc. For applications that are used by businesses or individuals are not written to take advantage of even two cores; certainly not 1 million cores. Likely the biggest challenge for developing software for parallel systems is in software development training. Parallel computing was treated as an advanced topic by most computer science programs.

Date/time Interval

  • 2014-10-03