|
Usage
INSTALLTo Install MemX, do: $ make Then copy doc/memx.conf.sample to /etc/memx.conf and set the options you're interested. I would recommend setting: auto_blacklist=1 Also, if you don't want to do make install, then you'll need a memx.conf anyway with the following line inside of it: local="path_to_memx_source_directory" (inside /etc/memx.conf) subscribe for questions @ memx@googlegroups.com Or visit: http://memx.googlecode.com USAGEThe server's primary job is to blindly store memory pages in kernel space over the network. The client's job is to intelligently and efficiently utilize the available kernel interfaces and load-balance those pages to any available server. NOTE: from here on out, all information applies to both Linux and Xen VMs. Memx is managed w/ the command: $ memx command options... Type "memx help" to view the options. Here is a summary: On machine A: On Machine B: For many other commands, type: OPERATIONThe client provides a standard block interface. You may read/write to the client in a multitude of ways: 1. open() / mmap() / read() / write() / close() system calls The block device is located at: $ /dev/amem{a,b,c...} By default, there is only one device: /dev/amema. In order to use more than one, simply specifiy "num_devices=X" at the end of the "start" command. There are also other parameters for the "start" command. Type "memx help" to view those parameters. NOTE: each /dev device is disjoint. There is no shared memory. You may, however mmap() these devices to your own satisfaction. Linux will manage that in the standard way. COMPATIBILITYMemX has been tested for specific Linux and Xen kernel versions, and should compile just fine, but is quite easy to port otherwise. If it does not compile for you, it's probably something minor. Just email us, and we will be happy to help you along. We have tested it for 2.6.9 through 2.6.31, which of course includes Xen Guests. NOTE: MemX does not preserve network endianness right now. We just didn't get around to it. So make sure your nodes are intel-to-intel or sparc-to-sparc only. (or even powerpc-to-powerpc only). NOTE: MemX uses 32-bit network identifiers for each page frame right now. So if you need more than 16 Terabytes of memory, then you risk failure =). FEEDBACK WELCOMEWe are particularly eager to hear about usage feedback such as - What applications did you use MemX for? If you use MemX in a product or to publish any research results, please do let us know as courtesy. If you would like suggestions on how to get started writing programs to write to use the Memx /dev device, we'd be more than happy to discuss it with you. We also welcome any constructive suggestions, bug reports, bug fixes, feature enhancements, and ports. |