Monday, February 14, 2011

IBM's Watson on Jeopardy today..!

My son Arjun has been a big Jeopardy fan and a tech geek. So, a highlight in his list of things he is looking forward to is IBM's Watson supercomputer playing in the Jeopardy quiz show on US television starting today on a 3 day run.

If you haven't heard of Jeopardy, it is a quiz show that has been running for decades in US television where usually there are 3 human contestants. Subjects used for the quiz could be anything one can imagine and often involves pun, humor and other language traits. Today, tomorrow and the day after while there will be two human contestants (who are formidable winners in the years past), third place is being taken up by the super computer designed by IBM called Watson. There are a lot of write-ups and news clips on the net about this heavily promoted, highly anticipated show. I am listing just a couple of links here:


Please do read them. While on the outside it is designed to be very simple, easy to understand on the show as just a computer taking the place of 1 of the 3 contestants, the audacity of this effort is mind-boggling if you are familiar with natural language processing challenges in Computer Science. In 1997 a previous IBM supercomputer called "Deep Blue" played chess with Grand Master Garry Kasparov and beat him. While it was an amazing feat, chess is much more precise and lends itself well to coding than a challenge like competing against human beings on a quiz show like Jeopardy with full fledged natural language processing capability. Though this proof of concept is via a quiz show, you can immediately see how this could be useful in so many facets of human life. Watson is powered by 10 racks of IBM Power 750 servers, running Linux. It uses 15 terabytes of RAM and 2,880 processor cores, etc. Will see how it fares this week. :-)

Hopefully this will excite a lot of new kids and inspire them to get into Computer Science..! :-)
-sundar.

Sunday, September 19, 2010

The Wild Trees - A Story of Passion and Daring by Richard Preston

Monday, September 06, 2010

I have an innate need to finish whatever I start. While this may be a virtue most of the time, the flip side is that I am not able to cut the losses and move on even when I realize a particular task I am pursuing is probably not worth it. This thought came to mind when I finally finished reading Richard Preston's "The Wild Trees - A Story of Passion and Daring". :-)

Topic of the book is the Red Wood trees that stand near California coast. They live for hundreds of years often spanning even a millennium..! Longest surviving trees are 2500+ years old. They also grow up to be several hundred feet tall. Tallest one identified measures 387' which is probably taller than a 32 story building..! This is indeed amazing/humbling.There is a subculture of tree enthusiasts that pretty much dedicate their lives to climbing such trees, identifying them individually by giving them names, recording their height, and even sleeping on the trees couple of hundred feet above the ground. Some of these people work as grocery store clerks while others earn their Ph.D. in Botany, write grant proposals to get NSF funding living off of them as scholars. In his usual style Richard Preston has spent couple of years researching this topic, spending time with the subculture tree experts/addicts, collecting information and learning to climb trees himself. As these trees grow up hundreds of feet, branches at that height form a canopy creating another floor at that level. Over centuries those canopies gather enough water, soil & compost to support flora/fauna to grow right there..! Redwood forests are often completely dark, even in the middle of the day since their canopy forms a full plane at more than 100 feet above the ground blocking off the sunlight altogether. While climbing, it is possible to get lost in these trees due to these sprawling canopies. Older branches near the top could have rotten over centuries leading to inherent risk in climbing these trees since a branch suddenly breaking off may lead to serious injuries or death to the climbers. Despite such risks hardcore enthusiasts seem to dedicate their lives to working with these trees. They also have their own lingo to describe dangerous situations ("head ache" to describe a falling branch, "crater" to announce someone falling down) as well as to capture ideas related to climbing ("sky walk" to describe moving from one tree to another directly without having to come down).

There is a lot to learn and so these details are quite intriguing/interesting. But this material could be better presented in the form of a video documentary. Couple of pictures/drawings included in the book does not seem to do justice to the topic. I did a quick search on the web to locate aNational Geographic video clip talking about the same material including the same experts. We would be better off watching these clips that present the same material in a much more visually interesting way than reading this book which slows down often trying to describe individual researcher's marital/financial problems, recollection of their childhood memory, etc. I am sure NatGeo TV will put together an hour long video soon since theirSeptember 29th issue this year seem to feature Redwoods prominently.

Take a look at this picture (a composite of 84 separate images) and take note of the size of the individuals in the tree: http://ngm.nationalgeographic.com/redwoods/gatefold-image
Book had no such photos to drive home the point. Don't miss at least the first two videos posted here.
Similar trees are also found in Oregon and even in Scotland. I should remember to look for sites likehttp://www.redwoodhikes.com/RNP/TallTrees.html that promote hiking among these trees so that I can try one next time I am in the West Coast. :-)

Still need to finish "Age of Turbulence" by Greenspan. Also picked up "Case for God" by Karen Armstrong. Hopefully will finish them both before the end of this year.
-sundar.

Saturday, June 06, 2009

"The World Without Us" by Alan Weisman has a pretty good "what if?" scenario to explore. What will happen to the planet if all the human beings suddenly vanished one day..? The author had originally written an article in Harper Magazine as to how nature rushed in to fill the void when human beings abandoned Chernobyl after the disaster. That led an editor to ask him this what if question that in turn led to this book.

