![]()
Description:
This course describes a systematic and integrated approach towards the design and implementation of fault-tolerant computational and dynamic systems. Building on results from recent research work, the course blends together techniques from coding and complexity theory, digital design, and control, automata and system theory. The course studies fault-tolerant computational architectures under a unifying approach that exposes the similarities between coding for reliable communication and coding for reliable computation. This approach is subsequently extended to handle fault tolerance in systems whose internal state influences their future behavior, such as finite state controllers or algorithmic computations evolving over several time steps. The introduction of time and state dynamics presents new challenges for engineering design, but also offers new degrees of freedom and opens up exciting possibilities for future digital system implementation. The course discusses some of these open research questions for a number of systems of special interest, such as finite state machines, digital signal processing filters, cellular automata and discrete event systems. An introduction to the basic objectives and techniques in coding and in design for fault tolerance is provided.
Topics:
- Fault models, errors, reliability, availability, fault tolerance
- Failures in digital communication channels, coding approaches for communication
systems, capacity considerations
- Failures in gates or computational components:
(i) coding approaches for noisy circuits
(ii) ABFT techniques for computational systems
(iii) efficiency considerations and other parameters (capacity, probability
of error, error coverage)
- Failures in the error correcting mechanisms, coding approaches for dynamic
systems
(i) dynamic error correction
(ii) decoding complexity and low density parity check codes
(iii) computational capacity, fault coverage, probability of error
- Other uses of redundancy (monitoring and testing using redundant inputs,
states and outputs)
Prerequisites:
Required: ECE313 and ECE362 (or permission of instructor).
Desired: ECE412, ECE415.
Familiarity with elementary algebra and linear system theory would
be helpful, but not required; a self-contained introduction to these
topics will be provided.
Textbook: Mainly class notes and research papers.
References:
Instructor information: C. N. Hadjicostis / 265-8259 / 148 C&SRL / chadjic@control.csl.uiuc.edu
Course Time and Place: Tuesdays & Thursdays, 2:30-4:00pm, 57 Everitt Lab
Office Hours: Wednesdays, 1:30-3:00pm, 148 C&SRL
Course Outline:
I. Introductory Material (Hours: 7.5)
Homework:
Projects: