Profiting from a Core Software strategy

If you know about the Core Software Strategy, it's quite powerful, because you can take advantage of the considerable investment that Intel and others make with "engines", the core code which drives a large number of solutions in both Enterprise and Consumer space. (Read my other post to hear my thoughts on this strategy).


One of the central assumptions has to be that whoever is doing the engine optimization has a usage model that is relatively close to the one you are using.


The simplest example was one brought up in a comment from one of the readers of this blog. Let's say you are using core software such as a database, but your usage is primarily sequential and single-threaded. Ie, you do one transaction at a time, one update at a time, and your usage of the engine is not in parallel. If the engineers doing the database optimization did their analysis using a multi-threaded workload, then it's possible that this engine may in fact not be the most optimal for your purposes.


Part of me wants to say, "Right on." After all, if you application is fundamentally sequential and you will never have more than one request into the database at a time, then a full-blown modern commercial relational database management system may not be the best solution for you anyway. So much of the code in a database engine is there to maintain the ACID* properties of transactions in the face of multiple readers and writers in a database, which might be total overkill for your application.


But if your use of the engine is even remotely close to the workloads used to optimize them, you will reap the most benefit.


So perhaps while you are quizzing Intel and your favorite ISV on what platform they optimize their software on, perhaps you should also ask what workload or benchmark they use when optimizing the engine, so you can see if your application will take best advantage of it.


Happy "engining",


Dave


* ACID stands for Atomicity, Consistency, Isolation and Durability


Note: The opinions in this post are mine alone and do not reflect Intel's official opinions or strategies.


Pour de plus amples informations sur les optimisations de compilation, consultez notre Avertissement concernant les optimisations.