Skip to feedback

Award Abstract # 1029030
Collaborative Research: Variability-Aware Software for Efficient Computing with Nanoscale Devices

NSF Org: CCF
Division of Computing and Communication Foundations
Recipient: UNIVERSITY OF CALIFORNIA, LOS ANGELES
Initial Amendment Date: August 19, 2010
Latest Amendment Date: August 11, 2014
Award Number: 1029030
Award Instrument: Continuing Grant
Program Manager: Sankar Basu
sabasu@nsf.gov
 (703)292-7843
CCF
 Division of Computing and Communication Foundations
CSE
 Directorate for Computer and Information Science and Engineering
Start Date: September 1, 2010
End Date: August 31, 2017 (Estimated)
Total Intended Award Amount: $3,538,000.00
Total Awarded Amount to Date: $3,569,996.00
Funds Obligated to Date: FY 2010 = $2,122,800.00
FY 2011 = $12,000.00

FY 2012 = $1,415,200.00

FY 2014 = $19,996.00
History of Investigator:
  • Mani Srivastava (Principal Investigator)
    mbs@ucla.edu
  • Puneet Gupta (Co-Principal Investigator)
  • Lara Dolecek (Co-Principal Investigator)
Recipient Sponsored Research Office: University of California-Los Angeles
10889 WILSHIRE BLVD STE 700
LOS ANGELES
CA  US  90024-4200
(310)794-0102
Sponsor Congressional District: 36
Primary Place of Performance: University of California-Los Angeles
10889 WILSHIRE BLVD STE 700
LOS ANGELES
CA  US  90024-4200
Primary Place of Performance
Congressional District:
36
Unique Entity Identifier (UEI): RN64EPNH8JC6
Parent UEI:
NSF Program(s): Information Technology Researc,
Special Projects - CCF,
Expeditions in Computing
Primary Program Source: 01001011DB NSF RESEARCH & RELATED ACTIVIT
01001112DB NSF RESEARCH & RELATED ACTIVIT

01001213DB NSF RESEARCH & RELATED ACTIVIT

01001314DB NSF RESEARCH & RELATED ACTIVIT

01001415DB NSF RESEARCH & RELATED ACTIVIT
Program Reference Code(s): 7723, 7925, 7945, 7969, 9218, 9251, HPCC
Program Element Code(s): 164000, 287800, 772300
Award Agency Code: 4900
Fund Agency Code: 4900
Assistance Listing Number(s): 47.070

ABSTRACT

Abstract: The Variability Expedition
Project: Variability-Aware Software for Efficient Computing with Nanoscale Devices

As semiconductor manufacturers build ever smaller components, circuits and chips at the nano scale become less reliable and more expensive to produce ? no longer behaving like precisely chiseled machines with tight tolerances. Modern computing is effectively ignorant of the variability in behavior of underlying system components from device to device, their wear-out over time, or the environment in which the computing system is placed. This makes them expensive, fragile and vulnerable to even the smallest changes in the environment or component failures. We envision a computing world where system components -- led by proactive software -- routinely monitor, predict and adapt to the variability of manufactured systems. Changing the way software interacts with hardware offers the best hope for perpetuating the fundamental gains in computing performance at lower cost of the past 40 years. The Variability Expedition fundamentally rethinks the rigid, deterministic hardware-software interface, to propose a new class of computing machines that are not only adaptive but also highly energy efficient. These machines will be able to discover the nature and extent of variation in hardware, develop abstractions to capture these variations, and drive adaptations in the software stack from compilers, runtime to applications. The resulting computer systems will work and continue working while using components that vary in performance or grow less reliable over time and across technology generations. A fluid software-hardware interface will thus mitigate the variability of manufactured systems and make machines robust, reliable and responsive to the changing operating conditions.

The Variability Expedition marshals the resources of researchers at the California Institute for Telecommunications and Information Technology (Calit2) at UC San Diego and UC Irvine, as well as UCLA, University of Michigan, Stanford and University of Illinois at Urbana-Champaign. With expertise in process technology, architecture, and design tools on the hardware side, and in operating systems, compilers and languages on the software side, the team also has the system implementation and applications expertise needed to drive and evaluate the research as well as transition the research accomplishments into practice via application drivers in wireless sensing, software radio and mobile platforms.

