Project Home
Project Home
Documents
Documents
Wiki
Wiki
Discussion Forums
Discussions
Project Information
Project Info
Forum Topic - TDP, SMP, and Grid computing: (4 Items)
   
TDP, SMP, and Grid computing  
Hi all,
I hope this is the right place where discuss about a possible feature of the QNX.
QNX RTOS have the TDP as a nice and useful feature to access transparently remote resources, in trusted and untrusted 
environment. 
Another very nice feature is the ability, through the new Advance Runtime Module (Adaptive Partiitioning), to manage 
load condition and ensure CPU availability to critical process.
Now I expect that Adaptive Partiitioning works well in SMP environment moving the processes from CPU to CPU to correctly
 balancing CPU usage.
In a grid computing environment, processes are moved from node to node in order to complete the assigned job. An example
 is the MOSIX extension for Linux kernel.
My question and doubt is simple: is it possible to "merge" TDP and Adaptive Partitioning in order to extend "
transparently" the Adaptive Partiitioning load balancing to a set of distinct node?
TDP creates the infrastructure while Adaptive Partiitioning use it to optimize the processing across multiple node. All 
the work can be done without a special framework or particular code like happens for other OSes.
What do you think about this?

Mario.
Re: TDP, SMP, and Grid computing  
I know something about APS (adaptive partitioning scheduler) but less about TDP. As far as I know there is nothing in 
qnx that automatically migrates processes from node to node. APS's cpu bugeting only spans the smp cpus in one node.

 > is it possible to "merge" TDP and Adaptive Partitioning in order to extend "transparently" the Adaptive Partiitioning
 load balancing to a set of distinct node?

Possible? Sure? It would mean rewriting APS and adding some new fundemental concents to Neutrino to add the notion of 
mobile processes. Sounds like a lot of work to me.

-ad

Mario Mastrodicasa wrote:
> Hi all,
> I hope this is the right place where discuss about a possible feature of the QNX.
> QNX RTOS have the TDP as a nice and useful feature to access transparently remote resources, in trusted and untrusted 
environment. 
> Another very nice feature is the ability, through the new Advance Runtime Module (Adaptive Partiitioning), to manage 
load condition and ensure CPU availability to critical process.
> Now I expect that Adaptive Partiitioning works well in SMP environment moving the processes from CPU to CPU to 
correctly balancing CPU usage.
> In a grid computing environment, processes are moved from node to node in order to complete the assigned job. An 
example is the MOSIX extension for Linux kernel.
> My question and doubt is simple: is it possible to "merge" TDP and Adaptive Partitioning in order to extend "
transparently" the Adaptive Partiitioning load balancing to a set of distinct node?
> TDP creates the infrastructure while Adaptive Partiitioning use it to optimize the processing across multiple node. 
All the work can be done without a special framework or particular code like happens for other OSes.
> What do you think about this?
> 
> Mario.
> 
> _______________________________________________
> OSTech
> http://community.qnx.com/sf/go/post14959
> 
Re: TDP, SMP, and Grid computing  
It's right that some work must be done in order to achieve these objectives, but this kind of OSes is desirable in other
 environment (not necessary in embedded world) where cluster of computer are used.
Note that some UNIX Oses have framework to achieve this objective.
As is written in the QNX site for an AMP architecture:

* Run different instance of QNX Neutrino on each cores
* Preserve legacy operation
* QNX Transparent Distributed Multiprocessing for communication between cores 

It is possible that it do that until now, but if is possible extends Transparent Distributed Multiprocessing to multiple
 CPU using the same approach that TDP apply to the resources (all the elements visible on the filesystem) of each node I
 think it is possible to create an AMP system using multiple remote CPU.
The APS, that works on multi-core CPU, can do the same job. In an SMP system /proc folder is shared between all cores 
(or CPU). 
In an AMP I think that each OSes is joined to one cores and have its own /proc folder. Well, in the last scenario all 
OSes can see the /proc of the other nodes (/net/<node name>/proc). "Moving" /proc subfolders, and adapting opened file 
descriptor (in order to point to the correct resource), to a less loaded CPU all the work is done.

Mario.
RE: TDP, SMP, and Grid computing  
We can do "remote spawn()" but what you are asking, is basically a
"remote fork()". :)

In fork() case, not only the fds but all the memories need to be all
copied. Based on how big the application is,
this (sending X MB of memory) may just defeat the purpose.

I think it still need a "framework". Have a "distributor" dispatch jobs
into different clusters. And have worker/distributor
talk to each other to decided who's busy/who's not...

The "APS" on this networked environment is basically controlled by the
"distributor" (where to dispatch the job).

-xtang

> -----Original Message-----
> From: Mario Mastrodicasa [mailto:community-noreply@qnx.com] 
> Sent: Tuesday, October 14, 2008 12:47 PM
> To: ostech-core_os
> Subject: Re: TDP, SMP, and Grid computing
> 
> It's right that some work must be done in order to achieve 
> these objectives, but this kind of OSes is desirable in other 
> environment (not necessary in embedded world) where cluster 
> of computer are used.
> Note that some UNIX Oses have framework to achieve this objective.
> As is written in the QNX site for an AMP architecture:
> 
> * Run different instance of QNX Neutrino on each cores
> * Preserve legacy operation
> * QNX Transparent Distributed Multiprocessing for 
> communication between cores 
> 
> It is possible that it do that until now, but if is possible 
> extends Transparent Distributed Multiprocessing to multiple 
> CPU using the same approach that TDP apply to the resources 
> (all the elements visible on the filesystem) of each node I 
> think it is possible to create an AMP system using multiple 
> remote CPU.
> The APS, that works on multi-core CPU, can do the same job. 
> In an SMP system /proc folder is shared between all cores (or CPU). 
> In an AMP I think that each OSes is joined to one cores and 
> have its own /proc folder. Well, in the last scenario all 
> OSes can see the /proc of the other nodes (/net/<node 
> name>/proc). "Moving" /proc subfolders, and adapting opened 
> file descriptor (in order to point to the correct resource), 
> to a less loaded CPU all the work is done.
> 
> Mario.
> 
> _______________________________________________
> OSTech
> http://community.qnx.com/sf/go/post14971
> 
>