18-843: Systems of Active Components

18-843 will be an advanced graduate course that targets the development of research directions in "systems of active components". With increasing transistor densities and the proliferation of low-cost, low-power processing elements, many researchers (and advanced development people in industry) are exploring programmability and increased functionality in various system components. The term "Active Component" is a generalization of various research notions being explored: active networks, active disks, intelligent network interface cards, intelligent RAM, etc. This course will explore all of these areas and will consider issues (e.g., security, reliability, programmability) that are common to all of them.


18-843 will combine two major activities:
  • Critical evaluation and discussion of related work. This will include student presentations, student leadership of and participation in discussions, and student-written surveys/reviews.
  • A series of student-defined, student-executed, inter-related projects in areas that explore the design and use of active components.
  • Topics covered

    18-843 will focus mainly on networking- and storage-oriented systems and the relocation of functionality (statically or dynamically) amongst "Active" system components. Related work examined will include research from distributed systems, mobile code systems, function migration, embedded systems, replication, security, protection, operating systems, networking, transactions, and application systems.


    The projects can be done in groups of varying size (there is a lot of flexibility here). The key is that each person involved in a project should have an identifiable aspect that they "own". Also, an explicit goal of this course is for the projects to build on and contribute to each other. This means that sharing of infrastructure is desirable. Suggestions for project topics will be provided by the staff, but you are free to make your own proposal for a project. Projects may overlap with the research for your Masters/PhD thesis research (if said research is in the area of active component systems and your advisor does not mind).



    This course will start very fast -- it will assume that the students have:

    The prereqs, therefore, are demonstration of all of these things. One way to demonstrate this is by prior involvement in courses that teach or use them all (e.g., 18-849a ). The other approach consists of enumerating how each of the above is demonstrated.

    Getting In

    This course is intended mainly for research-track computer systems graduate students, and students further along in the graduate program will be given priority over newer students. Also, to maintain the intended discussion-oriented style, the class size will be limited even though high demand is expected. Therefore, no one will be admitted without permission of instructor. If you wish to be a part of the course, please fill out a form at the ECE graduate office (HH/1115) once registration starts.