C. M. Krishna
Department of Electrical and Computer Engineering
University of Massachusetts
Amherst, MA 01003
(413) 545-0766
krishna@ecs.umass.edu




Research Interests: My principal research interests are in cyber-physical systems, real-time and fault-tolerant computing, and distributed and networked systems.

Cyber-Physical Systems: Cyber-physical systems involve the control of physical processes by computers. This is currently my primary area of research. The work is interdisciplinary: it involves understanding how computers contribute to effective control; it also involves the conception and development of techniques from the fault-tolerant, real-time, power-aware and distributed computing domains. Below is a description of these fields. Power-Aware Computing: This field has grown exponentially over the past decade. An increasing number of applications are battery-powered or otherwise work in a power-constrained environment. Processors are getting increasingly power-hungry, and the increase in processor power consumption is threatening to rapidly outpace advances in battery capacity. The key problem in power-aware computing is to manage the various subunits of the computer in such a way that performance goals continue to be met while keeping power consumption within acceptable bounds. Techniques to do this range from low-level circuit design to using power-aware compilers and operating systems. My own work in this field focuses on the computer architecture and operating system layers.

Real-Time Computing: Real-time computing means computing in the face of task deadlines. This is another field that has grown rapidly since I began working in it in 1980. There are two types of real-time systems: hard and soft . A hard real-time system is one in which missing too many deadlines in a row will result in catastrophe. Examples are the computers that control the flight surfaces of fly-by-wire aircraft. By contrast, a soft real-time system will show degradation of performance if deadlines are missed, but nothing catastrophic is likely to happen. The most familiar examples of this are streaming video and audio. If some voice or video packets get dropped or otherwise not delivered on time, the user is liable to notice a lowering of quality; however, it is usually not catastrophic (although it may be annoying) to have one's video stream disrupted. Of course, there may be Command and Control applications where such disruption may not be acceptable: in such a case, the system must be regarded as hard real-time. My own research focuses on task scheduling, fault-tolerance (see below), and dependability modeling.

Fault-Tolerant Computing: There are many applications (including hard real-time applications) where the reliability of the overall system must be far higher than the reliability of its individual components. In such cases, one has to devise mechanisms and architectures that will allow the system to either completely mask the effects of a component failure or recover from it so quickly that the application is not seriously affected. My interests in this field include the application of fault tolerance to real-time computing and devising mechanisms for rapid recovery from failure. Recently, I have developed an interest in fault-tolerance for nanotechnology: the nanotechnology fabric is likely to suffer a much greater fault rate than traditional CMOS and therefore requires inbuilt fault-tolerance for acceptable yields.

Sensor Networks: In the past, I have worked on quality-of-service issues in networks. My current interests in this area focus largely on sensor networks. These usually consist of a bunch of relatively resource-limited and battery-powered nodes interconnected by ad hoc wireless links. Applications range from sensing weather parameters to tracking intruders. The principal problems that we are addressing relate to security (through choosing the appropriate level of encryption) and tradeoffs of security with power consumption, as well as issues of managing resources in the face of failing nodes.

Some details of much of this work can be found in the web-page of the Architecture and Real-time Laboratory .



Research Assistantships: Most of my research assistants have an bachelor's degree in computer science or electrical engineering and some industrial experience (generally -- but certainly not limited to -- one or two years). I have found that some prior work in industry greatly enhances the maturity of the student and the likelihood of their succeeding in graduate work.

The availability of research assistantship varies from year to year. It depends on two things: the starting of new projects and the number of current students who are graduating. Neither of these parameters can be predicted with great accuracy more than a few months in advance.

Deciding whom to pick from the applications we get is a labour-intensive and inexact task. I generally look for an appropriate mix of grades and experience, as mentioned above. I also read the Statement of Purpose very carefully. What I am looking for in this is evidence that the applicant has thought through his or her interests in the field, and that these interests (and supporting academic work and experience) are aligned with the slots we have open in the lab. All too often, I find the Statement of Purpose to be full of gushing statements attesting to the burning desire of the applicant to study computer engineering in general (and the remarkably early age at which such a desire first manifested itself): such prose may rise to the level of (bad) poetry at times and even be mildly entertaining, but is useless for picking students. What I am looking for is evidence that this applicant will be productive when attacking the problems being addressed in the lab. It is therefore important to clearly indicate your sub-areas of interest in computer engineering, and provide evidence that you have the ability to be productive in these areas. Such evidence can include industrial experience in a related field or an extensive academic project.




Real-Time Systems Text: To download a list (in postscript) of all the typographical errors caught so far in C. M. Krishna and K. G. Shin, Real-Time Systems, McGraw-Hill, 1997, ISBN 0-07-057043-4, click here



Courses

  1. Real-Time Systems (Fall 2012)
  2. Fault-Tolerant Systems (Fall 2006)
  3. Simulation and Evaluation of Computer Systems and Networks (Spring 2012)
  4. Hardware Organization and Design (Spring 2006, 2007, 2009, 2010, 2011)

Recent Technical Reports:
  1. Fault-tolerant Scheduling Survey