Thursday, January 10, 2008

A Little Confused

I caught cold two days ago, which makes me feel extremely bad the whole day. Frans gave an overview on his recent research projects this afternoon, and later we had a talk. He's really really a smart and amazing guy. Some random thoughts.

What can be done in systems research? A new language, a new library, or a new virtual machine, well, I'm afraid it doesn't matter. What are the "right" programming abstractions for systems? Just to build and gain experience? We all agree that MapReduce is perfect, because it is simple, expressive, practical, say, it works! Dynamo and GFS are great, but they are lessons taught by the industry and cannot be cloned by research institutes. I also think Sinfonia is a nice research project; the minitransaction thing is cool and general. What else? DHT? Yet another file system? Another D3S? What lessons can be learned after building prototype systems on campus and what would it contribute to the community?

Analysis, though sometimes like bug-finding "evil" on the other hand, would at least have a formal model, which is really interesting to apply some algorithms on. Furthermore, they could provide some insights on computer systems (though not always), i.e. what's the right/wrong thing. I'm still trying to figure out whether they are useful for building systems. Exploring these abstractions is fun, but I'm afraid building is as important as analysis. Anyway, I don't feel good.

No comments: