comp.lang.ada
 help / color / mirror / Atom feed
From: wojtek@power.com.pl (Wojtek Narczynski)
Subject: Re: Feasibility of using Ada in new development
Date: 6 Sep 2004 08:32:32 -0700
Date: 2004-09-06T08:32:32-07:00	[thread overview]
Message-ID: <5ad0dd8a.0409060732.4e92e7a6@posting.google.com> (raw)
In-Reply-To: wvbr4qmblugi.fsf@sun.com

Hello,

With ST implementations already exist. Non-preemptive scheduling (from
GHS) alone is not enough. What I would need is scheduling based on
file descriptor readiness.

> Fundamentally, what you need is fast task switching and and if you
> want to minimize the number of locks, non-preemptive scheduling.

This is why I asked about a cooperative GNAT runtime some time ago on
this list :-)

> I also think that it is possible to compile the FSU Pthreads library
> in such a way that it will give you non-preemptive scheduling. Whether
> the GNAT runtime would still work with a modified FSU pthreads, I
> cannot say.

I compiled GNAT 3.4.1 FSU pthreads runtime. When I use libgthread.a
supplied with binary gnat-3.15p it only grumbles about errno at link
time. When I export errno in my app, it works. I also compiled the
curent fsu pthreads http://www.informatik.hu-berlin.de/~mueller/pthreads/
(only compiles with gcc 2.x series), but those two turned out to be
rather out of sync, and it is not documented, which version of
pthreads, and which switches, to use.

But in general this is my current idea to obtain a runing cooperative
fsu-pthreads gnat 3.4.1 runtime, and then try to modify the scheduler
to consider IO. The problem is signals, my current idea is to have
minimal signal handlers that will merely make note of the signal
reception, and then have the scheduler dispatch the actual
Signal_Handler. I also expect to run into scalability problems of the
runtime itself, mean things like All_Task_List, with emphasis on
'list'. Another idea of mine is to port the runtime to GNU Pth, which
does the same as ST, and more. Porting the GNAT runtime to ST seems
infeasible.

> I would think using any library derived from Netscape *IS* high risk.
> It is easily the most bug-ridden program on my desktop.

You might be confusing Netscape server business (yes, there used to be
one), with their browser busines :-) Using State Threads incurrs
little risk alone, because it is only 3000 lines of (IMO quite good)
code, but using C is high risk. This is why, for quite some time, I've
been thinking how to do it in Ada.

> Also, do not believe that when using non-preemptive scheduling that
> you can get rid of *ALL* locks. Depending on you application, there
> will usually be locks which must be held between activations of your
> thread.

There sure will be locks, but they never require syscalls, nor even
CMPXCHG. In other words, they are extremely fast locks. But it's not
really about locks, it's about socket descriptor readiness.

Thanks for confirming what I already know on this subject :-)

Regards,
Wojtek



  reply	other threads:[~2004-09-06 15:32 UTC|newest]

