It has an API, which is plugged in. The API will recognise, which application is consuming more threads or cache or clock speed and supply it accordingly
A thread is the smallest unit of processing that can be scheduled by an operating system inside a processor.
There are three types of threading, namely Time Multiples Threading (TMT), Vertical Threading (VT) and Simultaneous Multi Threading (SMT).
Mitesh Agarwal, CTO & director, Oracle India, explains what the new Dynamic Threading technology is all about.
Q: What is it, and is it new?
A: Dynamic threading is not a new concept, however, it was never executed in a commercial product before.
With Dynamic Threading, assuming I have four threads inside a processor, I can dynamically turn off or on threads based on application profiles. Thus the processor is being utilised in a far more efficient manner
For example, if someone has a core banking database, which is extremely single threaded, it requires processor clock speed, and a lot of cache. So with Dynamic Threading one can dynamically increase or decrease clock speed, or give it more cache.
Q: Wasn't this being done before in terms of Hyper Threading or Multi Threading?
A: Dynamic threading can not be done in any of the the other forms of threading technologies. There was one way in which you could do it in the past, using TurboCore from IBM, but then you have to completely shut down the system and then reboot it.
Now, if you have to shutting down a system is not a viable option today. Moreover, one could do it only at a core level, and not on threads, cache or memory levels.
Whereas, with Dynamic Threading anything on the motherboard can be controlled without the system administrator having to configure it. It will take care of the application profile automatically.
It is also different from Intel's Hyper Threading technology. Hyper Threading just means doing multi threading on a server. That is, if you have a core, with two threads, then you can initiate both the threads.
Q: How does it work?
A: It has an API, which is plugged in. The API will recognise, which application is consuming more threads or cache or clock speed and supply it accordingly.
So you do not need to make any changes or re-coding to at application level. It will dynamically keep adjusting. This is completely transparent to the user as it happens automatically.
It removes the headache of a system administrator having to manage it or having to reboot the system. In a live data centre production environment one cannot keep rebooting systems.
Q: Is there a similar technology available from IBM or HP?
A: There is no technology in the industry which can do threading at the lowest value inside a processor, which is a thread, and that too using an operating system.
There is no one, not even IBM or HP, in the industry who are even close to introducing anything like this because this is a combination of a operating system feature and a hardware chip feature.
At the chip level IBM managed to Turbocore, but that is only at the entire core, however
there is nothing called 'TurboThread'.