Usenet.com

www.Usenet.com

Group Index

Comp Thread Archive from Usenet.com

<-- __Chronological__ --> <-- __Thread__ -->

Re: 1teraflops cell processor possible?



In article <[EMAIL PROTECTED]>,
Rob Warnock <[EMAIL PROTECTED]> wrote:
>Nick Maclaren <[EMAIL PROTECTED]> wrote:
>+---------------
>| My solution to that was an architectural requirement for a 'yield'
>| instruction to be called every (say) M instructions or N memory
>| references, whichever comes first, and to abort the process if it
>| failed to do so.  Dead easy to implement.
>+---------------
>
>Ahhh... Sutherland's "Wheel of Reincarnation" strikes again...  ;-}  ;-}

And again, and again.  Yes, it is a very old, and well tried, idea.

>In 1972, at Digital Communications Associates, I designed the kernel
>for a realtime embedded operating system for a networking node which was
>based on *precisely* that notion: The system ran with interrupts *OFF*,
>and the programmers were required to insert "@YIELD" macros[1] every
>so often[2] in the code. The "@YIELD" macro was logically a no-op[3]
>unless some I/O event had occurred that needed to run a task of higher
>priority than the current task. Worked like a charm!!

Interesting.  It was quite popular with the networking people at about
that time, probably on the grounds that similar problems lead to
similar solutions.

>Despite the fact that the @YIELDs were inserted manually, since the rules
>were very simple[2] and compliance was easy to verify by inspection, we
>had almost no bugs due to misplaced @YIELDs. [Lots of *other* bugs, but
>not those.]

I would make a small bet that it was precisely because the rules were
so simple ....


Regards,
Nick Maclaren.



<-- __Chronological__ --> <-- __Thread__ -->


Usenet.com



Please check out one of the premium Usenet Newsgroup Service Providers below for access to Usenet.