Visible to the public Generalize or Die: Operating Systems Support for Memristor-Based Accelerators

TitleGeneralize or Die: Operating Systems Support for Memristor-Based Accelerators
Publication TypeConference Paper
Year of Publication2017
AuthorsBruel, P., Chalamalasetti, S. R., Dalton, C., Hajj, I. El, Goldman, A., Graves, C., Hwu, W. m, Laplante, P., Milojicic, D., Ndu, G., Strachan, J. P.
Conference Name2017 IEEE International Conference on Rebooting Computing (ICRC)
ISBN Number978-1-5386-1553-9
Keywordsaccelerator implementation, composability, Computer architecture, Dot Product Engine, Electronic mail, Engines, field programmable gate arrays, general purpose system, Hardware, hardware resources, Imaging, learning (artificial intelligence), machine learning, master slave models, Memristor, memristors, Metrics, microprocessor chips, operating system, operating systems (computers), primary function, Programming, pubcrawl, quantum computing security, Resiliency, Scalability, Scientific computing, specialized accelerators, transistor feature size scaling, typical OS functionality, ultra low energy
Abstract

The deceleration of transistor feature size scaling has motivated growing adoption of specialized accelerators implemented as GPUs, FPGAs, ASICs, and more recently new types of computing such as neuromorphic, bio-inspired, ultra low energy, reversible, stochastic, optical, quantum, combinations, and others unforeseen. There is a tension between specialization and generalization, with the current state trending to master slave models where accelerators (slaves) are instructed by a general purpose system (master) running an Operating System (OS). Traditionally, an OS is a layer between hardware and applications and its primary function is to manage hardware resources and provide a common abstraction to applications. Does this function, however, apply to new types of computing paradigms? This paper revisits OS functionality for memristor-based accelerators. We explore one accelerator implementation, the Dot Product Engine (DPE), for a select pattern of applications in machine learning, imaging, and scientific computing and a small set of use cases. We explore typical OS functionality, such as reconfiguration, partitioning, security, virtualization, and programming. We also explore new types of functionality, such as precision and trustworthiness of reconfiguration. We claim that making an accelerator, such as the DPE, more general will result in broader adoption and better utilization.

URLhttp://ieeexplore.ieee.org/document/8123649/?reload=true
DOI10.1109/ICRC.2017.8123649
Citation Keybruel_generalize_2017