Home > Intel Communities > Open Port IT Community > The Server Room > Blog > Tags > application

The Server Room Blog

4 Posts tagged with the application tag
0

Whether it is public clouds, or private clouds, or internal clouds, or,…, One thing is very clear. Simple migration of current applications to cloud doesn’t work effectively. So, the question is what would be considered a good ‘application architecture’ for the cloud?  It may not be one, but there are some key design principles.   Before we look at those, let us look at the characteristics of cloud. These drive the application architecture for clouds, for the most part.

Any cloud operating environment (COE) would have the following minimal set of attributes.
  1. Multi-tenancy and shared infrastructure – more applications, users, transactions / compute host
  2. Elasticity & horizontal Scalability – Resource scaling up or down, depending on demand and usage. This helps capacity and demand planning.
  3. Pay as you go – Don’t need to procure entire capacity or pay for worst case demand planning… Pay by subscription or based on usage
  4. Automation and flexible management - Self service, flexible and dynamic assignment of workloads to optimal resource utilization

 

There may be multiple architectural approaches to leverage and “play well” in these COEs. Irrespective of the approach, the key design principles would be :
  1. Be a good tenant on a shared infrastructure – Applications have to be cognizant that they live in a shared environment. Ex: finer granularity (locks, etc.) optimized use of resources, proper authentication & isolation.
  2. Built for scalability – This is probably the hardest for application developers. It cannot be done in isolation. Applications would have to talk with infrastructure (COE) and vice versa, to be elastic. For the infrastructure to provide the elasticity, applications have to provide hooks for monitoring utilization by the infrastructure, and the management and administration of these applications.  This has far reaching implications. When you decide to use “Google Apps” or Microsoft Azure, you would be locked into a set of patterns for accessing data, code for scaling, etc.
  3. Parallelism - this might be obvious, but also one of the hard ones for application developers.  Most applications have constraints with either serial execution, single points of contention like session/application state, memory, file and dataset locks.. All these hamper parallelism.
  4. Configurability v/s Coding : The good apps on Cloud would be highly configurable… a lot of the behavior (including function and workflow) is driven by meta-data. Optimization based on “Locality” and Semantics are two other key concepts that should be configurable v/s hard-wired in applications.
  5. HW independence/Abstraction – so apps can run on the ‘best’ and optimal hardware from performance, scale and TCO perspective. Virtualization is a great model. This could be the basis for simpler federation between different cloud environments.
  6. Distributed and Composite architectures – Capabilities exposed as services. An app is a composition of bunch of services/apps (not objects and libraries like we are used to) that in turn adhere to the same set of design principles.

 

So, how do enterprises leverage the power of the Cloud?  Enterprises don’t have the luxury of re-writing all their applications to play well in the cloud. And, not all existing applications are architected with the above mentioned design principles.   Does this mean only new “green field” developments are well suited for the “Cloud”?  If enterprises have deployed SOA and the web2.0 architectures , do they have a head start with the cloud migration?  Are there other design principles that you see?

         

What do you think?

 

0 Comments Permalink
0

 

There is always a sense of apprehension and skepticism when there is a new processor out in the market. And there is nothing wrong with that. Customers would like to see not just benchmarks (with simulated real life workloads) but also real applications demonstrating performance and scaling on a new technology.

 

 

 

 

And I decided to share with you the gains our software friends see on the 6-core Intel Xeon Processor 7400 based Servers.

 

 

 

 

OMNIEnterprise is a Core Banking Solution from a leading ISV, InfrasoftTech. Running on Intel Xeon Processor E7430, this application showed a 22% performance at about 50% less processor utilization than the previous generation Xeon E7330. Clearly, giving customers the headroom to grow the load on the server.

 

 

 

 

SARAS is an E-learning suite of applications from Excel-Soft. This application was able to handle 50% more requests in a virtual environment using VMware VMM as compared to the previous generation platform.

 

 

 

 

TCS, a leading Financial Services ISV, ran a number of Banking and Financial Apps on the Xeon Processor X7460 and saw 20% to 50% higher throughput than its predecessor.

 

 

 

 

We are now seeing many ISVs and customers get the performance and scaling of the 45nm 6-core Xeon 7400 processor based Servers.

 

 

 

 

So what are you waiting for? Grab a Xeon 7400 based Server now and get it to work for you !!!

 

 

0 Comments Permalink
0

 

