Posts Tagged ‘Protegesoft’

APAC Innovation & Creativity

I want to talk about the innovation happening in APAC and the 2009 Itanium Solutions Alliance Innovation Awards. Last year, two member companies from APAC, namely Protegesoft and S7 Software, were winners in two out of the three categories. While I did expect that APAC companies would do well at the awards (I have met many with very innovative applications), I certainly did not expect to find two winners from APAC. I hope that after last year’s success, we will get even more submissions this year from APAC companies and that APAC will provide at least one winner this year. (I wanted to say that APAC will provide all the winners this year but that might incur the “wrath” of my other colleagues in the US and EMEA.

The Alliance extended the deadline to submit for this award to June 3rd. If you are developing a submission and need assistance, I suggest an email to awards@itaniumsolutions.com.

I also wanted to share that I finally caught the movie “Slumdog Millionaire” two weeks ago (yes, I am a little behind with my movies)… and no, I am not going to start gushing about how great the movie was (you have all heard and read about that already). What a great story though, written by an Indian - very creative.

And in the context of what I mention above – not only can Asians write great stories; we can also develop great application software… even better when it takes advantage of the capabilities inherent on an Itanium based system.

Here’s to another Asian winner in the ISA Innovation Awards - Go APAC!

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

Innovation Awards a great opportunity

I have been involved with the Alliance for a few years and I must confess that it is the rewarding journey of my career. I was introduced to the Itanium platform through HP back in 2004 and I didn’t think much of it back then. It was only after HP had shipped an Integrity Server (Itanium) that I started to doodle with this machine. It was quite daunting in the beginning but we soon learned that this puppy could really run!!! The performance was simply amazing.

My company, Protegesoft, built several apps over the next few years – the most successful was of course the Financial Portfolio Builder, which optimized stock and bond portfolios dynamically. This proved to be a winning submission for the 2008 Innovation Awards. You can read more about the application on the Protegesoft website and the Alliance website.

Winning the award was not only a personal achievement, it gave us better recognition in the industry and opened more doors.

You can follow our work on Itanium more closely on the following blogs: http://itaniumsols.blogspot.com/ and http://financialportfoliobuilder.blogspot.com/. Feel free to email me.