Appendix 1: Other Macintosh Distributed Processing Products

There are several examples of limited or specialized distributed processing schemes on the Mac, and one recent entry into the field that appears to be a powerful contender in the Macintosh network distributed-processing niche.

Several 3D rendering and Postscript processing programs (Torque System Inc.'s ViewServer; TSI's RipServer; and Adobe Photoshop) use several high-performance Macintoshes simultaneously to speed up rendering. While this works admirably, it is not a generic distributed processing paradigm: it only works for 3D rendering, and the applications must be installed on each machine specifically for that application.

Apple Computer has published a system extension ("5th Column") that assists network administrators in collecting information about their networks and about each node on their networks. They have been proposing a new feature "Real Soon Now" that allows a chunk of code to be transmitted to each node and executed at that node. This fits the literal sense of the phrase "distributed processing." However, with no results available, it is not useful for most distributed-processing tasks. Furthermore, 5th Column is not unobtrusive (it entirely controls the CPU while executing). Finally, it does not yet exist.

Later versions of Apple Computer's development environment, Macintosh Programmers' Workshop, include the capability to compile several files simultaneously across a network. This, as with the 3D rendering applications, is not unobtrusive, generic, or robust.

During December 1994, after about six months of development on PowerWeb, we saw our first glimpse of a real player in the Macintosh distributed-processing market. PowerTap, a product from a Virginia company called Always Thinking, Inc., performs distributed processing across networks. In function it is close to much of what we're doing. However, several differences arise because of a difference of philosophies. PowerTap's philosophy is that a copy of PowerTap is edited and customized for each task; PowerWeb's philosophy is that PowerWeb provides a foundation on which third-party tasks may be implemented. One ramification of this difference in philosophy is that PowerWeb actually transmits the executed code across to each PowerWeb Slave, while PowerTap requires the Slave code to be installed on each computer each time a new task is developed (or an old task is updated). After we spent over an hour setting up a fairly small network of about fifteen computers, we feel that a once-only installation process is far superior to a paradigm that requires installation for each new feature.