home .. forth .. misc mail list archive ..

long-rant


Dear MISC readers,

I wrote a long reply to Mark's questions, but I didn't want to go off
on a rant. So this is the abreviated version: (really this is the short
one.  I thought maybe I should post the long one to alt.rant ;-)

On the contrary, I see it very very differently.  If you reduce the
cost of the CPU to almost nothing the cost is just memory.  If you can
afford X memory then you get X memory minus the amount of memory equal to
the cost of your processor.
So lets say you are able to pay $4000.  You can pay for a single CPU machine
with a $1000 processor and 75 megabytes of memory, or a $4000 processor and
0 megabytes of memory, or 90 megabytes of memory and 50 200+ mip cheap
processors.   This is at a fixed cost.
For many problems the free 10,000 mips AND the largest amount of memory
is an advantage over one fast processor and less memory or a very fast
processor and no memory! :-)

An n-processor parallel machine can easily be cheaper than a smaller
single processor machine by using MISC technology as the example above

What about superlinear speedup?  This is a very common thread in comp.parallel.
People often observe much MORE than n speedup for a scale to n processors!
Even with large grand challage problems there are still many factors that
can contribute to superlinear speedup.  By strip mining in narrow furrows
more parallelism can result in more in cache operation.  (or on page
or in SRAM operation on F21)  More parallelism means less need for multi-
tasking overhead and operating system overhead for working processors.

There has been a trend toward superlinear cost-up and sublinear performance
increase in parallel machines on the high end.  However on the workstation
farm trend you see near-linear cost up, and superlinear performance increase.
The MISC approach is designed to deliver cost-down and superlinear
performance increase with both a large n at a low cost, and a relatively
high performance per node.

> \ \
>>This I would agree with.  This is what currently one of the things
>>that distinguishes F21 from the other chips Chuck is working on.
>>It is designed for SMP.
>
>What features have been added to support SMP?   or,
>What features have been added to support efficient communication between CPUs?

Did you miss the pages of specs and explanations on the design of the
F21 serial/network coprocessor or the dozens of other papers?

The serial/network coprocessor will normally not take up any CPU or memory
cycles unless it is actively doing a DMA or CPU interrupt on the F21.
It is capable of doing DMA memory transfers between nodes in a network,
and executing remote CPU interrupts across a network at very high speeds.

We will tweak the I/O pads on chip to get as much throughput on and off
chip as we can get.  The serial/network coprocessor is capable of doing
DMA transfers and remote CPU interrupts at up to 1 gigabit per second
internally.  (is that fast?)

The unit can support a variety of designs and topologies, but software
is needed to create a complete network and some of the functions are
provided in software.

>For structured floating point intensive scientific codes, networks of
>workstations cannot approach the performance of vector supercomputers.

Not per node, but per $ they provide about an order of magnitude
improvement in price performance in the typical supercompter applications
that get written up and presented at conferences.

> \ \ 
>Does this mean that the F21 cluster won't provide shared memory?
>Shared memory is an important model for many parallel programmers.
>They don't all want to write message passing code.

Did you read the articles posted on Distributed Shared Memory?  Forth-
Linda? Parallel Channels? F*F? F21 network topologies? Simulating
networks of Forth chips?

F21 provides minimal hardware to support distributed shared memory
through DMA transfers between processors.  It supports remote program
execution through hardware via network initiated CPU interrupts.
The hardware can support DSM, PVM, message passing, Linda etc etc.
That is the purpose of the serial/network coprocessor.  It is one
of the things that distinguishes F21 from P21 and V21 and I21 and...

Even machines like the latest Convex box ($500,000.00 for two processors)
uses DSM.  It is just that providing DSM via Scalable Coherent Interface
is very expensive since you have to deal with cache coherency and
multi-gigabyte data rates etc.

Yes, I admitted that some problems do need 250 megabytes of physically
shared memory, but fewer can justify the cost.  Government money kept
Cray in business for a number of years.

Does the human brain use random access shared memory available
to all processes?