He has looked at the question quite thoroughly from several different points of view. Initially he talks about how modern suburban homes will start disintegrating and how long what parts will last. For example, nails (used in the exterior structure) getting corroded due to rain will start allowing water to seep in triggering the deterioration, followed by roofs collapsing, destroying most of the house within 25 to 50 years while ceramic tiles in the bathrooms may last several thousand years. Then he discusses Manhattan subway system that uses 750+ pumps to keep pumping water out 24x7 but for which the subway tunnels will be flooded. If the pumps stop even for 4, 5 hours water will start covering the tracks. If the pumps are off for 36 hours, it could potentially fill the tunnels. In few days, whole tunnel will be certainly under water..! It is amazing that this subway system was conceived and constructed 100 years back with this much of perpetual maintenance designed in as a requirement to just keep it dry. He estimates that within 20 years most of it will look like a river grid.

He then analyzes how without maintenance Manhattan office buildings will start to fall down (in about 50 years), how long major monuments such as Liberty Statue (several decades), Eiffel Tower (few decades), the likeness of Roosevelt on Mount Rushmore (7.2 million years but for earth quakes), etc. will last before they collapse. Then there are interesting case studies of places like the DMZ between North and South Korea (where due to absence of human beings, several plants and small animals that could not thrive before are found in abundance now), parts of Cypress that were abandoned by people in a rush due to war between Turkey and Cypress (where you can see plates on dining tables still in place since people who fled didn't have time to close things down properly). Discussions about how nuclear power plants that were left running will start exploding, how Panama canal that is artificially kept open by endless maintenance will cease to exist, polymers that will stay on for millenniums being eaten by micro organisms in the sea to their own detriment are fascinating.

Overall, though the question is very intriguing and the various points of view from which he has presented the material are wide ranging and comprehensive, the narration is not gripping. I was left with a general sense that earth will go back to the way it was before human beings showed up. That much is easily understood even without reading this book. Towards the end book gets into the importance of being green and caring for the planet. It explains how people need to understand that Earth will be fine with or without us; but we will be screwed if we don't behave and so, we shouldn't think that we are saving earth but are only trying to preserve ourselves. Nevertheless, in the end the book still leaves you with the feeling that while individual data points are fascinating, the overarching presentation is weak. So, if you haven't read it yet, you don't have to rush out and get a copy. :-)

TV channels like National Geographic & History have developed documentaries based on this book. Even couple of those episodes I watched left me with the same feeling. They might be good for children and teenagers.

Got this book via Swaptree.com. Will put it back in circulation seeking my next book in exchange.

------------------------------------------------------------------------

Read "High Output Management" by Andrew S. Grove few months back. As one of my friend said, this 30 year old book has aged well. Andy Grove is the famed ex-CEO of Intel. He has captured the fundamental management practices of running a company very well. He starts out with an extremely simple example of running a breakfast diner and builds it up nicely to discuss production, inventory management, capital purchase, P&L and so forth. While the material presented is very easily accessible, contents are not trivial. This combination makes it a nice piece of work.

He has discussed compensation systems, performance review procedures and processes, meetings and other nuts and bolts that are all mandatory in real world offices. Principles and ideas explained are nothing esoteric but are the ones we could put to use right away. It's easy to read style makes it quite informative and thought provoking to anyone trying to get a better understanding of management process in the industry. Recently read a Business Week article that had his interview included. He was complaining about how present day Silicon Valley is too short term focused. He was expressing his worry that lack of long term focus will block revolutionary, disruptive technological improvements from being realized. Got to see if Silicon Valley in particular and U.S. as a whole wakes up in my life time.

-sundar.

Three Cups of Tea by Greg Mortenson & David Oliver Relin

Saturday, August 29, 2009

"Three Cups of Tea" by Greg Mortenson & David Oliver Relin is an amazing book chronicling Greg Mortenson's efforts over the past 15 years to build schools in Pakistan and Afghanistan mainly to educate girls. He was a mountaineer who attempted to reach the top of K2 in 1993 and failed. On his way down he was lost alone for couple of days and was saved in the end by his porter Mouzafer and the people of a village called Korphe in rural Pakistan. Being really moved by their kindness, he wanted to do something in return and ended up deciding to build a school for the girls in that village when he saw them trying to have an informal classroom in the open exposed to the extreme cold weather and wind.

When he returned to U.S. he wrote some 580 letters seeking donations for his endeavor from every famous person he has heard of and received a total of one response (from Tom Brokaw) and a cheque for $100. His applications to all kinds of foundations didn't get him any funds either. Eventually late Dr. Jean Hoerni, a Silicon Valley entrepreneur/millionaire funded his project and wrote a single check for $12,000 to get him started. That is all the money it takes to build one 5 room school building in that region. Learning his ropes little by little and working with the local villagers he built a bridge first to get the supplies to that village and then the school which took 3, 4 years. Having completed that project, he found his calling and decided to keep constructing schools all over that area and so far has constructed about 75 schools educating more than twenty thousand children.

