comp.lang.ada
 help / color / mirror / Atom feed
From: Niklas Holsti <niklas.holsti@tidorum.invalid>
Subject: Re: Ichbiah 2022 compiler mode
Date: Sat, 14 Sep 2024 11:12:43 +0300	[thread overview]
Message-ID: <lkkurrFqpl7U1@mid.individual.net> (raw)
In-Reply-To: <vc39ib$1avpa$1@dont-email.me>

On 2024-09-14 9:13, Randy Brukardt wrote:
> "Niklas Holsti" <niklas.holsti@tidorum.invalid> wrote in message
> news:lkg1vvF1tp6U1@mid.individual.net...
> ...
>>> Priorities are just optimization on how to manage cores when there are
>>> not enough of them.
>>
>> In some contexts it could be optimization -- for example, to increase
>> throughput in a soft real-time system -- but in hard real-time systems
>> priorities (or deadlines) are needed for correctness, not just for
>> optimizatiion.
> 
> This I don't buy: priorities never help for correctness. At least not
> without extensive static analysis, but if you can do that, you almost
> certainly can do the correctness without depending upon priorities.


You misunderstood me; perhaps I was too brief.

I said "hard real-time systems", which means that the program is correct 
only if it meets its deadlines, for which priorities or deadline-based 
scheduling are necessary if there are fewer cores than 
concurrent/parallel activities, and the application has a wide range of 
deadlines and activity execution times.

(To be honest, there is the alternative of using a single thread that is 
manually sliced into small bits, interleaving all the activities 
increment by increment, according to a static, cyclic schedule, but that 
is IMO a horribly cumbersome and unmaintainable design, though 
unfortunately still required in some contexts.)

I believe we agree that priorities should be used for other things, such 
as controlling access to shared data, only if there is a well-defined 
and safe mechanism for it, such as protected objects with priority 
ceilings and priority inheritance on a single core.

  parent reply	other threads:[~2024-09-14  8:12 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-09-05 11:52 Ichbiah 2022 compiler mode Kevin Chadwick
2024-09-05 13:40 ` Jeffrey R.Carter
2024-09-05 13:49   ` Bill Findlay
2024-09-05 19:22     ` Jeffrey R.Carter
2024-09-05 14:05   ` Kevin Chadwick
2024-09-05 16:08   ` Kevin Chadwick
2024-09-05 19:24     ` Jeffrey R.Carter
2024-09-06  0:03 ` Randy Brukardt
2024-09-06  0:58   ` Lawrence D'Oliveiro
2024-09-12  4:39     ` Randy Brukardt
2024-09-12 22:24       ` Lawrence D'Oliveiro
2024-09-14  6:18         ` Randy Brukardt
2024-09-14  7:18           ` Lawrence D'Oliveiro
2024-09-06 21:22   ` Simon Wright
2024-09-07 17:13     ` Niklas Holsti
2024-09-07 20:34       ` Nioclás Pól Caileán de Ghloucester
2024-09-12  4:46       ` Randy Brukardt
2024-09-12  7:42         ` Niklas Holsti
2024-09-12  9:07           ` Dmitry A. Kazakov
2024-09-12 12:36           ` Kevin Chadwick
2024-09-12 15:43             ` Niklas Holsti
2024-09-13 20:45             ` Nioclás Pól Caileán de Ghloucester
2024-09-12  9:04         ` J-P. Rosen
2024-09-12 11:35           ` Niklas Holsti
2024-09-14  6:13             ` Randy Brukardt
2024-09-14  6:47               ` Dmitry A. Kazakov
2024-09-14  7:19               ` Lawrence D'Oliveiro
2024-09-14  8:12               ` Niklas Holsti [this message]
2024-09-06 11:07 ` Jeffrey R.Carter
2024-09-06 20:26   ` Nioclás Pól Caileán de Ghloucester
replies disabled

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