Thursday, September 12, 2013

Spanda and Circular Breathing



Swami Buaji was supposed to be able to blow the conch for hours on end continuously, having mastered the art of circular breathing, or inhaling and exhaling at the same time.  I personally witnessed him mark the opening of the interfaith service at St. Bartholomew’s Church in New York City, before the start of the U.N. General Assembly in 2002, by blowing his conch nonstop for a few minutes. 

It occurs to me that we may all be capable of circular breathing, and may already be doing it in different ways in life.  Let me elaborate.

On Guru Purnima day last July, I took a yoga class with the incomparable Regina Grassia.  She picked spanda, or pulsation, as the class theme.  You can find spanda all around you in nature: in the day-night cycle, the seasons, the waves of the ocean, the phases of the moon and so on.  In a yoga pose, you practice spanda by gathering your energy towards the core with the inhalation, and directing it outward into a stretch or a bend or a twist with the exhalation.  Although spanda is something that is done in every practice, when we do it with particular attention and focus, it is a beautiful thing.

For Guru Purnima, I had decided to dedicate my practice to the teacher who had the most far-reaching impact on my life: my thesis advisor Prof. Sudhakar Reddy, who led, persuaded, cajoled and challenged me to become a researcher.

We are doing a series of standing poses. In the triangle pose, we are drawing our feet towards each other isometrically with the inhalation, and expanding like a five-pointed star outward with our exhalation and even bending backwards while extending.  My interactions with Prof. Reddy start coming back to me.

My first serious encounter with Reddy occurred early in graduate school.   While my research interest was in computer networks, Reddy kept pushing me to prove the fault tolerance of a class of graphs that he showed were denser than the best known dense graphs in the literature.  That is, for a given number of neighboring nodes, and a given diameter (maximum distance between any pair of nodes), you could pack more nodes into the graph than other known graphs, especially as the diameter kept growing.  I was more interested in practical problems like designing communication protocols, and kept resisting him for the whole semester.  On the eve of the last day of the semester, we had a showdown with me trashing the theoretical nature of the problem he gave me, and he defending the practical significance of the problem, and then saying, “You should have known this on day one.  Maybe you are not capable of solving this kind of problems.  Maybe you should just do a project and get out with a Master’s.”  That stung, and I set out to prove that I could solve this problem. 

Dense graphs are desirable for interconnecting computer nodes because they reduce the number of hops in passing messages, reduce transit traffic load, and can result in higher performance computer networks.  Fault tolerance is important for a computer network to continue to operate when things go wrong.  A computer network can tolerate any combination of d-1 faults if there are d disjoint paths between any pair of nodes.  I started solving the fault tolerance problem in two parts:  by showing that a special subset of more than d nodes have d disjoint paths between any pair of nodes within that subset; and then showing that any arbitrary node in the graph has disjoint paths to d distinct nodes in that special subset.  Thus, if up to d-1 nodes are knocked out, there still exists a path from any node to at least one node in the special subset, and between any pair of surviving nodes in that subset, guaranteeing a path from any node to any other node in the graph.

I solved the first part of the problem under a tree at Pentacrest, on the corner of Washington and Clinton streets in Iowa City, on the last afternoon of that spring semester, oblivious to other students milling around and getting out of town.  I rushed to Reddy who scrutinized my proof, nodded approvingly, and said to go get the second half of the proof, which I did in short order.

Each meeting with Reddy was an inhalation, which would energize me and end in a plan of action.  My effort between the meetings was exhalation and expansion, generalizing the proof to other graphs, coming up with distributed routing and local rerouting schemes and so on.  By the time I wrote up my Master's thesis, I was in love with the problem Reddy gave me.

Regina is now having us do Veerabhadrasana II, body facing sideways, front knee bent ninety degrees and the other leg straight, drawing energy towards the core during inhalation, and shooting it out the front knee, the outer edge of the rear foot, and both outstretched arms while lowering your pelvis during the exhalation.

