This paper revives the old topics of address space construction and executable format organization. These appear to be outdated to support emerging computer architectures with increasingly heterogeneous memory and processor subsystems, introduced by new memory and interconnect technologies, as well as near data processing. Current systems software is organized such that the executable binary produced by a compiler is used by an operating system to construct an initial address space discarding any other information. We argue that emerging architectures, with an increasing number of possibly heterogeneous compute units accessing the same area of memory, require to maintain and evolve information about the executable and its address space. We propose a new operating system abstraction and application binary construction based on the idea of software contracts, end-to-end guarantees to the programmer about the execution of his/her code among heterogeneous processors and memory. Contracts are transparent to the programmer, but a newAPI enables the tweaking of the system.
|Number of pages||3|
|Publication status||Published - 18 Oct 2017|
|Event||The 7th Workshop on Multi-core and Rack-scale Systems - Belgrade, Serbia|
Duration: 23 Apr 2017 → 23 Apr 2017
|Workshop||The 7th Workshop on Multi-core and Rack-scale Systems|
|Abbreviated title||MARS 2017|
|Period||23/04/17 → 23/04/17|