In this journey or perseverance there are descriptions of talks he tried to give where only 3 people showed up to fill the 200 chairs laid out welcoming audience, experience of individuals inviting him over with a promise of a large donation only to be let go with nothing, meetings with Donald Rumsfeld, military officials and politicians, one kidnapping, couple of fatwas on his head by mullahs opposed to his work (or trying to extract bribes to let him build schools in their village), U.S. military promising few million dollars if he can work with them giving away names of people he works with in that region, stories of his failures in personal life to eventually settling down with a wife and two kids, etc. While Mortenson had supported the war against Afghanistan after the September 11, 2001 attacks, pretty quickly he had come to realize the way U.S. is going about this war and the unnecessary digression into Iraq is not serving the original cause at all. He concludes that this is helping Al-Qaeda and Taliban recruit a large number of uneducated poor young man to their cause. Having witnessed the alarming rate at which middle East oil money flows into the region creating new Madrassas wherever he travels in those parts of the world, he is frustrated by an incredible opportunity being missed by the west.

Republicans are formidable opponents when they have to pull down someone. Instead of meekly attacking the opponent's areas of weakness, they usually go after and demolish the best strength of the person or issue they need to pull down weakening the opponent dramatically. How they went after John Kerry in the 2004 election by destroying his military credentials with "Swift boat veterans for truth" is one good example. Recently creating the "death panel" phrase & discussion to smear Democrat's health-care reform effort is another great example. I wish they'd have applied that model to destroy Taliban's fame and credibility in Afghanistan & Pakistan by spending a large amount of money to construct schools and hospitals filling voids that exist rather than trying to bomb them all out. There are few simple statistics in the book. One points out that the Raytheon missile guidance system on the tip of each guided missile being fired on various Al-Qaeda and Taliban hide out is about $820,000. Constructing one school costs about $12,000. It costs $1 per day to educate one child in those parts. One teacher's salary per day is $1 again. Instead of debating endlessly how much of torture can be allowed while interrogating detainees, if the U.S. energy & resources are spent on simple school construction, hospital building, etc. I am sure results will be phenomenal in the long run.

This book's site is at http://www.threecupsoftea.com/ His outfit has been named Central Asia Institute a decade back which has a website at https://www.ikat.org/

I thought about attaching the PDF brochure posted at https://www.ikat.org/publications/2008JOH.pdf and then decided against it since it is close to 10MB in size. Do try these links.

Having read the book and checked out the site, I am tempted to stretch myself and send out a 5 figure donation since education has always been my cause for philanthropy. But the tone on the website and Greg's dozens and dozens of speaking/fund raiser engagement posted on the site seems to indicate that the institute is on good financial footing now. Book talked about how the CAI had only one employee (Greg) who was getting paid just $30K with its head quarters in Greg's basement until 2003. In the last few years it seems to have moved to a small office with 4 staff. Looking at the charity watch website http://www.charitynavigator.org/index.cfm?bay=search.summary&orgid=10411 it looks like the institute probably has high fund raising costs since it is basically a one man show with Greg flying around all over U.S. trying to give talks to raise money. His compensation for 2007 is just about $100K. Still overall this feels like a genuine article worth supporting. I think I will try to attend one of his talks in the NJ area coming up in the next month or two to get a better feeling before I write a cheque.

Though I like contributing to organizations like http://www.ILPnet.org and https://www.ashanet.org/, building schools in rural areas of Pakistan and Afghanistan appears to be a cause even more deserving since unlike India (where ILP and Asha operate), these areas are rife with active Islamic militant extremist organization recruitment activity.

Drop me a line telling me what is your favorite charity, why and how much you support it.

-sundar.

Saturday, May 22, 2010

Oil & Water




Got this email from a cousin. My reply follows:
-sundar.
It has been decades since you were on an oil rig.
But what kind of safety organization do they use in the rigs?
Is there anyone on the risk management/evaluati on side of the ops who could veto decisions of other departments? Order a well to stop pumping or take steps to ensure safety even when it results in huge losses due to lost/curtailed production?

The one where I worked for two years (1987-89) is an Offshore Oil Platform named SHP (see picture). Rigs used to move in, drill the well and move out. But platforms used to be installed as permanent structure after the rig moves out to collect the oil, water & gas mixture that comes out, separate water and pour it back into the sea after cleanup, separate oil and gas and pipe it to the shore using submarine pipes or tankers for production of various fuels and petrochemical products.


In my days there used to be one big platform roughly for each 100 square mile area where deposits are found. It used to have about 100 people working (half contractors doing cooking, cleaning and half ONGC engineers) in shifts throughout the day. This one manned platform will receive oil/gas/water mixture from about dozen unmanned platforms located radially all around at a distance of 5 to 10 miles. Each one of the smaller unmanned platforms in turn used to have about 10 oil wells each. Each well will be tapping oil at an angle forming sort of spokes emanating from the platform that covers a circle of say 2 or 3 miles. Thus, each manned platform will be processing fluids flowing in from more than 100 wells.

