Appendix A. A note on taxonomy

In order to classify objects, we need a taxonomic framework within which to work. Many architectural and functional classifications have been proposed for computers, some of which cover all architectures [DUNC90], some of which are limited to DB machines [QADA85, HURS89], and some of which attempt to cover all possible (and so far unrealized) architectures [SKIL88]. Unfortunately, there is no single generally accepted taxonomy for computers (unlike, for example, in the fields of biology, or librarianship).

The architectures described in this report are grouped together under Su's functional classification [SU88], and as in Su, Flynn's taxonomy is used to describe their architectural features. Flynn's architectural classification, although in many ways limited (or limiting, perhaps), is probably the best known, and therefore, it is reasonable to use it. Using this dual classification, components of a database machine can be described in isolation.

One point to note is that classifications can be misleading. For example, what does 'parallel' mean? It is all a matter of viewpoint - does a prefetch pipeline in a monoprocessor make it a parallel machine? Why? Oates says DRAT is a MIMD machine with functional replication of processors [OATE89]; that is one way of looking at the situation. It is also possible to say that DRAT has a distribution of functions, inasmuch as for some relational operations (eg join, union), data will be sent to the processor carrying out that operation, and at that time the processor will be tailored to just that operation. Perhaps we should say that DRAT is a hybrid (but then that is not part of Su's classification). In the final analysis, relating DRAT to various taxonomies, although in its own right an interesting exercise, is not likely to aid the development of the machine to any great extent. However, an awareness of underlying architectural and functional concepts is beneficial, as parallels can then be drawn between DRAT and other machines.

Kuhn makes much the same point in his introduction [KUHN81].

Contents | 1 Introduction | 2 Review | 3 Research aims | 4 Program | 5 Work | References | Appendix A | Appendix B | Appendix C