"If we wish to count lines of code, we should not regard them
as lines produced but as lines spent."
-- Edsger Dijkstra
|
Comments? You can tell
me what you think or send me things through: |
Research InterestsMinimizing fault-tolerance overhead in distributed systemsReplication increases fault-tolerance and availability of distributed systems. However, these benefits come at a cost of increased difficulty of maintaining constintency of the system: how to ensure that all machines perceive the same state even if computer crashes and communication disruptions occur? A number of suitable abstractions and protocols exist, however, most of them add a significant overhead even in the failure free-case. Consensus, Atomic Broadcast, Atomic Commitment are well-known examples of such abstractions. Unfortunately, because of the strong guarantees they offer they are inefficient as the building blocks for solving other problems. In other words, ad-hoc solutions often perform significantly better than those using with the aforementioned abstractions. My research focuses on designing fast light-weight abstractions, which can be (re)used to implement agreement abstractions in a modular way but without any performance overhead over ad-hoc solutions. Distributed version control and replicationRequiring a total order of updates (Atomic Broadcast) is not scalable. A possible solution to this problem is to use version control, where versions of objects are immutable. Immutable objects are easy to replicate; the main techniques include gossiping, Bimodal multicast, and multicast techniques based on distributed hash tables. Efficient editor and window manager settingsI am interested in being able to work faster and more comfortably. I have developed a few ideas for efficient text editing and efficient window management. |
My blog posts
My bookmarks
Upcoming talks
More talks |