Award Abstract # 1254029
CAREER: Programmable Smart Machines

NSF Org: CNS
Division Of Computer and Network Systems
Recipient: TRUSTEES OF BOSTON UNIVERSITY
Initial Amendment Date: April 8, 2013
Latest Amendment Date: June 12, 2017
Award Number: 1254029
Award Instrument: Continuing Grant
Program Manager: Marilyn McClure
mmcclure@nsf.gov
 (703)292-5197
CNS
 Division Of Computer and Network Systems
CSE
 Directorate for Computer and Information Science and Engineering
Start Date: June 1, 2013
End Date: December 31, 2018 (Estimated)
Total Intended Award Amount: $595,021.00
Total Awarded Amount to Date: $595,021.00
Funds Obligated to Date: FY 2013 = $119,100.00
FY 2014 = $189,211.00

FY 2015 = $40,000.00

FY 2016 = $118,625.00

FY 2017 = $128,085.00
History of Investigator:
  • Jonathan Appavoo (Principal Investigator)
    jappavoo@bu.edu
Recipient Sponsored Research Office: Trustees of Boston University
1 SILBER WAY
BOSTON
MA  US  02215-1703
(617)353-4365
Sponsor Congressional District: 07
Primary Place of Performance: Trustees of Boston University
Boston
MA  US  02215-1300
Primary Place of Performance
Congressional District:
07
Unique Entity Identifier (UEI): THL6A6JLE1S7
Parent UEI:
NSF Program(s): CSR-Computer Systems Research,
Software & Hardware Foundation,
PROGRAMMING LANGUAGES
Primary Program Source: 01001314DB NSF RESEARCH & RELATED ACTIVIT
01001415DB NSF RESEARCH & RELATED ACTIVIT

01001516DB NSF RESEARCH & RELATED ACTIVIT

01001617DB NSF RESEARCH & RELATED ACTIVIT

01001718DB NSF RESEARCH & RELATED ACTIVIT
Program Reference Code(s): 1045
Program Element Code(s): 735400, 779800, 794300
Award Agency Code: 4900
Fund Agency Code: 4900
Assistance Listing Number(s): 47.070

ABSTRACT

Faster computers have enabled advances in science, commerce and daily life. Unfortunately, computers have also become complex and more and more difficult to program efficiently. This trend threatens the sustainability of future advances. Perhaps, however, we can draw upon biologically inspired learning techniques to shed light into a new model of hybrid computers, a ``Programmable Smart Machine'', that inherently learns from its past behavior to automatically improve its performance without the burden of more complex programming. Specifically this work explores the addition of a smart memory to a computer that gives it the abilities to learn, store and exploit patterns in past execution to improve its performance.

Central to this work is the introduction of a new kind of global long-term machine learning based 'cache' that can be viewed as an auto-associative memory. The 'cache' is fed raw low-level traces of execution, from which it extracts and stores commonly occurring patterns that can be recognized and predicted. The core execution process is modified to send the trace to the 'cache' and to exploit its feedback to enact acceleration. The long-term goal is a system whose performance improves with the size and contents of the 'cache', which can be constructed with local associative memory devices and a shared online repository that is contributed to and leveraged by many systems. In this way a kind of shared computational history is naturally created and exploited.

This work experimentally explores questions with respect to concretizing the ``Programmable Smart Machine'' model. What are useful and tractable traces for detecting patterns in execution? Can current unsupervised deep learning techniques detect, store and recall useful patterns? How can the predictions from the machine learning based memory be utilized to automatically improve performance? How big does the machine learning based memory need to be to yield useful predictions and acceleration? This work explores these questions using simulation and controlled workload experiments to create complete traces including all instructions, register values, and I/O events. Using the traces, at least two deep learning approaches will be evaluated with respect to the number and size of patterns they recognize. The resulting trained models will be integrated into the published auto-parallelization methodology that established preliminary results for this work. The simulation infrastructure, trace data and experimental results will be made publicly available to enable broader study.

This work produces unique trace data of computer operation. The PI has found that visual and audio presentations of the preliminary data reflect the kind of intuition that computer scientists develop about how computers work. This aspect will be leveraged to develop both a seminar, ``From Bits to Chess to Supercomputers'' and an associated
``Computing Intuition'' website that engages K-12 students with computing.

PUBLICATIONS PRODUCED AS A RESULT OF THIS RESEARCH

Note:  When clicking on a Digital Object Identifier (DOI) number, you will be taken to an external site maintained by the publisher. Some full text articles may not yet be available without a charge during the embargo (administrative interval).

Some links on this page may take you to non-federal websites. Their policies may differ from this site.