A successful Expedition will dramatically change the computing landscape. By re-architecting software to work in a world where monitoring and adaptation are the norm, it will achieve more robust, efficient and affordable systems that are able to predict and withstand not only hardware failures, but other kinds of software bugs or even attacks. The new paradigm will apply across the entire spectrum of embedded, mobile, desktop and server-class computing machines, yielding particular gains in sensor information processing, multimedia rendering, software radios, search, medical imaging and other important applications. Transforming the relationship between hardware and software presents valuable opportunities to integrate research and education, and this Expedition will build on established collaborations with educator-partners in formal and informal arenas to promote interdisciplinary teaching, training, learning and research. The team has built strong industrial and community outreach ties to ensure success and reach out to high-school students through a combination of tutoring and summer school programs. The Variability Expedition will engage undergraduate and graduate students in software, hardware and systems research, while promoting participation by underrepresented groups at all levels and broadly disseminating results within academia and industry.

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.

(Showing: 1 - 10 of 41)
A. Pant, P. Gupta and M.v.d. Schaar "AppAdapt: Opportunistic Application Adaptation in Presence of Hardware Variation" IEEE Transactions on VLSI Systems, , 2011
C.-H. Huang, Y. Li, and L. Dolecek "ACOCO: Adaptive Coding for Approximate Computing on Faulty Memories" IEEE Transactions on Communications , v.63 , 2015 , p.4615 10.1109/TCOMM.2015.2481898
C.-H. Huang, Y. Li, and L. Dolecek "Belief Propagation Algorithms on Noisy Hardware" IEEE Transactions on Communications , v.63 , 2015 , p.11 10.1109/TCOMM.2014.2379663
C.-H. Huang, Y. Li, and L. Dolecek "Gallager B LDPC decoder with transient and permanent errors" IEEE Trans. Commun , v.62 , 2014 , p.15 10.1109/TCOMM.2013.111913.130178
Chu-Hsiang Huang, Yao Li, Lara Dolecek "Belief Propagation Algorithms on Noisy Hardware" IEEE Transactions on Communications , v.63 , 2015 , p.11 10.1109/TCOMM.2014.2379663
C. Shen and M. Srivastava "Exploring Hardware Heterogeneity to Improve Pervasive Context Inferences" Computer , v.50 , 2017 , p.19-26 10.1109/MC.2017.174
Elmalaki, Salma and Wanner, Lucas and Srivastava, Mani "CAreDroid: Adaptation Framework for Android Context-Aware Applications" GetMobile: Mobile Comp. and Comm. , v.20 , 2016 , p.35--38 10.1145/3009808.3009820
E. Mintarno, J. Skaf, R. Zheng, J. Velamala, Y. Cao, S. Boyd, R.W. Dutton and S. Mitra, "Self-Tuning for Maximized Lifetime Energy-Efficiency in the Presence of Circuit Aging" IEEE Trans. Computer-Aided Design , v.30 , 2011 , p.760 10.1109/TCAD.2010.2100531
Frederic Sala, Ryan Gabrys, and Lara Dolecek "Dynamic Threshold Schemes for Multi-Level Non-Volatile Memories" IEEE Transactions on Communications , 2013 10.1109/TCOMM.2013.053013.120733
F. Sala and C. Schoeny and S. Kabir and D. Divsalar and L. Dolecek "On Nonuniform Noisy Decoding for LDPC Codes With Application to Radiation-Induced Errors" IEEE Transactions on Communications , v.65 , 2017 , p.1438-1450 10.1109/TCOMM.2017.2657759
F. Sala, C. Schoeny, D, Divsalar, and L. Dolecek "Asymmetric ECCs for Flash in High Radiation Environments (invited)" IEEE Asilomar Conference on Signals, Systems and Computers , 2015
(Showing: 1 - 10 of 41)

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.

 

Activities in the Variability Expedition,  a multi-institutional collaborative project, focused on developing hardware and software technologies, algorithms, and foundational theories necessary for a new class of computing machines that operate efficiently and reliably in the presence of unprecedented variations in their hardware characteristics arising from manufacturing, operating conditions, application workloads, and aging. During the project, the UCLA researchers made the following contributions towards the project’s objectives, and developed tools, methods, and software artifacts that have been adopted by companies and used by other researchers.

1. Computing platforms capable of sensing variations

For software to adapt to variations in the characteristics of underlying hardware, a computer must have circuits that can sense those variations. Project researchers developed a variety of delay variation sensing schemes and tested them in simulation as well as in silicon prototypes (Figure 1)). First, they developed ‘Design Dependent Ring Oscillators’  and automated algorithms to synthesize them as an inexpensive circuit structure that mimics performance of the actual chip. Second, they developed ‘SlackProbe’ scheme for generating minimum number of in-situ delay monitors which can minimize monitoring overhead by over 10x as observed on commercial microprocessor designs.

2. Variation-aware Memory Management

Memory circuits and subsystems where software stores intermediate results of computation are particularly susceptible to variations which cause degradation in memory reliability and energy efficient. Project researchers developed a suite of techniques (Figure 2) to opportunistically exploit memory variability for energy savings and cope with memory errors when they inevitably occur. First, they developed ‘ViPZonE’ and ‘DPCS’ which save energy in off-chip main memory and on-chip cache memories, respectively. Second, they developed ‘X-Mem’ a new extensible memory characterization tool and ‘MEMRES’ a fast large scale memory fault simulator. Finally, they demonstrated that correctable memory errors can have a significant impact on performance of datacenter computing systems.

3. Theory-informed coding algorithms to exploit variations in memory and storage

Project researchers developed a broad repertoire of novel error correction schemes, including tensor product codes and non-binary coding, to exploit variations in memory and storage. These schemes are based on advanced mathematical techniques introduced by them using tools from abstract algebra, combinatorics, and graphical methods. In contrast to long standing, conventional information theoretic methods that assume symmetric error correction, these new schemes explicitly take advantage of the underlying hardware variability to design provably better error corrections schemes. They offer impressive lifetime improvements (Figure 3)  in modern memory devices, as well as theoretical guarantees that can be applied in other applications.

4. Variability-aware duty-cycling for ultra-low-power embedded sensors

UCLA researchers experimentally identified that manufacturing variations in turn result in more than an order of magnitude variation in sleep-mode power consumption of embedded computing devices such as wireless sensors. Based on this insight they developed open-source software packa  VaRTOS (a real-time operating system kernel that provides abstractions that explicitly handle idle and active power variations), ViRUS (a run-time for supporting variability aware applications based on the concept of virtual function replacement), and VarEmu (a simulation framework for the evaluation of variability-aware software techniques).

5. Context variation aware software stack for smartphones

Researchers at UCLA developed CAreDroid, an open-source software framework for enabling   applications under Android mobile operating system to efficiently adapt to variations in platform resources and context. CAreDroid (Figure 5),  implemented as part of the Android runtime system, allows developers to focus on the application logic by decoupling application logic from run-time tasks such as monitoring of user and platform state, and adaptation of process, battery, and other resources. It enables applications that are more energy efficient, robust, and easier to develop.

6. Los Angeles Computing Circle

As part of the project the team members at UCLA created The Los Angeles Computing Circle, (http://lacc.ee.ucla.edu) an outreach program organized, supervised, and mentored by faculty members and graduate student volunteers with an objective of engaging and mentoring younger students for careers in computing and engineering. LACC, organized each summer as a sequence of self-contained modules,  provides Grade 9-12 students an opportunity to learn advanced concepts in computing via lectures and hands-on design and programming laboratories. The program complements and go beyond the more abstract exposure to computing that the traditional high school computer science curriculum offers by way of AP Computer Science and related courses. Alumni of LACC have gone on to pursue advanced STEM degrees at top universities.

 


Last Modified: 02/12/2018
Modified by: Mani B Srivastava

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

Print this page

Back to Top of page