- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Can somebody help me build Aerospike database server for Intel Xeon Phi Co processor. A step by step guide would be appreciated (as I am new to the Intel MIC). I am able to build the database server on the host environment but it is native execution of the server on Xeon phi co-processor where I have completely lost. Thank you in advance.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
AFAICT aerospike needs LUA , which is not available for the Xeon Phi. You will need to get that running first before attempting to build aerospike,
Having said that, I am not sure that it will be worth the effort: the first gen Xeon Phi is good at one thing: running vectorized floating point code. It typically does not perform well when running many different non-FP threads.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
You are right but LUA is required for UDF which is not need as per my project requirement. As for your second statement can you please elaborate more as to why do you think it won't perform well because one of my major task is to parallelize the source code.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
In general:
- databases perform non floating point tasks mostly, and do not vectorize well
- Xeon Phi's are very good at running vectorized floating point tasks, not so good at running many different integer-type threads
Thus, I would suspect that even if you do get aerospike running on the Xeon Phi that it would not perform particularly well - orders of magnitude slower compared to a dual-socket Xeon E5 2697 v3, for example.
As for building aerospike: I checked out the code and tried to build it. It first wants to build the modules jansson and jemalloc; with a bit of tinkering jansson builds for the Phi, but jemalloc fails to build altogether:
checking whether valgrind is compilable... no checking STATIC_PAGE_SHIFT... configure: error: in `/home/janjust/src/aerospike-server/modules/jemalloc': configure: error: cannot run test program while cross compiling See `config.log' for more details.
These are the kinds of issues that you will have to resolve for all dependent modules - and this can be a painstakingly hard process.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I would like to second JJK's warning about vectorization. Before trying to get the code to vectorize on the Intel® Xeon Phi™ coprocessor, I would recommend trying to vectorize it on the Intel® Xeon® processor. I think that you will see there is just not enough work that could be vectorized. There are some operations you could use task parallelism on but that alone won't be enough to get real benefit from the coprocessor.
One other thing to consider - the coprocessor has no attached disks; for a database of anything more than a toy size, you will need to NFS mount a file system from the host and do all your data accesses over the PCIe connection.

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page