|
Precision Timed (PRET) Machines
We argue that at least for embedded software applications, computer architecture, software, and networking have gone too far down the path of emphasizing average case performance over timing predictability. In architecture, techniques such as multi-level caches and deep pipelines with dynamic dispatch and speculative execution make worst-case execution times (WCET) highly dependent on both implementation details of the processor and on the context in which the software is executed. Yet virtually all real-time programming methodologies depend on WCET. When timing properties are important in the software and when concurrent execution is affected by timing, the result is brittle design.
Our goal is to reintroduce timing predictability and repeatability by judiciously adopting architectural optimization techniques to deliver performance enhancements without sacrificing timing predictability and repeatability. Our approach includes extending the instruction-set architectures (ISA) with control over execution time. We believe that timing predictability and repeatability are not at odds with performance.
By providing simulators and VHDL softcores, we will show that PRET architectures executing software components can be seamlessly integrated with what would traditionally have been purely hardware designs, thus greatly improving the expressiveness and usability of FPGA-based design flows. PRET provides a starting point for a revolution that will make timing predictability and repeatability central features of embedded processors.
Software
- May, 2011 - PTARM C++ Simulator.
We have released a cycle accurate model of our PTARM softcore for users that wish to quickly prototype the PRET architecture. Serial communication is simulated through the terminal, and main memory interactions go through the predictable DRAM controller. Programs are again written in C and compiled using the gnu-arm cross compiler.
- September, 2010 - PTARM VHDL Softcore.
We have constructed a FPGA softcore of our architecture using ARM as our instruction set architecture (Precision Timed ARM - PTARM). The core is synthesized on a Xilinx Virtex5 FPGA on a ml505 evaluation board. The core includes a UART controller, which can be used to communicate through the serial port on the board. It also contains a DVI controller to output to a LCD monitor through the DVI port. We also include a predictable memory controller to communicate with a DRAM. Programs can be written in C and compiled using the gnu-arm cross compiler and loaded onto the core.
- February, 2009 - SPARC C++ Simulator
We have released a cycle-accurate model and simulator of a thread interleaved PRET architecture based on the SPARC ISA. The architecture has multiple software-managed on-chip memories, a memory wheel to arbitrate access to main memory, and extensions to the ISA with timing instructions. Programs are written in C and compiled using GCC’s SPARC compiler. We provide examples, including a video graphic driver example and RSA encryption/decryption algorithms to avoid timing-channel attacks.
People
Staff
David Broman
Edward A. Lee
Aviral Shrivastava
|
Students
Jian Cai
Hokeun Kim
Yooseong Kim
Chris Shaver
Michael Zimmer
|
Alumi (Staff and Students)
Stephen A. Edwards
Ben Lickly
Isaac Liu
Sungjun Kim
Hiren D. Patel
Jan Reineke
| Collaborators (Current and Past)
Sidharta Andalam,
Hugo Andrade,
Dai Nguyen Bui,
Bas Burgers,
Devesh Dedhia,
Shanna-Shaye Forbes,
Alain Girualt,
Man-Kit Leung,
David McGrogan,
Partha S. Roop,
Martin Schoeberl,
Nishant R. Shah,
Matthew Viele,
Guoqiang Gerald Wang,
Sami Yehia
|
Publications
-
David Broman. High-Confidence Cyber-Physical Co-Design, Proceedings of the Work-in-Progress (WiP) session of the 33rd IEEE Real-Time Systems Symposium (RTSS 2012), Page 12, San Juan, Puerto Rico, December, 2012.
-
Isaac Liu, Jan Reineke, David Broman, Michael Zimmer, Edward
A. Lee. A PRET Microarchitecture Implementation with Repeatable
Timing and Competitive Performance, In Proceedings of the 30th IEEE International Conference on Computer Design (ICCD), Pages 87-93, October, 2012.
- Isaac Liu. Precision Timed Machines, Ph.D. Dissertation, EECS Department, University of California, Berkeley, Technical Report No. UCB/EECS-2012-113, May 14, 2012.
- Isaac Liu, Edward A. Lee, Matthew Viele, Guoqiang Gerald Wang, Hugo Andrade. A Heterogeneous Architecture for Evaluating Real-Time One-Dimensional Computational Fluid Dynamics on FPGAs,
IEEE International Symposium on Field-Programmable Custom Computing Machines (FCCM), Toronto, Canada, April 29-May 1, 2012.
- Jan Reineke, Isaac Liu, Hiren D. Patel, Sungjun Kim, Edward A. Lee, PRET DRAM Controller: Bank Privatization for Predictability and Temporal Isolation, International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS), October, 2011.
-
Dai Nguyen Bui, Edward A. Lee, Isaac Liu, Hiren D. Patel,
Jan Reineke. Temporal Isolation on Multiprocessing
Architectures, Design Automation Conference (DAC),
June, 2011.
- Isaac Liu, Jan Reineke, and Edward A. Lee. A PRET Architecture Supporting Concurrent Programs with Composable Timing Properties, 44th Asilomar Conference on Signals, Systems, and Computers, November 2010.
- Dai Bui, Hiren D. Patel, and Edward A. Lee, Deploying Hard Real-time Control Software on CMPs, Proceedings of International Conference on Embedded and Real-time Computing Systems and Applications (RTCSA), 2010.
- Martin Schoeberl, Hiren D. Patel, Edward A. Lee. Fun with a Deadline Instruction, EECS Department, University of California, Berkeley, Technical Report No. UCB/EECS-2009-149, October 30, 2009.
- Stephen A. Edwards, Sungjun Kim, Edward A. Lee, Isaac Liu, Hiren D. Patel, Martin Schoeberl. A Disruptive Computer Design Idea: Architectures with Repeatable Timing, Proceedings of International Conference on Computer Design (ICCD), IEEE, Lake Tahoe, CA, 4-7 October, 2009.
- Stephen A. Edwards, Sungjun Kim, Edward A. Lee, Hiren D. Patel, Martin Schoeberl. Reconciling Repeatable Timing with Pipelining and Memory Hierarchy, Workshop on Reconciling Performance and Predictability, Grenoble, France, October 15, 2009.
- Shanna-Shaye Forbes, Ben Lickly, Man-Kit Leung C Code Generation from the Giotto Model of
Computation to the PRET Architecture, Technical Report No. UCB/EECS-2009-86,
May, 2009
- Devesh Dedhia, Example application under PRET environment -- Programming a MultiMediaCard, Computer Science Technical Report CUCS-005-09, Columbia University.
- Isaac Liu and David McGrogan. Elimination of Side Channel Attacks on a Precision Timed Architecture, Technical Report No. UCB/EECS-2009-15, January 26, 2009
- Nishant R. Shah, Memory
issues in PRET machines, Computer Science Technical Report
CUCS-059-08, Columbia University, December, 2008.
- Hiren D. Patel, Ben Lickly, Bas Burgers and Edward A. Lee, A
Timing Requirements-Aware Scratchpad Memory Allocation Scheme for a
Precision Timed Architecture, Technical Report No. UCB/EECS-2008-115,
September, 2008
- Shanna-Shaye Forbes, Hugo A. Andrade, Hiren D. Patel and Edward A. Lee. An Automated Mapping of Timed Functional Specification to A Precision Timed Architecture, In proceedings of the 12-th IEEE International Symposium on Distributed Simulation and Real Time Applications (DSRT), October, 2008.
- Ben Lickly, Isaac Liu, Sungjun Kim, Hiren D. Patel, Stephen A. Edwards and Edward A. Lee, Predictable Programming on a Precision Timed Architecture, in proceedings of International Conference on Compilers, Architecture, and Synthesis from Embedded Systems (CASES), October, 2008.
- Ben Lickly, Isaac Liu, Sungjun Kim, Hiren D. Patel, Stephen A. Edwards and Edward A. Lee, Predictable Programming on a Precision Timed Architecture, Technical Report No. UCB/EECS-2008-40, April, 2008.
- Stephen A. Edwards and Edward A. Lee, The case for
Precision Timed (PRET) Machines, in proceedings of the 44th
annual conference on Design Automation Conference, San Diego, California.
- Stephen A. Edwards and Edward A. Lee. The Case for the Precision Timed (PRET) Machine, Technical report, University of California, Berkeley, UCB/EECS-2006-149, November, 2006.
- Edward A. Lee, The Case for Precision Timed (PRET) Machines, National Workshop on High-Confidence Software Platforms for Cyber-Physical Systems (HCSP-CPS)
Arlington, VA, November 30, 2006
Presentations
- David Broman, Stephen A. Edwards, and Edward A. Lee, Precision Timed Infrastructure: Promoting Time to a First-Class Citizen in System Design, National Workshop on the New Clockwork for Time-Critical Systems, Baltimore, October 26, 2012.
- David Broman, Precision Timed Infrastructure - Making Time an Engineering Abstraction, 52nd IFIP WG 2.4 Meeting, Vadstena, Sweden, May 22, 2012.
- Jan Reineke, Timing Analysis of Embedded Software for Families of Microarchitectures , MuSyC Review Meeting, Berkeley, CA, November 2011.
- Jan Reineke, PRET DRAM Controller: Bank Privatization for Predictability and Temporal Isolation , International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS), Taipei, Taiwan, October 2011.
-
Jan Reineke. To
Meet or Not to Meet the Deadline, Ninth Biennial Ptolemy Miniconference,
Berkeley, CA, February 16, 2011.
- Edward A. Lee,
A Disruptive Computer Design Idea: Architectures with Repeatable Timing, IEEE International Conference on
Computer Design(ICCD), Squaw Valley, CA, October 6, 2009.
- Edward A. Lee,
Architectures with repeatable timing for Cyber-Physical Systems, Workshop on Cyber Physical Systems,
Grenoble, France, October 16, 2009
- Stephen A. Edwards,
Reconciling Repeatable Timing with Pipelining and Memory Hierarchy,
Workshop on Reconciling Performance with Predictability (RePP), Grenoble, France, October 15, 2009
- Hiren D. Patel, Predictable Programming
on a Precision Timed Architecture, International Conference on
Compilers, Architecture, and Synthesis from Embedded Systems (CASES), Atlanta, Georgia, October 21, 2008.
- Hiren D. Patel, Predictable Programming on a Precision Timed Architecture, Virginia Tech., Blacksburg, Virginia, October 17, 2008.
- Stephen Edwards, What We Do With 10^12 Transistors?, Google, Mountain View, California, February 20, 2008. [video]
- Stephen Edwards, Precision Timed (PRET) Machines, Altera, San Jose, California, January 9, 2008.
- Stephen Edwards, Precision Timed (PRET) Machines, National Taiwan University, Taipei, Taiwan, July 6, 2007.
- Stephen Edwards, Precision-Timed (PRET) Machines at DAC
is mentioned in the EETimes article, "Designers pitch 'wild and crazy' ideas at DAC.", June 6, 2007.
- Stephen A. Edwards and Edward A. Lee. Precision-Timed (PRET) Machines, June, 2007; Presented at the 44th Design Automation Conference, San Diego, California.
Posters
- Isaac Liu, Ben Lickly, Hiren D. Patel, Edward A. Lee, Poster Abstract: Timing Instructions - ISA Extensions for Timing Guarantees, a poster at Real-Time and Embedded Technology and Applications Symposium, San Francisco, California, 2009.
- Ben Lickly and Hiren D. Patel, Timing-aware
Exceptions for a Precision Timed (PRET) Target, Berkeley EECS Annual
Research Symposium, February 12, 2009.
- Hiren D. Patel, Isaac Liu, Ben Lickly, and Edward A. Lee, A Precision Timed
Architecture for Predictable and Repeatable Timing, Berkeley EECS Annual
Research Symposium, February 12, 2009.
- Shanna-Shaye Forbes, Hiren D. Patel, Hugo A. Andrade, Ben Lickly, Isaac Liu. Mapping a Timed Functional Specification to a Precision Timed (PRET) Machine, Talk or presentation, 21, 2008.
Class Projects
- Shanna-Shaye Forbes, Toward an Automated Mapping from A Timed Functional Specification to A Timed Architecture, EE 249: Design of Embedded Systems: Models, Validation and Synthesis, Fall 2007.
- Isaac Liu and Joern Rheder, A Multithreaded Peripheral Processor for Real-Time Embedded Systems, EE 252: Graduate Computer Architecture, Fall 2007.
- Isaac Liu and Ben Lickly, Micro-Architectural modeling of a SPARC Processor, EE 249: Design of Embedded Systems: Models, Validation and Synthesis, Fall 2007.
Miscellaneous
Wiki
- Internal Wiki accessible only by Chess participants and PRET members.
Resources
Mailing lists and discussion forums may be found under the pret link above.
To modify this page, use CVS
Acknowledgments
This work was supported in part by the Center for Hybrid and Embedded
Software Systems (CHESS) at UC Berkeley, which receives support from
the National Science Foundation (NSF awards \#0720882 (CSR-EHS: PRET),
\#0931843 (CPS: Large: ActionWebs), and \#1035672 (CPS: Medium: Ptides)),
the U. S. Army Research Laboratory (ARL \#W911NF-11-2-0038), the Air
Force Research Lab (AFRL), the Multiscale Systems Center (MuSyC), one
of six research centers funded under the Focus Center Research
Program, a Semiconductor Research Corporation program, and the
following companies: Bosch, National Instruments, Thales, and Toyota.
|