High Resource Utilization and Low Labour Costs have always been the cherished goals for data centers. Various data center models have been proposed over the years to achieve these fairly elusive goals.
Our view is that intelligent use of virtualization can help us achieve these goals. However, virtualization creates new problems, while solving the old ones. Our work can be broadly classified into (i) modeling virtualized data centers (ii) design analytics for efficient resource utilization in data centers and (iii) mechanisms that leverage virtualization for low touch system management. Our modeling work helps us understand the new problems that virtualization creates and identify a realistic system model for a virtualized data center. Our analytics work is primarily focussed on driving up the data center utilization, while taking any virtualization-related overheads into account. Our work on system management mechanisms aim to simplify data center management and reduce labour costs.
Akshat Verma, Aritra Sen, Balaji Viswanathan, Dipyaman Banerjee, Gargi Dasgupta, Praveen Jayachandran, Sourav Dutta, Tapan Nayak
Cloud System Management
The mission of the group is to introduce automation in managing virtualized data centers and cloud-like environments. The business challenge to be addressed is to reduce the cost of managing a virtualized data center by several orders of magnitude. The skill profile of the people working in this group range from distributed computing to machine learning to server virtualization, but is not limited to these. To give a sample of the work that is currently happening in the group includes Cloud Service Templatization, Rapid Deployment of virtual images, Patching in Virtualized Environments, and Pro-active Problem Alleviation in Virtualized Environments using Software Rejuvenation.
An example of automation that we are developing is: automatically capturing and templatizing IT workloads. Templatization introduces points of variability at network, storage, OS, middleware, and the application layer. The created templates allow one to modify configurations of these workloads when the template is used to create a new instance of the workload. We use this to migrate (Virtual-to-Virtual, Physical-to-Virtual) workloads to clouds/virtualized environments. The templatization methods need to be automated and consider all aspects of a workload including server, storage, and network. Our work involves manipulating offline virtual images for the purposes of templatization, patching, etc. Also we are looking into modeling the current performance settings of an IT workload to be captured and then allowing for variations when the captured template is redeployed.
We are also addressing the problem of deploying virtual appliances (consisting of virtual images) as quickly as possible while still taking care of the customization that the user is interested. The work involves looking at past history of request arrivals to predict what may be request in future. We are developing caching schemes to speed up deployment of virtual images.
Last, but not the least, we are exploring how to reduce incidents in a cloud-like environment. It is has been shown by earlier work that a majority of reasons for downtime is due to Heisenbugs. We are developing approaches to model aging of a hypervisor and use that to take rejuvenative actions.
Manish Gupta, Aditya Thatte, Jai Singh, Manoj Soni, Pradipta De, Venkateswara Madduri.
Service Delivery Research
This team focuses on processes and techniques to automate and streamline service execution in IBM's large scale IT delivery organization.
The team is also engaged with the EU in the context of FP7, developing tools and methodologies for the design and optimization of services in the public sector. We are starting to look into social media to increase collaboration from citizens in public sector services design.
Anuradha Bhamidipaty, Anshu Jain, Anubha Verma, Jyothi Somashekara, Mitesh Vasa, Nidhi Rajshree, Nirmit Desai, Suman Pathapati, Yedendra Shrinivasan.
Software and Service Engineering (SSE)
The SSE group works at the intersection of software engineering and service science. The mission of the SSE team is to develop tools, methods and analytics that will help IBM's application services business standardize and optimize operations, adopt innovative models for global delivery, leverage predictive capabilities for planning and estimation, and gain competitive advantage and differentiation in the marketplace. Our areas of interest include: globally distributed software development, factory delivery models, planning and scheduling, metrics and estimation, empirical software engineering and service oriented computing. We are also interested in opportunities for multi-disciplinary research relevant to software engineering, for example, applications of statistics, machine learning, operations research, stochastic processes and economics to software engineering, delivery and governance.
Our ongoing research initiatives are under the following broad themes:
Service Delivery Orchestration: The goal of this line of research is to improve the efficiency of application service delivery processes through intelligent assignment, scheduling and routing of work and management of practitioner utilization. A specific context that motivates this research is the factory model of shared delivery, where instead of having customer-specific teams, a common pool of practitioners in a given specialization area is responsible for meeting the service requests of multiple customers in that area. We are also exploring the organization of teams and evolution of skills in large-scale global delivery centers following such a model. Much of our work in this domain is in the context of IBM's strategic Application Assembly Optimization (AAO) initiative.
Estimation: This is a key challenge in application service delivery, and we have a number of initiatives to improve estimation capabilities at each stage of the application life-cycle. For custom development, we are investigating data harvesting and analytics to enable more informed decision making regarding development costs and effort; of key interest here is estimation in globally distributed projects, and optimal allocation of tasks to sites. For application maintenance, we are interested in deriving accurate effort estimates for resolving different categories of service tickets to help transition to fixed-price models and enable better capacity planning. We are also interested in connecting the loop between initial estimates and ongoing development/delivery; one of our recent efforts in this direction has been the Timesheet Assistant tool, that uses development intelligence techniques on project repositories to estimate actual development effort expended for various tasks, and provide assistance to the process of filling-up and reviewing of timesheets.
Empirical Software Engineering: This is an exploratory track for the group, which arose primarily from our curiosity to better understand the underlying development and delivery processes followed by software development practitioners. We have been studying the evolution of large-scale systems built using the Agile methodology, and are particularly interested in analyzing the nature of collaboration that occurs between teams and individuals, and how it relates to the development work undertaken. The eventual goal is to develop models/abstractions of the development process that can help in planning as well as provide actionable insight to project managers to better govern projects.
In the recent past, the team has also worked actively on service-oriented modeling and architecture, and we continue to remain interested in the SOA space. Team members also pursue individual research interests often in collaboration with external academia.
Hari S Gupta, Karthikeyan Ponnalagu, Nanjangud Narendra, Renuka Sindhgatta, Shivali Agarwal, Subhajit Datta, Vinay K Reddy, Bikram Sengupta
Contact: Bikram Sengupta (firstname.lastname@example.org)
Cognitive Computing is a multi-disciplinary synthesis of Neuroscience, Computer Science, Mathematics, and Information Theory. It is a study of top-down, global, unifying theories that explain observed cognitive phenomena (“mind”), that are consistent with known bottom-up neurobiological facts (the “brain”), that are computationally feasible (for example, implementable on a BlueGene), and that are mathematically principled. We have, in the brain and nervous system, an information processing system unrivalled by artificial means. While it trails machines in accuracy and mathematical computation, it wins on adaptability, flexibility, functionality, and parallelism. The ultimate goal is to reverse engineer enough of this system so that the design principles can be applied to building robust and adaptable computer systems.