Path: utzoo!attcan!uunet!lll-winken!sun-barr!apple!usc!ucsd!pacbell.com!att!att!watmath!maytag!watdragon!watsol.waterloo.edu!tbray From: tbray@watsol.waterloo.edu (Tim Bray) Newsgroups: comp.arch Subject: >32 bits: why? Message-ID: <1990Oct26.012815.11941@watdragon.waterloo.edu> Date: 26 Oct 90 01:28:15 GMT References: <1990Oct25.011034.3664@ingres.Ingres.COM> Sender: daemon@watdragon.waterloo.edu (Owner of Many System Processes) Organization: University of Waterloo Lines: 31 jpk@ingres.com (Jon Krueger) writes: >From aglew@crhc.uiuc.edu (Andy Glew): >> People already have databases that exceed 32 bits worth of address if >> memory mapped. >Just to play devil's advocate, why use the processor to address >persistent, shared data objects? The processor is designed to address >objects that live in volotile store... >Well? The point is well-taken, in particular when your nonvolatile objects are not particularly homogeneous and pointer arithmetic on them is not particularly interesting - the kind of situation a person from Ingres is used to. One counter-example is text databases. Given the blurring between semantics and structure in text, and the need to support things like full text search, it is often necessary that pointers have character granularity. And indexes, which need to be persistent, are just collections of pointers. And text databases larger than 2^32 are starting to be come rather un-rare. Of course, there are ways to work around this, just as there are ways to more-or-less do real computation on 16 bit computers. But there are many wins from having your persistent pointers effiently dealt with via word-oriented computer operations. For example, a not-uncommon text database operation might be: which of these 1.87 million citations (pointers starting at 0x23fc8932 in the index) contain instances of both "Japan" (37,210 occurrences in the database) and "telephone" (41,881 occurrences). There are algorithms that can do the pointer manipulations and give you answers pretty quick, but they run a lot better if you can do a lot of the comparisons and moves in hardware. Cheers, Tim Bray, Open Text Systems