Berlin Experience 2011

In March 2011 I traveled back to Germany for the first time in nearly 15 years and for the first time was able to experience Berlin. I stayed near the city center while I was rolling out a new pharmacy benefit platform under subcontract through Medco to the German government.

We had one of the best meals at Zur Gerichstaube towards the end of the project

Posted in Travel | Tagged | Leave a comment

Linksys Cable Modem Upgrade

Linksys Cable Modem Upgrade

I called my cable operator a short time back to change my bundled plan and discovered – much to my surprise – that I could move from 10MB download to 20 MB for less money. After thinking long and hard on this for all of half a second, I told the cable operator to ahead and provision my account for the new service.

After getting off the phone, I reset my cable modem – a Linksys BEFCMU10 – and restarted the network interface, ready to download at a blindingly fast 20 MB. I got on my favorite bandwidth testing site and found that I still topped out at 7.8 MB. I recycled and tried again with the same results.

I called the cable operator and asked whether or not the provisioning was completed. Oh yes, they assured me. So I checked the supported modem list and found that my Linksys was no longer supported. I asked if the DOCSYS version might be causing the problem, as my modem was 1.2 and upgradeable to 2.0, and they thought it might be – so I decided to contact Linksys for a new ROM.

First I checked their website for a ROM – nothing was available or even indicated I could update the ROM, even though the box and manual indicated it was upgradeable. So I sent an email to Linksys support asking for the instructions and got an immediate response. It indicated Linksys was not responding to support emails any longer, but did refer me to an online chat link – among other channels.

So I fired up Firefox on my Linux machine and pulled up the link – I got a blank screen area where the Java applet would have uploaded if I was running the 32 bit version of the OS that runs the proper JVM. I decided to call on a phone instead, and you’d probably guess at this point that the phone service in their support organization was on par with the email support – you’d be right.

So now I’m getting a little irritable and am checking the newsgroups and googling for upgrade experiences. Apparently, nobody has had a successful upgrade experience, they have only experienced severe frustration in their attempts to do so. If anything, Linksys has been consistent in their refusal to provide the firmware upgrades their packaging and literature imply to be available. Have these guys even heard of “Bring Your Own Modem” service? Who do they think is responsible for those modems?