One of the common questions that I get from customers is whether their applications will be able to take advantage of so many cores in their server. And it's not just running the application without changes, but also being able to scale in performance. I would like to address this concern in three parts:

 

 

 

  • What does many cores on a server bring to me? Applications that run on x86 servers today have been written to take advantage of more processors (or SMP) on the Servers since the 90s. These applications have been threaded over time and fined tuned to deliver optimum performance. When such applications are run on a many-core platform (such as the 4-way Intel(r) Xeon(r) 7400 processor-based server), these applications show instantaneous performance gain. Database applications such Oracle 10g, IBM DB2, Microsoft SQL Server 2005, Microsoft SQL Server 2008 have shown significant performance gains when run on a 6-core Xeon 7400 processor-based server. As an example, check out the TPC-C performance of the 4P platform. We have seen SQL Server 2005 performance gains up to 68% compared to the previous generation processor - The highest 4P database performance on a Windows Server Platform today. We also have seen the highest DB2 database performance on Linux OS. Similarly, using Oracle OASB benchmark with Oracle 10g R2 DB and Oracle E-business suite v12, the IBM x3850M2 delivered unparalleled processing of 10,000 employee payroll batch update in 5.37 seconds (Wall Clock Duration). So Clearly, the benefits of using multi-core processors such as the 6-core Xeon 7400 processor are immense. It's performance and more performance all the way for enterprise workloads.

 

 

  • Do I have to get the latest version of my application to get optimum performance? In most of the cases for enterprise workloads, the application gets performance boost as more cores are added to the system. However, the performance may not be optimum. As newer tools emerge to take advantage of Intel® Core® Architecture in a parallel environment, the ISVs may make changes to their software to give the their applications additional performance boost. Tools such as compilers and libraries from Intel, Microsoft, Oracle, Sun and others are constantly updated to provide optimum scaling and performance on Intel Architecture based Servers.

 

 

  • Does my application cost more on a 6-core Xeon 7400 processor-based server? In most of the cases, NO. You need to make an assessment of the software licensing model currently used on your servers and then decide if the price/performance is worth moving to the Xeon 7400 processor-based platform. From what we have seen in the past many years, the performance of a multi-core platform far outweighs the price of the platform. In short, YOU PAY LESS TO GET MORE. Today multi-core processing has become the norm for Enterprise Applications. ISVs are constantly evaluating their application licensing models to run in an SMP multi-core environment. ISVs such as Oracle, Microsoft, SAP, VMware have made their applications multi-core friendly, giving you more for less.

 

 

 

Another area that you MUST consider is Virtualization or Server Consolidation - where multi-core servers have been known to provide the optimum use of compute resources in your environment. You can read Virtualization benefits in blogs from Sudip Chahal, dave_hill, RK_Hiremane, and K_Lloyd

 

 

 

 

To summarize, enterprise applications running on the 6-core Intel Xeon 7400 processor-based servers will see performance scaling as the number of cores increase. And it WILL get better over time. I hope you have enjoyed reading this. Let me know what you think.

 

 

0 Comments Permalink
1

Before, there were few things and they were simple. There were few roads to take, few choices at hand, few decisions to make - so most of the time we could find a solution that would fit easily with our needs. Now, there are a lot of things and they are complex. I am not sure but did Lorie or Shannon ever imagine that we would need a search engine to search through the Internet 20 years ago?

 

How did we get here? - I think as humans, we love new ideas, new experiences, and new perspectives. So we build new things, we innovate, we create, we add value. As technologists, we know that innovations get complex.

 

But the real question is where do we go from here?

 

It sounds to me like we need to re-learn the concept of "fit" and "choice" all over again. Because simply put, to find the right fit from the myriad of choices is a lot of work these days. Our tech background makes us great pattern matchers. We think we know what fits perfectly for our needs. But do we really?

 

 

At Intel, my job is to figure out what matters to enterprise applications and its relationship to platform performance. Some applications "fit" perfectly with the architecture. Some applications do not "fit" with our architecture. I work closely with the software teams within Intel as well as software vendors that run enterprise applications. I have learnt that evaluating systems is not as simple as it might seem. Because computer performance depends on the workload, it is necessary to understand just what your needs are so that you can make correct trade-offs.

 

 

There are a lot of performance numbers out there. Just because one set of numbers might not make sense it does not mean that you cannot find out what is right for you. See all the numbers; make your own calculations. Find your "fit". Understand your trade-offs and choose well

 

 

By the way, I am piling up a stack of enterprise application "must haves" - scalability, reliability, performance per watt. When the server room came to life I said wow, here is an opportunity to share and learn from our customers their needs better.

 

 

Stay tuned for what I think matters in world of performance analysis, benchmarking, enterprise applications and some case studies.

 

 

1 Comments Permalink

Filter Blog

By author: By date: By tag: