Reputation: 68740
I've been hearing a bunch about Apache Thrift lately, though I know very little about it. I understand that it's a remote procedure call framework and abstracts calling functions across languages and on different machines. I've looked into MPI and found it's absurdly low-level. Would Thrift be a good higher level replacement to allow parallel computation to be performed on a networked group of machines?
Upvotes: 0
Views: 1259
Reputation: 18659
The answer depends on your performance requirements. If you are looking for pure computational power using the networked group of machines then thrift is not quite ready.
Thrift has its own serialization to abstract away the type conversion between languages and versions of the API. This is great for enterprise/client server systems which can take the performance hit of doing these conversions for the benefits that come from allowing clients and servers in different languages. However for a high performance networked group of machines this may be useless as your nodes will probably use the same language.
Also the asynchronous I/O is fairly new and immature for most of the languages which means the use of blocking network I/O. This is probably not ideal for what you want to do.
I use thrift extensively and it solves a lot of problems and the community is fairly active. However its probably not the right tool for your problem.
Upvotes: 2