Re: Hello - and where to begin?
"Jeff Fox" <[email protected]>
| Newsgroups | gmane.comp.lang.forth.colorforth |
|---|---|
| Message-ID | <[email protected]> |
> Jeff Fox wrote: > Well then ... suppose you build a SEAforth PC -- wrap up a few billion > or trillion Forth MIPS in a box with RAM, some mass storage, a keyboard, > video, audio and mouse, running colorforth. Where would this machine > have a *compelling* selling proposition? Well if I do it it would be for neural and expert systems and voice since those are my interests. Those are generally regarded as high-end high-performance scientific research applications although some people have built special purpose hardware. Chuck will be able to do it first and his interest is VLSI CAD. This is generally regarded as one of those high-end high-performance scientific computing problems that takes rooms full of high-end PCs and which as Chuck has shown can be coded for a Forth virtual machine and made incredibly small and amazingly efficient. > You don't have floating point hardware, Right. Forth has a long history from early days in space to the classic space probes to all the military stuff of showing how to do things effectively with integer. VLSI CAD is a good example I think of the kind of application that people assume needs floating point. Chuck says they use floating point and keep track of five decimal places for accuracy in places where their algorithms are accurate to 50%. And the classic Forth approach is to understand the problem and scale the calculations to make things most efficient. Floating point hardware dwarfs a core in SEAforth. A SEAforth processor is more like a logic cell in an FPGA than it is like a high-end deeply pipelined floating point cruncher. > so high-performance scientific computing is out. Well I wouldn't go that far. Dr. Montvelishsky was teaching industrial CAD CAM, Expert Systems, and parallel programming in the Russian University using Forth. Most of the high-performance scientific computing that had to compete with the US was done with what Chuck would call clever software instead of expensive hardware. And all those spacecraft and high end military devices, fusion reactors and very expensive accelerators are considered high-end scientific computing but with significant real-time components. There has always been interest from high-end science for the kind of parallelism SEAforth will offer. Not all scientific problems need to be expressed as gigantic arrays of floating point numbers. One of the attractive things is what happens when you Scale to a large SEA of processors. Some scientists doing large problem searches have been very interested. > So is document search and indexing a la Google for the > same reason. Maybe it's not for you. > You don't run C We don't. > so most conventional software won't run on it. True. But 'most' software doesn't run on any PC either. PCs come in different flavors, conventional software comes in more variations yet. I suppose with sufficient simulation a PC can run most things, but of course with sufficient simulation a SEA of small processors could do the same. > Game programmers don't do Forth any more, although > perhaps you could find some upstart game development > shop with the next "killer game". I think game hardware is very specialized and very expensive to develop. Short of making a $5 wii I wouldn't have much interest. But the high-end where one might use a lot of cell processors on the Internet for something does start to be the sort of thing I find interesting. I find colorforth and okad style VLSI CAD to be the sort of thing that make great games and which might be packaged as educational games for children. I wanted to put a version of 'Rocky's Boot' for VLSI on the workstation in a mouse. It was the sort of thing one could really do. Did you read my recent blog about colorforth being a lot like Tetris? I think it has a certain game aspect to it as part of the intent to design in fun. > What else do people do with high-performance computers? Well most people don't have access to high-performance computers. Many have access to PC. People with access to high-performance stuff tend to be scientists rather than game players. > Well ... crypto, Yes. > large-scale finite algebraic computation in general, Yes. > maybe some kinds of simulation, some kinds of CAD. Yes. > But that's really it, I think. Massively > parallel non-floating-point machines have been built > before, Yes, but historically interconnect was inefficient and more expensive than processing. The machines were fabulously expensive. Nothing with the performance per watt or performance per $ has been done. And the E in SEAforth is Embedded where the whole thing is about performance and power and $ costs. Think of all the hardware replaced by FPGA. I am sure people said they can replace this part or that part but that's really it, I think. I tend to start with the thousands of things already being done that can be done more cost efficiently with this technology then scan through the ones that haven't been released yet because they have not yet been possible. Dave Guzeman used to say that describing what SEAforth would do was a lot like marketing the bolt. Many people said, so it is a new fastener that can be used in this thing or that but that's about it. How could you describe to them all the technologies that the device made possible that they hadn't yet imagined? > and they've > invariably foundered on the difficulty of getting the funding for those super expensive things. ;-) > programming them and the lack and getting the funding to program those difficult to program things. Interestingly enough this one is somewhat backwards because 25 years of work went into making it easy to program before work on the hardware started. > of demand for MIPS without MFLOPS/GFLOPS/TFLOPS/PFLOPS. The only real 'demand' has been the high-end scientific grand-challenge multi-discipline government grant money. I recall Gordon Moore making a very funny speech about it at a NASA conference on parallel programming. I always said it was fun working on parallel Forth twenty years ago because all the people doing parallel work considered Unix a toy and used BIG systems. They really didn't get the idea that Forth was more toy like than C and Unix. And the Forth people thought parallel just meant giant machines designed for Fortran. ;-) >> It took a lot of work to create OLPC and it is available now. >> Perhaps Forth processors will make Forth PC available at some >> time in the future, but OLPC are available now. > > For a limited definition of availability, yes, yes. Few things are unlimited. > and also subject to the > same sort of competitive pressures that define other high-tech markets. > To be blunt, Intel is trying to kill the XO and probably will succeed. :( Well certainly many things have been streamrolled by Intel and Microsoft. Those are both business and political issues. And there is only so much people can do anyway. >> Sure. But a similarly clocked Forth chip with a built in video >> generator and video accelerator would be a few cents. For a few >> bucks you could have a lot of them. The Intel compatibility >> is good if your goal is compatibility but from the perspective >> of a Forth programmer it makes programming in Forth less >> attractive than programming Forth chips. So it is good if >> promoting Intel is important while Forth chips are more about >> promoting Forth. > > Well, yeah ... I've seen the hoops Anton Ertl and Bernd Paysan have had > to jump through to get something as simple as ANS Forth to perform > acceptably when the inner interpreter is compiled by GCC and run on a > "modern" x86 with caches, branch prediction, etc. It's ugly. Chuck once said that if you set out to design a chip with the intent of making it as difficult to program as possible you might end up with Pentium. I don't think that's true. There are things that are probably worse. But clearly it is the opposite of what Chuck likes. I admire people who have become experts on the Pentium details. It is a daunting task. I withhold good/bad labeling but do say I much prefer working with processors that are so much easier to understand and program. > Yes, you can outperform that with a Forth machine. In their day, Lisp > machines could outperform a VAX with the same hardware costs too. Lisp > survives, but neither the Lisp machine nor the VAX does today. :) Yes. I think one of the reasons was that other hardware designed to run C or Forth moved so many orders of magnitude past them. The article in AI Expert in 1990 that compared expert systems compared a standard expert shell product on a VAX to the same expert program running on a variety of different expert systems on different machines. The VAX not even in the class of a PC yet alone in the class of Forth chip running an expert system in Forth and Forth chips have improved by factors of thousands since then. LISP machines and VAX are sort of on the opposite end of things to these chips. These Forth processors are more like logic blocks in an FPGA. What good are they? They are primitive things. List everything you could make with simple logic blocks! ;-) >> If the goal is to run C, and Linux is written in C, then using a >> processor designed to run C will be a good fit. And if you need all >> that software then you need big memory spaces for the C. > > Actually, it's the other way around. The C compilers and operating > systems are designed to keep the processor busy. :) Yes, well it is fight on both sides. Hardware wants to run last year's software faster but forces next year's software to have changes to take real advantage of the new hardware. And whatever hardware does software expands like a gas to fill the container. >> That's true. If you can't program and need to use off the shelf >> software there is a lot of code in the C world on the shelf. This >> is good for promoting C and keeping the C programmers working. >> Forth programmers like the idea that it is fun to write software >> in Forth. And we tend to think that writing application is >> easier when we don't have to deal with C being the biggest >> factor driving the requirements. > > Yes, Forth programmers and Ruby programmers both emphasize the fact that > their language is fun. I think Lisp and Scheme programmers probably feel > the same way about their language. Some were designed to try to make the fun. Others evolved to be more fun because people liked it. Linux makes C about as fun as it is going to be. But you didn't see 'fun for programers' listed in the original C objectives. >> The $10 disposable PC for the third world was very different >> idea than OLPC. OLPC has a remarkably low price and remarkable >> list of features considering that it is a C machine and it >> can probably run Forth as well as a $10 Forth PC if someone >> decides to produce those. Until then OLPC is available and >> will be a great Forth platform with great potential with >> little competing in its niche. > > Well ... you can't really buy an XO. And as far as "little competing in > its niche", that has proved to be untrue. Intel is playing hardball with > its ClassMate, and for "adult" users, there's the ASUS Eee. I think the people who were willing and able to pay $400 to buy one and donate one demonstrate a different dynamic at work than the sell in the existing consumer market forces that you have highlighted. But the degree to which intention, feeling, and charitable contributions will eventually play in OLPC is anyone's guess. I am willing to put some energy into OLPC while I would only be embarrased to opt out for the cheapest computing toy laptop I could find given all else. I am wishing OLPC the best but am not going to get into a fight with anyone about it. > After all, > Forth will run on anything with a processor, RAM and some mass storage. > gForth in particular will run on anything with a GCC cross-development > tool chain. Yes. I wonder if something like Pablo Reda's work with children would be a good fit to a colorforth for OLPC project. Best Wishes > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > Main web page - http://www.colorforth.com > >