Archive for April, 2009

Sun SPARC eclipsed by Itanium in APAC

To kick off my first posting here, I wanted to introduce myself and let the readers know that I’ll be blogging the Asia-Pacific (APAC) regional perspective as it pertains to Itanium. By the way, just to level set – by APAC, I am referring to all of Asia-Pacific including PRC but not Japan. I am the Regional Platform Marketing Manager at Intel based in Singapore.

Firstly, I want to talk about Itanium’s (continued) growth in the APAC marketplace in relation to how it is doing worldwide. You would’ve seen an earlier blog post last month about this and here are the APAC numbers based on IDC’s APAC Server Tracker for Q4 2008.

Itanium system revenue has been growing steadily since 2004 and annual system revenue grew 40% year-on-year from 2007 to 2008. By comparison, the competing RISC architectures like IBM POWER and Sun SPARC grew only 4% and declined 19% respectively. At the worldwide level, Itanium systems grew 18% while IBM POWER declined 22% and Sun SPARC declined 10%. So clearly, Itanium is growing faster than the rest of the competing RISC architectures and growing at a faster rate in APAC than worldwide.

Another data point from this report is that Itanium annual system revenue for 2008 versus IBM POWER grew 35% to 64%, and versus Sun SPARC it grew 74% to 117%. Itanium systems are now “out-shipping” Sun SPARC in APAC. (At the worldwide level, Itanium versus IBM POWER is at 64% while versus Sun SPARC, it is at 91%).

Based on the data, clearly Itanium system revenue is growing faster than both IBM POWER and Sun SPARC with the APAC market leading this growth.

Data analysis — from science to enterprise

It’s a little known fact that the same uniquely scalable shared memory architecture that enables SGI Altix® 4700 with Intel® Itanium® processors to power technical and scientific breakthroughs also excels at high-performance reasoning on ontologies for enterprise data analytics applications. Ontologies are knowledge models or formal representations of a set of relevant concepts within a domain and the relationship between these concepts.

A major advantage of ontologies for data analytics is the ability to share the meaning (semantics) of information in a knowledge model, capture complex relationships and integrate heterogeneous data sources. These characteristics can only be achieved if the ontology run-time is able to scale with a growing number of facts.

Silicon Graphics and Ontoprise GmbH have demonstrated that OntoBroker® inference engine can load and process large ontologies in main memory. The SGI Altix 4700 platform has a unique configuration elasticity that allows adding processors and memory independent of each other, and thus easily accommodating user growth and securing hardware investment with a lower TCO. Here are some benchmark examples using the OntoBroker inference engine on a SGI Altix 4700 server:

–Complex graph traversal. Finding the possible traversable paths between the nodes in a graph comprising of 1 million nodes takes only 15.7 seconds, thus making complex reasoning possible

–Semantic retrieval and query processing with 104 facts. Five classes of 195 queries with varying complexity run in less than 18 milliseconds on the SGI Altix® 4700

–SmartWeb®. The longest queries for multimedia web content with 95 queries and 60 rules takes an average of 17 seconds from a disk-based database but only an average of 73 milliseconds from a non-materialized in-memory model.

–Wikipedia® knowledge base search. The most complex query with average result sets from Wikipedia® knowledge base takes less than 35 ms with a trade-off of load time of 48 million wiki facts in 138 minutes

–Automotive test. A large ontology comprising of 1.4 million facts takes only 133 seconds for in-memory load while queries over the indexed database model, and the database load took 381 seconds. The query times showed that large result sets benefit most from an in-memory model

So with a professional reasoning engine like OntoBroker, and scalable servers like SGI Altix 4700, users of many applications can find required information much more quickly and easily.

HP Walks the Walk in BI

I wanted to call your attention to a recent news release by HP discussing their internal implementation of what they claim is the world’s largest enterprise data warehouse. Business Intelligence solutions continue to be of great interest as they help companies analyze massive amounts of information to make better business decisions and gain competitive advantage. The HP enterprise data warehouse runs on 384 two-way Intel® Itanium® servers (768 RX262X processors), each with 12 gigabytes of memory and total storage in excess of one petabyte. More than 35,000 employees are actively using the enterprise data warehouse capabilities. Over 700 existing HP data marts have been retired as a result of the new solution which has led to a 70% reduction in HP’s business-intelligence operating expenses. Pretty Impressive!

Keeping it clean

Last year was a great year for S7 Software. 2008 marked the first year we made our first million dollar revenue target. That’s from the revenue side. In terms of technology, we won the prestigious Itanium Solutions Alliance Innovation Award in the category of Entrepreneurial Innovation.

Winning this award has been inspirational for us and is certainly pushing us to improve our focus on providing more Itanium oriented solutions. We have since held discussions with HP about partnering with them in approaching clients who need to move their enterprise applications to the Itanium architecture, helping them with performance analysis and migration analysis. S7, with its focus on software migration, is keen to play its role as a key enabler in the Itanium world.

Going forward, I hope to share some of our experiences with software migration to the IA64 world. Personally, I had worked on software migrations across various RISC and CISC based systems, and IA64 was certainly one of the most interesting efforts. With the wide array of available system tools and a good clean architecture, we found the process of migration quite clean. There were a few challenges as well; mostly related to the fact that the application we migrated had very processor/OS specific dependencies (eg generating code dynamically and running the same). In my upcoming posts I hope to share our experience in this process.

Optimizing .NET Applications for Itanium

Optimizing financial portfolios is both mission and time critical and the user does not have the luxury of waiting for the application to churn out data over long time periods. Modern portfolio optimization techniques use historical prices as the basis to compute risk and returns. This method of optimization uses voluminous data and is also compute intensive as the application seeks the most optimal investment portfolio configuration in a given vector. The challenge is further compounded when the investment time horizon or the portfolio size increases.

To address this issue, the team at Protegesoft used two simple approaches: (1) Cache critical secondary data in memory through data structures and (2) Hyper-thread sections of codes to improve processing time.

Both Intel and HP offer many tools to optimize code for Itanium based servers on their native compilers; but there are fewer options available for .NET based applications. The key thing to remember is that Itanium is a 64bit architecture that allows applications to access more than 4MB of memory. The .NET framework permits hyper-threading, which is Microsoft’s implementation of parallelism. Hyper-threading works both on Xeon and Itanium chipsets.

The best way to attain optimal application performance is first to ascertain the objective of the program. In our case, we were looking for optimal portfolio configuration in a given vector. Linear algorithms were too time-consuming as this performs an exhaustive search. Quadratic and logarithmic algorithms offer much faster solutions to the problem.

Back to Basics
Visual Studio is an excellent RAD (Rapid Application Development) environment. However, typical .NET applications are closely coupled with the database. At Protegesoft, we departed from the norm to encapsulate business and other financial portfolio functions in class libraries. Caching was also used extensively to reduce the incidence of select statements from databases. In order to cache the data in memory, we used data structures to store critical secondary data that was frequently accessed to speed up fetch operations. This improved performance of the application dramatically.

Second, we optimized frequently used portions of code. This also meant that dead code was removed and we also checked the efficiency of inner and outer loop. In some cases, a ‘Parallel For’ was used instead of a normal ‘for’ loop.

Here are other optimizing techniques from Intel and HP for mission-critical applications:

Introduction to Microarchitectural Optimization for Itanium® 2 Processors:
http://cache-www.intel.com/cd/00/00/21/93/219348_software_optimization.pdf

Optimizing Itanium Based Applications
http://h21007.www2.hp.com/portal/download/files/unprot/Itanium/OptimizingApps-ItaniumV9-1.pdf