So I decided to hunt down a windows machine and give the support group another chance on IE. What followed was a very painful discussion where the call center employee didn’t understand the difference between firmware (the software on the modem) and the driver (the software interfacing to the OS kernel. They ultimately refused to support the upgrade channel they documented in the user guide and continually insisted that the cable company was responsible for upgrading the firmware on the cable modem I purchased at Best Buy.

Linksys Support Call Log

Love Jane G. (29832): Hi, my name is Love Jane G. (29832). How may I help you?
David: I need to upgrade the firmware on my cable modem – the ISP has no responsibility for this as I purchased the modem at a retail outlet
David: The model is BEFCMU10 v3
Love Jane G. (29832): The modem does not have firmware to upgrade, David.
Love Jane G. (29832): You mean its driver?
David: It currently has version 1.1.2.0.3 of the firmware
Love Jane G. (29832): Where did you see that?
David: I run this through the cdc_ether driver in the linux kernl
David: 192.168.100.1 – page shows the detail of the modem config
Love Jane G. (29832): Actually, for modems, it is the driver.
David: doesn’t reveal how to upgrade the firmware
David: This needs to be upgraded to DOCSIS 2.0 firmware
David: Box says it’s compatible – I’m assuming Linksys is providing upgraded firmware if they’re claiming compatibility
Love Jane G. (29832): With that concern David, you have to contact your ISP for that.
David: My ISP is not responsible
David: They did not provide me with the modem
Love Jane G. (29832): It is only the ISP that can update the DOCSIS for the modem.
David: Why can I not do this myself? My ISP claims no responsibility for a modem I bring to the relationship.
David: ???
Love Jane G. (29832): David, as I have said, you have to contact your ISP when updating DOCSIS of the modem.
David: And when they say they cannot do so as the modem was not provided by them? How do I get my 20M service which is now limited to 7M?
David: Can I return this to Linksys and have another modem provided that is compliant?
Love Jane G. (29832): Let me check that concern, David.
David: Thank you
Love Jane G. (29832): Thank you for patiently waiting, David.
Love Jane G. (29832): I am still verifying that concern.
Love Jane G. (29832): May I know who your Internet service provider is? Do you have a cable or DSL connection?

David: RCN – cable connection
Love Jane G. (29832): David, may I know why you want to upgrade the DOCSIS?
David: To improve bandwidth from 7M to 20M
David: The literature in the manual claimed up to 45M
Love Jane G. (29832): You did not meet the standard of your ISP for that? What bandwidth does your ISP gave?
David: 20M
David: They upgraded the bandwidth on my account 2 fold with no visibile improvement, I checked around and found that firmware upgrades to DOCSIS 2.0 can address many of these issues
Love Jane G. (29832): Updating the DOCSIS does not necessarily do that, David.
David: But it may –
Love Jane G. (29832): And again, updating the DOCSIS is an ISP concern already.
David: Signal strength was good, TCP windows are reasonable (1500) – my neighbors weren’t home (no bandwidth shared – it’s time to try upgrading the firmware
Love Jane G. (29832): What do you mean, your neighbors weren’t home?
David: Cable modems share bandwidth – lack of bandwidth may be attributable to high usage over the shared concentrator on the outside line. My neighbors weren’t online, hence the concentrator was dedicated to my usage (unless their running servers – I know them not to be so sophisticated)
Love Jane G. (29832): Your neighbors are wireless, right?
David: Two are on the RCN cable modem service, wireless or wired home networking seems immaterial to me.
Love Jane G. (29832): David, the bandwidth from the modem will be lessen if there a long connection of cables to the router.
Love Jane G. (29832): Aside from the modem, do you have the wireless router?
David: The modem is connected to the server from which I run most of my apps via a USB cable – this has nothing to do with my wireless router – that runs a separate subnet. The cable length of the RC45 cable from the telephone pole directly to my modem is perhaps 120 ft.
David: The USB cable connecting the modem to my server is less than 6 feet long
Love Jane G. (29832): Sorry for that. Again, DOCSIS upgrade is for ISP concern.
David: Cat 5e cabling suffers a signal loss in runs longer than 100 feet – all my cat 5 cabling is less than 100 feet
David: Can I exchange the cable modem with one from Linksys that supports DOCSIS 2.0?
David: Will Linksys stand behind their claim of DOCSIS 2.0 compatibility as documented in their user guides, datasheets, and literature?
David: Can you force my ISP to upgrade the modem?
David: I need a solution here.
Love Jane G. (29832): Yes. It does support but you have to contact your ISP with that.
David: And will you guarantee that they will perform the upgrade? Are they a Linksys channel partner?
Love Jane G. (29832): No.
David: I need a solution – can you get a supervisor or manager on?
Love Jane G. (29832): Sure.
David: Thank you
David: Please ask them to review the thread before responding…
Love Jane G. (29832): I have actually confronted my superior with your concern and again that will be referred to your ISP.
David: Will you manage closure of this problem with the ISP, or will I be stuck bouncing between your help desks?
Love Jane G. (29832) Has Disconnected

They terminated the chat session without providing any viable options to upgrade the ROM or any hint of concern for providing customer service and I terminated my relationship with Linksys as they had pretty much proven to me that they do not stand behind the claims they put in their product literature. It was incredibly disappointing, considering some of the positive experiences I’ve had upgrading my Linksys wireless router’s firmware, which was very straightforward.

So back to Best Buy I went, reward certificates in hand, to get myself any cable modem that did NOT have the Linksys brand associated with it. I found a nice little Motorola cable modem for $5 more than the cost of the Linksys sitting next to it on the store shelf, but I figure “What the heck, support is worth the extra money if I can postpone a hardware upgrade a few more years.” When I got home, I called my cable company and switched the provisioning to the new DOCSYS 2.0 modem. I restarted the network and tried the bandwidth test again – 7.8 MB. Okay, this was not a DOCSYS issue.

When I had called the cable company earlier to provision the Linksys modem, they had suggested that I connect it to the computer through an ethernet port rather than through the USB port – but I refused as I wanted to keep the ethernet ports open for home networking. So I checked it out – I freed up an ethernet port and connected the cable modem through it. On running the test again I was happy to see that it was now 18.2 MB! On further investigation, I found that the cdc-ether driver for the kernel only supported uhci, which limited the bandwidth on the USB to 12 Mb as opposed to an ehci connection which would have allowed 480 Mb.

So now I’m running short an ethernet port, but 12 MB higher on Internet bandwidth – an acceptable compromise. Still, I am incredibly disappointed in Linksys and will never purchase a product from them again.

Posted in IP Networking | Tagged | Leave a comment

Green Computing

Green Computing – Multifaceted Challenge of Improving Efficiencies

Green computing has become a focal topic on many discussion boards these days. There are many articles that focus on CPU scaling and the ability to tailor power consumption of systems to meet the applied load on those systems. The Linux kernel team is focusing on CPU scaling to reduce idle power consumption. Pacific Gas and Electric recently initiated a data center consolidation project with IBM to reduce the footprint of their physical datacenters and hopefully reduce their associate energy costs by 80% through the application of virtualization technology. Intel, IBM, EDS, Sun, Google, RedHat, and several other companies have formed a climate savers initiative to reduce the power consumption of desktop and server environments by 50 and 33 percent respectively and is expected to impose a reduction of the carbon footprint by 55 million tons per year. Google has recently initiated construction of a solar array to power their corporate headquarters in an attempt to reduce their carbon footprint. All of these activities are to be applauded – they address reduction of the consumption of electricity and the application of cleaner energy sources to improve the utilization of power within the data center.

But do these approaches truly encompass the complete breadth of the solution space – or could there be something more, something that could truely have a significant impact on the consumption of power and the corruption of our environment?

Application Performance Optimization

As recently as the late 1990s the IT industry was focused on building out applications with a vast range of functionality with limits imposed by the capabilities of the hardware and infrastructure that forced the application of efficiencies in the use of resources. Recently, we have become accustomed to having a surplus of capacity and have since become less mindful of the conservative application of that capacity as it is more than ample in most cases to power even the most inefficient solutions. This was the cost of portability as Java and other applications based on a portable runtime platform gained wider adoption. It was pretty common place to attribute poor scalability to the runtime performance and write it off as an operational cost incurred against the benefits of portability. But over time we’ve seen these runtime environments optimized to a point where they can claim parity in some respects with the performance of natively compiled code. However, somewhere along the way the focus on wringing performance from these applications through repeatable engineering processes has slipped away.

This is the problem – compute cycles are often not considered as a requirement to be addressed in the construction of many of today’s applications. When I started writing software, I built out a solution to manage the solution of a network routing problem. The optimization approach I first pursued would have consumed over 1GB of RAM – this was at a time when a workstation with 64MB of RAM cost upwards of $25K. Further, this solution took the better part of a minute to chew through all the system memory, pegging the CPU at 100% for the duration. In the end, I built out a less greedy algorithm that was based on a heuristic I designed specifically to model the business realities rather than a theoretical optimization. The new solution peaked at 2Mb memory consumption and would run in 3-5 seconds on a typical run. It is obvious to see that this reduced overall resource consumption by about 95% from a CPU perspective and 99.8% from a memory utilization perspective. The question is, with the cost of memory and CPU cycles today, would I have taken the additional month to optimize the solution performance? By extension, should you take the time to look into performance optimizations that could reduce your energy costs by 50-75%?

Green Power Supplies

Your average power supply in a server can consume upwards of 1000 Watts of power, even when idle. Recent advances in power supply technology step back power consumption in the transformers when the computer is not fully loaded by as much as 80%.

Power to the People

The average PC today is more powerful than that $25k workstation I mentioned earlier, but have we changed the way we design applications to leverage that capacity? Today’s web applications still build out the pages on the server, streaming HTML or images across to the client after dynamically assembling them on the server and streaming them across the internet. The client machine must still parse the HTML and render the HTML in a viewable form in the browser. Rather than transform data into a structured text based protocol that then requires additional parsing on the client side, why don’t we leverage the power of the client machine more efficiently to render the data directly from a set of instructions that can be managed separately? Most browsers support XSL transformation, however this has not always been the case. An XSL transformation within a browser is more efficient than a transformation to HTML on the server followed by a parse and rendering of the HTML stream on the client. Of course, there are a lot fewer engineers who understand XSL well enough to be able to maintain this kind of architecture.

Scale and Distribute Processing with SOA

Service Oriented Architectures have been hot for a few years now. C-level execs are all familiar with the benefits of SOA in scaling and rationalizing their IT infrastructures. Through extensive leverage of SOA, many enterprises have consolidated common application functionality into a single app that provides that functionality as a service to the enterprise, but at what cost?

SOA is not a panacea for curing enterprise software maintenance ills. In point of fact, SOA incurs a performance penalty in marshalling and unmarshalling the data in calling and responding to the service. From a compute time perspective, SOA can often times be less efficient and from a resource utilization perspective than local processing within the application. In such cases, other options might be explored to improve maintainability of common functionality – such as the creation of shared libraries.

In the end, it inevitably comes down to balancing the short and long term costs in terms of building, maintaining, and operating the solution. While SOA can relieve testing, deployment, and some repeated development costs it does incur penalties in network performance, processing power, memory consumption and in some cases marginal impact on end user productivity. Selection of the right solution is a question of scope of impact and scale of operations.

More …

Posted in Energy Efficiency | Tagged , | Leave a comment

Thought for the day

I notice that when our 20 month old son Russell plays with the little toy oven, he likes to take the animals from the Noah’s Arc toy and throw them in, like a good little omnivore. It makes my heart swell with pride to know that my son appreciates a good cut of meat cooked to perfection. Well, while I was cleaning out the toy oven today, I noticed that he tossed in Noah and his wife as well. Should I be worried?

Posted in Social | 1 Comment