My C language (linux) application needs 1 terabyte of memory as minimum. 8 Terabytes would be the best. How can I support such memory capacity in a server? One way to do it, is to build my own PCI card and put 128 GB DDR4 modules which is the largest available modules on the market right now. But I will have to rewrite all the malloc() calls and all addressing of the array variables. Is this possible to do in C in a transparent way? The only way I can think of is to use PCI-express-allocated memory for arrays only and to access them I will have to rewrite all functions in this way:
put(huge_array,index,&data);
get(huge_array,index,&data);
just like in C++ get() and put() methods. But my app is not C++ , it is C.
What other alternatives do I have, that is not going to cost me my a lot of money + my shirt?