Thread overview: 107+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-08-23 18:27 Feasibility of using Ada in new development Robert Law
2004-08-23 19:05 ` Martin Dowie
2004-08-23 19:09 ` Jeffrey Carter
2004-08-24  0:06 ` Florian Weimer
2004-08-24  1:31 ` Stephen Leake
2004-08-24  3:59 ` Adrian Hoe
2004-08-24  4:13 ` Steve
2004-08-24 11:09   ` Phong Ho
2004-08-24 11:40     ` Jeff C,
2004-08-24 20:25       ` Robert Law
2004-08-25 21:05         ` Dan McLeran
2004-08-26  2:42           ` John B. Matthews
2004-08-26 11:49           ` Georg Bauhaus
2004-08-26 19:31             ` Dan McLeran
2004-08-26 20:04               ` Simon Wright
2004-08-27 12:47               ` Georg Bauhaus
2004-08-27 21:08                 ` Dan McLeran
2004-08-28  0:28                   ` Stephen Leake
2004-09-01  4:09                     ` Adrian Hoe
2004-09-01  4:07                   ` Adrian Hoe
2004-09-01 14:14                     ` Hyman Rosen
2004-09-01 15:30                       ` Ed Falis
2004-09-05 20:50                         ` Florian Weimer
2004-09-05 21:27                           ` Ed Falis
2004-08-26 18:15           ` Ludovic Brenta
2004-08-28 17:57             ` Dan McLeran
2004-08-28 18:37               ` Ludovic Brenta
2004-08-30 17:06                 ` Dan McLeran
2004-08-30 18:00                   ` Georg Bauhaus
2004-08-30 18:55                   ` Jeffrey Carter
2004-08-31 17:11                     ` Dan McLeran
2004-08-31 17:46                       ` stephane richard
2004-08-31 19:19                         ` Björn Persson
2004-09-01 12:32                           ` Georg Bauhaus
2004-09-01 14:35                             ` Björn Persson
2004-09-02 15:18                         ` Dan McLeran
2004-09-02 22:03                           ` Randy Brukardt
2004-09-03 14:56                             ` Dan McLeran
2004-09-03 18:09                               ` Jeffrey Carter
2004-09-03 23:42                               ` Randy Brukardt
2004-09-04 15:06                                 ` Stephen Leake
2004-09-04 18:31                                   ` Georg Bauhaus
2004-09-05  8:18                                   ` Pascal Obry
2004-09-07  8:32                                   ` Jacob Sparre Andersen
2004-09-07  8:57                                     ` Georg Bauhaus
2004-09-08 12:26                                       ` Stephen Leake
2004-09-08 13:07                                         ` Georg Bauhaus
2004-08-31 18:12                       ` Jeffrey Carter
2004-08-31 18:14                         ` stephane richard
2004-08-31 20:09                           ` Hyman Rosen
2004-09-02  8:56                             ` Martin Dowie
2004-09-02 16:23                               ` Martin Krischik
2004-09-03  8:30                                 ` Martin Dowie
2004-09-03 18:04                                   ` Jeffrey Carter
2004-09-02 15:11                             ` Dan McLeran
2004-09-02 16:17                               ` Code completion Björn Persson
2004-09-02 17:42                                 ` Georg Bauhaus
2004-09-02 19:29                               ` Feasibility of using Ada in new development Simon Wright
2004-09-03 14:57                                 ` Dan McLeran
2004-08-26  9:52         ` Pascal Obry
2004-09-03  7:14         ` Case Crab
2004-09-03 12:21           ` Georg Bauhaus
2004-08-25  1:08     ` Puckdropper
2004-08-25  6:02       ` Adrian Hoe
2004-08-25  8:12         ` Martin Dowie
2004-08-25 12:54         ` Florian Weimer
2004-08-24 23:01 ` Luke A. Guest
2004-08-26 17:17   ` Warren W. Gay VE3WWG
2004-08-31  6:22 ` Wojtek Narczynski
2004-09-01  4:04   ` Adrian Hoe
2004-09-04 15:38     ` Wojtek Narczynski
2004-09-05  8:27       ` Pascal Obry
2004-09-05 11:54         ` Marius Amado Alves
2004-09-05 12:18           ` State Threads (was: Feasibility of using Ada in new development) Björn Persson
2004-09-05 13:13             ` State Threads Marius Amado Alves
2004-09-06 13:15               ` Wojtek Narczynski
2004-09-06 14:28                 ` Marius Amado Alves
2004-09-06 18:24                   ` Wojtek Narczynski
2004-09-07  0:23                     ` Marius Amado Alves
2004-09-07  8:13                       ` Wojtek Narczynski
2004-09-07 10:03                         ` Marius Amado Alves
2004-09-07 10:08                     ` Ole-Hjalmar Kristensen
2004-09-07 15:20                       ` Wojtek Narczynski
2004-09-06 16:23                 ` Georg Bauhaus
2004-09-07  8:01                   ` Wojtek Narczynski
2004-09-07  9:16                     ` Georg Bauhaus
2004-09-08 12:38                       ` Wojtek Narczynski
2004-09-08 13:26                         ` Georg Bauhaus
2004-09-06 12:19           ` Feasibility of using Ada in new development Wojtek Narczynski
2004-09-06 17:56         ` Wojtek Narczynski
2004-09-06 20:52           ` Pascal Obry
2004-09-07  8:40             ` Wojtek Narczynski
2004-09-07 23:59           ` Randy Brukardt
2004-09-08  9:10             ` Wojtek Narczynski
2004-09-09  1:12               ` Randy Brukardt
2004-09-09 10:26                 ` Wojtek Narczynski
2004-09-09 21:46                   ` Randy Brukardt
2004-09-06  3:11       ` Adrian Hoe
2004-09-06  8:17         ` Mark Lorenzen
2004-09-06 12:31         ` Wojtek Narczynski
2004-09-06  7:36       ` Ole-Hjalmar Kristensen
2004-09-06 15:32         ` Wojtek Narczynski [this message]
2004-09-07 23:51       ` Randy Brukardt
     [not found] <20040903083525.4DDF94C4137@lovelace.ada-france.org>
2004-09-03 10:17 ` Andrew Carroll
  -- strict thread matches above, loose matches on Subject: below --
2004-09-07  7:27 Robert C. Leif
2004-09-07 12:51 ` Ed Falis
     [not found] <200409070727.i877Rn69015076@mail710.megamailservers.com>
2004-09-08 12:24 ` Stephen Leake
replies disabled

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