New Role: Industrial Research Chair - Open Source Technology for Emerging Platforms Thu, May 10. 2012
On Tuesday, the Natural Sciences and Engineering Research Council (NSERC) announced a number of grant awards at the Polytechnics 2012 conference, including the new Industrial Research Chairs for Colleges (IRCC) grants. I am honoured to be selected as the chairholder for the NSERC Industrial Research Chair for Colleges in Open Source Technology for Emerging Platforms in the Centre for Development of Open Technology at Seneca College.
This five-year renewable applied research grant enables me to continue and expand upon the work that I have been doing, along with a talented team of research assistants, with Fedora ARM and related projects. My goal is to bring the wealth of open source software currently available for x86 PCs and servers to emerging ARM based general-purpose computers. Although ARM architecture chips are the most popular CPUs made (more ARM chips shipped last year than there are people on this planet), most of these went into dedicated devices, and ARM chips are just starting to appear in general purpose computers. In order to make the transition to general-purpose ARM systems viable, industry-standard software stacks are needed. Fedora is a perfect fit for this purpose, because it encompasses both a large collection of cutting-edge open source software and a vibrant community, and it feeds many downstream distributions and projects.
My work in this new role will start with an expansion of existing work, including operating the Fedora ARM Koji buildsystem and improving the Raspberry Pi Fedora Remix, but I will additionally be focusing on Fedora on ARM server-class systems. In future phases, this will encompass working with the Fedora ARM project to promote ARM to primary architecture status, extending existing open source system management (and possibly virtualization/cloud management) frameworks to manage high-density ARM clusters, doing field trials of ARM-based data centre solutions, and bringing Fedora to the next generation of ARM technology.
Although the majority of my activity will shift from teaching to applied research, I will continue to teach the SBR600 Software Build and Release course in order to bring the research experience back into the classroom. I'll also continue to participate in the TeachingOpenSource.org initiative. As an Industrial Research Chair, I will also have a bit more of a public-facing role, representing CDOT and advocating the use of energy-efficient systems to local SMEs.
Many thanks to Red Hat for partnering with Seneca on this initiative, and I look forward to (continuing to!) work closely with Red Hat's incredible technical staff. I also thank the many companies and organization who wrote letters of support for the grant application, and look forward to collaboration and possible future partnerships with those organizations. And I particularly want to thank Seneca for its support of applied research, my colleagues at CDOT for their encouragement and for creating such an awesome environment to do applied research, and for the team that wrote the grant application under intense pressure and tight deadlines last November.
Watch this space for updates!
Fedora ARM PandaStack Wed, Mar 9. 2011
The PandaStack I mentioned previously - a stack of PandaBoards mounted on threaded rods, powered by a modular ATX power supply - is now a fully-functional part of the Fedora ARM project koji buildsystem.
For anyone interested in building a similar stack, here's the parts list and assembly instructions:
- 15 PandaBoards (or whatever quantity you wish to stack; the photo here shows 11 boards, since we have temporarily removed 4 for various device driver test projects)
- 15 barrel connectors
- 1 ATX 750W modular power supply (note: higher-rated power supplies may not have more current available on the +5v rail, which is what is used in this project)
- 4 threaded #4-40 stainless steel rods. (Note: BeagleBoards accept a #6-32 thread, but PandaBoards have smaller mounting holes).
- 1 pack (100) 0.25" nylon spacers
- 1 pack (50) 1.25" nylon spacers
- 2 packs (10) stainless steel acorn nuts
- SD cards, ethernet cables, network switch
- hacksaw, soldering iron, solder, wire strippers, heat-shrink tubing, heat-shrink gun (or embossing craft gun), multimeter
Cut the threaded rods to size with the hacksaw. Stack the boards on the rods, reversing the orientation of every second board so that it is upside down with the ethernet jack facing the opposite side of the stack; this will result in ethernet and power jacks down two opposite sides of the stack, with serial ports on another side and no connectors on the remaining side (which is the "bottom" of the stack). Use the 1.25" spacers between adjacent boards in a right-side-up/upside-down pair, and the 0.25" spacers between pairs. The grounding strips on the top of each ethernet/USB connector tower will just touch the plastic cases of the LED drive transistors on the adjacent board in each pair. Fasten the stack with the acorn nuts.
Gather the barrel connectors in groups of five. Connect each group to the +5 volt (pin 1) and ground (pin 2/3) leads of a molex connector from the ATX power supply (cutting off the cable connected to the molex connector, and ensuring that the barrel connectors are wired center-positive). Solder, then insulate with shrink-wrap tubing. Take the motherboard connector of the power supply, pull off all of the leads except pins 8 (PWR_OK) and 16 (PS_ON), solder those leads together, and insulate with shrink-wrap tubing. Plug the molex and motherboard connectors into the ATX supply.
Place the stack on its side on a wire shelf for convection cooling. Test the power supply leads to ensure you're getting a solid +5 volts, burn and insert your SD cards, connect your ethernet cables, and connect the boards one at a time to the power supply unit with the barrel connectors.
Enjoy your silent tower of computing power!
Running Fedora ARM without ARM Hardware, Made Easy Mon, Feb 28. 2011
Interested in ARM but lacking ARM hardware? Not a problem! Fedora includes support for ARM virtual machines, and I'm packaged up a preconfigured ARM VM for your convenience:
- ARM virtual machine package: http://scotland.proximity.on.ca/arm/armvm/noarch/armvm-f13beta1-15.fc13.noarch.rpm
- Repo config for staying up-to-date on ARM VM releases: http://scotland.proximity.on.ca/arm/armvm/noarch/armvm-release-1-1.fc13.noarch.rpm
The armvm package will install a preconfigured ARM virtual machine named "f13-arm-beta1" with a 2GB image and a 128MB memory footprint. Since x86_64 processors don't provide hardware support for ARM processor virtualization, the ARM VM will run slowly compared to i386/x86_64 VMs, but the performance should be tolerable on most machines (Atom netbooks excepted). You can manage the VM with virsh or virt-manager. I've tested these packages on F13 and F14, but not on F15 Alpha yet. (By the way: the root password on the VM is "fedoraarm").
(Please don't forget that both the Fedora ARM beta release and the armvm package are very definitely at the pre-release/beta stage of maturity. In particular, updating the armvm package will REPLACE your arm VM with a new image - beware!).
Temperamental Power Supply Wed, Feb 23. 2011
Today, the ATX power supply for the PandaStack I described in my last post is working happily. I have no idea what changed... which is a bit worrisome.
PandaStack Tue, Feb 22. 2011
Our "PandaStack" of PandaBoard builders (shown here with 9 of the 15 builders installed) is now ready to run as part of the Fedora ARM build farm. However, I've run into a weird problem -- the ATX power supply I bought to power the boards works fine with 1-3 boards, but Something Bad happens when a fourth board is connected. It's not a capacity issue as far as I can see; it seems to be related to noise. Time to borrow a scope and take a close look at waveforms ... in the meantime, we'll power some of the boards with the ATX supply and some with stand-alone power bricks.