Dan Schatzberg, James Cadden, Han Dong, Orran Krieger, Jonathan Appavoo "EbbRT: A Framework for Building Per-Application Library Operating Systems" OSDI 2016 , 2016
L. Delshadtehrani, J. Appavoo, M. Egele, A. Joshi and S. Eldridge "?Varanus: An Infrastructure for Programmable Hardware Monitoring Units?" Proc. Boston area ARChitecture (BARC) Workshop 2017 , 2017

PROJECT OUTCOMES REPORT

Disclaimer

This Project Outcomes Report for the General Public is displayed verbatim as submitted by the Principal Investigator (PI) for this award. Any opinions, findings, and conclusions or recommendations expressed in this Report are those of the PI and do not necessarily reflect the views of the National Science Foundation; NSF has not approved or endorsed its content.

This project had the ambitious aim of advancing a new kind of hybrid computing system, a Programmable Smart Machine (PSM), that combines biologically inspired capabilities with the programmable advantages of a classical computer.  The goal was to shed light on how new computing systems might be able to maintain a simple human-friendly programming interface but who's behaviour, like biological systems, automatically and inherently improves with "experience" and system "size".  The core idea is to expose a raw signal, akin to a "movie" whose frames capture the step-by-step operation of the computer, to biologically inspired information processing mechanisms.  The hope is that doing so would allow systems to automatically learn and store common patterns that can be used to create short-cuts that improve the systems current and future behaviour.  Such systems could progressively get better as they executes more programs (gain "experience") and as their storage capacity is increased (grows in physical "size").

If the PSM model is viable one can imagine constructing a future global-scale shared Cloud Computing service, like Google, but whose function is to act like a global repository of computing patterns, a computational cortex, that becomes more powerful with every computer that contributes to it and enables every computer connected to behave more intelligently, avoiding repetition of unnecessary work andleveraging knowledge of what will likely need to be done next. Over the lifetime of this award the following key results were produced.

1) We demonstrated that at least for some restricted computational program, written to a simple computer interface, one could detect, store and leverage patterns observed in their low-level operation to anticipate their future behaviour and implicitly leverage additional CPUs of a supercomputer to speed up their execution. [1: Waterland et.al, "Computational caches" in proceedings of the sixth International Systems and Storage Conference (SYSTOR '13).  2: Waterland, et al.,"ASC: Automatically Scalable Computation", in proceedings of the nineteenth international International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS'14)].

2) We established that the PSM model does indeed make it possible to interface biologically inspired neural network like devices to a deterministic computer.  More specifically we developed a neural-inspired hardware component that we were able to directly interface with the low-level trace of deterministic operation.  The device was able to detect patterns and relationships in the trace that could be leveraged to automatically predict future states of the computation. [3: Eldridge, et al.,"Towards General Purpose Neural Network Computing", in proceedings of the 24th International Conference on Parallel Architectures and Compilation Techniques (PACT'15). 4: Appavoo et al., "Programmable Smart Machines: A Hybrid Neuromorphic approach to General Purpose Computation", Neuromorphic Architectures (NeuroArch 2014)].

3) We established a path for the PSM model to be used in the construction of a future cloud computing service via advanced operating system approaches.  In particular, we first leveraged the nature of Cloud Computing to simplify the OS and application software organization to more readily serve as a basis for customization and optimization of a running application's operation.  [5: Schatzberg, et. al, "A way forward: enabling operating system innovation in the cloud", in Proceedings of the 6th USENIX conference on Hot Topics in Cloud Computing. 6: Schatzberg, et al., "EbbRT: A Framework for Building Per-Application Library Operating Systems",  in proceedings of the 12th USENIX Symposium on Operating Systems Design and Implementation (OSDI 2016)].  Build on this foundation we then added the caching of program states to optimize a cloud hosted "Serverless" computing platform [7: Cadden, et al. "Accelerating Serverless Execution Using Snapshots", under submission].  This work is the foundation for exploring the PSM model in context of a general purpose Cloud service.

4) While currently unpublished we observed that the PSM model enables a system to leverage knowledge of past runs of a program, stored in a neural networks, to be automatically leveraged to progressively improve future runs of the program on past and new data.  Additionally, we have observed that the model can detect the interaction between the underlying algorithm and data to more effectively pre-compute future states of the computation.

Key products of this award include, six peer reviewed publications, one publication under submission and results that will serve as the basis for future research.  New, publicly available, software for prototyping cloud services amenable to the PSM model, was and continues to be developed.  Significantly the award also provided training; introducing fourteen undergraduates to research, ten graduate students and one post doctoral fellow students obtained both practical research experience and mentorship.

The PI is immeasurable thankful for the support of this award.  It has enabled both unique scientific and educational benefits.  The experience obtained continue to fuel and inspire the work and imagination of the student and the PI.


Last Modified: 05/30/2019
Modified by: Jonathan Appavoo

Please report errors in award information by writing to: awardsearch@nsf.gov.

Print this page

Back to Top of page