Multiscalable Systems
The Idea
It is increasingly becoming viable to build systems at vastly different scales out of the same components. Accordingly, it becomes valuable to investigate how components including hardware, software and interconnections can be designed to work and interoperate at vastly different scales.
History
Diversity
Historically, systems at very different scales have been seen as occupying different markets and different design spaces. In the 1980s, there were 5 distinct classes of computer system:
- supercomputer large-scale multi-million dollar machines of specialized design, aimed at the most challenging computational problems
- mainframes large-scale machines priced up to millions of dollars, aimed at large-scale business applications (with some overlap with supercomputers in the scientific computation market)
- minicomputers priced up to hundreds of thousands of dollars, in configurations from single-user up to small versions of mainframes, aimed at technical users and small to medium businesses
- personal computers single-user operating systems, limited memory; priced in low thousands of dollars
- embedded systems computers in industrial applications, increasingly becoming feasible through the growth of microprocessor capabilities
These different categories were generally designed to run their own software, and did not have much in common in terms of architecture trade-offs or even components. Mainframes and supercomputers may have had some commonality in disk technology, but minicomputers and personal computers had their own distinct categories of disk drives. Embedded systems initially were based on minicomputer technology, but increasingly moved to microprocessors. Despite these overlaps, there were major differences. Although UNIX was available in the minicomputer world and was capable enough to address the higher-end markets, it was initially not available on mainframes and supercomputers. Mainframes in particular had proprietary operating systems with little commonality across brands.
Earlier
This situation was a considerable diversification from the 1960s, when the first supercomputers appeared. Up to then, there had only been one kind of computer, if sold at various scales. IBM's big innovation in the 1960s was to realize that a single architecture could work at different scales, which gave them a huge advantage over other mainframe makers, who had diverse ranges. The introduction of specialized supercomputers, and, subsequently, minicomputers and later microprocessors changed the computing landscape to the diversified world of the 1980s.
Now
So what has changed? Why should we go back to the 1960s (back to the future)?
The growth of personal computing has changed the economics of the industry. In the 1980s, researchers at Berkeley and Stanford realized that the microprocessor was becoming complex enough to support advanced instruction set design, and started the RISC movement. More recently, researchers at Berkeley observed that the historical economics of disk drives, where a large drive was cheaper per byte than a small one, was no longer true because of the vast economy of scale of personal computer drives, and devised the RAID concept, which allows an array of small, low-cost disks to have high overall bandwidth.
Changes of this type are driving systems at different scales to common technical solutions and common components. Differences increasingly are in the packaging (fast interconnects for example) rather than in the components.
The latest convergence area is between mobile and fixed systems. Mobile devices, while still much more sensitive to issues of memory footprint and energy efficiency, are starting to become sophisticated enough for design principles for larger systems to apply. Further, energy efficiency is starting to become a concern for large-scale systems, as power and heat limit scalability. Memory footprint in large-scale systems is starting to become an issue as the CPU-DRAM speed gap grows, and relatively small caches increasingly assume the role of main memory.
Finally, as the diffusion of personal-computer and (more generally) microprocessor technology to higher-end systems indicates, volume markets tend to leak into small but high-priced niches. Consequently, any approach which allows the high volume of mobile devices to become a platform for design of large-scale systems will provide benefits on economy of scale to the high-end niche market.
Research Areas
Research on multiscalable systems is planned in several areas
- operating systems initial work in this area is exploratory, so Honours and 4th-year thesis projects are on offer
- networks work here explores design of modular network protocols
- computer architecture specific projects will arise out of earlier work, which had a different focus