Depth of water in the Arabian sea off the Bombay coast used to be about 230'. Depths of oil wells used to be about 2 km beneath the seabed. You can think of the jack-up rigs used there as a triangle plane with three legs on the three corners that can slide up or down. Legs used to be about 300' tall. So, the floating rig with its 3 legs sticking up 300' above water surface will be brought into place where a new well need to be drilled. Then the rig engineers will lower the legs in hit the seabed. As they continue to 'lower' the legs even after they hit the seabed, the triangular rig plane will raise above the water surface another 50' or so. After making sure the legs are anchored properly, the rig will drill wells going down 2000 meters or so to tap the high pressure fluid there.
Once tapped the fluid mix will come up at around 2000psi pressure there. So, every well used to have a safety valve called SSSV (Sub-Surface Safety Valve) that will be at least couple of hundred feet beneath the seabed. Since it is a safety valve, by default it will remain closed. From the platform above, there will be a hydraulic oil line that will run down to this valve. We need to use a small pump (size wise similar to the pumps we can buy in Walmart for $20 to pump air into the car) using which we will pump in oil and build the pressure up to about 2200 psi to force this valve open. When the fluid reaches the surface there will another safety value called SSV (Surface Safety Valve) that is kept open pneumatically. If either one of the two pressures go down, the well will close automatically.

Blowout Preventers used during the initial drilling process is functionally very similar. They also have additional sensors to sense the amount of pressure being exerted by the fluid flowing in from below as well as the amount of flow. If those values exceed set limits, it can trigger well closure automatically. Once the drilling operation is complete, each well opening used to have a final opening of just half an inch or 3/4th inch diameter..! In Bombay High Offshore fields, about 1000 barrels of oil used to flow per day through that little hole. This is considered low compared to US and gulf wells that yield more than 5000 barrels a day. If the opening is made bigger (say 2 inch dia), more oil may flow out. But it will also bring out more natural gas which is needed to get the oil out. So, making the hole bigger will yield higher production initially but the well will stop the yield prematurely with lot more oil left below with no gas pressure available to push it up. So, the opening diameter is computed to get as much oil out quickly while also ensuring all the oil that can be retrieved is brought out. If the gas pressure has gone down considerably to get the oil out, there was also the practice of injecting water into the oil basin to raise the pressure again to get the oil out.

On the platform safety is a big thing and everyone used to be worried since we all knew we were living inside a bomb..! There will be a safety officer who has to certify things are in good shape everyday. Field Production Supdt. (FPS) is the boss for the whole platform and is similar to a captain in ship and so is responsible for overall safety of the platform and crew. For a public sector company, I found the morale, cohesiveness of the crew, how well people treated safety issues, etc. to be quite commendable. The underlying realization that "if it blows up we will all be dead" kept everyone on their toes. For example, while we are allowed to wear non-cotton clothes inside the living quarters that were positively pressurized, we were required to always wear bright orange colored cotton boiler suits outside the living quarters since it will not burn that easily and it will be easy to spot anyone accidentally falling off of the platform into the sea. If newbies step out of the living quarters area even for a minute in clothes not up to code, anyone/everyone will jump on them and pull them up by their ears.

There used to be ESD (Emergency Shut Down) and FSD (Fire Shut Down) valves allover the platform once every few feet. So, anyone can potentially trigger a platform shutdown in a second. Of course proper shutdown may take couple of hours to complete from the instant it is triggered to burn up all the gas using proper vents, shutdown equipment, etc. As this will result in major production loss, it is not easily activated. Still every Sunday we used to have practice sessions on how to abandon the platform, board the fiberglass life boats and leave the platform, etc. I have gotten on those boats, with other crew members, lowered it to the sea, started the engine by hand as well as hydraulic means, disconnected the steel ropes and drove the boat around to make sure everything works and we know how to operate it.

At every level of hierarchy there were powers given to people to stop production if safety is an issue. When I was there a rig in the North sea of England went up in flames. It was used as a 'teachable moment' to make people understand what went wrong in that case and to have a safety review. Once when I flew to an unmanned platform for some routine maintenance and returned to the platform, I got off of the helicopter and by mistake got down from the helipad to the platform surface using a wrong set of stairs on the side of the helipad instead of the helipad stairs located in front of the pilot so that he can see us getting down and take off. The radio officer inside the platform watching the helideck to manage air traffic, promptly reported me to the FPS. As a mild punishment I was asked to deliver the safety lecture that Sunday discussing helicopter safety with the platform crew. They didn't know I was working for HAL's Helicopter Design Bureau in my previous life. So, I just blew their socks off with my presentation on helicopters, various forces in play (thrust, drag, lift, gravity), how the main rotor and the tail rotors work in sync to keep the aircraft straight, using collective and cyclic pitch to fly the craft, how dangerous it is to get near the blades, etc. Ravi would have been proud of me. :-)

To keep things in balance, we were given bonuses when intended production quotas were met. So, people had interest in getting the production going. Since production from each well is quite important, if a well shuts down any time of the day, we (maintenance engineers) will be pulled up to go fix the issue asap. In my personal experience, I have been pulled up from my bed in the middle of the night to gather tools and head out with a small crew to go open wells several times. Using the platform crane we will be lowered into a small ship waiting next to the platform in a basket. Once we are on the ship/boat, it will take us to the unmanned platform some 10 miles away that has stopped sending oil. By the time we reach the destination it may be say 1am. Since it is unmanned, there will be no light. Since wells are shut down, it used to be eerily quiet. We used to do a Tarzan swing using the ropes hanging from the platform to get on its lower level (quite safe since we used to wear safety jacket and the boats used to get quite close to the platform if the sea is not rough) and head up to figure out what went wrong. Emergency generators may not work and so we will be dependent upon flash lights. The pneumatic control panels that control the wells SSSV and SSV all are operated using the natural gas flowing from the well itself. Some amount of the gas is separated and saved into a small tank that functions like a battery. We have found broken pumps or leaky pipes that blew the pressure shutting down the wells. Use to mend them with the tools & spares we have carried and reopen the wells. Hearing the loud & healthy hissing noise with which the oil & gas mixture starts to flow will be music to our ears and an indication of mission accomplished. :-) By the time we call the boat to take us back and return to the platform it will be 4am. Great experience.. !

