adda/concurrency/lang's for supercomputer concurrency
7.27:
. the DARPA`
HPCS program
(High Productivity Computing Systems)
is meant to tame the costs of
HPC
(High Performance Computing)
-- HPC is the use of supercomputers for
simulations to solve problems in
chemistry, physics, ecology, sociology,
and esp'ly warfare .
. programmer productivity
means making it easier to develope
code that can make full use of
a supercomputer's concurrency .
. the main source of the cost
is a lack of smart software tools
that can turn science experts
into computer coders .
. toward this end, they are funding
the design of new concurrency lang's .
7.28:
. the DoD and DARPA already made
quite an investment in the
Ada concurrency lang',
a language designed for expressing
the sort of concurrency needed by
embedded system engineers; 7.31:
but, the software developer community
spurned
Ada as soon as there was
something better ...
. pascal was popular before '85,
and when Ada arrived '83,
it was popular too;
then came the Visual version
of Basic (familiar and slick).
. the
top demanded langs by year were:
'85: C, lisp,
Ada, basic;
'95: v.basic,
c++, C, lisp,
Ada;
'05:
Java, C, c++, perl, php,
. the only currently popular lang's
meant for exploiting
multi-core cpu's
if not other forms of concurrency,
are:
(3.0% rating)
obj'c 2.0 (with blocks)
(0.6% rating)
Go
(0.4% rating)
Ada
7.29:
. whether or not Ada's concurrency model
is well-suited for supercomputers
as well as embedded systems,
it is not increasing coder'productivity .
. while Ada boosted productivity beyond
that offered by C,
it was nevertheless
proven to do
less for productivity than Haskell .
HPC Productivity 2004/Kepner{ 2003(
pdf), 2004(
pdf) }:
. lang's were compared for
expressiveness vs performance:
. the goal of a high-performance lang'
is to have the expressiveness
of Matlab and Python,
with the performance of
VHDL
(VHDL is a version of Ada for
ASICs ).
.
UPC (Unified Parallel C) and Co-array Fortran
are half way to high-productivity
merely by using
PGAS
(Partitioned global address space)
rather than
MPI
(Message Passing Interface).
. the older tool set: C, MPI, and
openMP
is both slow and difficult to use .
. the 2 lang's that DARPA is banking on now
are
Cray`Chapel, and
IBM`X10 Java .
. they were also funding
Sun`Fortress
until 2006,
which features a syntax like advanced math
-- the sort of greek that physics experts
are expected to appreciate .