(j3.2006) (SC22WG5.5565) [ukfortran] LCPC conference in Raleigh

N.M. Maclaren nmm1
Wed Sep 16 04:01:15 EDT 2015


On Sep 15 2015, Van Snyder wrote:
>On Tue, 2015-09-15 at 13:37 +0000, Bill Long wrote:
>
>> > Many speakers remarked that
>> > multigrain parallelism gives greater speed-up.  Some speakers
>> mentioned
>> > fork-join constructs.  Others mentioned tasks and threads (I don't
>> know
>> > what distinctions they drew between these).  Somebody mentioned
>> futures.
>> 
>> My experience is biased by SLURM, but I usually assume task -> image,
>> and thread -> SMP thread within an image to support local parallelism
>> (OpenMP, DO CONCURRENT, Async I/O, ?). 
>
>Ada tasks don't fit the image model well.  Maybe they're closer to
>threads.

No, they aren't.  No form of tasks is.  Part of the trouble is that the
terms have been grossly abused as well as being used to fit different
concepts (e.g. a Unix 'job' is a background process, and not a job).

Tasks have (almost always) been a partially or wholly isolated transactions 
or 'procedure calls' (though sometimes with a non-procedure interface), NOT 
always asynchronous. Futures predate X10 by a long way and are simply 
asynchronous transactions, usually mapped as procedure calls. Fortran could 
add futures extemely easily, but could NOT integrate them with coarrays - 
the image concept is seriously incompatible. Future iterators are trickier, 
because the cover a multititude of sins, but not all that hard. You may 
recall me raising the possibility of futures :-)

MPI_SEND_INIT has nothing to do with transactions, and is merely a way of
setting up semi-permanent communication channels.  It's a red herring.

Regards,
Nick.




More information about the J3 mailing list