>I don't think there is much of a market for an F21 cluster if it will
>only compete with PVM style clusters.  That is why I have asked about
>SMP specific features:
> * cache-coherency
> * high-bandwidth communication
> * elimination of interconnect and memory hot spots
> * low-latency communication

You still seem to miss the whole idea of F21.  For the price of a
single node on a PVM style cluster you can max out the number of
processors in an F21 network.

> \ \ 
>Yes, that would be strong quantitative evidence, but...

>* you have not shown similar performance per node
>  (I am assuming that the F21 is being compared to a modern commodity CPU)

   I mentioned it, I didn't "show" it.

>  How can this be done without SPECmarks?

   If you are running an application that uses the inner loop "x"
   to burn most of the cycles in your application, and if you are already
   know the communication requirements for a distributed app then if you
   code "x" for an F21 simulator and run it you may have a pretty good
   idea how F21 nodes would compare to the workstation you are using
   now.  SPECmarks may be useless, but doing the above you can say
   something like in most of my application I can get this performance
   relative to what I am getting now at about this relative cost per
   node.  

Difference in perspcective on dealing with required complexity:

Typical VLSI CAD engineer: "I do development on a distributed system
using ten workstations.  I need 80 megabytes of memory just to hold
the operating system.  Then I need about the same amount of executable
code to do vlsi chip design.  It takes hundreds or thousands of
engineers to deal with this complexity and do what needs to be done
to design chips.  How do you deal with the problems related to the
complexity of hundreds of megabytes of code?"

Chuck's answer: "I use 7K of code.  That much complexity I can deal
with.  I feel confident that it can be pretty bug free.  I don't think
it is possible to deal with the complexity of hundreds of megabytes
of executable code."

>My use of a workstation is a waste when there is an acceptable alternative.
>Is the F21 an alternative for a workstation or parallel computing?
>If so, then it is fair to ask for a quantitative analysis of it to compare
>it to what I currently use.  It is also fair to ask how it addresses problems
>that I have with my current systems.

It is not an alternative if you expect it to run the same
software you are using now like SPECmarks.

>It becomes a religious argument when the alternative is promoted as better
>with no means of evaluation against my current system.

You may say so if it is YOUR religion.  It is not my religion, and I
resent any implication of such or any other religious type persecution.
It might be dangerous to insult someone's "religion" without even
knowing what it might be.     

Religion has nothing to do with it.  When people want to imply that
what they are saying is logical and that what is not but they cannot
use logic to support this opinion they will just try to label
your argument as a "religous" argument.

If by "evaluation against my current system" you mean will it run the
same software you are using now, I think you missed something.  I have
suggested the sort of scientific experiment to determine the best
estimate of performance on a particular problem.  Anyone who knows
about computers knows that that sort of experiment is meaningful and
SPEC marks are not.  Unless of course "your current system" means
SPEC marks.

>We would not be communicating with one another if it were not for other
>models of computation.  I find it very amusing when C and the design of
>CPUs are demeaned on comp.lang.forth.  The simplest way to show value
>is by demonstration.  Of course, I hate it when dos lovers use this
>argument to show the utility of their systems.  Then I liken its large
>use to a virus.

As in "there is more Cobol code out there than C code so therefore
Cobol is demonstratably more valuable than C?"

Well I do not have the most extreme opinions about C and CPUs but I
admit I am out there away from center. ( as I am about the subjects
of minimalism, mysticism, martial arts, ai, religion etc :-)

I also find it very interesting when people ignore the content of
the criticism of C or CPU because the subject ruffles their feathers.

When people say "just look at what has been done with C, look at
all these multimegabyte apps we have running here." I like to say,
yes with 100 programmers you can write a fantastic 10 megabyte
program that does amazing stuff.  Very impressive.
But if you point out an example where 10 people wrote the equivalent
program in Forth and ended up with a 100k program they say "yes but we
have thousands and thousands of other examples of 10 megabyte
programs written by large teams of people."

When people tell me "By using C++ and this $3000 machine I can
get Z performance."  Sometimes I say "I know of an example of
someone doing it on a $50 computer and getting better than nZ."

