April 30th, 2012
7:54 am

Posted by

Subram Natarajan
Subram Natarajan

In today’s world, where technology is a necessity for everybody, we always look for innovative ideas to make our work faster, precise, and our working processes smarter. For instance, even in our everyday life, we look for upgrading from slower computing devices to faster, better computers that offer features for efficiency improvement. Likewise, in the Super computing space, there is a constant need for faster and better computing capacity and capability; these large setups tend to address problems of large magnitude and those that have a significant scientific, economic, and  social impact.  From a technology stand point, this transformation in the High Performance Computing (HPC) segment aims to run workloads faster, reduce the time-to-solution, and streamline operations for cost savings. High Performance Computers are more than just fast computer systems; they help provide solutions with insights that lead to innovations. Organizations not only use HPC to solve their situations, they rely on it.

A sneak peek at what High Performance Computing does

High Performance Computing (HPC) helps in dealing with workloads like weather and climate modeling, multi-disciplinary engineering workloads, computational chemistry, physics and petroleum reservoir modeling that require highly intense computations and where the workload is aligned with parallel processing methodologies in a more competitive way. Apart from these, high performance computing allows you to pack accelerated processing into the same power and cooling envelope as traditional servers, better utilizing floor space and optimizing the data center.

Introducing IBM High Performance Computing – better known as “Deep Computing”

IBM refers to its HPC solutions as “Deep Computing”, because many of our customers use HPC to derive insights from exploring beneath the surface of a problem, and IBM believes “Deep Computing” captures the intent of their goals. While HPC emphasizes computer performance, the IBM “Deep Computing” team recognizes that real innovation and competitive advantage require much more than speedy processors. The IBM approach to Deep Computing is to offer high-value, integrated solutions, backed by world-class services and support.
IBM Deep Computing provides an extensive selection of high performance computing options from a portfolio of servers, storage, software, services and financing options backed by access to Subject Matter Experts and world-class support. Our portfolio is designed to help develop advanced systems based on loosely coupled clusters and hybrid clusters for workload acceleration and optimization. In addition, our products can optimize research and overcome obstacles to parallelism and other revolutionary approaches to supercomputing.

I am thinking to cover more specific details on Deep Computing in my next blog.

April 16th, 2012
10:39 am

Posted by

Trent Gray-Donald
Trent Gray-Donald

In my last blog I talked a lot about encoding patterns and then being able to deploy them in a repeatable manner.  That’s a big advance and certainly helps operations teams deliver code smoothly into production. However, it doesn’t address what happens after that, namely maintenance cycles, emergency security patches, etc… These take considerable time and effort as well as introduce risk that needs to be carefully managed. While it doesn’t sound like a huge problem in isolation, the size of a typical data center means that potentially hundreds of systems may need to be updated on very short notice. This can be a nightmare scenario with considerable manual effort required.

Thankfully the IBM PureApplication System deals with the full application lifecycle at multiple levels gracefully. Every layer of the stack, from hardware firmware up through the OS to the middleware, is clearly aware of what version it is and if there are potential updates. Depending on how you choose to do it, you can update individual components or whole systems at once. Of course, previous versions can co-exist, so updates can be rolled out in stages, and rolled back just as easily in the unlikely case that’s necessary.

The advantages around such a systematic approach to patching are the same as for encoding patterns: because it’s fully scripted, it’s predictable in behaviour and one can be sure patches were applied correctly and will not be lost at a later date. It’s also fast and reduces (or entirely eliminates) downtime: patches are performed on offline master images which are then activated.  When they are ready to use, the system workload coordination components ensure that new systems are inserted in the right places (eg: load balancers know about them) and old systems are removed when new ones are ready. Thus one can effectively perform zero downtime maintenance in a predictable and automated manner.

In summary, this post shows how IBM PureApplication System handles the critical yet often unglamorous job of keeping your systems current.  By using a full system-aware strategy, this approach taken saves time and effort at the same time as significantly reducing risk. It also facilitates zero down time maintenance cycles, which is a huge bonus.

April 12th, 2012
2:39 pm

Posted by

Trent Gray-Donald
Trent Gray-Donald

The history of computing is full of discontinuities that change how we think about computers. Whether it’s the introduction of mainframes in the 1950s and 1960s, or the emergence of RISC architectures in the 1980s, or graphical user interfaces, or app stores, there are always far-reaching consequences. It’s always disruptive, and there’s always ambiguity around the long term value. It’s also sometimes hard to tell the big winners from the also-rans. I believe today marks the birth of the next big winner.

