Guest Review - Total Impact Quad CPU Card
After seeing Simon Thorpe's post regarding the quad-cpu total impact card in my Upgrades Forum, I asked if he would like to do a "guest review" - which he was kind enough to provide.
He sent the following review:Total Impact's SMP-604 accelerator board Following a request from Mike, I am sending a brief review of an accelerator board for PCI bus Macs marketed by TotalImpact, a small start-up company based in Camarillo, California. I first heard of TotalImpact early in 1996. At that time, they had a single processor Nubus based accelerator board fitted with a PowerPC 604 chip running at 100, 133 or 150 MHz. I was one of the first to receive one of these boards, and I was able to experiment with it for a few months. However, in the summer of 1996 they announced the release of a new board design, built for PCI-bus Macs, and which could come with up to four 604e chips, and offered to trade in the original Nubus board, which I did. Unfortunately, they had a lot of problems with the first batch of boards. It appears that they had originally planned to use a new Motorola cache controller chip (I think it was the MPC 106), but were unable to get this working. As a result, they had to redesign the board without the chip, and in the process were forced to drop the L2 cache which they had originally intended to offer. All this introduced considerable delays, and so it was only in April 1997 that I finally got hold of the new board. The one that I have is the 4x 166MHz model, though there are also versions using 200MHz and 233MHz 604e chips.
Over the past few months we have been able to explore the possibilities of this new board. It is clear that the sort of accelerator system offered by TotalImpact is a very original approach to increasing the computational power of a Macintosh. The board comes with a shared library ("JmpPciLib") which needs to be in the same folder as the application (or in the Extensions folder). This library implements most, but not all, of the calls specified in the Apple/Daystar Multiprocessing API. Thus, programmers can create four tasks, one for each of the processors on the daughter board. Communications can then be handled by creating message queues, either one for each task, or a single queue that can be used by each of the processors. Memory can be allocated on the daughter board using the MPallocate() function. The board has two 72-pin SIMM slots, which in principle should allow up to 128MBytes of RAM to be fitted. However, we had great difficulty in getting 64MByte SIMMs, and when we did find some, we were unable to get them to work. 32MBytes works fine though. One of the nice things about the board is that the memory bus on the board operates at 66 MHz.
Another remarkable feature of the TotalImpact board is that the processors on the board can transparently access all of the memory of the Macintosh, including the on-board memory. This allows shared-memory multiprocessing applications to be developed. On the other hand, the main processor cannot access the daughter-board's memory, which means that standard programs developed using the Apple/Daystar MP API will (presumably) not run. However, it does mean that people prepared to write their own software can reap the benefits of Asymmetric MultiProcessing relatively painlessly. In fact, we have found it relatively straight-forward to write simple programs that can run using the board.
Actually, I have the feeling that the sort of Asymmetric Multi-Processing protocol used by TotalImpact might actually have advantages in some cases relative to the Symmetric Multi-Processing (SMP) protocols used by operating systems such as BeOS, Windows NT, Linux and (presumably) Rhapsody. In an SMP system, there will be a large number of threads running, and the operating system switches between threads every millisecond or so. In general, in a multiprocessor system there is no guarantee that the same thread will necessarily run on the same processor every time. In contrast, in the sort of Asymmetrical Multi-Processing protocol implemented on the Total Impact board, the programmer gets to control exactly what computations get done by each processor. There are no threads to be interrupted and switched, no polling by the operating system - in fact, each processor is in principle operating flat out all the time, and if the programmer does his job right, cache utilisation can be truly optimal.
So, what about performance? Well, we have found that the multiprocessing implementation on the board works well. You can compare running one task with four tasks on the board, and the answer is pretty simple - with four processors running, our programs run four times faster than with one! However, the speed up relative to running the same program on the mainboard processor is not as good as one might have thought. For our applications, using the 4 166 MHz processors gives about a 2.5 fold improvement relative to running the code on the 150 MHz 604e in my PowerMac 8500. I suspect that this is almost certainly due to the absence of L2 cache on the daughter board. We found that performance was severely hit if one tries to make a large number of memory access via the PCI bus, especially if all four processors are trying to get hold of the bus at the same time. In contrast, memory accesses using the on board memory are fast.
However, TotalImpact tells me that they have a new board design in the works. This new board with have L2 cache, lots of DIMM memory and should be able to accommodate PowerPC chips up to 350 MHz and more. Personally, I find this very exciting. One of the real attractions of such a system is that in principle, there is no upper limit to the number of such boards that can be mounted on a PCI bus. Imagine a 9600 with 5 TotalImpact accelerator boards, each with 4 604e's running at 350 MHz. That's what I call desk-top supercomputing!!
Right now, we aren't quite there though. The current version of the board takes two PCI slots, basically because of the space taken up by the four cooling fans mounted on the chips. Note however, that the new PowerPC chips get much less hot, and so the need for ventilation may be less of a problem. Furthermore, with the board that I have got, I can't actually put more that one board in the system because it draws too much current from the PCI bus. However, most of the power is supplied by a connector that plugs into a free hard-disk lead (there is a voltage regulator circuit on the board which provides the voltages required for running the PowerPC chip). On more recent boards, it appears that all the power for the chips will be drawn from here, rather than from the PCI bus, and so that limit on the number of boards in the same system will be removed.
I have found TotalImpact's accelerator board to open some very intriguing options. The system is not yet perfect, but I think that the potential is there. It's a shame that Total Impact appears to be such a small scale affair - I have often got the impression that the three people who work there are too busy to be able to provide really good developer support. However, I for one will be following developments with great interest.
Here are the details from their Web page.
- Processor - PowerPC 604e
- Processor Clock Speeds - 166, 200 or 233MHz
- Processors Available - 4 processors per board
- Processor Caches- Separate caches for instructions and data
- Memory Management - 52-bit virtual, 32-bit real addressing
- Bus Interface - 32-bit address bus, 64-bit data bus
- Memory Slots- Two 72 pin SIMM slots
- Memory Capacity - 128 Megabytes
- Memory Speed Supported - 70 nanoseconds or better
- System Requirements - PCI Power Macintosh or compatible. Two slots are required for multiprocessor boards.
- Warranty - One year parts and labor
Contact Information:
Web Site: http://www.totalimpact.com/
Email: power@totalimpact.com
Address:
295 Willis Ave., Suite E
Camarillo, CA 93010
TEL: 805.987.8704
FAX: 805.484.9469
Guest Review by:
Simon Thorpe
Centre de Recherche Cerveau et Cognition
= Top of Page =
= Back to WWW.XLR8YOURMAC.COM =
Copyright © 1997.No part of this sites content is to be reproduced in any form without written permission. All brand or product names mentioned here are properties of their respective companies.Users of this web site must read and are bound by the terms and conditions of use.