The real problem is when you site examples where things
are 1000 times smaller or 1000 times faster or 1000 times
cheaper.  Then people find what you are saying very threatening.
They interpret your saying you found a better way to having
said they were an idiot for not having figured it out themselves.
Try to talk about OKAD, F21, MISC etc and people hear funny stuff.

Sometimes I will ask people to tell me the points Chuck made in
a speech and sometimes they will say things like, "Chuck said
that anyone who uses C or an Intel CPU is an idiot."  He may
have never said any such thing, but the very idea that someone
might be able to write code 1000 times smaller or faster than
they can and hates what they like implies to them that he thinks
them must be an idiot.  That's what they "hear" Chuck say when
he says he hates to use C or an Intel CPU.

>More important to me is that we can evaluate compilers and architectures
>and implementations of architectures.  I brought up 'quantitative' versus
>'qualitative' because the MISC chips were being judged to be superior
>solely on qualitative terms.

Judged by whom?  How can you say how other people are making judgements?
You seem to ignore the many papers I have published or posted on the
subject, or dismiss these as not "quantitative."  Of course it is
easier to ask the question and have me explain it again then to read
all the information and quantitative information that has already
been published or posted by other people.

Either that or "quantitative" means SPECmarks to you.

Telling other people how they make judgements is like telling other
people what their religion is.  It is not a very good idea.

>I am a user of workstations.  The SPEC benchmarks are a reasonable
>(not perfect) means for me to judge the performance of a workstation.
>It reflects a usage similar to how I may use the workstation.

Ok, if SPECmarks do represent what you are going to do, then you
are pretty much locked into too many things to take advantage of
MISC technology in my opinion.  Like the people who argued that
micros would never be of any use because they were not designed
to run their mainframe software about all I can say is "yes micros
will never be of any use for you (until you change)."

>Heck, there is a product out now that translates binaries from SPARCs to
>Alphas.  Workstation are not sold on CPU performance alone.

What else then, style?  If it is not performance alone, and it is not
price-performance then what is it?  Designer accesories?

>I cannot talk about the embedded systems market.  I am a consumer in the
>workstation/academic market.  I want to see SPEC benchmark ratings i
                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^f
>MISC chips are going to be evaluated in this area.  \ \
>
>mark

In my previous post I made the point that one of the problems with
MISC is that people can't fit it into a catagory that they already
understand.  They demand that you prove that is something that it is
not before they will even consider that it could exist.  There is nothing
you can really say to them.

I saw this all once before twenty five years ago when microprocessors
were first invented.  I argued with many people that before long there
would be many more of them than people on this planet.  I argued that
they would create innumerable new applications because they would
be cheaper than mechanical switches.  But people just didn't believe
that you could ever put a computer in a consumer product because
it would be cheaper than a single mechanical switch.

How many times did I hear, "well I know all about computers and I can
prove that microprocessors will never be useful because they are not
binary compatible with the programs I run now."  But you know when
I think about it I never heard, "It is not important how much they
cost because price is no object. (the government is paying)"

Once again, F21 is not designed for the conventional workstation/academic
market and SPECmarks don't make any sense in any way as a metric to
make any judgements about F21.

When I think of a workstation I think "a computer with enough speed and
power to do useful work and with integral high resolution graphics display
and sound output and networking capabilites  able to do useful work and
run useful programs."  And I say it shouldn't cost much, the low
end should be well under $100.

When other people think of workstations they think "UNIX" "C" and the
specific programs they use.  They think it shouldn't cost much either,
you know like $25,000 or $100,000.

It reminds me of when Clinton and Gore visited the Bay Area during
the elections.  They visited Silicon Graphics and Clinton looked at
this nice $35,000 workstation and said "this is great, this is just
what we need to turn our failing schools."  Yeah I thought, we need
to put one on the desk of every gradeschool student in America.
Then after I got up off the floor I thought it really is too bad
that we can't put a workstation on every desk.   We could do that if
they come on a $1 chip, we can't do it with the price is no object
mentality.

My best advice to anyone who is waiting for a SPECmark to make
a judgement about the suitability of F21 for their use is to say
"don't wait, it is not suitable for your use (until you change)."

Jeff (I'm buying, your paying!) Fox