The Louisiana Deepwater Horizon rig was operating in the ocean that is 5000 feet deep that could complicate a lot of things. It is private sector operation with several levels of subcontracting that may lower safety limits. Still I thought compared to my experience that is more than 2 decades old, technology would have grown by leaps and bounds by now, rigs and platforms will be extremely safe, etc. Goes to show how naive I am.
-sundar.

Friday, February 26, 2010

The Evolution of Communication Processors

In response to the previous posting, I got couple of requests asking me to explain the details of what this new ACP processor means and how it compares to older devices. Evolution of communication processors and router devices will be a good topic to give a lecture or do a white board discussion on. In lieu of that here is a longer description to anyone interested. Apologies to my friends in the IT area for the first couple of paragraphs that may sound rudimentary. :-)

In the 1960s and 70s when microprocessors were developed, initial goal was to get them to do general math operations like addition, subtraction, multiplication, division combined with memory access operations like load/store a value in a memory location, fetch the next instruction, etc. By combining these basic operations, one could do more complicated things like matrix manipulation, industrial instrumentation tasks, and so forth. As the microprocessor development evolved, it led to GP (general purpose) CPUs (Central Processing Unit) that were more powerful and did lot more basic operations allowing the development of various types of computers with these GP-CPUs serving as their brain. As the software evolved to abstract out underlying hardware architecture letting software engineers focus on the applications they wanted to develop, lot of sophisticated applications started showing up from personal productivity applications like word processors/spreadsheets to bigger server applications like weather prediction, image processing, missile guidance and so on. In the 1980's when Internet routing requirements initially came up, it was addressed purely via software running on standard general purpose CPUs.

The Intel Pentium processors (as well as its older predecessors x286, x386, x486) are well known example of a general purpose CPUs these days. There are several other GP-CPUs like ARM, PowerPC and other such family of processors. Since Intel and AMD processors are used on most of the PCs sold all over the world, these are the most famous ones sold in millions of units every year. For a while Macintosh machines used PowerPC processors as their CPU but about 5 years back they also switched over to Intel processors. The general software development flow for these GP-CPUs is to write software programs in languages such as C, C++ and Java that allow the focus to be on what we want to achieve from the end usage point of view, and then compile the written code to develop a version of binary code only a specific CPU can understand and run very fast. Various operating systems we hear about such as Windows, Linux and MacOS provide a platform to write such programs, do the compilation and run to make the application development process easier. When we install a program from a CD or from the internet, it is usually this compiled binary code that is meant to run on Intel Pentium CPU architecture running windows operating system. The world of telecom mostly uses Linux or several other more specialized operating systems that are called RTOS (Real Time Operating Systems).

These GP-CPUs are meant to run any kind of application reasonably well. Now, if we want to route traffic on the internet, we can write programs that will run on a router PC that has one of these GP-CPUs. As you know, information exchange on the internet takes place using small packets. They are similar to paper mail we send via ordinary postal service in the sense that each packet contains an address (in a part called header) indicating the destination it has to reach and a body (in a part called payload) with little bit of information. When you access a website from your home computer, you may receive 10,000 such packets that are opened up and put together by your PC to show you one web page. A router PC sitting on the internet will receive such individual packets from the web server, look up the address where it needs to go (say to your home PC) and forward it to the correct cable among multiple cables it may be attached to so that the packet eventually reaches your home computer. Now, if we want the router to not only route the traffic but also inspect the traffic for any virus and block any infected traffic, we can enhance the software code running on the router PC to do this, recompile the code and run. It will start doing virus filtering. Thus, using the general purpose CPU provides enormous flexibility in what we want to do by developing appropriate applications. This is great but for one serious caveat. If the CPU is simply looking up packet headers and routing packets and does nothing else, it can handle enormous volume of traffic. Let us say one CPU can handle the traffic for 10,000 users simultaneously. If we then ask it to scan for virus as well, it will take up so much of CPU capacity that it can serve only 100 users now..! If you force it to do one more task (for example encrypt all the traffic with a secret password so that no one other than the destination computer it is intended for can understand the information being transferred), it can slow down to such an extent that it can serve only 10 users. This 10,000 to 10 is not an exaggeration. So, you can imagine depending upon the workload how many general purpose CPUs you may need to handle a given number of users. Frustrating part is, in real life the load on the processor can arbitrarily vary. To give a simple example, due to snow storm if a lot of people work from home connecting to their company computers via encrypted connection, encryption/decryption load may increase which may not be the case on other days..!

