comp.lang.ada
 help / color / mirror / Atom feed
From: Victor Porton <porton@narod.ru>
Subject: Re: Feature suggestion: different task schedules
Date: Fri, 14 Jul 2017 01:11:22 +0300
Date: 2017-07-14T01:11:22+03:00	[thread overview]
Message-ID: <ok8r69$1kqa$1@gioia.aioe.org> (raw)
In-Reply-To: ok8qe3$1jdb$1@gioia.aioe.org

Victor Porton wrote:

> Victor Porton wrote:
> 
>> I propose for Ada 2020 to add the following pragmas (and corresponding
>> aspects) for tasks and task types:
>> 
>> pragma Schedule=>Thread;
>> 
>> the regular task.
>> 
>> pragma Schedule=>Manual;
>> 
>> the task runs only when a protected entry is called and stops at the next
>> accept statement.
>> 
>> This is usually the fastest mode in the case of one-core system.
>> 
>> pragma Schedule=>Sometimes;
>> 
>> the task run in either of two above modes (with tasks of a task type not
>> necessarily scheduled in the same way (some may be Thread and some
>> Manual)).
>> 
>> The schedule mode may be chosen dependently on free CPU cores
>> availability to make it the fastest.
>> 
>> pragma Schedule=>Dynamic;
>> 
>> a task with this schedule may switch between Thread and Manual mode at
>> any moment of time. This is useful to use CPU cores effectively.
>> 
>> What do you think?
> 
> Hm, can a Manual task interact with any task (just like normal Thread
> task) or only with its creator task? We need to settle this question
> first.

Another solution may be to include the "parent" task in the pragma:

pragma Schedule=>Manual, Parent_Task=>...;

When calling from the parent task, we do not need to synchronize, what is 
important for compiler optimization.

Please, more ideas.

-- 
Victor Porton - http://portonvictor.org


  reply	other threads:[~2017-07-13 22:11 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-07-13 20:20 Feature suggestion: different task schedules Victor Porton
2017-07-13 21:58 ` Victor Porton
2017-07-13 22:11   ` Victor Porton [this message]
2017-07-14  5:59 ` Pascal Obry
2017-07-14  8:37   ` Dmitry A. Kazakov
2017-07-15 11:30 ` Victor Porton
2017-07-15 19:23   ` Niklas Holsti
2017-07-15 20:01   ` Simon Wright
2017-07-16 18:48   ` Jeffrey R. Carter
2017-07-16 19:05     ` Dmitry A. Kazakov
2017-07-16 20:25       ` Simon Wright
2017-07-18  0:09     ` Randy Brukardt
2017-07-18  7:14       ` Dmitry A. Kazakov
2017-07-18 15:28         ` Shark8
2017-07-18 16:06           ` Dmitry A. Kazakov
2017-07-18 20:09         ` Randy Brukardt
2017-07-19  7:24           ` Dmitry A. Kazakov
2017-07-23 12:31             ` Victor Porton
2017-07-23 14:19               ` Egil H H
2017-07-23 20:03                 ` Victor Porton
2017-07-23 20:05                 ` Dennis Lee Bieber
2017-07-23 18:47               ` Dmitry A. Kazakov
2017-07-24 15:26               ` Alejandro R. Mosteo
2017-07-24 19:56                 ` Dmitry A. Kazakov
  -- strict thread matches above, loose matches on Subject: below --
2017-07-18  0:45 Randy Brukardt
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox