Vortex: Massively Parrallel?

April 18, 2007 on 2:05 pm | In Programming | By QBasicer |

With the growing trend of multi-core processors, I saw it only fitting that Vortex be optimized for working with multiple processors.

It does this by creating a seperate thread for each appliction that it’s running. Each thread has a “MailBox” object. It checks this mailbox for a message, then deals with it. Each mailbox is managed by a reporting “PostOffice.” When a thread sends a message, it calls up the local mailbox, which routes the message through the postoffice (locking several mutexes at the same time, until it gets to the destination thread, where it locks that mutex, it then deposits the message, and backs out. The destination mailbox now holds the message.

In essence, the PostOffice object just handes the routing off the messages, and the postoffice is always called though the sending thread’s thread. I can see potential of a bottleneck, and I think I can optimize it so that only the two destinations, are locked, as well as modifications to the routing table. I’m also thinking of creating a “keyed access” to the postoffice, so that any thread with a key can do administrative commands on the postoffice. I would overload it like:

po->getList();
po->getList(authKey* key);
po->getList(keyperms* perms, authkey* myauth, authKey* destkey);

So that multiple keys can be issued with multiple security settings. To set the auth settings for a key, you’d insert your key, as well as the destination key. In terms of security, it would be rather easy to gain access to a key, but if I can figure out a way to randomize the key location in memory, or change it every few minutes, that would be good.

No Comments yet »

RSS feed for comments on this post. TrackBack URI

Leave a comment

XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Powered by WordPress with Pool theme design by Borja Fernandez. I rewrote the CSS because I'm cool like that.
Entries and comments feeds. Valid XHTML and CSS. ^Top^