Today’s marketplace is crowded with complicated solutions to complicated problems in many different domains. The trajectory the industry is on is unsustainable: most IT shops spend well over half of their budget simply maintaining existing systems. It takes months to provision and deploy new solutions. Real risk surrounds every change, slowing down change. There’s been an organic growth in an area called “devops”, focusing on codifying the deployment aspects of bringing software through to production. Approaches like that are good, but still quite immature and it’s clear there’s scope for a lot more progress around automation, repeatability, etc…

IBM is announcing a new category of systems based on “expert integrated systems”. I won’t describe the whole thing (see: http://ibm.co/J0ROUO  for more details) but I want to talk a bit about the part that resonates most strongly with me. The IBM PureApplication System family member provides a pattern system (http://ibm.co/J0ROUO) that allows both IBM and 3rd parties (including customers) to encode exactly how they want a given set of products or components to be set up and run. Once this initial encoding work is done, the system can simply deliver copies of this at will, all identical. Because both IBM and over 60 partners have already done patterns, many complicated software systems that used to takes days, weeks or months to install, configure and tune can now be done at the click of a button.

As well as the obvious benefit of saving huge amounts of time when setting up complicated systems, a key value for me is the repeatability. Because all of the configuration information is clearly recorded by the system (and visible to the user), repeatability goes up. Thus once a developer gets their application running in a development sandbox using patterns, they can be sure that it can be successfully deployed with minimal effort into test and ultimately production.

Developer productivity has been suffering over the last several years due to the complexity of setting up necessary software. I see today as an inflection point for productivity – the day when teams are freed from mundane yet expensive tasks surrounding installing and configuring software by hand. Single developers are now able to take various complicated software products, drop them onto a single virtual canvas, wire them together, and then deploy the full solution with a click of a button. This will enable developers to focus on their core job: adding value at the top. I can’t wait to see what people build!

Posted by

Trent Gray-Donald
Trent Gray-Donald

Early on in my career, my technical lead spoke to me about his core philosophies around building strong products.  After talking about the obvious considerations – high performance, high quality, and great features – he went on in what I considered an unexpected direction.  He insisted upon how the product was built (from source code to shipping to the end customer) was critically important to focus on.  At first I didn’t really understand why we were discussing this, but eventually I realized some of the deeper truths in his insistence.

Developers want to spend all day writing code; in reality, they spend considerable time, every day, dealing with the process of software. Whether it’s building or testing a change or shipping an update patch to customers, they spend a lot of time on non-coding activities. For most, these are mundane and low difficulty actions. However, they are fraught with peril as one single mistake (for example, on program configuration options) can destroy quality and predictability, leading to huge problems. It became clear to me that codifying and automating are the steps to go from source code to ship-ready binaries resulting in significantly higher field quality.

In IT today, agility is critical.  The number of ‘turns’ (edit, compile, test/debug) a developer can make in a day is strongly correlated to their effectiveness. Thus, having highly automated systems that can immediately and repeatedly deploy and run software is critical. Many complicated software systems today take days to set up and run if done manually. Again, this is repetitive and error prone work. Thus, teams that focus on streamlining and automating these steps often outpace other equally talented but differently focused groups.

As my career progressed, I’ve seen software systems get orders of magnitude more complicated and yet most teams continue to deploy software the traditional way – by hand. Certainly existing cloud computing and virtualization solutions attempt to provide solutions to parts of the problem, but what they end up missing is quite often the critical ingredient, i.e. product domain expertise.  So you can either have something completely custom yet complicated and unwieldy to maintain, or something quick and simple yet unable to really adapt to your specific circumstances.

How do we get through this seeming impasse?

Behind every robust software system, there is a group of experts and the best practices they have accumulated over time. Now, how can we get these ‘patterns of expertise’ out of the heads of the experts and robustly codify this knowledge? IBM has brought together experts from virtually every corner of the company and is proud to be launching a family of expert integrated systems on April 11. And I’m very excited to be part of the solution.

For more information, please see: http://ibm.co/J0ROUO

April 5th, 2012
11:12 am

Posted by

Guest
Guest

These days, everywhere you turn, technology is finding its way into our lives. Sometimes it is overt and sometimes it is hidden. Smarts are in our cars, in our homes, in the traffic systems, even in our TVs (which is funny considering people sometimes think watching too much TV makes you dumb).

When you peer inside of the IT department of any big enterprise – there is no questioning the level of smarts that occupy the data center. Today’s hardware is brilliant by comparison to the systems that used to occupy the racks 20-years ago. The capabilities of the enterprise hardware and software are amazing to say the least. And everywhere you turn – there are even smarter people who are highly skilled, master craftsmen. Walk through the café at lunch and you’ll hear people paying their colleagues compliments like “John is the best DBA ever” or “If you want to fix that online commerce application, you have to call Suzy”.

But here is the rub. What happens if Suzy or John move to a different job? Or, even more likely given today’s global economy, you want to roll out that same commerce application in Nairobi, Mumbai, Prague and Sao Palo. Unless you are going to clone Suzy (not possible no matter how nice that would be), chances are you are going to be waiting a while to get everything done.

But what if you could clone Suzy? Not literally, but figuratively. What if you could shrink-wrap all those years of knowledge around how to deploy and configure a network or how to deploy an application or how to build the right database architecture. Sound like a dream right? It is more of a reality than you think.

You see, it’s no secret that IBM knows a LOT about building technology. We’ve been at it for 100-years now. And frankly, we have created some pretty cool things. And it shouldn’t be a surprise to most that IBM also knows more about running IT systems than just about anyone given the size and scope of our services business. What if you could marry the two together? Now that would be interesting. Capture all that knowledge, all those best practices, all the trials and errors in software and package it up. It’s your genie in a box or maybe your expert.

So what would that get you? Well, for one thing – Suzy or John will no longer find themselves on the road for years trying to be everywhere at the same time. And if they move to a different job, the keys to the safe won’t leave with them either. But even more impactful – the time you had your team spending trying to get the basics right can now be spent doing something creative and new.

So when you walk through the café in the not too distant future – you won’t hear people complimenting Suzy for fixing the network or John for configuring the database. Instead the compliments might sound more like “Wow, that new sales application has helped bring in more than $25M this past quarter.”

by Jerry Cuomo, IBM Fellow, VP, WebSphere Chief Technology Officer.

Posted by

Kashish Karnick
Kashish Karnick
Merriam-Webster describes ‘ Expert ‘ as ‘ someone with the special skill or knowledge representing mastery of a particular subject ‘. True. But what does that have to do with IT? IT needs experts, for a simple reason. It is complicated. Yes I know that’s ironic rhyming, but that is the truth. Today, when we look at the datacenter or IT systems, you will see it is made up of the following:
!
1. Servers
2. Storage
3. Networking
4. Hypervisors (for Virtualization)
5. Cloud software
6. Operating systems
7. Middleware
8. Database
9. Application
10. Backup
!
Not to mention a whole host of other things – cabling, power and cooling, datacenter access, security, and many more. If you start getting into the details, it gets very complicated, very quickly.
That’s why we need experts.
Experts are those who not only understand each of the above layers and how they interact but also relate them to a NEED, not a sale. The need could be technical or business. It doesn’t matter. The problem today in our industry is that it becomes very difficult to differentiate the sellers from the consultants – as each has a different perspective of the customer need. In addition, it is extremely difficult to be an expert on even 3 or 4 of the above points. Moreover, it gets difficult to get the entire stack above to work together (that’s where a whole team of System Integrators come in). Implementing 3 or 4 of the above layers is a humongous task in itself, taking anywhere from 2 to 5 months to deploy, test, certify, and roll out. For example, a simple virtualization setup would include the following –
  • Deploy the servers, networking, and the storage hardware
  • Update each firmware across all products
  • Ensure all systems are compatible with each other
  • Make all the connections (servers to network, servers to storage, etc).
  • Do system hardening as per internal policy guidelines
  • Deploy hypervisor (no easy task at that)
  • Test the newly virtualized system
  • Create VM templates or migrate physical servers to Vms
  • Test multiple downtime scenarios
  • Showcase to users
  • And, after many more internal company steps, roll out. (I’ve given a short version, but you get the idea).
Today’s experts are still just consultants. Many have hands on experience on a few of the layers, but with technologies changing every 9 months, it is difficult to keep up.
Hence you end up with the following -
Best of breed systems – you have so many of them, that they all become inefficient.
Multiple standardized systems – that do not perform to the application requirements.
Systems sprawl – that makes you pay for more networking hardware.
Ever tried managing a nightmare? Now this is going to sound clichéd, but IBM is the Expert that Merriam-Webster describes. And we have 100 years of engineering expertise to prove it. April 11th is when we convert these words into reality.

 

Posted by


Mrinal Jain

Most organizations have adopted Virtualization, not so much because there is a strategy to move to a cloud infrastructure, but because it is a quick way to reduce costs. The physical to virtual conversion of IT environments, using Virtualization, immediately enables the use of fewer servers, and allows for consolidation of IT equipment. This in turn reduces real estate costs (less floor-space required in a given datacenter), and energy costs (fewer machines to cool, and power). The cost savings from these sources alone is quite visible, and perhaps adequate as a first effort. However, there is something interesting happening as a consequence of Virtualization that many organizations are now facing.

In most cases when Virtualization is implemented, though capex costs reduce, the simplification and ease with which multiple environments can be deployed creates a new issue for the organization, which increases operating costs dramatically. How should customers deal with this?

Let us first understand the issue. Virtualization, when implemented, frees users from tying a task to a given physical resource at the granularity of the entire resource, and makes it possible to provision a smaller part of a machine for each task. With Virtualization, users can in fact provision a smaller, better sized chunk of resources for the task at hand. This way, a larger number of users (or even tasks) can now be provisioned with the exact resources they need. In fact, a single user can now provision multiple chunks, each customized for a different, diverse task. In fact, users even provision multiple environments, each only slightly different from each other (perhaps patched with different upgrades), and “snapshot” these changes as multiple virtual environments.

In these multiple ways, the number of different “customized” environments in the organization grows. With a short passage of time, and the tendency to waste a seemingly limitless resource, it becomes difficult to remember why a certain environment was created, what its characteristics are, and how it is to be reused. Who keeps track of these environments and how does one manage this “image sprawl”?

Typically, an increased number of IT administrators are needed to monitor and administer the larger number of environments (often customized), now spreading within the organization. This in turn drives up the operating costs, removing a large amount of the cost savings that the organization set out to conquer in the first place (especially given that labor costs account for up to 70% of an IT budget).

The use of an image management environment coupled with a means to enforce standardization, and to enable monitoring, helps organizations retain the cost savings originally desired. Additionally, automating this process reduces not just the amount of labor required, but also drives consistency and reduces the number of errors in deploying resources. This reduces a cost (of mistakes) that organization may not have considered when the effort began!

In planning your move to an agile, flexible, less complex IT infrastructure, ensure that you don’t simply stop at Virtualization, and insist on adopting standardization and automation. Realize the cost savings you seek!

February 14th, 2012
7:53 am

Posted by

Ravi Khattar
Ravi Khattar

Business and IT are moving at a very swift pace in response to the continuous ascend in the prospects and potentials of data storage efficiency. With this quickened rate of data growth, simply adding disks is no longer enough. And that is where Storage Efficiency solutions can help you keep ahead of storage demands with a proactive and integrated approach to storage infrastructure management. Storage Efficiency has capacity to store and administer data that consumes the least space with little or no influence on performance. Consequently, there is lower overall operational cost.

Data growth is a big challenge in today’s storage management environment, due to swiftly growing storage requirements and costs with ineffective usage of accessible storage. Like many other users around the globe, you might also be dealing with issues like storage resources being stockpiled by business units or high cost data protection or ineffective tools or inadequate reports.

The fact is that the conventional techniques of buying and managing storage have become less effective. Many industries and businesses are making attempts to recognize and execute smarter systems to meet these challenges with flat or decreasing IT budgets. Optimizing the competence of the storage infrastructure can help lessen energy expenses and the costs of storage environment, while improving availability and service levels. Storage Efficiency Analysis helps users gain imminence in existing and projected data storage necessities. At the same time, the opportunities to control growth and manage storage more efficiently can also be classified.

With an amplified and better then before storage efficient infrastructure organizations can coerce greater utilization of storage assets, facilitate greater flexibility and openness to rapidly changing business demands, and significantly simplify storage infrastructure management.

All the new improved Storage Efficiency solutions offer much more than data mobility; they are integrated closely with key existing applications and installed with minimal distraction to applications and to staff. The products offer the integrated services that businesses require to meet increasing expectations of storage efficiency.  The fact is that it looks easy to bring in an optimized system that can meet all business requirements of storage efficiency. However, keeping the changing trends in mind, it requires a lot of blending and combinations to accomplish the wants and desires of one and all, and IBM has a key to that. Their much valued and highly appreciated range of cutting-edge storage products and solution offerings are the way out for these problems. They are designed to offer an economical solution to customers to not only improve their application availability but also increase the storage efficiency and the performance.

Posted by


Mrinal Jain

Customers are most commonly confused about the difference between Virtualization and Cloud. Many customers who have adopted virtualization believe they have implemented Cloud Computing. Though the confusion is probably the result of the wide variety of messages that customers hear from vendors, there is a difference and it is an important one.

Virtualization is the creation of a virtual (rather than actual) version of something, such as a hardware platform, an operating system, a storage device or a network resource. Simply stated, Virtualization is a technique that allows you to run more than one server (or another infrastructure component) on the same hardware.  For example, one server is the host server and controls the access to the physical server’s resources. One or more virtual servers then run within containers provided by the host server.

The hypervisor software (which controls access to the physical hardware) may run on “bare metal” allowing a user to run multiple operating systems on the same physical hardware, or the hypervisor may run on top of a host operating system, allowing other operating systems to run within this host OS, and so on the same physical hardware. The latter inherently gives lower performance, since it has to go through more layers of software to access the physical resources.

Cloud Computing is the delivery of computing as a service rather than a product, whereby shared resources, software, and information are provided to computers and other devices as a metered service over a network (typically the Internet). Cloud Computing may look like Virtualization because it appears that your application is running on a virtual server detached from any reliance or connection to a single physical host. However, Cloud Computing can be better described as a service where Virtualization is part of a physical infrastructure.

Cloud Computing builds on top of a virtualized infrastructure (compute, storage, network) by using standardization and automated delivery to provide service management. This makes monitoring the virtualized resources and the responsible deployment of these resources possible.

Virtualization is simply a preparation for the delivery of IT in a very powerful way within an organization. It removes a level of complexity for end users, one that should never have been there in the first place, while primarily cutting costs for the organization. Cloud Computing ties directly to the way an organization uses its IT resources and enables a quantum change in the experience throughout the organization – easing the administrative burden of deploying, managing, delivering IT resources, and providing the ability for end users to request and use virtualized IT resources (or perhaps even an application or a business process where the end user does not have to be aware of the underlying IT resources being used).

Virtualization is a necessary and logical step that all organizations need to take in adopting a cloud computing infrastructure. However, it is critical that even when taking this first step, they do so with Cloud Computing as the end in mind.  They need to make tradeoffs in adopting Virtualization in a way that they are successful with their adoption of Cloud Computing. And, organizations need to understand that Standardization and Automation on top of virtualization are what provide Cloud Computing for the organization.

January 19th, 2012
8:06 am

Posted by

Amit Merchant
Amit Merchant

In my previous blog I discussed the disruptive forces that have operated at a fundamental level in the IT industry since the mid 2000s. Now let’s continue the journey and trace the advances in the microprocessor architecture, that took place in the 80s, 90s, and during most of this decade.

Last time we spoke about how Moore’s law brought about unprecedented gains in performance for the IT industry from the 70s to the 2000s. Leakage and power consumption increased exponentially since the arrival of the 90nm, which came online in the early 2000s. Economics of the post 2000 era drove the industry in an unyielding cost-sensitive direction.

In the early 90s, a number of innovations accompanied microprocessor architecture advances. Processors, such as the Pentium, went from being able to execute single operations to multiple operations at any given instance (superscalar processors). This was akin to building a 3 lane highway where a single lane road existed previously. (See fig. 1a, 1b) This increased output, and exploited the parallelism in the software code. When superscalar processors first arrived, every progress towards adding parallelism in hardware was handsomely rewarded, as commensurate performance in software execution was visible to end-users.

Architects leveraged the additional transistor budgets to add small caches on chip so that working sets of applications could reside close to where operations were being conducted. Again this improved performance because long latency memory fetches were replaced by much shorter cache fetches most of the time.

Architects began pipelining the processors. They started breaking up every operation into small finite work packets, viz. fetch the instruction, decode the instruction, and execute the actual arithmetic or memory operation. This was similar to the invention of assembly line for car manufacturing. Over time, architects got even more aggressive pipelining machines into even finer details, termed ‘deep pipelining’.

Processors till the late 90s were in-order processors, i.e. an executed software code in sequence. But smart designers figured that software code is written in such a way that significant parts of the code do not depend on each other, and can be executed out of sequence, i.e. out-of-order. As long as certain rules of the software code are followed, the ability to execute things out-of-order gives an amazing increase in performance.

Overtime, caches got bigger, more complex, and additional levels of caching were introduced. A huge change first came about in the early 2000s, when additional transistor budgets from Moore’s law, and the widening gap between DRAM speed and CPU speed forced processor designers to integrate memory controller on chip, to reduce latency. Almost simultaneously there was a push to move the system interconnect from a bus style interface to a point-to-point high speed interconnect. CPUs began resembling mini systems.

Through most of the 80s and 90s, all of the above innovations delivered performance improvements. But we got to a point where several traditional applications could not be made to run faster because the hardware enhancements were outrunning the available software parallelism available. Server workloads continued to scale, as by their very nature, these workloads had an enormous amount of parallelism present, in form of independent threads.

In my next blog I will discuss how the instruction level parallelism has stagnated, leading to multi-core and multithread architectures.