Reddy turned up the intensity for my Ph.D. thesis.  He kept pushing me to go deeper into the dense graph problem.  I tried to keep him happy since he was paying me, but I was getting interested in a different type of networks called multistage networks.  One day, I asked him to give me an hour to describe the new problem I was studying.  That one hour became an entire afternoon.  Most multistage networks being studied were based on building block switches which had two inputs and two outputs, and had unique paths between source-destination pairs, thus lacking fault tolerance.  One network which could tolerate single faults was based on 5 x 5 nodes, which we thought could be improved on.  At the end of the meeting, we decided to look at reducing the size of the nodes to 4 x 4, as a first step.

I was elated that I didn’t have to work on two different research problems at the same time anymore.  That night, I went to watch a basketball match between Iowa and Michigan, and celebrated at a friend’s house. 

Next morning at the office, I found a note from Reddy: “Vijay, please see me.”   He had a whole bunch of notes on solving the problem we identified.   He had a basic scheme to assign a conjugate node for every one of the original 2x2 nodes, replacing the nodes with 4x4 nodes, and then making extra connections to the conjugate nodes in such a way that single faults could be bypassed.  I was amazed at the amount of interest he was taking in my problem, and was congratulating myself on my good fortune.  When he was done, he closed his note pad and said:  “Now, show me what you have done.” 

He was no longer leading me by the hand.  He was sparring with me in the ring.  Soon I showed an algorithmic way of designing such networks, and he an equivalent one, and so it went. 

Regina eventually has the class doing back bends.  Lengthen the back with every inhalation, and bend deeper with every exhalation. 

My inhalations of advising sessions with Reddy, and exhalations of individual effort were not always regular.  Sometimes, I would delay going to see him either because I was stuck and too proud to admit it to him, or because I was embarrassed that I didn’t put in enough effort.  This was akin to holding my breath in a yoga pose.  Other times, however, I would delay going to see Reddy because I was in the flow and didn’t want to interrupt my work.  In this case, it was like a long exhalation and getting deeper into a pose.  The yoga teacher may want to move on to another pose, but sometimes I feel unfulfilled and want to stay with a pose a little longer and get deeper. 

Eventually, I came up with a class of networks called Augmented Shuffle Exchange Networks (ASEN) which were single fault tolerant and based on 3x3 nodes, and characterized their performance and reliability.  My exhalations were getting longer.  Reddy gave me a list of things I had to do to graduate, and soon sent me packing.

As Regina’s class gets into shavasana, it becomes apparent to me that my entire graduate school experience was an inhalation on a larger scale.  For when I joined Bell  Labs, I built the chips for ASEN, which led to a series of networking projects.  Each project was an exhalation that followed the previous project, while simultaneously being an inhalation that preceded the next project.  It was circular breathing.

I submit that this kind of spanda and circular breathing are not limited to research or learning. For instance, there is a form of this process taking place in relationships, parenting, and adventures.   And, if you believe in reincarnation, over successive lifetimes.


Sunday, May 26, 2013

Reflecting on Denali, One Year On


It is hard to believe that it has already been a year since my attempt to climb Denali.  I have a lot of experiences, observations and pictures to share from that adventure, and will do so soon.

One year on, I can’t help reflecting about what I learnt from my climb, which I had to abort after eight days on the mountain.  The immense scale of the mountain starkly drives home how insignificant each of us is on this planet.  Yet each climber’s drive to keep reaching for the summit is a testament to the human spirit.  There is a heightened awareness that our stay in this world is temporary, and the bitter cold and howling winds and the daily avalanches remind one of the innumerable ways in which that stay can come to an abrupt end.  Of course, the same is true off the mountain although we are less aware of it.

When I look back at my life, I marvel at how insignificant successes and failures that occupied my head now appear to be. 

If my number is up today, will regrets that I didn’t work harder -- publish more than the rest, or fight more battles, or wake up more often in the middle of the night grinding my teeth -- tinge the sweetness of the moment of my exit?  I am dead sure that it will instead be wishing that I had thanked more people, owned up to more of my mistakes and apologized, expressed my love more freely, and taught my son more of what I learned about human nature.


That’s my sense of urgency.