I had the opportunity of attending Microsoft Summer School on Distributed Algorithms, Systems, and Programming this summer. It was held at IIISC, Bangalore - better called the Indian silicon valley. I want to share my experience here have also created the Facebook Group for the event that has few picture of event and discussion. The video recordings of the lectures are available here.
The attendees were mix of industry, Master/PHD students and faculties from prominent institutes all over India. There were few undergraduates as well. Apart from the state of the art research, it also provided the opportunity for a rich interaction with fellow researchers. I got a chance to talk to lot of people about interesting work they are doing. The event also gave me few very good friends.
Here are the details of lectures which I remembered. Ramalingam Ganesan set the taste of the summer school with his introductory lecture on distributed computing. The lectures from Robbert van Renesse, focused on group communication and related issue and research. I had a very good disscussion with him on waiting for “quorum vs all” nodes for ensuring fault tolerance. Finally it boiled down to stating explicitly the assumptions made. He also discussed use of gossip based protocols in practical scenarios. Tim Harris discussed motivation, approach, difficulties and research done on Transactional Memory. Marcos’s lectures covered basics of the distributed algorithms. He later explained the use of randomized algorithms and the fault-detector abstraction to make it practical despite the impossibility results of the consensus by Fischer-Lynch-Patterson. Miguel Castro talked about practical BFT and consensus. He also talked about his recent work on concurrent annotations to check the ownership policies. Kaushik Rajan presentation focused on some fundamental problems like event ordering, mutual exclusion etc. in distributed systems. Sudarshan’s lecture discussed concurrency and consistency tradeoffs in large storage systems. He also discussed the design decision’s made in contemporary large systems.
Liuba Shrira talked about giving new capabilities to programmers with the help of snapshots. She also argued in favor of the use of transactional abstractions even in distributed systems. Mike Dahlin from University of Texas, Austin talked about distributed file systems. He introduced the notion of “naturally causally consistent” and its semantics. Peter explained DHT and its uses in achieving various properties in decentralized systems. On the other day he presented his work on introducing “Accountability” in distributed systems. Lorenzo Alvisi presented his work in combining the game theoretic approach with traditional algorithms of distributed computing. The idea was to differentiate the rational and Byzantine nodes to achieve better properties. He described how this ideas were used in p2p model. Rebecca Issacs presented his ideas on considering distributed systems’ approach to modern OS design. She discussed multicore features of Barrelfish (research OS). She also presented her recent work on Naiad, an data-parallel computation framework for iterative and incremental data analysis. Maurice Herlihy explained about concurrent objects and lock-free data structures. His explanation on concurrent stack made everybody rethink what can be “concurrent”.
We also visited Microsoft Research Lab here in Bangalore and had a chance to understand the problems researchers are working on there.
The lectures were quite a lot interactive. The speakers were expert in their fields. Attending the lectures from the people few of which are early contributors in the field is indeed a great pleasure.
It was really a wonderful experience !! :)