Research at Binghamton University will help to harness the power of cloud computing, resulting in lower costs for businesses and revolutionizing everyday tasks such as shopping and browsing the Web.
Kartik Gopalan, an assistant professor of computer science, has received a nearly $400,000 grant from the National Science Foundation’s most prestigious program for young faculty to support this project. Just one-fifth of applicants in NSF’s Division of Computer and Network Systems received five-year grants from the Faculty Early Career Development (CAREER) Program.
Gopalan’s work focuses on “virtualization” in cloud computing, large clusters of computers used by organizations of all sizes. Virtualization allows a single computer to do the work of multiple machines. It also allows information technology managers to pool the resources of multiple computers on a network to perform large or complex tasks.
“Virtualization helps people use their hardware resources more efficiently,” Gopalan explained. “You can consolidate multiple services on a single machine. You have less hardware, it costs you less, it uses less power and it gives you a better return on investment. People are clamoring to deploy virtualization, mainly because of costs and flexibility. This lets you do more with less.”
The technique is already commonly used at medium and large companies. However, IT managers don’t have good tools to manage the hundreds or thousands of virtual machines that could be running in a cluster.
“IT managers need good algorithms to ensure that they can squeeze the last possible inch of performance out of this virtualization technology,” said Gopalan, whose work involves developing software components to better manage resources among virtual machines.
“We look at it as giving the administrators building blocks,” he said. His team develops algorithms that can be used under different circumstances, whether it’s running a Web server or a database server or providing some other service.
The research, including an algorithm that helps large-memory applications run efficiently on a network, has already generated commercial interest.
Gopalan’s group developed software that allowed a company that processes map data and GPS information to combine all the memory of multiple machines in a cluster into one “virtualized” memory pool, allowing a large-memory program to run faster than before.
He has also written open-source software that enables two virtual machines on the same computer to interact efficiently. The application, which could help in a situation where a Web server needs to access credit card information stored in a database server, for instance, has already been downloaded for use hundreds of times.
If cloud computing seems difficult to understand, consider the forces at play anytime someone runs an “app” from an iPhone.
“You can use the iPhone to browse the Web or check your e-mail,” Gopalan said. “But where are these applications actually running? They are often running in the back end, in a cluster or a data center. And the IT manager needs the right tools to satisfy the user’s performance requirement while minimizing their cost. These are two conflicting requirements. I develop algorithms to try to bridge that gap. You don’t end up using too much hardware but you also don’t sacrifice the user experience.”
Google’s popular Gmail service is another good example of this principle at work. Google maintains the Web servers and users can access e-mail from anywhere on the Internet.
This concept can be applied to lots of organizations, Gopalan notes. Small businesses could install a program on the network and users could take advantage of it anywhere.
Traditionally, if you need to use a piece of software you have to install it on your machine. But this is inefficient for a business. A company has to maintain multiple copies of the software and install the software on each computer where someone wants to use it.
With cloud computing, a firm could install the software once on a network and users could access it from any machine anywhere on the network.
“People have to consolidate IT resources,” Gopalan said. “It’s too inefficient to work with each computer the way we do now.”
Although progress in his field arrives in small increments, Gopalan envisions big changes — ones that will affect anyone who uses a smart phone or personal digital assistant — coming in the next few years.
“Let’s say you’re a tourist with a PDA,” he said. “You find a nice building and you want to know more about it. You take a picture of it and send it over the network where some application searches a database and tells you more about it. Or you go to a mall and you want to know if an item is available elsewhere at a lower price and what other buyers think about the product. So you scan the barcode and you get all that information. I think technology is getting pretty close to that but it’s not quite there. Cloud computing will enable such technologies.”