We develop techniques for designing, implementing, and reasoning about multiprocessor algorithms, in particular concurrent data structures for multicore machines and the mathematical foundations of the computation models that govern their behavior.
We work on a wide range of problems in distributed computing theory. We study algorithms and lower bounds for typical problems that arise in distributed systems---like resource allocation, implementing shared memory abstractions, and reliable communication.
Uhura is an autonomous system that collaborates with humans in planning and executing complex tasks, especially under over-subscribed and risky situations.
In a pair of papers from MIT’s Computer Science and Artificial Intelligence Laboratory (CSAIL), two teams enable better sense and perception for soft robotic grippers.