In the nineties as the volume of internet traffic kept raising, these GP-CPU based routers routing packets using software proved inadequate and so companies like ours developed special processors that are meant to do just one thing very well (rather than all the things reasonably well like GP-CPUs). That one thing is simply looking up the address on the header of individual packets and sending them out on the right cable purely in hardware without much dependence on the software. This is very similar to address sorting machines US postal service uses to sort mail. If you use a human being to sort the mail, he/she will be capable of doing a lot of other things and can be taught to do new things easily like GP-CPUs. But they can never reach the speed of the sorting machine that can consistently sort 100s of mail pieces each minute though the sorting machine cannot be taught to do other things easily. Internet routers in the 90's started using such network processors and managed to speed up the routing process enormously. This is often referred to as 'fast-path' approach while traffic going through 'GP-CPU' is referred to as 'slow-path' or 'control plane' approach. Our company sold a lot of these fast-path approach based processors. To understand how these network processors are used, think of Dell or HP that sells PCs containing an Intel Pentium processor inside. An exact mapping will be the routers (equivalent to PCs) our customers (equivalent to Dell and HP) sell that contains our network processor (equivalent to the Pentium processor in PC) inside.

By late 90's there were additional requirements such as Quality of Service (QoS) that had to be managed by the routers. A good example of QoS management could be on a router close to home/customer premises. Nowadays difference between telephone and cable TV companies are starting to disappear since both companies are able to provide TV, internet access and telephone service via one cable brought into your home. This is usually referred to as "triple play" of bundled services. Using such a service you can be talking to someone using your home phone, while someone is watching TV in your home while a third family member is surfing the web using your home computer. The voice, video and data traffic is all converted into packets that go out/come in via the router. Among these three services, the telephone traffic takes up only very little bandwidth but is extremely sensitive to delay since even a fraction of a second delay on the phone line can be pretty annoying while you are talking to someone. The video traffic takes up the most bandwidth (really high if it is HD TV) but since it is unidirectional, you can buffer up the traffic a little on the router or TV so that occasional half a second traffic stoppage can be completely hidden from the viewer. The data traffic meant for the internet user is the least affected by delays (it is ok to take few more seconds to open an email) but it takes more bandwidth than the phone but less than the video. Routers handling all these three types of traffic all through the internet need to have the intelligence to identify voice traffic and give it VIP treatment routing it without any delay anywhere while providing second and third level priority to video and data respectively. We can throw in as many wrinkles in this scenario as you like. For example, if the internet user in your home is playing a live action game online or using Skype to do a video conference call instead of simply reading email, then that traffic priority need to be handled equivalent to telephone traffic. But the idea should be clear. Our network processors can identify all these traffic variations dynamically and accord appropriate priority using hardware alone at enormous speeds consistently. This was great.

These routers that used hardware based network processors as the main brain used to have a small GP-CPU also inside the box that is used to initially bring up the network processor and download the addresses onto a table so that it can do the sorting. GP-CPU is like a human being needed to setup and turn on the sorting machine in the post office so that the automated sorting machine can sort things at an enormous speed. In the 90's router boxes could demand a lot of money since the technology was new. So, it was ok to have an additional small GP-CPU inside each router despite its additional cost. As the price pressure increased in the early part of last decade, we added a small GP-CPU inside our network processor ASIC itself. So, when our customers designed their router boxes, they could save some money by eliminating the GP-CPU from their design and use the one inside our processor itself to setup the processor. This worked very well when our processors were used to design DSLAM (Digital Subscriber Line Access Multiplexer) boxes that sit in the telephone company's rack providing service to your home DSL connection since those boxes only needed minimum help from the GP-CPU to turn the network processor on.

You are still reading this..? Great..! :-)

As it always happens, marketing teams started promoting these network processors with a tiny built in GP-CPUs to other application domains. A business office gateway is one such application. These gateways sit at the entrance to a small branch office serving about 50 employees working in that branch. The employees connect to a LAN (Local Area Network) and use their local printers, email servers, etc. Whenever they access the internet or the main office server or make a phone call outside the office, the traffic gets routed via the gateway. Similarly any traffic coming into the branch office comes in via this gateway. These gateways are required to do lot more than simply sort and send out the traffic. Let us look at four examples.

- They hide the addresses of the individual employee computers and send the traffic from all the 50 computers as if it originated from one computer which is the router itself. When replies are received back, they sort it out first and direct it to the appropriate employee computer. You can think of all the employee computers as individual occupants of hotel rooms in a hotel with 50 rooms (or 50 post box numbers in a post office). Incoming mail could be addressed just to the hotel (or post office) but still reaches individual users. This is easy to do in the network processor itself in fast-path but requires initial setup by the GP-CPU each time a computer connected to the network is turned on or off (i.e. some initial packets need to go through 'control path'), thus adding a little bit of load to the GP-CPU.

- They typically encrypt the traffic that goes out from the branch office to the main office and decrypt the traffic received from the main office using secret codes so that anyone else tapping the traffic between main and branch office can not steal any information. This cannot be easily done in the sorting hardware engine (i.e. fast-path) itself. It could be done in the GP-CPU. But then it will mean sending all the main/branch office traffic to the tiny GP-CPU (i.e. control path) adding enormous load to it negating the consistent performance advantage we were receiving while using only the fast-path based network processor. One solution we have implemented for this problem is to have another special fast-path chip that does only encryption/decryption using hardware alone. So, all the traffic requiring encryption/decryption will first be sent to that additional chip on the same router board from the network processor and then received back before it is sent out to main office/LAN respectively. But again this adds additional cost to the gateway box due to the addition of another chip and complicates the design.

