Ken Hornstein
2010-Apr-12 18:22 UTC
[Lustre-discuss] Early alpha version of MacOS X Lustre client available
Greetings all. I am pleased to announce that I have made available an "early alpha" version of my port of the Lustre client to MacOS X. By "early alpha", I mean that it works, for me, and it might work for you. But it might crash your system. Actually, it will probably almost certainly crash your system at some point. Don''t plan on using this in any sort of production system is really my main point (I don''t expect that it will harm your servers, but, hey ... it IS an early alpha). You can download it here: ftp://ftp.cmf.nrl.navy.mil/pub/kenh/macosx-lustre-client-alpha1.tar.gz There is a brief README in there, and some scripts to install and uninstall the Lustre client. For those of you going to the LUG I am giving a talk titled "Porting Lustre to Operating Systems other than Linux" and this client will obviously be the topic of that talk, so feel free to ask me more about it then. However, I have answered some likely questions below. If you ask me something that I''ve already answered below, I will feel free to mock you mercilessly. 1) Is this based in userspace via FUSE or something like that? Nope This is a real, honest-to-god port of the Lustre kernel extensions to MacOS X. You get all of the same kernel extensions that you know and love from Linux, just ported to the Mac (well, I had to write something new to replace llite). None of the server extensions are supported, however. 2) What version of Lustre is this based on? It is based on the HEAD as of ... Thursday (4/8/2010). Specifically, commit d354281 is the last commit from master that I have merged into my local branch tree for this version. 3) Hey, I noticed that <feature X> doesn''t seem to be supported? Yes, you are right. Sadly, I was not able to get <feature X> working due to lack of {time, technical ability, understanding} on my part. But rest assured ... <feature X> is on the schedule and I plan on implementing it, hopefully before {the next few weeks, the next few months, next year, the heat death of the universe}. 4) Hey, how come performance ... isn''t great? Yeah ... sorry about that. The short answer is that this client doesn''t currently implement any caching. At all. Obviously that''s a major deficiency and one I plan on correcting as soon as reasonably possible. There''s also no readahead, so that''s part of the reason why read peformance is so lousy. Okay, write performance, while better, kinda sucks as well. I''ll be working on that as well. 5) It seems like timestamps are messed up? Yeah, I haven''t quite had a chance to make that work yet. So any files created will this client will have a Unix timestamp of "0", which means that their dates will be Jan 1, 1970 UTC. Also, the setattr call will currently return a "not supported" error. 6) Which version of MacOS X does this client work with? It currently supports Intel-based Macintoshes runing Snow Leopard (Darwin version 10.6). Specifically, I developed it on systems running 10.6.2 and 10.6.3. There are no plans to support Leopard (10.5) or PowerPC systems. 7) Does this work with Lustre 1.8/1.6 servers? Sadly, no. Right now it only works with 2.0 servers. I can''t take all the blame for that one, though ... from what we''ve seen here, that''s a problem with all 2.0-based clients with earlier servers. 8) Is the source code available? Not yet. I want to release it, my boss wants me to release it ... we just need to figure out our long-term plans for this source code, it''s eventual home, and the mechanics of distributing the source code. If you are a kernel hacker, and you REALLY want to hack on it, drop me a line and we''ll see if we can work something out. 9) Hey, my machine crashed while testing it! What should I do? Send me the kernel panic log, and I''ll take a look at it. 10) Something else weird/strange happened while testing it. What should I do? Drop me a line, and I''ll see if I can figure out what''s going on. Enjoy! --Ken