 stop the Boston bomber or anything so one of the things we're trying to do is the linux zero zero one kernel was the minimum that booted to a shell prompt and then they built up from there with a wide variety of people auditing the code and finding everything that was wrong with it well finding lots of things wrong with it anyway and everybody had the expertise to you know the bus number of the linux kernel by the time of its one point over lease there were thousands of people who could take over and maintain their own fork if necessary it was a very healthy diverse ecosystem it may be less so now it may not be less so now that sort of a tangent i i'm a little worried that the linux kernel is circling the wagons and turning into nineteen eighty-two prognards but we can deal with that if it happens that's unrelated to the stock but this never happened on the hardware side because the costs were all wrong you know it you the price of entry of hardware was well beyond the range of hobbyists linux torvalds was a college student in his room who could use christmas money and money he borrowed from his parents to get into operating system development you couldn't do that with hardware now you can this board the new motto board fpga board this is the cheapest board we found that has a powerful enough fpga in the middle of it and peripheral components that you can actually you know serial ports you can talk to it sd cards you can feed data into it this is fifty bucks forty nine ninety five from new motto's website we've made it work on a couple of other boards were not tied to any specific board but this is the one we point people at to get started because it's an impulse buy so what is the smallest simplest piece of hardware that can run linux will you need a processor capable of executing instructions you need some sort of input and some sort of output uh... the simplest of which is basically a serial port to give you a console you need a a clock to drive your scheduler which basically means you need interrupt handling it can be fairly simple interrupt handling but you need that the reason i i didn't say your input and output require interrupt handling is technically they can be pulled but your scheduler trying to pull it like no uh... you need some memory attached to the processor that can actually store the program you're running and you need some storage to load the program from uh... if nothing else just a tiny little bootloader that when you power the board on it it has to start doing something so that it can load further programs but this is the simplest thing there's a whole bunch of stuff don't need uh... you don't need video you don't need audio you don't actually need a keyboard uh... you don't need rightable persistent storage and these are all nice to have and the first version we've implemented the one we've implemented so far is a no-m-m-u processor that means all the physical addresses and virtual addresses are the same and this has some side effects as i said the s h four patents expire next year that's the point at which we can add an m m u to it although it'll probably take us a little longer to actually do so although if anybody wants to beat us to it patches welcome but we can't merge in before the patent expire but most of the stuff in my modern network is not actually needed for a little linux system now the embedded linux people will be familiar with yes i can run things on a on a little tiny tiny thing for our purposes the definition of cpu means you have a flat thirty two-bit memory space i am aware that people have previously run unix on sixteen bit and it's just not interesting anymore linux needs thirty two bit this is thirty two bit you need a working port of gcc uh... soon that will be a working port of l l v m but it isn't yet you know going forward yay l l v m but today building linux means gcc and benutils and you need a processor that executes instructions fast enough you also need uh... you need a set of patches to the linux kernel add support for your specific board because uh... this thing has a different uh... i o address layout for where is our serial port where is our physical memory address range those sort of things just a basic board file not a big thing we we post those patches to the list a little while ago they need to be cleaned up and converted to by straight i'll get to that part so system requirements cpu of course memory you need uh... at least eight megs of ram to run a practical linux system you can theoretically run it in four but it gets really awkward linux has historically run in two megs and won't anymore um... linux kernel has put on weight over the years haven't we all uh... storage what we are doing for this version is we are loading a kernel plus the net ram fs into memory from an sd card since the new out of work you know has an sd card on it and everything that makes development real easy just put a file on there called the m linux there is a little rom image in that the bit stream that we loaded into their i don't remember if it's a four k or an eight k rom but it's tiny it contains a little s h two program that knows to go out to the sd card parts of fat formatted file system on the first partition look for a file called the m linux which is an elf file it's got an elf parser that loads the health sections into memory and runs the kernel and i'd basically just left that alone because it's written in machine language i can fix it we've released a source and i have too many things in parallel to really come up to speed on that uh... if you find a bug i can forward you to the guy who wrote it or you know that is welcome um... so you need some storage for using sd card you need some form of i o usually for development purposes you just start with the u art that means serial chip uh... there's one on here they hooked it up to usb and you need a timer interrupts there's also one on there so things you don't need uh... i mentioned uc linux the founder of our company was the guy who did uc linux there's a lot of expertise historically here so it was very easy for them to do the problem is that you see linux was both a distro and the website you went to for all the uc for all the no-m-m-u documentation to learn how to do linux on this class of embedded machines it was all documented there that's where you ask questions on the mailing list that's where the community came together and when jeff deon moved to japan in two thousand three and handed off to other developers well among other things it was a cbs repository and they had hard drive crash and no backup bit of a problem uh... so for the past few years they have still been putting out releases but they've just been replacing files from the previous release by hand and putting out a new tarball and everybody sort of went that's not a real thing and most of their software packages stuff in the nineteen ninety so you see linux is essentially bit-rotted into uselessness except for the people who where it's original developers so what we're doing now is we're throwing that out completely we've come up with a new website no-m-m-u dot org where we're documenting all the things that you see linux dot org used to document we've come up with a new mailing list um... we have new documentation down here there's more pages being added but you know patches welcome this is a this is a github uh... repository i should link that but it's uh... github.com slash it's zero p i think it's zero pf no it's no-m-m-u sorry github.com slash no-m-m-u and yeah so no-m-m-u dot org the entire website is a github repository it's doing that github hosting thing where you check changes the html into git and they show up on the live web like thirty seconds later so again patches welcome if anybody wants to do that stuff we've got uh... mailing list uh... we actually have two mailing lists if i can figure out i was yeah um... lists dot no-m-m-u dot org there's one for no-m-m-u and there's one for the zero pf thing i i'm going to be adding ones for uh... i'm working on a cold fire one right now there's h8300 there's a bunch of no-m-m-u systems out there in active use like cortex m is very wildly popular people are really doing a lot of stuff with it and how do you learn how to develop a cortex m system be born in nineteen seventy five or earlier so i'm fixing that there's a lot of established knowledge that it's like where did you learn this oh from a web page that went down ten years ago from a book that's out of print and i don't know where to get a copy this university used to have courses on it but doesn't anymore it's like there's a we're we're getting into the point where there's some ancient arcane knowledge in danger of being lost and it's like okay we're twenty years from it being lost but still uh... i'm i'm trying to put it back together and make it so that new people can actually learn this without it being that big of a deal so uh... uclinics dot org is turning into no-m-m-u dot org being replanted by no-m-m-u dot org i'm working on it so why recreate an existing architecture why not come you know why not come up with a new one from scratch well a bunch of people have come up with new architectures from scratch over the years and they tend not to go very far and the reason they tend not to go very far is in addition to doing hardware development you have to do compiler development you have to do kernel development you have to add support to the debugger you have to add support to all sorts of user space packages like s trace um... there was a a massive research and development outlay into into the super age processor it was more or less the national processor of japan before the asian economic crisis circa nineteen ninety seven or so when japan's economy just sort of sat down for a while and took a breather it was really cool it was really highly optimized and it was patented out the wazoo and twenty years later those patents have expired which means if we do a super age processor and some patent troll comes and seizes because they've patented breathing again we can point to the existing twenty-year-old chip and go look prior art we have prior art for everything we've done it was patented those patents went away so if we come up with something new we have to worry about patent trolls and we have to worry that it's not supported and it's there's a whole debugging step that you have to go through for here's a little performance hiccup here's where it doesn't perform brought you know here's where it doesn't work properly here's where security exploitable all those kind of things that take you know five or ten years of real real world heavy use just to find all the all the sharp edges that's already been done for us we just have to you know there's existing gcc support we hit the ground running with we just had to dust it off uh... now some of the things that we're doing is uh... bill's route yanked s h two support a couple years ago because nobody was using we need to put that back okay some of the stuff was bit rotting and didn't work when we you know using gcc four two for super age works fine using uh... gcc newer than four seven four seven was the last one that built the kernel for s h two because they've done an optimization that screwed up bit shifting and the lead gcc fork built into the linux kernel wasn't changed to do the different calls that they were doing so only you know gcc four eight wouldn't build an s h two linux kernel anymore so rich felker is is fixing that you know we we have to undo some bit rot but it isn't it's like uh... two orders of magnitude smaller than implementing all this stuff from scratch and testing it and getting reliable in canada the last patent expired it okay first of all i'm not the guy to ask that uh... jeff deon is the guy or uh... possibly uh... jeff salmon was the okay there there's there's two groups of engineers on this jeff deon is in japan and super age was you know a processor that came out of japan but the cleaner the initial implementation was done in canada so that it could be sufficiently clean room and firewall and they had legal thing caring deeply about that that happened before i came on board so i've heard about it but i wasn't there for it but that the canadian engineering team did that and they still contribute to the project but once they got it to the point where it ran the existing s h two operating systems not just old linux images but they were testing it against old windows c e images from back when that support s h two they had uh... it turns out that you can't an s h two processor isn't enough to run a genesis yet genesis genesis with the old one press it to dreamcast for this one it's not a different to be a genesis because they bolted all sorts of really of other hardware onto it to make a gaming console and just the processor isn't enough to do all of that and plus the sake of genesis was a giant race condition made of timing that very carefully interlocked together which is why it's so hard to emulate but they tested it against a lot of existing stuff and yet there's there there's an existing legal team that made sure they did it right and if someone who is not a lawyer i can forward you to them basically if you if you ask any of these kind of questions on the zero pf mailing list uh... zero pf at no man you dot org if you go to list that know me you dot org it's a standard mailman interface uh... if you're not subscribed to list when you post i have to moderate it or uh... cause i couldn't have to moderate it and on the japan side once they had the basic clean room clone done and we are now extending it beyond that the original architect s h two is on our payroll now uh... should make house hockey uh... who used to work for a touchy and retired from a touchy well he's still interested in doing consulting contract he's working with us and what we did is he is in charge of a website called zero pf dot org the open processor foundation uh... it's zero pf because the right at the orangutan protection foundation with their first uh... i still type of that from time to time but our you know our marketing guys uh... there's a company called s e dash instruments dot com that is sponsored mostly initial development but we want to grow beyond us now uh... the the marketing guys going to zero stands for zero licensing fees and you know that they're they've come up with the thing uh... and we say zero pf in a lot of places just because we've gotten used to it but yes the open processor foundation is essentially a standards body for this chip that is it's separate it's got its own i think non-profit paperwork and stuff like that it's a separate legal entity that kawasaki son maintains because it's not just doing s h two it's not just doing s h four neither of those were particularly s m p chips we're already working on s m p after the s m p we're bolting on uh... over a dozen d s p's on a high-speed bus because the first implement that the first product based on this that is the instrument is doing something called a synchro phaser which is a really high-speed electrical signal measuring device you put under manhole covers so that you know the electrical grid has the problem that if you try to take uh... solar power or wind power and stick it into the grid from everybody's rooftops the grid will fall over because all the the high-voltage lines will the voltage will go out of spec in the sine wave will start looking really noisy and stuff like that because it was designed for centralized generation and peripheral consumption and all of its ability to sense what's going on is based on the assumption current is flowing one way and if you get over more than like five percent solar generation the grid people like both start exploding in that bad so what we're doing is we're adding more sensors to the grid putting them under these manhole covers wrapping up thing around the wire that inductively both powers the board and does this really high-speed nano nano second accurate time-stamped sensor things and then there's an antenna that goes up to the manhole cover has both a gps antenna so that you can set your clock that accurately and you know tells you where you put all these sensors so you don't have to write them down and it has a cellular thing that is a cellular antenna that is streaming data to the electrical utility through the cellular network and that's the first thing that we're doing with this but in order to do these nano second accurate things we need a whole array of dsp is hooked up to the central processor and the processor itself has to be smp in order to have to bandwidth for this so we and then later we want to move this to sixty four bit and although there was a sixty four bit extension of super-h at one point it was apparently done somewhat wrong and when they did smp it it wasn't using complex change and apparently few texas in the linux kernel assume you have some variant of the complex change instruction instead it was doing l l f c or l l cc or something like i a bookmark of the wikipedia page with a different instruction but basically you know one of the extensions we did this isn't just an s h two processor that the j two has three extra instructions added so far to them were back ported barrel shift instructions from s h three and one of them was uh... competent exchange instruction modeled after the i dm s three sixty because that's also out of patent so we can point to that is prior art and go you know you can't do it on patents for having that uh... and there's there's stuff on this on the zero p f website you know if you talk about j core is there they have an entire page uh... written by people who primarily speak japanese so there's the occasional english glitch it's you know has long explanations of upcoming roadmap and all that kind of all that kind of stuff of what they would like to do with it we are open sourcing this we're releasing it under a bsd license we are documenting the build system so that right now you can download a tarball of the build system i'm working to get the get repository up on get up with the history all back to day one but the problem is that's not how we developed it we developed it under mercurial using a half dozen sub repose and unifying a half dozen sub repose while converting from mercurial to get is non-trivial i'm working on it um... so let me go back to the so patent expiration gay rock cool uh... we're happy that patents expire the purpose of patents is to expire and when they do it lets people start actually innovating in this space so why s h two uh... why super h you will notice that the amount of stuff that you can get done in a given amount you know smaller is better in this graph and s h three is really only beaten by x eighty six and chris in the test they did chris is fairly new not out from underpatent x eighty six is really risk doing your own x eighty six is a much larger chip doing super h so super h this graph here is basically why jeff chose to target super h rather than half these are out from underpatent as well but would you rather use spark or would you rather use s h three in terms of code density code density is has a whole lot of nice knock-on effect you can fit more code in your l one cash you can suck more code across the the memory box faster the real bottlenecks in your chip tends to be flinging the data around so if you can do more with less data you can make a more efficient chip it's really nice uh... in fact the uh... the reason cortex m is so interesting to people is cortex m is an arm chip where they just implemented the thumb instructions the thumb to instructions and yanks the standard uh... arm instruction so it's only some what is some is a smaller higher density instruction set arm implemented as a second instruction set in order to have increased code density and when they did so they licensed super h patents from hattachi in order to implement the exact same ones that expired in october of last year so cortex m should be a little cheaper now uh... to the basic super h design if you are a hardware guy this is you know fun and if you're not a hardware guy learn vhdl and then start studying the code and this will become interesting i am handling the bsp we are trying to build an open source community of developers who do vhdl now the thing is there are two there are several languages in which hardware layout is done and the two main ones are very long and vhdl people keep trying to come up with new ones it's like the go rust and swift of of the hardware world and you know before that it would be over on and so on people have a new language every five years and if you if you still hear about it five years later than that unusual uh... but they're a lot of the hdl are sort of workhorses and very long is think assembly language very manual you say this wire connects to that wire and you have to do everything yourself very explicitly vhdl is more decrees much more high-level and we chose to do vhdl using a see i'm i'm i'm skipping ahead a little bit uh... i'll explain why we chose to do vhdl when we get to that thing but we basically could do a very clean uh... way of programming these chips but it's a lot more like software development is done this particular variant of vhdl we're using which was designed by the european space agency uh... let me try to find that slide yeah this is you know for example this is what vhdl code looks like it it's source code it goes through compiler uh... here it is it was designed by the european space agency this way of doing vhdl for use in space probes for very high reliability for you know ease of reading other people's code not just code that's easy to write but code that's easy for other people to understand it's really pretty cool and i am learning it and there are various online tutorials on it but it's a whole new programming language to learn with a whole lot of its own concepts and the vhdl that a processor and we did peripheral devices we did uh... we did two different serial chips one of which is uh... sixteen five fifty a compatible and the other one is much smaller and uses fewer transistors and we wrote our own kernel driver for that one uh... this board is using all the small variants because this is a cheap board and just the processor uses like sixty percent of the gates in the fpga in this board uh... so we did that we did a build system that can you you pointed at and say okay what i want this many processors to remember at ten p is an option just not on this because of one process is using sixty percent of the gates two processors would be using a hundred twenty percent of the gates you can't do at ten p on this board we're thinking of launching a kickstarter at some point to actually do a board that's approximately the raspberry pi uh... be form factor except it may be exactly the raspberry pi be form factor so we can use their cases and she'll stuff like that and i would like to be the same position but instead of a an arm chip it would have what's called uh... zylin lx forty five chip this is a zylin lx nine chip the nine i think means nine thousand gates the forty five would mean forty five thousand gates so that seven times the cap capacity that's what we're prototyping on at the high-end in order to do the s n p in a bunch of ds p's all in the same s o c but the downside of that is we're paying over a thousand dollars per board in order to make our own boards and it's like well if we do a kickstarter get the unit volume up we can probably get it under a hundred dollars we may be able to get it down near the fifty that the new motto board i don't know yet the higher the higher the volume the lower the price so that's why it would be a kickstarter rather than us just trying to do it in house it's like hey if everybody can buy these boards we can do a large enough production run we can make them cheap and do big ones but for right now new motto boards plenty to start uh... so we did the basic chip and some peripherals and then we put it together into a build system so you type make space the board name you want to target so there's a make uh... mean this is a new motto me miss v two is what it called i can actually pull up the uh... web page for that the actually just google new motto me mess v two uh... the first hit is the page um... there is a slight problem with them right now which is the reason that i wanted to do a tutorial i wanted to you know after this put together birds of the feather session where work would you know by like a dozen or two dozen new motto boards and i'd hand them out because they're they're really portable you see the box that came in you know it's like it's it's a standard u s b the slightly larger one not the one that goes into phones but the one that goes into playstation controllers cable the you flash the board for that serial work for that if the u s b is powering the board it's you know i could just hand them out walk you through installing the tool chain which is free download from xylec's website yes it it's a free binary only download like the flash plugin but we are talking to people to try to get xylec to open source it and there are two different processes they're two different projects that are writing their own bit stream compilers so it's kind of like we're stuck with gcc even though we're unhappy with it but l l v m and p c c or advancing and maybe we can switch to that well there's something like that on the bit stream side um and you know at the end of it i could have gotten you booting linux to a shell prompt on the board and then you could get to go home with the board and this is the problem they get back in next friday we've been buying them faster than they can make them which is cool i mean not just us everybody's been buying them faster than they can make them because this is a really good deal on fpga boards and more law there will be a better deal on them next year they have hit the point where people can do real things with fpga boards now i mentioned that the build system we made doesn't just produce bit stream there's a different build targets that will produce the same thing as an acic mask there's a third target that will produce a c file what does the c file do compile it link it against some stuff from gcc and it turns into a cycle accurate emulator for people who like that sort of thing and there's there's a documentation target that'll produce instruction set things and will produce those little spec sheets that you get from from vendors and stuff like that um it has a bunch of really cool targets that i haven't particularly looked at because i'm not a hardware guy but i need to look at them and document them more um by the way all these all these slides i'll upload them to the website but you can actually grab the set of sites by going to landly dot net slash turtles all the way dot pdf all one word all lowercase um or it's also linked from uh... that resurrecting the super h hardware linux weekly news article also links to these slides because these are the same slides from linux con japan landly dot net slash turtles all the way dot pdf all one word no underscores or anything all lowercase uh... the easy thing to do is probably just google for that resurrecting the super h uh... architecture or just resurrecting super age and it'll pull up the linux weekly news article and the linux weekly news article is not just a summary of the japan version of this talk but it links to the slides okay so this is sort of the roadmap of uh... this is a little out of date because you know it includes a lot of last year but this was implementing the s h two this is implementing uh... you know this is where our we deploy our first actual device and then further things like you know the sixty four bit extension stuff these are the two demo platforms that we have that are not hard where we designed in house this is called a uh... bark fun board it's uh... it's the av net spartan six you can google for fairly easily i think there's also a link to that from the linux weekly news thing but i'm not sure the problem with this board is that a it's ninety dollars fifty dollars b notice the lack of sd card all on the bright side it has built in the internet yes we have a drug we have uh... an f p g a one of the sub directories that were open sourcing is the ethernet stuff i don't know if we've open source that yet or if we still need to because it it needs work um... we probably open source what we've got just sort of apologize for it uh... but it does have built an internet which we've used it's it's a good internet of things device again it can be powered from the u f b right there this is a much better starter board because it's half the price and comes with sd so how do you use it we've released a ph deal built system under bsd license and if you go to zero p f there's two places you can go and the easy one to go is no m m u dot org slash j core this is where i wrote extensive documentation on okay where do you order you know first of all what is the processor basically with links to you know this presentation stuff like that you need to get some hardware the new motto board here's also the older board links to that uh... link to ordering new motto from their website link to ordering it on amazon you'll probably also need a u sb sd card adapter in order to write to the sd card and you'll need the right kind of u sb cable and then there's the older avian airport if you care and we built one in house and we may be doing a kickstarter and stuff like that that'll be updated when we actually do the kickstarter have links to it will posted to the website uh... and i need to write up a page on if you happen to have your own f p g a board lying around how do you port to it reported multiple boards basically what you do is on the you know on the new motto web page at the bottom there are under downloads there uh... user constraints file which is a text file that basically describes what i o addresses corresponds to which external devices or pins and then you break that into two files and feed it into our build system in a new subdirectory named after whatever you want your board target to be sort of described in the read me file but the read me file basically says go here and do what these targets do you know look at these parts like yeah you can you can read the source and work it out yourself i need to write up the documentation how to do that as well but let's get it working on the new motto board first and you know let's start with the known good things to bring people up to speed the next thing in uh... you know once you've got physically got the hardware will you need to get an install a bit stream file in the bit stream file is what goes into the flash on the board that when it powers on it loaded into the f p g a to configure the f p g a to act as an s h two processor j two processor uh... and there's two ways to do it download a bit stream we already built from the zero p f dot org website or two download the source could the v h d l source source code and district and uh... and build system from the zero p f website there's a tarball up there i'm getting the github up working on it and install the appropriate set of compilers and dependencies to run the build yourself this page and when they first told me all well just going to all the thing they missed like thirty something because you know how del is it writing biases xylex is at writing software in general they are a hardware company so it works it's crotchety getting it to work um... so you download really large you know things and this is step-by-step cd to this directory run this command here's walking you through the install gooey and everything and when it pops up to modal windows at the same time in the tip of the day window is hidden the wind has hidden the window that's complaining you don't have a license key yet you have to dragged that window out of the way to the window behind it in order to proceed and stuff like that it tells you all this stuff you're not going it walk you through down xylex requires you to download a license key from their website which is free but you have to download the file and install the thing and it wants to pop up a web browser that has the right keys to say hey because it wants to lock it to your ethernet mac address so install it in a vm with a known mac address to just you know not care about that i i i i have at one point it's surreptitiously linking to trash mail dot com for when you want to set up an email address to do the thing that only last week and forward to your real email address they can't ban you you know all this kind of stuff i documented the steps to actually getting the thing installed and for the tutorial i was going to be handing up just around the file on the u.s beef deck and going you don't have to download things from when you download this stuff from xylex's website download the four parts in parallel if you want to be done that day uh... you know just up like that extensive documentation on how to make that actually work and then the other things you need you know that's just right click download from their right click download from there uh... yeah to get repository still to do link and then go in here and run these commands and it does actually describe how to build the thing i need to i i need to do more passes on this and make it more friendly but i have had people go through this and they didn't have to ask me any questions in order to make it work having never done it before and i'm happy because for a long time you had to ask one of us in order to make it work and that's not open sourcing it um... flashing the bit stream on the board is basically new motto provides a python tool the current one is python three i need to port it to python two you will have to install python three in order to use the tool they provide it's on my to-do list porting it to python two if anybody wants to beat me to porting it to python two please do um... but it just works real well there's a switch right here that you flip into flash it mode and then you flip it back into run mode and that's how when you plug in and power on the board it knows whether to run a little flashy program or whether to load the fpga um... yeah and then just actually getting a serial console to run uh... the new motto board is a little idiosyncratic in that they only hooked up the data lines they didn't hook up the flow control lines so you don't have an rts or cts signal and a lot of term programs get confused by that if you don't know specifically we've never managed to make it work on a mac although we sent in a bug report and i'm told that the new ones that they are manufacturing after this break should work on a mac for linux you have to run this sdty command and then i usually use busybox but in theory you could use any term program that doesn't play with the rts cts lines but if you can just copy these two you cut and paste that line and then run it and get it and then installing the m linux onto the sd card um... is pretty straightforward here's where you download it from the website and then use a root password admin for the one we've got for building the vm linux from source we posted the kernel patches the kernel mailing list last just before last merge window we need to post a new set of kernel patches for this merge window even they won't be merged because part of the feedback we've got is converted to device tree and i don't know how i have like three webpages open that i need to read through and then i need to do the work of device tree and it will never be done by this merge window because this merge window is like tomorrow um... but we can post updated patch i'm ninety percent certain the patches we posted last time will probably just apply or be trivially adjustable to this one um... but we have forward ported them to for one i believe um... but i mentioned that you need a root file system in a net ramfs for the way we're currently doing it because of the patch the first set of patches was just a minimal set to get it up and running on the board meaning it's got a serial driver but it doesn't have an sd card we have an sd card driver which is crap tackler uh... and is doing single-byte transfers because consultant we had write it for us was crazy uh... and it needs to be rewritten from scratch we're happy to give you that driver but we know it will never go into the linux kernel we know we have to rewrite it from scratch so the boot loader loads the vm linux into memory and it all runs from there but when linux is running in user space if you're using the patches we open source linux hasn't got a driver to talk to the sd card at that point got one to talk to the serial driver it's got a basic board layout so that it can use its memory and stuff but there's more coming and the net ramfs that it's running the current snapshot we're using is an ancient crappy uc linux binaries that were made to run by hand and we do have a build system for that but we really don't want to teach anybody to use it if if you really really want a copy of that we can email it to you but what we are doing is we are switching to a toy box based route file system um... currently you need a combination of busybox and toy box because not all of toy box is switched over to working on noam emu yet some of it still using fork and stuff like that i'm cleaning that out as fast as i can um... rich felker the muscle libsy maintainer has built a desk config busybox for this target he may have had to switch off a few other things um... it's using uh... it's not using ash it's using hush that's the shell there that but he's gotten busybox up and running on this board and what we may do in the next week or two is just document his procedure for getting a busybox based route file system of the stopgap so that you can build your own source if you are an existing embedded developer and you have our user space tool chain and you have the documentation i already posted to noamemu.org and you've read it you can probably get it up and running yourself but we're trying to make it so you don't have to use new development in order to get started everything should work out of the box and give you a known working reference platform to then start poking at and do stuff by the way when it comes to modifying vhdl another nice thing about vhdl versus verilog is that the vhdl compiler is going to generate all the circuitry for you and one of the things that the vhdl compiler should be guaranteeing i think i feel a little squishy making this assertion but jeff or somebody here to think but i don't think it is possible don't sue me i don't think it is possible to damage the hardware with vhdl compiler output the compiler is making same stuff that's never going to connect power directly to ground and do something that you know would damage the board verilog i'm not so sure but verilog i haven't really done but that's why we didn't use verilog you should be able to play around with this stuff safely and if it doesn't work then it won't work but it shouldn't damage the hardware so again one of the great things about software development is it's very def it's very difficult to let out the magic smoke entirely in software hardware you kept needing to get another scratch monkey um... but with the vhdl stuff we're doing it's a lot more like software development there's some training wheels and safety catches on so this set of instructions on nomamu.org.jcor should be enough that when the new model boards are back in stock if you want to order one you can boot it to a linux shell prompt and you will have a tool chain that can build more stuff for that target and you can build your own bitstreams from source and there's a readme at the top of the thing and there's vhdl tutorials online that will teach you the language you have a working processor you can start implementing your own peripherals you can start implementing your own instructions you can start taking it apart and breaking stuff to see how it works you know we give you a known working reference platform that you can then diverge from and ask us questions on the mailing list and if you ask me a question that i can't answer which is most of them i will drag the appropriate engineers to the mailing list to answer it yourself they should be participating more on there at a fairly soon point once i've got a github repository with this code on it right now i'm converting a github i'm converting a snapshot from june so it's a couple months out of date i then update to what we have in-house add the new changes on top and then i need to get our in-house engineers basing their new stuff on top of the vanilla open source one and conducting our design discussions on the open mailing we need to start dog fooding and we plan to seinstruments.com the company that that i'm working for part of the problem we have is we're doing really awesome things and when we bid to a company they go that can't possibly be real we don't believe anybody can do that by out by open sourcing this stuff if we get competitors who are also bidding these kind of things then immediately people go oh well yes you're a member of an ecosystem not an outlier we don't have to explain to them a lot of the background of what we do and that it's real you know we um the asic when you generate the asic stuff you know one of the problems for many years is that fabs are just billions and billions of dollars to make each new fab which means that they're older fabs using older processes that are looking for excuses to hold off on retooling to newer processes because it's so expensive if we can keep the older fab time full if we can give them designs that they will make asics from maybe it's only a six hundred megahertz asic maybe it's only eight hundred megahertz you know it's not the cutting-edge stuff but we have found fabs that we can make what will fit in this new model board for two and a half cents a chip that's pretty cool and that's in smallish production runs of like i think less than ten wafers because our build system makes a mask yes there's a one-time cost of them actually turning that into the physical set of masks that they use in production but then running off each wafer is like a little more than the cost of the wafer and wafers are so cheap these days that uh... a woman named jerry elsworth bought a couple of them off of ebay and made transistors in her kitchen stuff she had under the because she's a hardware developer since she was a teenager and it's like she just wanted to make her own transistors from you know scratch and she actually got a working transistor there's a youtube video on jerry elsworth making transistors in her kitchen you can google for that you know she didn't spend ten thousand dollars on that i don't think she's been a thousand dollars on that i think that she got the wafers for like you know eighty bucks she she says how much it is in the video i just don't remember but it's like if you don't need the largest wafers if you don't need the highest end ones you can you can get really cheap you know making your own a six is it's within the range of a smallish kickstarter okay um your car cost more it is within range of if an individual wants to do a lot of your car cost way more thing but i don't have the specific numbers of you know the two-and-a-half cents a chip was not making them individually it was making a certain production lot you know it's this is this is getting cheaper all the time and the reason we want to build an open source community around that i mean it's not just the thing it's also that at some point our company is going to have to grow by an order of magnitude because we are already you know we're already getting paid by people to develop things for them at some point some of these are going to really scale up and we're going to want to hire ten times as many developers as we've got now and the problem is a start up cannot inculturate you know we can't train and we can't inculturate more people than we've got in a given year the only way to do it is to train them and inculturate them before they come to work for so if there's a large and thriving open source community out there we can hire from you know there are a lot of reasons that as the instrument it's it's both doing the right thing and it's for you know it makes good business sense as well we want this open source community we want competitors we want other people to know this it is in our best interest we are dedicating resources to feed a community and help it grow okay we now have two engineers who essentially it's not our full-time responsibility but it's about half of our time help support this community by writing documentation by chipping off pieces of code and sending it up stream by helping clean it up by by answering questions by grabbing other engineers and making them answer okay so we're serious about that we're going to be following up so i've reached the end of the moment you slash j core page i i haven't reached into the slides yet when you go through the rest real quick and then it will be question time so what why the htl not very long um... it basically the htl is a lot friendly the hardware guys like there along the people who actually sat down at a drafting board and did them at it some point in their in their history like there along people with any software design sense at all like the htl we are attempting to recruit software developers over to the hardware side the htl is a much better tool as i said there that this is a slide on the the compiler shouldn't produce a bit stream that will actually damage the hardware because it it's going to run all the time to check on it this is basically a graphic that says the build system we made the actual instruction set in a spreadsheet it's in an open document format spreadsheet that says here's the instruction here is uh... some microcode for what it does and here's the bit pattern here's the assembler mnemonic and those kind of things and then that spreadsheet uh... converted into uh... some some vhdl code and the vhdl code goes into the thing and it's like if you're modifying the build system this diagram will help you understand the bits that you have to modify if you're just typing make whatever it is in editing some vhdl files maybe adding some new vhdl files but not really changing the structure of it you don't need to start with this diagram uh... the diagram is useful though if you modify the open document spreadsheet for example it will have to regenerate the stuff from the spreadsheet the vhdl that's generated from that spreadsheet and that involves more installation there's a package called lean gem used by that because the guy who wrote that code did it in a list dialect that involves being compiled to jvm code to run in a java virtual machine and it's like there's a package called lean gen that you install that does that and it's dependencies if you can there's a dev you can install that will do all that stuff for you lean gen has its own web page and if you don't modify the spreadsheet to change what the instructions are you never have to run that because we check in the generated file so that it's not a build dependency um... and that's you know some schematic things uh... that was the current state as of uh... linux con japan it's been a few months later i hope to do with the new web pages that are the newer things and uh... know me dot org and list that know them you dot org posting a lot of stuff zero pf dot org also get new material what i try to announce that the mailing list when it happens and those are kind of the two websites that are the different has the open source ideally all of the j-core material would go on zero pf dot org instead of going on know me dot org because know me dot org is trying to be we're trying to build up a u c linux replacement that equally support cortex and and eight three hundred and cold fire and all the other know me processors that are still in use but have all fragmented badly and nobody pushes their code back upstream but it was just really really easy for me to post up there because otherwise i have to send things to cover socket on and he has to put them word and fighting word press for posting binary you've ever done that tell me how uh... so that's just you don't care but that's web admin things i'm being slightly unclean about what goes where but understanding what know me dot org foreign understanding what your pf dot org for right now they're a little more hairball mission be but they may separate okay so questions because we are basically out of time um... i think it's actually faster than the original hardware just because we've had so much more law in the time i can real quick we're i'm i'm i'm receiving the the shoe things but uh... when power cycle this and then password again uh... give it a moment the board is powering up this is the new model board uh... that initial delay with it loading the bit stream you know open vm linux okay it's loaded that the vm linux from the sd card it's decompressing it and kernel boot messages start going by now the thing is one of the things about this board since it only has nine thousand gates sixty percent of space in the fpga's inside the processor involved the icash and decash being switched off because this fpga doesn't have the budget basically we could switch on the icash in the decash or we could switch on the ethernet pick one uh... right now both are switched off because we were trying to get it as small as possible to make sure it could fit in here and see how much space there was uh... we might be able to switch on the icash and not the decash i'm not sure our kernel patches actually support being able to distinguish one from the other at the moment i might have to tweak our kernel patches in order to do that it'll detect whether or not it's there i don't know if it'll detect whether one or the other is there root admin ls-l and you know it's not it's not the world's fastest thing that's pretty much because this is a really low end fpga the asics are faster uh... when you when you do it on an actual asic the performance is based on what what fab you're willing to pay for and and how much of a bribe will take you know it there are a lot of things you can do to tweak the performance we were mostly focusing on getting this basically working icash and decash were only added earlier this year okay and right now we're working on smp you know if you come up with a way to speed it up patches welcome but as you can see this is basically usable even on this lowest-end fpga one more question and then i can hand this over to the next panel well for one thing a two-and-a-half cent chip is about the free toy inside level of disposable computing for another thing i'm fairly certain the nsa already owns my laptop i doubt they're interested in most of the things i'm doing but i think that they snoop everywhere that they can just on general principles because they don't know who's going to be politically interested in keeping their funding going in thirty years you know who can they blackmail um... so you have security advantages you have um... cost advantages of just you know people are talking about a nine-dollar computer we're talking about a twenty-five-cent computer uh... and you have the ability to go from you know from windows to linux you have the ability to go from this vendor designed this thing and you will never understand how it works to there's a diverse team of people adapting this to all sorts of things and making sure that compatibility is maintained that what the same way pc compatibility was maintained by a bunch of vendors getting together and running the same reference did that answer your question i am over my time yield to the next group people probably thank you although it's by by not a lot of time and i can point you with that uh... sdash instruments dot com so if you check their website they have contact information on there thank you on github so i could i could use it up in the computer for that matter technical difficulties always going to have something they don't need to do anything other than plug it in other guys like trying i mean this should work there we go yeah uh... no problem okay anyway let me start it basically my talk is on using open source to get above the security popularly poverty line uh... my name is chris coffee been working in it uh... about twenty years uh... that's been pretty evenly split uh... among security and uh... this admin engineering type work worked uh... d o d uh... big banking uh... dot gov and in the last seven years i've been uh... working at ratchets and yet that is a type of i thought i just thought that i thought so what is the security popular line it's basically defined as any entity small business personnel anyone who either doesn't have the technical ability or the resources financial resources got higher somebody that knows to do and anybody that's worked in it very long knows that a lot of people fall underneath it uh... most of your mom and pop companies uh... small businesses uh... they just they have enough money to maybe keep their it shop running but they don't have the extra funds of the extra time a lot of time to get into security so what i want to talk about a little bit is is how we can help fix that with using open source uh... and basically going to do that by base lining you know what is a security baseline and then figuring out easy cheap ways to bring everybody up to that okay uh... what is the security baseline obviously big disclaimer this is very opinion anybody you talk to you and i think that you really highly different answer to this question uh... what i tried to do is i tried to come up but basically a very small set of things that i think everyone should have whether you're a mom and pop or a big corporation and this is basically what i came up with proactive patching policy uh... don't use route uh... hardened ssh and some type of log i think those four things most people would agree are a good starting point and they're just a starting point we got to get everybody to a starting point before we can even start talking about it proactive security policy or proactive patching policies at a minimum auto-patch uh... again this is something that some people particularly production systems find very opinionated they say oh well i can't patch this because i might blow something up but the problem is that type of of mentality tends to lead to thinking about patching tomorrow instead of today and with the fast acting number of vulnerabilities and the worms that get popped for vulnerabilities you set yourself up for failure so in my opinion again back to the opinionated my opinion concept everybody should pack you know maybe you should have excludes for certain packages like on a lamp stack php will occasionally blow you up but otherwise you need to pack uh... non-route admin user uh... if you're logging in as a route you're doing it as they try to make disabled with log in set in a loud user using ssh keys at a minimum uh... a lot of people are now going to key and password combinations uh... a lot of people now are even going to using google authenticators along with the key or a password or both and and and google authentication uh... to log in would obviously be even better but at a minimum you should at least be using key and the last big step is long remote log monitoring obviously would be what i would recommend for anybody uh... but if if if that's not possible they were you know you're running out a single one server e-commerce solution then at least use something like log watch or maybe some type of cron script that grab your logs every couple hours and throw them on an S3 container or cloud files container or some way to get those logs off your system as soon as humanly possible so if something happens you might have a chance to have actually caught it and be able to figure out what happened so that's basically what i see is the four keys the thing is how do you get people to actually do that always been the problem nowadays with most people using some type of cloud provider whether it's rack space amazon digital ocean line out whatever uh... this is actually gotten easier to do but it but the number of people that are doing it is actually gone down because nobody understands how to do it things like cloud and net uh... that could be used to execute a hardening script on server build or something like that uh... is easier and implemented across all those cloud providers but very few people will will go that extra step so what i did that's just uh... just a simple proof of concept i'm trying to get my github page to show here not showing yeah sorry about that i actually meant to take that off anybody know how to flip screen but we didn't exactly get this well okay there we go how about that uh... but basically what i wrote is just a this is a really simple proof of concept back script uh... and basically just does uh... before things i talk about uh... runs up to date uh... installs unintended upgrades in this this particular one is a bunch of specific uh... but obviously you can do this exact same concept with young cron or or something like that on a on a center red hat i just for example i created username bob but bob ssh key up there then set uh... bob for uh... uh... no password pseudo access uh... another thing that that i actually didn't mention on the slide but i feel really important is setting up an ntp service so your log actually show something relevantly close to the real-time uh... you'd be surprised how many people don't do that uh... set up a simple m-o-t-d-message disabled ipv6 uh... that's another one that's very opinionated i don't feel that most people at this point are using ipv6 so why have it as a gaping security hole there is somewhere else to be attacked from just disabled it if you're in a situation where you where you know how to use ipv6 you probably know how to secure it very few people do uh... install log watch and then uh... hard enough the ssh configuration and in here i'm just uh... disabling route uh... setting an allowed users list lowering the grace period removing roots login ability and setting up public key authentication and then at the end of the script down here i do a reboot uh... because most of the time particularly on a new server coming out of any of your major cloud providers it's going to have a lot of patches and most likely one of those going to be a kernel anyway uh... so i feel like you might as well go ahead and get that initial reboot and everything done uh... to get yourself started you you can this particular proof of concept is just kibay this is this is what i would consider as as a minimum uh... but you you can definitely set up ssh to do uh... to do password and key and uh... key and then like i'm saying that the kind of the newest thing out there is the uh... google authenticator as a secondary authentication message so maybe it requires key and google authenticator uh... that's getting to be real common now too not a big fan of that solution but at least it does give you that third piece and i was going to try to demo this but since pretty much the time got blown and i won't bother uh... but uh... and another thing you can do and i apologize actually meant to do it for this presentation well i was going to basically write this in uh... because you can execute this really easily through cloud and that but you could also write the script in the cloud and that language and the nice thing about using it and in either one of these bash or cloud and that for that matter is they become uh... completely independent of vendor and platform uh... cloud and that in particular uh... so if you've got maybe you've got happier uh... systems at a w s and maybe half of the rack space you could basically use this hardening script across both of them and that's that's about all i've got any any questions or anything i can answer they're definitely helpful uh... the problem is in my opinion particularly from from a low-level user standpoint if you don't understand how to harden the system manually the basics of it i've questioned whether the scripts are really giving you enough information i mean you can you can take the script or you can take any script or even my script and run it and hopefully it will do what you want to do it hopefully you'll be more secure than when you start but if you don't really understand what's going on in that script you're kind of setting yourself up for failure uh... so i mean things like the seal uh... there's a lot of good ones different ones out there i think for a good sysadmin that already has a basic understanding of security i think going up having those scripts is a great way to to increase your readiness and increase your security posture and to be able to iterate through security changes faster uh... but i wouldn't recommend it for your mom and pop out of the box just because they just aren't going to really understand what the outputs are going to tell them and that's a real common problem you've got tools out you've got security scanners out there like nests for instance uh... it gives you so much information i mean you can run it all against a single server and it's like a forty page report uh... and it'll have all these red dots on it that'll just scare you to death but come to find out ninety percent of the red dots will probably fall positive anyway and a lot of the settings are following something like the nsa guy or uh... i think yeah yeah those are really good guys but i've found that those tend to be shockable a lot of all positive and you have to be very it's very dependent on your configuration and how your how your business runs on whether those settings are actually right for you they're a good starting point uh... it's good to have an independent auditor or some independent tool come in and say these are all the horrible things we find and then have your engineering team sit down and go okay that's not really a problem that's not really a problem oh this one actually is a problem but we didn't think about it so it can be helpful but it's it's definitely not an end-all be-all any other questions i can answer all right that's all i got sorry about the myriad of technical difficulties so yeah i just i try to keep that in a really simple kind of long and pop security guide type setting you know there's definitely about fifty more players you can add on to that to do do i need to do do i need to do anything with the projector nope okay i need move my display i turned that off i might be in trouble yeah i'm gonna adjust the resolution i think go ahead and give me an introduction alright figure this out good afternoon uh... my name is jack pradoe uh... i work at the uh... high performance research computing group at texasanum university used to be known as the super computing facility but uh... last year they moved us out of it and into the division of research and with that change came a change in name what you're looking at is uh... some simulations that were done on some of our systems using open-source software uh... this the scientists were looking at uh... what the effects of a Boeing seven seven seven uh... landing in the ocean in a way that might not cause it to fall apart uh... they were of course motivated by in this uh... by the crash and disappearance of malaysian flight image three seventy so this is just uh... these simulations were created with program called open foam uh... it was done uh... partly on the supercomputers there in college station and partly on the uh... supercomputers uh... at our sister university in katar in the middle east uh... but anyway i i uh... my father and my sister were pilots uh... my sister currently flies the seven seven seven so uh... uh... it makes you know it's i find it interesting open foam open f o a m we'll cover that here in a little bit just going to let the written video run out here i actually uh... doubled up the speed on this to make sure that it wouldn't run too long but okay so anyway that was in uh... this is the title of the paper uh... these uh... one chin kongru and each one are all at a nm and then uh... let's say is in uh... katar and some of these other people are at other places uh... we work with what you know quite quite a bit she's uh... a big customer all right so a little bit about us uh... is our website uh... you know it's a fc dot temi dot edu i just took a snapshot earlier today because i wasn't sure what that looks like kind of you know we have this little scroller up top here if you visit the site it'll show you some different slides from different bits of research are done over here we got the uh... status of our two core clusters uh... x eighty six uh... as you can see all together there they count for about twenty thousand cores some of our clusters it depends i mean it depends a lot you know if it's middle of the week if it's you know uh... summer if it's between breaks you know like during finals thinking very quiet as soon as finals are over like they were recently people are suddenly all very you know motivated to work on the research again because they've got time so it really comes and goes and it's also you know we've been that this was an interesting deal the clusters we got uh... a day in particular uh... you know the border regions didn't really consult for making this purchase they just decided they sit down with ibm and ibm told them what to buy and they bought it which uh... but uh... in the process they took a lot of money from a lot of different departments and so a lot of different departments think that they own a certain share and then title to a certain share and it gets into a lot of politics and stuff so you know we got some users that since you get a job in the queue it's going we got other users that you know your job may sit there for a while and then uh... you know we have an accounting system also which we basically allocate service units they're free but you have to apply for them uh... anybody in any of them can apply for a basic account as long as you get a professor to back you and how to get you on the system and you can check out your code and do that kind of stuff and uh... you know if it turns out to be worthwhile or something you can apply for a larger amount and often professors will apply and then a lot of their students and what anyway uh... so we have five busters the sixth one is actually not ours it's actually attack up the street the university of texas uh... we lease time on it but uh... this is a data the new sex eighty six got a lot of goodies in it including a lot of uh... gpu's and ivy bridge this is our oldest systems about five years old at this point uh... both of those okay so the the newest one is running red hat six he uses running red hats uh... just because we have a large base install base that are using it uh... creek is uh... our big insights had to uh... cluster big insights being an ibm product uh... it runs power line at six point five curie is hooked up with data to provide a pc it's also running power line at six point five uh... and then newman is a blue jean that we re-release uh... from ibm and it's located up there in rochester mesota uh... it runs red hat six five on the login notes the compute nodes run a version i mean it's the linux kernel but it's been highly adapted by ibm for use on their compute nodes and same thing goes for their i-o i-o nodes uh... keep in mind there's only uh... four of us do the actual service maintenance on these five clusters uh... there's ten people on our staff four of us to keep the servers running and maintain the software stacks uh... the other four do uh... sit down with customers and do uh... analytics help them improve their code and uh... parallelizer code that kind of stuff open foam just to give an overview you know open source for computational fluid dynamics pretty neat program does lots of things i'm not into computational fluid dynamics i can't tell you what it's you know how to use it or anything but i know a lot of people like to use it uh... things i can't tell you about you know one of the things when building software or making software available uh... because these systems are you know we're talking thousands of nodes uh... we don't like to load them up and a lot of them are running uh... diskless images that is they run out of ram they they don't use their disk at all so when they boot up they pick the boot they network boot and then uh... you know so the every every european you add to the system you're essentially taking away ram that's usable so we we have a shared gpfs file system we install all our you know software for users onto gpfs and in the way we have to uh... we have to make it available uh... to them and i think about any piece of software is usually have to change something like the path or the lb path or certain environment variables and that kind of stuff and for a long time there's been a uh... uh... package called environment variables it does that but uh... robert mcclay up attack he's written almod almod has a bunch of extra features it has this really nice spider feature that let's let's you search through all the different possible modules uh... it allows you to add hooks every time a module is loaded and loaded will do certain things uh... i've set that up so that every time uh... someone says module load x there's a log kept of that so i get an idea of you know at the end of the week i can say alright this is the most popular use of module or if a user says you know writes in and says i was using gcc and it broke and we don't have to sit there and and save which bloody version of gcc where you're using we just can look in the logs so um... so we have to give some more demonstrations of how that choose but i just want to give you an overview of it right now the other thing we find very useful is uh... this program called easy build a lot of y'all are familiar with building uh... rpms you know you write up a dot spec file or similar on debbie and whatever that you know you write up and uh... you basically put in the steps for you know configure prefix equals blah blah blah you know make make install uh... a lot of times with distributions that's a lot easier to do because on most distributions you pretty much usually have one version of gcc one version of open mpi one version of the open blast math library of the scale of packed math library or that kind of thing uh... in order to provide a lot of diversity and also to be able to keep up with the the curve uh... you know we install a lot of different versions and so depending upon the version you load the location on disk is going to be different uh... and so those paths have to be updated and whatnot what this allows you to do and i'll show the example here in a little bit it's basically uh... very simplified uh... spec file uh... with a little bit with a little bit of python in it that uh... that basically will build the program and install it in a standard fashion and some of the really nice features about it is it keeps a complete build log of everything that was done during that step during that build it's consistent in the way it lays things out it's consistent in the way things are named uh... and it gives you a record exactly when the software was installed you know when i started at uh... at the super computing center in twenty thirteen uh... before that i've been with the parasol research group over in computer science but uh... the person who had been my predecessor have led the system just go crazy in terms of you know there was no accountability there was no if you had i was like open-form installed there was nothing there that told you it was built with intel version this and impied that and this math pack you know in that kind of stuff and so you had to you know it was almost invariably easy to get things wrong because you could start getting a mix-max mish-mash you know we'd have two modules and you'd load them together one of them would load intel's impied the other one would load open impied and when you go to make an impied call you know all hell broke loose so when we got these new clusters i said no we're not we're not doing that uh... and so you know easy build has made it very simple for us to be do things in a very consistent manner i think at this point so first off just to give you an idea of uh... some of the models that we have on our system uh... this looks a little funny it was formatted for another screen size but uh... we have a number of uh... open source and commercial products on the system so uh... and in a number of different versions for each one so we have so many that some of them need to be removed which is a good thing about the module logging because it's giving me a feel i just installed lmod onto ea so i'm getting a real good feel on what i can start purging from the old you know mess but uh... basically you know here's all your uh... a lot of your icc computer intel c compilers uh... here's a number of open foams that we've built now obviously the number is the the uh... the version number the the last part of the name is what's what we call the tool chain and the tool chain version uh... in the case of the intel those are based on uh... well let's let's start with the icc the icc they are using the intel compiler the intel c compiler the intel mpi and the intel math kernel library and the two compilers are based upon the system installed gcc which on uses four point four seven or four point four two i don't know if it's old on six is four point four seven maybe i'm five it's five point one two four point one two or whatever but anyway uh... so the icc cc are strictly intel built on the system based uh... systems uh... gcc and we also uh... build some other ones which we call the the fall of the uh... the intel ones the intel ones with the lower case c or lower case at the end they're based on the newest uh... bleeding edge compiler so at this point well not quite the new it's the best on the four point nine series we haven't really started moving into the five series yet because a lot of programs have difficulty though with the uh... newer four nine two and because intel doesn't exactly supported yet uh... we also provide uh... the capital b version which uh... which is based on gcc four eight four which was basically the what was current in that in the four point eight series at the time uh... anyway so you can see we just have shed loads and shed loads of uh... uh... and and like i said i've mentioned that we have some we we shouldn't have i've uh... i did not see these on the system because they should not be there because ever in a state of law uh... does not work that she's by npi to figure out uh... what kind of hardware is in your system right so module spider if you just give type module spider if you just can get a description of all the different things uh... it'll this just some of the versions not all of them uh... give you a brief overview of it and uh... and you know point you to the web page this is really handle it because you can do like a module keyword keyword search so if you say uh... module keyword quote fluid dynamics it'll go back to go and find all the models that have to do with fluid dynamics uh... and this year is uh... this is a commercial software program this is really the other program that that group was using uh... and they were also making simulations in it but the ones we were looking at just now those were done in open phone uh... and this is a commercial project product but it just goes on and on and on and you'll see a lot of things here that you see on your normal everyday when it's distribution so so we wanted to look at uh... open form in particular here to tell me you know different versions that are available and that kind of stuff okay well we can do without it basically if i load that module uh... which i don't do here what it does okay so this is the uh... what we call the easy config file for well that's not exactly that's the log if i have time at the end here i might just go ahead and log on do it for real but uh... so this is basically uh... the spec file so to speak it kind of uh... gives an overview of uh... how to build things and what is needed and so like i said there's also a little bit of python behind the scenes and i don't have that here with me either but uh... between the python and this this part of it changes quite a bit between version and version you can also do things like quick things you can see you can add options like a pre-config options so you want to like uh... make a uh... a change to a file using said rock you know you don't want to go through all the trouble to make a patch for it you know you just do change delete this one line or stuff like that uh... you can do like pre-build up so it's like after you run configure and the make file needs to be tweaked a bit you know you do a pre-build up and that gets run before the actual make uh... as you can see you can apply patches uh... and then you can specify the different you know the the dependencies that are needed during build time and the dependencies that are going to be needed at build and at run time uh... of course those simple and some additional uh... dependencies and uh... now the important thing here is is they all need to be built with the same tool chain it's a little funny here because of the screen formatting basically when i did when i did load open foam uh... it brought in this uh... because everything is going to be built on this fos twenty-five thing you know everything listed before fos twenty fifteen there is parts of it to make up for twenty fifteen so you can see that uh... we start with the gcc we had no more control we had a hard work location for open mpi we didn't build uh... open blasts and then we put together a thing called uh... go in p i which is basically uh... combining the open mpi and gcc compiler uh... then we you know throw in fftw and scale a pack and all the other we call that fos yes sir uh... these are all built on the machine that they're run on the only place we have to worry about cross-campilation is on the blue jean so uh... and that's just by design uh... you know if one of our users want to get really creative they could cross compile for power seven on our x86 and vice versa but i certainly don't do that and the other thing is i do this as a as myself as as you know i do not i'd never do this is route that was the other big mistake about is when i got there every single package on the system was installed with root and nobody bothered to check to see what you know files were set u i d route and you know that kind of stuff so it really it really was quite a mess the fact is uh... march of last year yeah we got on i mean art he has cost her just got completely owned we had to shut it down we call up sick uh... uh... campus security they called up for rising security paid a hundred thousand dollars rising shows up takes all our drives you know images of them all goes back to the lab and at the end of the day they said they couldn't figure out what's going on but they said that though the lack of and the other thing yeah but my predecessor which i just found an excuse he wouldn't do updates he refused to do young updates you know so he was running or sent to us five one when the current one was to us five five so there were a few security updates in there that he might have missed and the reason being well it's complicated because we got to rebuild gps fs drivers and infintiband drivers and blah blah blah and it's like yeah but that's no excuse for you know not doing it so we've adopted a new policy each of those clusters he isn't eight of one of them comes down every month and we do young upgrades and tweaking and whatever else needs to be done and we just tell our users you remember what happened in march of last year remember how we were down for you know almost a full month you want that again and usually that that says no you take your day of maintenance no problem uh... but as you can see here you know it also loads uh... beyond the faucet loads uh... z-lib and then scotch and then i guess i can't see the rest of the screen there trapping in a weird way uh... it is wrapping in a weird way incurses and finally the open foam part all right and then finally uh... you know this this is really nice this gives you an exact step of all the things that were done uh... it's very useful if you want to like rebuild something from hand you know you go through here and uh... okay so open foam doesn't have a configure step but uh... you know if you can go through here and see kind of the different commands that were run and and that kind of stuff and then as i mentioned uh... you know at the end of the day if it builds successfully it'll create a little build summary for you basically just takes the config file writes up at the top very right top you know this is built with easy build version acts on this time this day uh... the only thing i would add to that is on which node but all hey you know you go down here to the bottom and sure enough uh... this tells me if it wasn't built on eight or log in to be surprised you know it's built on log in too so this tells you all kinds of uh... details about you know the build itself and that kind of stuff and uh... basically just helped things to be manageable there's also you know file here called uh... this develop file it's kind of used internally by open open easy build to uh... set different compiler settings and that kind of stuff so this kind of gives you an idea of what what the environment looked like when open foam was built uh... including any c flags that might have been set or you know linker flags and that kind of stuff so that's uh... brief overview in twenty five minutes of uh... how we use open source software at and and we are highly dependent upon it and uh... so are many of our researchers uh... we will be at super computing in austin uh... this november uh... comes dot in every five or so years i highly recommended if you want to talk with people that uh... uh... use open source open source software uh... you've got vendors there you've got businesses there you've got research universities there uh... there's a lot of people and they're all happy to talk to you uh... it is a hundred fifty dollars but you know it's relatively cheap if you get the full pass for super computing it runs up closer to eight hundred so uh... but that gets you going to all the workshops and tutorials and unless you're into the really detailed you know how people are using super computers and doing their research uh... you probably won't really much care uh... if you have any questions feel free to raise your hand or you can look around our website uh... or feel free to send me an email i thank y'all for coming and uh... i thank y'all for coming to texas linux as well it's great everybody showed up this year just because you're still programing for them and uh... i don't know if you've got a lot of people i would say a few people make a great deal of use but you know because they are out there uh... he is the only head for the institute sometimes they're used for a main deal that's kind of like a little program that it'll do a lot of that uploading hey i can still just expect math so they use it in some use that way uh... and that's where you have to go and discuss the use of it and i think most people that really don't use it in the slides they probably should have used it one of the reasons it's not very useful and just for uh... age as well you can directly add to that uh... one-nineteen of them and following math if you were like 155 each of you had a research group that i worked in from you know they didn't match part of the library but this year i'll get uh... more and more you know really big iron and no one else most of our 25% science you know it's a lot of engineering it really needs to be piloted it's a wide range of because IBM because board readers a lot of rpbs on the old ones we were we were set we put together rc for board readers to get their things and we had rc off from the others and we were already set up we even thought about it i just wonder if we could put all our questions together but because of IBM we put that software we had to make a decision if we if we strayed from the fact that IBM had set the road you know i'm actually the hbc guy that's dan voss k-state or k-u dan anderson k-state hendry neiman at w-u jerry brezz and tech the tech the hbc guys the hbc guys from a&m i've got to make you the queen alright so you're chris alright yeah okay cool do you go to things like the oe super computer for the next month no no alright well then i'll probably see you at two or three meetings so that's right okay so one of the things are you seeing an increase in the economy using your system i haven't yet really okay economics yeah it's one of those fields that's just now beginning to grow and a lot of people are beginning to notice like my guys at intel were contacting me and they were like what's going on with these other people asking so they like their big data analytics library that they're rolling out in the new year in 2015 they asked us to actually do the beta test for them because they're kind of seeing some of this yeah i'll chat with you later but there's some pretty cool stuff coming okay cool thank you thanks for your talk thanks for your time thanks a lot we move from policy to other universities we'll take you down introduce your price level actually you gotta have something that kinda wrangles everything you should have me an email I can send you a link on our webpage that has a really detailed description of the architecture of eos uh... in terms of the infantivand and the gps disk layout some of the decisions and why they were made that way and that kind of stuff and