Gurgen Petrosyan wrote:
> I'm trying to deploy MySQL Custer on a linux cluster with Myrinet
> interconnect but I dont wanna use IP addressing over Myrinet. So is there
> any option of doing so for exapmle using GM library or something else. Or
> is there a way (is there an API) for creating our own transport for
> Regards, Gurgen
Ndb currently support 4 different so called Transporters: TCP, SCI, SHM
and OSE. (The only one used daily is TCP)
So creating one for myrinet should definitly be possible.
The base directory for our Transporters are:
ndb/src/common/transporter and ndb/include/transporter
So to create a Transporter for myrinet you need to:
1) Create a subclass of Transporter
2) Modify TransporterRegistry to be able to create it
3) Modify TransporterRegistry to be able to poll from it
4) create configuration parameters for it, mainly
5) test & bug fix
--- Implementing poll
Currently no transporter other than TCP has implemented a good poll (TCP
uses select) and SHM and SCI uses a busy-wait-loop which is "functional"
on multi-processor machines.
Implementing SHM with semaphores shouldn't be that tricky, but we have
no clever way of polling TCP simultaniously with SHM, so no one has done
The best idea so far is having threads polling different transporter types.
Jonas Oreland, Software Engineer
MySQL AB, www.mysql.com