From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=0.2 required=5.0 tests=BAYES_00,INVALID_MSGID, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,8ed3f27ca288a8e7 X-Google-Attributes: gid103376,public From: franke@minet.uni-jena.de (Frank Ecke) Subject: Re: why use "task"? Date: 1998/08/17 Message-ID: #1/1 X-Deja-AN: 381965884 References: <35C9F862.5942A291@imap4.asu.edu> <35D830BD.ECEC79DA@iai.fzk.de> Organization: Friedrich-Schiller-University Jena, Germany Reply-To: franke@minet.uni-jena.de Newsgroups: comp.lang.ada Date: 1998-08-17T00:00:00+00:00 List-Id: On Mon, 17 Aug 1998, Dr. Hubert B. Keller wrote: >Tasking is mostly to model concurrent behavior on a single processor >machine. >Please keep in mind, that parallel execution on a single processor is only >a model that works >not always in real. IMHO, on the abstract level, one should not get bogged down by the actual number of processors and, indeed, most concurrent programming languages (Ada amongst them) consider it to be immaterial whether there is a single processor or a multi-processor system. Ada says: ``Concurrent task execution may be implemented on multicomputers, multiprocessors, or with interleaved execution on a single physical processor. On the other hand, whenever an implementation can determine that the required semantic effects can be achieved when parts of the execution of a given task are performed by different physical processors acting in parallel, it may choose to perform them in this way.'' (Ada 95 Reference Manual, Section 9) Note that this is a NOTE, i.e., it should not be the programmers concern how the implementation actually works. Of course, someone designing realtime systems ought to pay attention to this subject. But for general application of concurrency? >Parallel execution is only done in real on a n processor for n tasks >machine. Well, the number of processors is fixed but the number of tasks can vary as they can be created/destroyed at runtime. Hence, we could---from the abstract point of view---always restrict ourselves to a single processor. Regards, Frank