Leveraging the power of multi-processing technologies requires OSS/BSS providers to overhaul the entire application architecture
For years, software developers and hardware manufacturers have been looking forward – dreaming – of the day that these two independent pursuits would finally come together and realize the power in their combined quest.
As processing speeds have continued to increase and applications have eagerly gobbled up that additional power, the outer limits of silicon's base properties are being reached. The heat generated by faster processing speeds would, ultimately, lead chips to self-destruct in a blaze of glory.
Okay, chips are small, so maybe not a blaze of glory, but you get the picture: Go too fast and your chip will burst into flames.
Thus, the theory of multi-processing was born. It has, however, taken decades to make it a reality. Big-name manufacturers like
Big-name manufacturers like Intel, IBM, AMD and Sun have all launched multi-processor lines in recent years.
Development Strategies for the Multi-Processing World
While the adoption of multi-processor hardware is a good news story, it does force software developers to make some significant decisions about the future of their product offerings.
Intel, IBM, AMD and Sun have all launched multi-processor lines in recent years. In the first half of 2010, Intel will ship an 8-core machine hyper-threaded to 16 cores on a single chip. These developments are becoming commonplace (and affordable) for all enterprises.
So, we can just keep going faster and faster and crunching more and more data with these bigger, better, hyper-threaded multi-core processors, right? That's where the theory falls apart. It seems software actually has to be programmed to take advantage of multi-processing. Run traditional software on a multi-core processor and it will just use one of the processors with little boost in performance. Optimize it for the multi-core environment and watch the performance numbers go through the roof.
This changes everything.
"We have reached the upper end of what single processors can do to improve system performance. You cannot keep throwing faster hardware at performance issues," said Ray Shear, Sr. Software Architect at Info Directions, Inc. "If you fail to fundamentally re-architect the application to take advantage of multi-core processing, you will quickly reach a point of diminishing return."
The problem is software development for the multi-processing OSS/BSS world requires a much deeper understanding of how all the tasks that surround billing actually work. Developers need to recognize the interaction between the operating system, the development tools, the servers, etc. The engineering work is far more granular and calls for additional effort in planning the task division and synchronization of concurrent processes.