HotOS 17
This week I had the opportunity to attend ACM SIGOPS HotOS ’17. This is a workshop that focuses on discussing work in some stage of progress. The papers are not as polished as one would find at a full conference and in some cases they are more about being provocative – encouraging the reader to consider some existing problem in a new light.
It is a small function, with a limited number of people invited. Because I am working with one of the people involved in organizing it, when an opportunity to help out arose I was invited to attend. My role was to help out with various functions, including assisting in the live blogging of the workshop (hotos17.tumblr.com) as well as leading tours, handling registration, and generally being part of making the participants feel welcome.
It also provided an opportunity to begin learning more about members of the research community. Several things surprised me somewhat: (1) these are highly specialized researchers. The field is broad enough that there were only ever a handful of experts in any one aspect of it as the discussions and papers flowed around. (2) I was able to actually really understand a couple of the talks. One of them made me angry, partially because it was an attack on people not present that I know. Still, many of the talks were in areas where I only had general understanding, not a specific understanding of the subject matter.
The one talk that annoyed me? Transactional file systems!
Decision Made
The decision deadline was last weekend and I confirmed my decision, accepting one of the offers and declining the other. I’m excited that I’ll be starting my new program officially near the end of summer.
I’m already starting to think about the fact that this journey is really about to begin. I’d be lying if I said that I weren’t still in a bit of shock – euophoric shock, for sure, but still shock. Despite everything that I had going against me, I managed to make this happen – and no amount of actually thinking about it makes me view it as quite a (wonderful) surprise.
For example, if I hadn’t been in the position to take the research assistant position with UBC, I suspect I’d have been less likely to have been offered admission there. Of course, had I not been summarily dismissed from my job just a couple weeks earlier, i wouldn’t have been in a position to do so. Pretty exciting, indeed!
PhD offers
So I’ve now been offered admission to two of the three PhD programs to which I have applied. The third I knew was unlikely as they require a thesis Master’s degree, but I don’t have a thesis. I was hoping that the fact I’ve co-authored two books might count for something (because frankly, writing a book is far more work than writing a thesis).
So for now I’m mulling over the best decision to make – but what an amazing place to be: choosing between two excellent schools, with the choice of two amazing advisers. There really isn’t a losing option at this point, which is an amazing place to be.
Building the New System
In my prior life I’d had an opportunity to assemble some awesome tools for my work. This included both a great desktop (workstation) system as well as a good laptop system as well. Even at four years old, the desktop system was terrific: dual Xeon processors with 48GB of RAM (24GB each CPU). Each E5 CPU had 6 cores, with hyperthreading.
I started with a small Intel NUC system – dual core i7-5557U with 16GB of RAM, a mechanical keyboard, a 4K2K UHD monitor and gaming mouse, with a Samsung SSD. Good performance and it allows me to dual boot Windows 10 (1607) and Linux Mint (Ubuntu 16.04). I needed something portable so I ultimately settled on a Microsoft Surface Book. I’m still getting used to it, but I do find the detachable screen/tablet useful.
As I started my current research project (more on that later), I concluded that I’d like to do some work with TSX, Intel’s new hardware transactional memory support. I had no problems downloading and running one of the packages that demonstrates the use of TSX and I was pleasantly surprised to find that my Surface Book actually has full TSX support, which is awesome.
Upon further thought, I concluded that I still needed to have my workstation capable as well – and unfortuantely the NUC system doesn’t have TSX support. So I looked at a variety of options, along with other potential needs for my research and concluded that what made the most sense was to build a new workstation. It took me a couple of days looking at various options to settle upon my current solution: I’m building another workstation.
The base of my workstation is an Asus Z10PE-W8 motherboard. This is a dual socket Intel 2011-3 motherboard. I’ll be using dual E5-2603 v4 CPUs (6 cores each, no hyperthreading). The work I’m doing isn’t CPU bound. Rather, for TSX testing/work I want a machine that will exhibit real memory contention. This is a NUMA architecture system, so each CPU will have its own dedicated memory channel. Hyperthreading is actually bad for TSX (since the threads share CPU resources) though I suppose there may be failure modes I won’t see (but the Surface Book has SMT, so I can test it out there as well). These are the low end CPUs, but they have TSX-NI support (according to the Intel ARK page, let’s hope it’s right). I’ve paired it up with 64GB of RAM (2x32GB) so I’ll have plenty of memory and plenty of options for expanding the memory in the future. While I’d like to add NVDIMMs as well, that’s outside my budget at the moment. The option is still there, though…
For storage, I’ll put a SANDisk 1TB m.2 SSD on the system. As far as I’m concerned, SSD is the best choice for storage on a high performance workstation these days, though there are faster options albeit at a much higher price point. Rounding that out with an AMD FirePro W4300 workstation graphics card (four DPI ports!) and a Phanteks case (this is an SSI EEB motherboard, so there aren’t a huge number of case options!) plus some Noctua CPU fans and I have a solid workstation. Ironically, it’s really just an updated version of what I built four years ago.
I’ve settled on a Das Keyboard Model S – a nice mechanical keyboard with excellent reviews. I’m definitely hard on my keyboards. I’ll use my existing Acer monitor for now, though I’m shopping now for a second monitor, as I know from prior experience that multiple monitors are great for productivity.
Parts started arriving today. Once I have everything, I’ll put it all together and make sure that it all works. The case will be mostly empty for the time being – the case is huge because the motherboard is itself huge, but I’m not going to populate it with storage yet. I’m a fan of the HGST Helium drives – for mechanical drives they are pretty amazing but for what I’ll be doing in the near-term I don’t expect to need a big storage device. Still, I can see how it will be useful moving forward.
Look forward to reporting on how it all comes together.
New Patent Issued!
US Patent 9,535,759 issued yesterday, my latest patent.
It’s not up on Google Patents yet, though it is here: http://patents.com/us-9535759.html (it requires registration to get a PDF version of it).
Need to update the CV…
Artificial Intelligence in the virtual classroom
There have been a number of articles about the AI TA for a class at Georgia Tech. I find these fascinating because I took this class in the summer 2016 session.
I’ve considered ways to use this approach to facilitate online learning in other environments as well and I’d like to look into it more in the future. Nothing definite now, but I’ve had a few preliminary discussions. Let’s hope they bear fruit.
Stay tuned!
Letters of Recommendation
Once again, I find myself in the position of asking people to write letters of recommendation. My usual MO for this is to first ask if they are willing to do so. I make it clear that I will provide them with a template letter which they can then modify as they see fit – after all it is their letter, but it is to my benefit. Thus, I want to minimize the hassle for them and ensure that the letter is strong.
In that context, I ran across this awesome post on Quora by Dr. Richard Muller about what he asks students to write up to assist him. The gist of this was his requirement that someone give him an interview:
My first step is to interview the student. I ask to be reminded of every time in the past we had interacted, if at all. Normally I mention these times in my letter; it helped the reader to recognize that the student was active.
Then I ask for any things that the student worried about, bad grades in other courses, for example. We then discussed them, and in my letter I might mention the fact that I was familiar with it (with a D, for example, in another class) and I would describe why (if true) I didn’t think that should be used as a negative. (Typically the student had a good reason.)
I ask the student to write me a page describing what he thinks of himself/herself, and what the student does outside of classwork. That’s based on my experience that those reading my letter often like candidates more if the student was well-rounded and personable.
I thought this was brilliant and plan on using this moving forward.
Welcome!
This is my new blog, dedicated to the world of file systems.
I’ve been working with file systems for some time now (longer than I’d care to admit). If you are not familiar with a file system think of it as the software inside your computer that stores your data away and gets it back for you when you want it. It provides the organization to your storage device – whether it is a disk drive on your local computer or storage in some far-away location (“the cloud”).
It plugs into the critical software that runs your computer system and provides services to that applications can find your data as well. When it works right, you hardly notice it – much like plumbing. When it doesn’t work right, you suffer.
I’m not sure where this blog will take me, but I’m going to use it as a mechanism for tracking my own journey, organizing my own research. If you find it interesting as well, that’s awesome! If you don’t, it won’t diminish my own purpose for doing this.
Recent Comments