Technology

Recent work

I have been involved in a number of Linux projects aimed at running Linux and enterprise workloads on Linux, efficiently, reliably and with insight while running on IBM Power systems.

 

  1. Flexible CPU - multiple generations of improvements in scheduling for complex micro-architectures like IBM POWER processor starting with Power 8 and continuing for future POWER CPUs. This also involves QoS capabilties at micro-architecture level to support cloud QoS. The overall goal is to increase the capacity without having to add more cores via micro-architecture aware scheduling and QoS management like resource director. We are also developing techniques to improve predictability of Linux VMs (LPARs) in co-operation with hypervisor.
  2. Flexible memory - ongoing work to support multiple tiers of memory in Linux system.This work is ongoing in the community and the initial work makes the kernel memory tiering implementation more generic in order to address requirements from a larger set of system architectures - from GPU memory to vpmem in IBM Power systems. We are also looking at ways to more efficiently classify hot and cold pages in the system in order to bring the best cost and performance efficiency.
  3. KVM on POWER - ongoing work to enable KVM running in co-operation with PowerVM on IBM Power systems.This essentially allows KVM driven VM lifecycle management for PowerVM LPARs.
  4. Scalability - This is continuation of long-standing work to push the boundaries while supporting large number of logical CPUs (1920 in P10) and large amount of memory (64TB) in a single instance of Linux. We routinely find interesting problems and solve them in various ways.
  5. Specific Linux work for ISVs and Open Source software.
  6. Confidential computing on POWER - Our initial proof of concept was a demonstration of Secure VMs via Ultravisor technology demonstrated with Power 9 processor, KVM and ultravisor.
Past work
  1. Always-on insights - multiple generations of improvements in providing platform insights for cloud. This is done via in memory accumulation (IMA) of counters using microcode running in the processor which are then hooked to the Linux kernel perf subsystem for extraction. Related work - opentracing, perfevents and Linux kernel work here.

  2. UEFI+ACPI for OpenPOWER - We have experimented with TianoCore on OpenPOWER servers and done some of work on a basic ACPI implementation as well. Not working well enough to publish it, may be some day in future.

  3. IBM PowerKVM - First open source hypervisor product on IBM Power (OpenPOWER) systems and three generations of releases. Later this was absorbed in and replaced by Red Hat Enterprise Virtualization.

  4. Co-operative energy management on IBM servers where operating systems co-operate with underlying platform (hypervisor, firmware, hardware) to provide best energy benefits. I was involved in power-aware scheduling (see OLS 2008 / LPC 2010 paper) as well as HW/SW co-design of power management features in multiple generation of Power processors.

  5. Scalable kernel primitives - mainly the first implementations of Read-Copy-Update for Linux one of which was subsequently merged into 2.5.43 kernel. For more up to date information on RCU, see Paul McKenney's RCU page.

  6. Scaling Linux kernel using lock-less RCU algorithms - VFS dcache, Lock-less IPV4 route cache, Lock-less file descriptor management

  7. Various odd ball kernel development stuff - fget/fput_light, resource partitions in Linux and using it to support hetergeneous workloads, smptimers.

Past Publications
  1. P. R. Panda, M. Jain, A. Verma, D. Sarma, V. Srinivasan Power Supply Efficiency Aware Server Allocation in Data Centers 2013 26th International Conference on VLSI Design and 2013 12th International Conference on Embedded Systems IEEE Explore

  2. D. Dharwar, S. Bhat, V. Srinivasan, D. Sarma, P. K. Banerjee Approaches Towards Energy-Efficiency in the Cloud for Emerging Markets, 2012 IEEE International Conference on Cloud Computing in Emerging Markets (CCEM), IEEE Explore

  3. V. Srinivasan, D. Sarma, V. Srivatsa, G. Shenoy, S. Siddha Energy aware task and interrupt management, Proceedings of Ottawa Linux Symposium, Ottawa, July 2008. pdf

  4. P. McKenney, I. Molnar, S. Bhattacharya, D. Sarma, Extending RCU for Realtime and Embedded Workloads, Proceedings of Ottawa Linux Symposium, Ottawa, July 2006. pdf

  5. Ravikiran Thirumalai, Dipankar Sarma, Manfred Spraul, Ho Hum, Do We Need Another Dynamic Per-CPU Allocator ?, Proceedings of Ottawa Linux Symposium, Ottawa, July 2005. pdf

  6. Paul E. McKenney and Dipankar Sarma, Towards Hard Realtime Response from the Linux Kernel, Proceedings of Linux.conf.au, Canberra, April 2005. pdf

  7. Dipankar Sarma and Paul E. McKenney, Issues with Selected Scalability Features of the 2.6 Kernel, Proceedings of Ottawa Linux Symposium, Ottawa, July 2004. pdf

  8. Dipankar Sarma and Paul E. McKenney, Making RCU Safe for Deep Sub-Millisecond Response Realtime Applications, USENIX, Boston, June 2004. pdf

  9. Andrea Arcangeli, Mingming Cao, Paul E. McKenney and Dipankar Sarma, Using Read-Copy-Update Techniques for System V IPC in the Linux 2.5 Kernel, USENIX, San Antonio, June 2003. pdf

  10. Paul E. McKenney, Dipankar Sarma, Andrea Arcangeli, Andi Kleen, Orran Krieger, Rusty Russell, Read Copy Update , Proceedings of Ottawa Linux Symposium, Ottawa, June 2002. pdf

  11. Hanna Linder, Dipankar Sarma and Maneesh Soni, Scalability of the Directory Entry Cache, Proceedings of Ottawa Linux Symposium, Ottawa, June 2002. pdf

  12. Paul E. McKenney, Jonathan Appavoo, Andi Kleen, Orran Krieger, Rusty Russell, Dipankar Sarma and Maneesh Soni, Read-Copy Update, Proceedings of Ottawa Linux Symposium, Ottawa, July 2001. pdf

 

.

Patents

My issued patents are listed here.