- They setup and tear down telephone connections as and when phone calls are made to outside world. This task cannot be easily done on the network processor fast-path alone and so adds additional load to the GP-CPU.

- They often perform content inspection which means inspecting the entire packet including the payload to make sure the contents are clean. You can think of this as the mail sorting office in the post office reading the entire body of the letter or checking the photos, material that are enclosed inside the envelope being delivered to make sure there is nothing objectionable. While in the post office this may not be acceptable due to privacy issues, in the business office this is perfectly acceptable since the gateway needs to filter out traffic with virus, spam email, etc. In addition it may also have to block YouTube video and such other contents that the management may not want employees accessing during office hours. You can imagine how difficult it will be to ask the sorting machine in the post office to inspect contents of each mail and assess whether it is good or bad to be delivered to the customer..! But if there is a human being there, he/she could do it well and can even learn quickly of ever changing rules on what is acceptable/objectionable. Along similar lines, the GP-CPU can be very flexible to handle this task anyway we want (block YouTube from 9am to 5pm but allow it after business hours, etc.). However, just like the human being in the post office, GP-CPU will slowdown the processing speed considerably since this will take a lot of time and effort. The tiny GP-CPU processor originally included in the network processor to just boot it up certainly will not have the horse power to do this kind of detailed inspection of all the packets.

There are additional cases where flexibility is needed in the gateway or routers where GP-CPU architecture will provide all the flexibility if only the performance can somehow be made consistent (i.e. the throughput should not fall down dramatically when we turn on all these services). Another big flexibility with GP-CPU is the ease with which application developed for one GP-CPU can be ported to another GP-CPU. If it is a very simple application (say a simple calculator program) designed to work on Pentium processor that need to be ported to AMD or PowerPC processor, it could be as simple as recompiling the software for the other processor and then running it. Much more complicated applications can be ported from one GP-CPU to another GP-CPU usually within days at least to show that it works, while optimizing it to make it run faster can take some more time. But moving a GP-CPU application to a fast-path based network processor architecture may take considerably more effort. Going back to our post office example, you can think of porting one GP-CPU application to another GP-CPU as replacing one human being with another human being in the sorting section of the post office and teaching him/her to sort the incoming mail. Fairly easy compared to replacing a human being with a sorting machine for the first time which may take a lot of time to set it up making sure it works properly. I have been in discussions for two or three days with a potential customer who is quite excited about the sorting speed of the hardware based processor and wants to adopt the technology only to see them reluctantly walk away simply because they are afraid of the migratory effort required. We have addressed this issue by providing software packages that make this transition easier. Some other company network processors are so hard to program unlike ours that they have their own cottage industry..! Customers using such processors simply hire these contract companies to do the porting work since doing it themselves will be impossible in any reasonable timeframe..! So the Holy Grail is to bring in the flexibility of GP-CPU while ensuring the throughput processing consistency of the hardware based communication processors. This is what ACP does..! :-)

We start out with not one GP-CPU but a 4 core PowerPC processor running at a maximum speed of 1.8GHz sitting inside ACP..! This means you can take any standard GP-CPU application or publicly available software or protocol stack and compile it for the PowerPC GP-CPU and run it on ACP quickly. This will prove that any existing customer application can be easily migrated to this device. Of course it brings in the issue of adding more services will slow down the throughput issue back into the picture. To address that we have added 12 different hardware acceleration engines that perform just one thing very well very fast inside ACP. Thus, for example there is one engine that can perform all the encryption/decryption you need purely using hardware. There is another engine which does just hardware based content inspection to weed out malicious virus, spam laden traffic. Additional engines perform other such tasks without software slowdown.

Once you compile and run any code you want on the PowerPC processor to convince yourself that the solution works, you can then identify the part of the traffic that will require encryption/decryption and route it to the encryption/decryption hardware engine. Now you can remove that part of the code from the GP-CPU completely since this task is outsourced to the hardware block which is inside the same ACP device..! No more traffic slowdown due to encryption/decryption hogging GP-CPU capacity and no big additional cost due to addition of a separate chip to do this on the router board.

Similarly, next we can identify all the WAN (Wide Area Network) traffic that comes from outside network that need to be inspected for virus, spam, etc. and route it to the content inspection hardware engine which is inside the same ACP device. Cleaned up traffic can come back to the GP-CPU for further processing or transfer to the LAN or WAN as needed thus releasing GP-CPU from this onerous task. There are other engines to do other tasks such as checking the integrity of the packets to make sure they are not corrupted in transmission (you can think of identifying mail in the post office that is damaged), modifying the packets (think of post office forwarding a mail received to a new customer address) and so on. By taking advantage of every engine possible by diverting traffic, the 4 core PowerPC GP-CPU complex can reduce its load overcoming the throughput issue. Software packages are being put together to ease the effort required to program the hardware engines. The extent to which these engines are used can be adjusted to retain the required flexibility since using the engines is not mandatory for the router box to function properly. Another neat thing is the software simulator we have developed that runs on PC or Unix machines mimicking the entire ACP. So, even before customer have the real device, they can fire up the simulator on any PC, simulate traffic going in, routed to different blocks to see whether the application works as per design intent and how well the device is expected to perform. After sorting out all the issues, the simulator can generate one configuration file that can then be downloaded into the actual chip to get it configured completely as it was setup in the simulator.

