Author_Institution :
Dept. of Comput. Sci., ETH Zurich, Zurich, Switzerland
Abstract :
Until relatively recently, the development of data processing applications took place largely ignoring the underlying hardware. Only in niche applications (supercomputing, embedded systems) or in special software (operating systems, database internals, language runtimes) did (some) programmers had to pay attention to the actual hardware where the software would run. In most cases, working atop the abstractions provided by either the operating system or by system libraries was good enough. The constant improvements in processor speed did the rest. The new millennium has radically changed the picture. Driven by multiple needs - e.g., scale, physical constraints, energy limitations, virtualization, business models- hardware architectures are changing at a speed and in ways that current development practices for data processing cannot accommodate. From now on, software will have to be developed paying close attention to the underlying hardware and following strict performance engineering principles. In this paper, several aspects of the ongoing hardware revolution and its impact on data processing are analysed, pointing to the need for new strategies to tackle the challenges ahead.
Keywords :
embedded systems; mainframes; parallel machines; software libraries; data processing applications; database internals; embedded systems; hardware revolution; language runtimes; operating systems; supercomputing; system libraries; Data processing; Engines; Hardware; Multicore processing; Parallel processing; Software;