I'm not sure you will all be able to follow this link..
http://ac.els-cdn.com/S0747717111002124/1-s2.0-S0747717111002124-main.pdf?_tid=01d031c0-3aff-11e2-94fb-00000aab0f01&acdnat=1354287949_52b54cfa0d69a9b8bc65bdee9d33d685but it is to an article in J. of Symbolic Computation
Here is a quote (with context)
CAS authors have attempted to address these user needs in various ways. For example, a CAS may
write input files for another program and invoke it, the other program will then write input to the
CAS in a file and exit, and finally, the CAS will read this input and return a result. This works, but
has fairly serious limitations. A better setup might allow the CAS to interact with other programs
while they run and provide a separate interface to each possible external system. The SAGE system
(Stein et al., 2010) is essentially built around this approach. However, achieving this is a major
programming challenge, and an interface will break as soon as the other system changes its I/O format,
for example.
Furthermore, individual CPU cores have essentially stopped increasing in power, but multicore
systems are becoming more numerous. A typical workstation now has 4 to 8 cores, and this is only the
beginning of the multicore/manycore revolution (Held et al., 2006). Ifwewant to solve larger problems
in future, it is essential for us to exploit multiple processors in a way that gives good parallelism for
minimal programmer/user effort.
....
From
Easy composition of symbolic computation software using
SCSCP: A new Lingua Franca for symbolic computation✩S. Linton , K. Hammond, A. Konovalov , C. Brown, P.W. Trinder,
H.-W. Loidl , P. Horn, D. Roozemond
Journal of Symbolic Computation 49 (2013) 95–119
.....
Ordinarily it would seem unnecessary to make this comment,
but seeing as how this note appears in Sage-flame, let me
suggest that you read this article before commenting.
If you do not have access to J. Symb. Computing, maybe
that should be remedied.
RJF