开发者

Is Apache Thrift a Good Platform for Parallelism?

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 fun开发者_如何学运维ctions 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?


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.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