A key subsystem of the project on which I work, the Advanced Tomahawk
Control System (ATWCS), was recently rewritten. In its new incarnation it
heavily exploits Ada tasking. This, by the way, is still written in Ada
Each of the key entities in this subsystem has two tasks associated with
one to manage access/update and the other to move it down its timeline.
Since there can be 128 of these entities that means 256 tasks, and with a
bunch of "utility tasks" results in a process have 300-350 tasks.
Our experience with tasking in this subsystem has been very positive, most
of the tasks are dormant at any given time, resulting in very low CPU
utilization. In addition, since each pair of tasks has no interaction
with other pairs, the complexity is quite low. And, in fact, the
of the problem domain closely matches tasking semantics and capabilities.
Recently at an internal design review, a concern was raised about the
"excessive tasking" being "moreso than is commonly found".
What I'm looking for is experience (anecdotal is fine) wherein at least 250
tasks are simultaneously active within a single process. I'm focusing more
on the _tasking_ aspects than on the potential complexity of the system in
which they're used--as I noted, this part of the system is not terribly
complex, it just uses a lot of tasks.
Thanks for any assistance.
Marc A. Criley
Chief Software Architect
Lockheed Martin ATWCS
[log in to unmask]
Phone: (610) 354-7861
Fax : (610) 354-7308