After implementing this hybrid architecture, we went one step further with a technology we named Virtual Pipeline (which is a trademark now) using which you can route traffic from one hardware acceleration engine to the next with or without going back to the GP-CPU. Thus for example, incoming traffic first sent to the decryption engine to get the encrypted traffic decrypted first, can then be routed to the content inspection engine directly so that it can be checked for virus/spam, etc. After that if it is safe, it can be sent back to the GP-CPU or to the LAN side ports directly without having to go to GP-CPU at all. Similarly, incoming traffic need not go to the PowerPC GP-CPU at all. From the input port it can directly go to decryption engine and then to the content inspection engine and out to the LAN port. Traffic originating from the LAN side meant to go out to the main office, can enter the device, skip GP-CPU or content inspection (since the content is expected to be safe) and head directly to the encryption engine and leave for the WAN side. Depending upon various classification decision made on each packet, every packet or traffic stream can travel through any combination of engines and head out of ACP. The term virtual pipeline may make sense now. This flexibility should be quite powerful and handy in designing the traffic flow through the device.

As the standards these days require, it has support for USB, flash and various other memory device access, several input/output port setup possibilities, etc. Compared to 555 ICs I have used 25 years back that had a total of 8 pins, ACP comes with 1295 pins that get soldered onto the circuit board. :-) Though this pin count may sound high, for this class of devices called SoC (System on Chip), it is becoming typical. This is because one SoC includes multiple hardware modules inside one chip so that entire system (like a router box) can be built using one chip and very minimal additional components instead of multiple devices with smaller pin counts.

Depending upon what the customer needs are, there are variations of the device within the ACP family that can have just two or all four PowerPC cores activated, support different system clock speed (200MHz to 400MHz), provide different throughput capacity (5 Gigabits per second to 20 Gbps), etc. Just to give you an idea, 1 Gbps speed is about 500 to 1000 times faster than the DSL connection speed we get at home. So, in the near future this communication processor is meant for handling huge volumes of mobile phone traffic delivering broadband (3G & 4G) connectivity to thousands of smartphones. Who knows in how many different ways it could be used in future..? :-)

Interestingly in an article I published in 2005 posted at http://www.eetimes.com/showArticle.jhtml?articleID=173600898, I wrote that the security related features should be integrated inside the communication processor. Though it was not an epiphany but only a logical thought, I am glad to see that idea being realized via this processor now. :-) I am just a cog in one wheel of a huge machine that developed this device. Still it is good to see it being announced and covered in the technical press. I know our competitors are not sleeping at the wheel and will be bringing in similar or different devices that will provide stiff competition. Nevertheless I sure hope we sell a ton of these devices all over the world.

Did you really read this far..? Thanks, please email me back so that I can send you the quiz questions next. :-) Just kidding. Do drop me a line so that I know at least someone read through the whole write-up. :-)

-sundar.

Saturday, February 20, 2010

New Communication Processor

At the risk of boring everyone, wanted to point out a PDF file on the web http://www.lsi.com/DistributionSystem/AssetDocument/LSI_PB_2pg_Axxia_C_LR.pdf describing a new communication processor we announced this week. This is the SoC (System on a Chip) we have been working on for the past couple of years. Specifically, my team's role is on the Security Engine part developing various SW components, verifying that it works as intended on the hardware and software simulation models, etc. Interestingly, in an article I published in 2005 posted at http://www.eetimes.com/showArticle.jhtml?articleID=173600898, I wrote that the security related features should be integrated inside the communication processor. Though it was not an epiphany but only a logical thought, I am glad to see that idea being realized via this processor now. :-)

This ACP (Axxia Communication Processor) device could be used as the brain inside boxes that handle large volumes of traffic (5 to 20 Gigabits per second) on the network. Typical example could be next generation mobile phone network (3G/4G) that can deliver broadband connectivity to cell phones allowing people to watch video, surf the internet, etc. using their smartphones. It can inspect the traffic for malicious packets, handle encryption/decryption, prioritize different types of traffic crisscrossing the network, perform routing and so forth. As I was saying about Google Goggles a while back, the amount of technology, ideas, algorithms, blood and sweat that goes into these inventions/devices are mind boggling. In previous decades such technologies used to appear as unnecessary luxury rich societies indulge in. But how mobile phones have been transforming lives in every socioeconomic strata allover the world has been very well documented in the last few years. In a planet with 6+ billion people, projections say that 5 billion phones will be in use within the next few years. According to a study that came out last year, adding 10 mobile phones per 100 people in a typical developing country boosts GDP growth per person by 0.8 percent. Check out http://mmd4d.org/2009/10/04/the-economist-mobile-marvels/ if you can. Even after applying normalization required to discount the hype, I think we can agree that improved network access does contribute to improved quality of life all around the world. ACP hopefully will do its part to drive this growth. 

Some analysts have written positively about this processor on their blogs comparing it to competing devices: http://blog. linleygroup. com/2010/ 02/lsi-announces -multicore- network.html. If you are interested, you can Google "Axxia Communication Processor" to dig up lot more information to read. Now got to see how well we sell this stuff. :-) 
-sundar.