Software Based Techniques for Robust Computing on Chip Multiprocessors

Open Access
- Author:
- Narayanan, Sri Hari Krishna
- Graduate Program:
- Computer Science and Engineering
- Degree:
- Doctor of Philosophy
- Document Type:
- Dissertation
- Date of Defense:
- October 27, 2008
- Committee Members:
- Dr Mahmut Kandemir, Dissertation Advisor/Co-Advisor
Mahmut Taylan Kandemir, Committee Chair/Co-Chair
Mary Jane Irwin, Committee Member
Padma Raghavan, Committee Member
Tracy Mullen, Committee Member
Boyana Norris, Committee Member - Keywords:
- Temperature
Robustness
Reliability
Chip Multi Processors
compilers
Soft Errors - Abstract:
- Robustness and performance are two requirements of any computing system. They may be quantified by different metrics depending on the domain of Computer Science being discussed. The loss of either robustness or performance can represent a cost to the user or owner of the system. While it is possible that robustness and performance are interdependent, often one must be sacrificed for the other. Chip Multiprocessors (CMPs) have emerged as one of key architectures for current systems. Hence this thesis proposes and evaluates sofware based techniques to improve the robustness of CMP based systems. The techniques used involve analyzing the applications and then modifying them according to the desired robustness metric. While several hardware based techniques exist to alleviate several robustness concerns, analyzing an application's behvior allows these methods to be called on less frequently or in some cases tunes the usage of the hardware method. The three aspects of robustness that are studied in this thesis are: reduction of thermal emergencies, protection against soft errors and the security of data accessed by applications. In order to prevent excessive reliance on a hardware based cooling mechanism the proposed methods in this thesis map and schedule the application threads such that the power density on any processor or router in the architecture is reduced. The detection of soft errors in the memory is improved by carefully changing the temporal order of computations in the different redundant threads in a CMP. Results show that there is an increase in the number of soft errors detected by the proposed approach. The security of data accessed by mutually untrusting parallel threads is studied and an algorithm to perform wordload balancing between these threads is presented. The algorithm is successful in improving reducing the standard deviation of the workload assigned to the different threads. Trade-offs between application performance and the confidentiality of data accessed by it in a scratch pad memmory based system are studied. A reuse based mechanism is used to tune the application based on the desired level of performance and data confidentiality. An Integer Linear Prograramming approach is extends this study to applications that must complete by a deadline.