
NSF Org: |
CCF Division of Computing and Communication Foundations |
Recipient: |
|
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 2011 = $12,000.00 FY 2012 = $1,415,200.00 FY 2014 = $19,996.00 |
History of Investigator: |
|
Recipient Sponsored Research Office: |
10889 WILSHIRE BLVD STE 700 LOS ANGELES CA US 90024-4200 (310)794-0102 |
Sponsor Congressional District: |
|
Primary Place of Performance: |
10889 WILSHIRE BLVD STE 700 LOS ANGELES CA US 90024-4200 |
Primary Place of
Performance Congressional District: |
|
Unique Entity Identifier (UEI): |
|
Parent UEI: |
|
NSF Program(s): |
Information Technology Researc, Special Projects - CCF, Expeditions in Computing |
Primary Program Source: |
01001112DB NSF RESEARCH & RELATED ACTIVIT 01001213DB NSF RESEARCH & RELATED ACTIVIT 01001314DB NSF RESEARCH & RELATED ACTIVIT 01001415DB NSF RESEARCH & RELATED ACTIVIT |
Program Reference Code(s): |
|
Program Element Code(s): |
|
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.
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.