Vivek Nallur
Role: Research StudentPhone: Not available
Email: V.Nallur@cs.bham.ac.uk
Room: 125 (Y9 Computer Science Building)
Web Page: http://www.cs.bham.ac.uk/~vxn851/
Me: I am a student at the School of Computer Science at The University of Birmingham. I started my PhD in Oct '08 and the general consensus is that it's going to take me at least three years to complete it. My academic journey is a bit convoluted (actually most of my life is); I started off with an undergraduate degree in management from Delhi University, did a post-grad diploma in software technology (the equivalent of a cross-over MSc in the UK) at NCST, Bangalore, moved on to Carnegie Mellon University at Pittsburgh for a Masters in Software Engineering and finally landed up in Bham for my PhD.
Research Statement
I'm interested in Collective Intelligence and the engineering of ultra-large systems that exhibit the desired intelligence. Broadly, this boils down to mechanism design. Mechanism Design is known in social science and economics, as the 'engineering' perspective on large scale systems. One starts with a desired goal, and then figures out the set of incentives and constraints that will make a large group of autonomous agents achieve that goal. While 'making an autonomous agent achieve a goal' seems like a contradiction in terms, this contradiction is the best part of the challenge.
In my PhD, I'm looking at a mechanism to ensure that self-adapting software agents, in trying to achieve their adaptation goal, do not decrease world utility. If we define utility by the quality of allocation of hardware and software resources, then an increase in world utility is defined as a better allocation of cpu, storage and functional services amongst all the demanding applications. A self-adapting software agent will try to increase its own utility by getting the best possible combination of services. However, a multitude of such agents, acting in self-interest could result in wastage. While self-interest cannot be wished away, nay it is even desirable, the goal is to create an environment, where the actions of thousands of self-adapting agents, results in a good allocation of resources and a decrease in the number of idle/unused services.
This maps neatly to a cloud provider's perspective, on the applications that it is hosting. The cloud provider provisions for a certain number of services, with certain QoS levels. Applications, currently, request services based on subscription levels, which are in turn based on estimated usage levels. However, as applications get more sophisticated, and begin to self-adapt to changed conditions, like increased performance requirements, increased storage requirements etc., cloud providers will have to either over-provision to meet dynamically changing demand for QoS levels or forgo some amount of revenue.
I'm looking at double-auctions, an economic tool known for high allocative efficiency, as an environment, where software agents use multi-attribute bids/asks to trade services. A self-adaptive application has to not only achieve service-wise QoS levels, but also end-to-end QoS levels. I'm looking at various parameters of double-auctions and adaptive functions to allow both, the cloud and the participating applications to achieve a high level of utility.
I'm being supervised by Rami Bahsoon