I'm excited to present here. I'm Michael Taylor, I'm a professor at University of Washington, also known as UW sometimes. And this is Max Rutenberg, who's one of my PhD students, will be presenting the second half of the talk. So the talk is entitled The Hammerblade Wrist 5 Minicorps, and it's essentially a programmable scalable wrist 5 fabric that, you know, in some senses is equivalent to a GPGPU, but it's completely open-source. So for motivation, you know, especially in this room, you know, we're experiencing this open-source renaissance, right? We have open-source ISAs, open-source CAD tools, open-source processors, open-source libraries and RTL. And so I think, you know, we're going to see enormous transformation in the industry because of all this open-source stuff in hardware that we're doing. And then at the same time we have all of these new application domains that are enabled essentially by Moore's law winding down, right? So, and the key to technologies really for enabling these domains are the development of new DS cells, domain-specific languages that help us make the specification of parallel compilation or make the process of compiling some application and getting it to run in parallel in some way feasible, and then also the availability of a new parallel compute fabrics. And those are the things that are going to get us the energy efficiency that we need in order to get, you know, the high performance within a given thermal envelope. So the Hammerblade MeniCore is kind of seeking to be the base class of these parallel compute fabrics that are needed for these new application domains. So what is a Hammerblade MeniCore? So it's a highly programmable, highly energy-efficient spatial fabric for sort of mixed sparse dense compute. So the idea is this is trying to address not just codes that would run reasonably well in a traditional GPU, but also new codes like graph codes that are much less well behaved and much more challenging to get some parallel speed up. And at the very heart of the MeniCores we have a super high efficiency compute tile. It's a one instruction per cycle of this five engine. And then each tile has an instruction cache and a local data scratch pad. And you can adjust the size of this, but generally you want it to be small, because the smaller it is, the more cores you can fit on the chip, right? So there's a trade-off there. And we'll show you how the architecture actually allows you to flexibly change that trade-off. Each core also has an FPU and then a little router to talk to the other cores. And then it's very scalable. You just stamp out as many cores as you want.  So we have very good efficiency for the MeniCores. So this is a picture of a floor plan and TSMC 16 nanometer. And then this is actually a die photo from the actual chip. So this was a chip we presented at the RISC-5 summit, the fourth one, I think it was in 2017. And what's amazing about this core is that even with super small instruction memory and data memory, the memories themselves occupy 64% of the tile area. So it's a kind of existing proof that, yeah, you could try to go and refactor this core and try to squeeze it down a little more, but the maximum improvement you could possibly get would be about 36%. So it's so small, in fact, that you can fit 40 of these per millimeter and 16 nanometer. And at 7 nanometer, you'd be able to fit 120 of these per millimeter. So zooming out, you know, we have this array of cores. So we need to also integrate them into a parallel memory system. And so the architectural model is you have the C of cores. And then at the edge, you have these L2 victim caches that are then connected to many parallel memory channels. So it could be, for example, HBM2, which, you know, in GPU systems, you can have 64 parallel memory channels these days. And these caches are also adaptive and can essentially change your favor on the fly as you learn more and more about the workload and the input data set. Now, it's pretty easy to create a C of core. So the real special sauce is how you weave these things together. So the interesting thing about how this is done in our system is that every single memory location and every single local core scratch pad, every single memory location in the L2, every single memory location in the DRAMs, it's all addressable by all the cores. So that means they can very easily collaborate just by doing loads and store instructions, which will automatically get routed over to whichever core it is or cache it is that owns that particular location. And so a core can actually issue many repeated loads and stores. Those things will go out in the network in parallel and then come back potentially out of order. And the core can continue executing instructions. It's only when it actually tries to use the register that was the result of the load instruction that it might actually stall waiting for the data. So one of the concepts that we have in trying to map software to the many cores that we have this big array of tiles and now we want to sort of group them together for two reasons. So one is we may want to execute many different programs at the same time on the many core. So we have this concept of tile group and here we show a tile group which is a 4x4 tile group where I allocated these 16 tiles on the many core and the many core essentially can, the computation that's running on the many core inside the tile group can share all the collective memories of those tiles. So this is a way for you to manage not only how much parallelism you have by having more fewer cores, but also how much working memory that you have. So if you have a big working set then you can use a larger group of cores in order to increase the amount of local memory that you have. And of course, because those cores are located near each other, the latency is very low in order to access the data. Whereas if you go off-chip, the latency would be higher. So in order to program this, we have, of course, we have DSLs which are more user-facing, but in terms of writing very high-performance library code for those DSLs, we have something we call CUDA Lite, which is very analogous to CUDA. And the idea is that there's a big developer base for CUDA that's familiar with those programming constructs. And we'd like to essentially take the knowledge that people have embedded in CUDA code and then relatively easily move that knowledge over to executing on the many core. So this is an example, a comparison of a snippet of device code that run on CUDA and equivalent code on CUDA Lite. And it's fairly one-to-one in terms of being able to move code over. There's certainly some differences in terms of optimization and what would be preferable in one architecture of the other. But in terms of getting something up and running, it's fairly straightforward. So of course, you have the many core and these cores are highly specialized for dense compute, but we would like to put a control processor of some form. So there's two flavors of this in our system. So the first is we support doing PCIe attached acceleration. So in this case, we have a chip, it's a many core chip. It's on a PCIe board and then we connect it to a Xeon server. And we have this up and running on F1. So in F1's case, there's an FPGA board, which is simulating our many core. And then we have our host code running on the Xeon. So you have X86 code talking to the many core together. In the longer term, our goal is to actually have a black parrot integrated on the same SOC as the many core. So for example, you could imagine right now we would run PyTorch on the Xeon and it offloads calls to the PCIe board. But eventually, when PyTorch runs on RISC-5, we would be running that on a black parrot. So I'd like to mention that we've actually been through many iterations. So we have a very agile methodology where we do tape outs, we build software on the devices, we get experience, then we develop the next generation. So we're actually entering our fifth generation in iteration of this, so the fifth silicon iteration of the many core. And so we started out in 180 nanometer and then we did two chips in 16 nanometer that had a 511 RISC-5 core. So it broke the world record for RISC-5 performance. I should probably still hold it and also for CoreMark for any ISA. And the latest system, Hammer1, is where we've really been focusing on programmability improvements to grow the user base and also floating point support. So I'd like to mention that in addition to the many core itself, my group has a website bjump.org. We have a bunch of stuff that might be of interest to you if you're developing open source hardware. So one of them is something we call Baychamp STL. Dan mentioned this in the last talk. So this is a library of very high quality implementations of almost every hardware primitive that you can think of.  All of these things we've developed over the last 10 years in our group and we've really iterated on their quality and also results. And it's all been validated. We also have open source motherboards. So you can design your ASIC to a particular interface standard that we specified and then you can just take your ASIC and plug it into a socket and it'll just work with this board. So you don't have to go and design a board in order to use the silicon that you developed. We also have open source BGA packages. These are much higher pinout than you can get off the shelf. So if you design your chip to this interface standard that we've specified, this ASIC socket standard, then you can get much more higher performance bandwidth out of your piece of silicon than you would on your own. So I'm going to wrap up the hardware part. I wanted to also mention that we have developed a methodology for taking cores out and replacing them with accelerators in this fabric. And in fact, our collaborators at Cornell have been developing several accelerators and have done proof of concept already with having hybrid many core accelerator systems. So now I'm going to turn it over to Max who's going to talk about some of our Hammerblade software stacks. Thank you. So yeah, so I'm going to, hi, I'm Max. I'm going to give an overview of our software stack. So one of the primary goals of Hammerblade is programmability and portability of code that already exists that's written in higher level frameworks. So Kudolite, which is our low level programming API, is the building block for these higher level frameworks. Our collaborators at Cornell are working on PyTorch or back in for PyTorch for Hammerblade. We at UW are also working on DGL, which is a Python library for targeting craft structured data, but using machine learning techniques and TVM, which is a machine learning IR. And we're also targeting Graphit, which is a DSL for high performance graph analytics. So just a quick introduction to Graphit. It's main features that it decouples the semantics of the program from the optimizations that are applied. This is important because with graph algorithms, there's a whole, the field of optimizations is pretty wide and they don't always work on every single input. Sometimes the optimizations that work are highly reliant on the input. The two main types are edge sets and vertex sets. And then there's a schedule language, which you can see down here, which says what optimizations so applied. So we ported this to Hammerblade and here's sort of an example. So the same snippet of code, I actually took it from BFS. Basically the frontier is just being updated by traversing the existing frontier, applying an update function and then creating a new frontier from the nodes that were updated. You can see in the scheduling language that we've said that we want the dense pole direction and that we want to generate Hammerblade code. Down here, you can see the host side that is generated. So this runs on the X86 or black parrot. You can see that it's just the outer loop, but we're offloading the work. Here's the generated risk five code. It's C++ code. The work is self-assigned. We have a local range function and then we are doing a parallel dense update. And then finally, when all the work is done, we do a tile group sync. So graphs are kind of challenging because they are typically memory intensive. So taking full advantage of all your cores can be tricky. They might spend a lot of time waiting for memory. So one way you might be able to address this problem on Hammerblade is doing something similar to what we might do on GPUs. We can tile our memory accesses. So in this case, the proposed plan would be to take vertex data and access in a block fashion so we would pull it in on one block for a group of tiles and they would pull it into their local memory and then they could just do sparse updates from the edges so they can access the edges. You would keep the edges partitioned across DRAM channels. This would maximize your message transfer rate and then you could restrict your updates to a given range. So this would keep your look out. This would keep you from breaking your cache and it will reduce the amount of time you spend waiting around for memory. It will maximize the parallelism of your course. So now I've given you an overview of mapping an application to Hammerblade. I wanna onboard you all with how you can get involved. So our main simulating environment is a CC++ co-simulation environment. Well as you didn't to simulate your entire stack, the host software, the mini-core software. We use Synopsys as our RTL simulator. I should note that most of the code and the RTL in our group is veriliter friendly so it would be a straightforward and solid contribution to get veriliter working. The code's all up on GitHub. You clone this repository called Blade Runner. You get the related sub-projects and then there are instructions in the readme about how to get up and running. If you have the tools and the environment it's fairly straightforward. We also support deployment on AWS. You need the Vivado tools. You need Xilinx Vivado compiler. But it's all part of the same project and we have detailed instructions in the readme about how you can build the FPGA image, how you can build the machine image and you can get up and running. And the machine image will have everything. It'll have runtime libraries, development tools for risk five, the FPGA bit image, all of it. And lastly, I'd like to suggest some directions you could take to help us contribute to the Hammerblade software stack. All of our software frameworks that we've imported are works in progress, everything down to cootalight. But there's some other really interesting directions we could take that we haven't explored yet. So Halide is for image processing. We haven't looked at that yet, but we're pretty confident that would be a good fit. TensorFlow right now we have PyTorch but TensorFlow would also be excellent. FFTW is a library for doing FFTs on CPUs. There's also QFFT for CUDA. We would really love one for Hammerblade Mini Core as well. On top of that, Cornell has been working on building their own accelerators and adding them to our mesh and it would be great if you could add for people to add their own accelerators and to expand our application domains. So we have a full stack team and they work very, very hard on this project and I'd like to thank them before including. And on behalf of the Hammerblade team, we salute you all, we really hope you contribute and thank you very much. So the question was, oh, how many of these can you fit on FPGA? So we haven't done too much with small FPGAs but we can fit 192 cores on a big FPGA. So a reasonable number of cores would fit on a small FPGA.


Hi everyone, Joe for jasperjasecasebrakes.com coming at you with 2020 Hit Parade, The Rookies, Prison Football Edition Series 3, One Box, Random Team Break No. 1. So that's what you can expect out of there. Now as always we're going to do the break itself first, then at the end we'll re-randomize those 32 names and the top four names are in win spots in that football mixer which is very close to selling out and we will be able to do that mixer promo as well. Alright, but break first, big thanks all of these folks for getting into the action, appreciate it. All 32 teams are in, let's roll it, let's randomize it, five and one, six times, six and final time, after six we've got Steve down to Renee, six times for the teams and six and final time, this could be a nice, I know really the point is to try to get those mixer spots but you can stumble into a nice graded hit out of here too, so definitely some added value in these breaks, these one box breaks here. Alright, so there's the first half of the list right here and any one of these teams could have a big hit and here is the second half of the list right there, sort by column B by team, everyone can see if you need to see your team again let me know and I'll let you know what team you got, in the meantime let's pop this case open, so apparently they only made ten cases of this, so that's interesting, are these in boxes, are they in pouches, I don't know we'll figure it out, they are in boxes alright, alright so let's number the box right here and let's generate a number, let's go back over here, let's generate a number between one and ten and we're going to do box six right there, so that's the box, so let's pop this open, the four box, we just finished that Joe, we just finished that, video is uploading as we speak, kind of a long break so it might take some time, alright, I guess you can cherry your hit right there and what do we got here, it's Kyler Murray, nice, PSA 9, Kyler Murray, it's not too shabby, already graded for you, oh and that goes to Bradley, Bradley has the cardinals in that one, there you go, congrats to you Bradley, now everybody has a shot at the football mixer spots, once again it's going to be top four after eight, top four after eight, one two three four five six seven and good luck, eighth and final time, after eight, first off everyone from five through thirty-two right there, five through thirty-two, thank you, I think there's a couple more opportunities to try to get into the action, but if you want to try again, jasmicecasebreaks.com alright but congrats to JC, Jared, Rich and Patrick, you are in the football mixer, thank you very much everyone for getting in, Joe for jasmicecasebreaks.com, I'll see you next time, bye


So I'm Michael, I work with Mathieu at Aja and I'm part of Quebec L'Houvert, Montréal L'Houvert and we've been lobbying to get open data policies at the city Montreal and then at the municipal level and then didn't take much hard work from us to get an open data policy at the provincial level so those two things exist and now our attention is turned towards trying to use open data to help bureaucrats and help different people that are trying to reduce the amount of corruption. So we've had three preparatory hackathons to get awesome data into people's hands during this day so there's been a lot of thought that's gone into it beforehand. People here have participated in some of those mini hackathons beforehand and then events coming up November 10th and 11th so those of you going to Python, Canada won't be able to attend but those of you that are around you know it's happening soon. I think a hundred people are signed up so far so if you want to get tickets that'd be great but if you just scroll down I will show you some of the data sets that we've scraped to get into people's hands for this hackathon. So if you know open corporates we've pulled off the profiles of all of the companies registered in Quebec and now it's part of the open corporates website and then there's a bunch of different other data sets and we're going to be exploring them and seeing how we can link the different data sets together to find out, basically create tools for bureaucrats and for journalists to be able to follow what's happening at the companies around corruption in Quebec. Any questions?


CMOS RF integrated circuits today is lecture 16. As part of lecture 16, we are going to finish with the fifth module that is bandwidth estimation techniques. So, as part of that I am going to discuss the method of short circuit time constants. And then hopefully time will permit and if time does permit, then we are going to start the new module called on a wide band amplifier design. So, that is the plan for today. First I am going to try to finish the old module and then we shall start the new one. So, earlier in the previous lecture we were discussing the method of open circuit time constants. So, the method was basically you have a network full of resistors and capacitors you have got an input and an output. So, step one the question is what is the bandwidth of this network this is what you want to find out. So, to do this what you first do is you pull out one capacitor out of the network. So, you have pulled out one capacitor out of the entire network and then the next step is that you kill all the other capacitors inside the network. When I say kill all the other capacitors this is the method of open circuit time constants. So, you open circuit all the other capacitors inside the network. Then you replace the capacitor that you have pulled out by a voltage source and find out the current that it generates. So, you replace this capacitor by a voltage source and find out the current that it draws. So, that voltage source divided by the current will give you the resistance. In other words you do not have to do any of these replacements. In other words what you need to do is you find out the impedance looking into the network from these two terminal points between these two terminals. What is the impedance that you see once you have that got figured out then R times C that resistance times C will give you the time constant corresponding to that particular open circuit time constant. This was the method. Now, we discussed that this works when our circuit does not have any 0's. It works in the absence of complex conjugate pairs of poles. So, this is the general technique. So, we did quite a few examples of this and we figured out how we can use this particular technique to our advantage and how we can work wonders. Now, what the method of short circuit time constants addresses is this fact that open circuit time constants do not address. This method does not address any 0's. So, the method of short circuit time constants addresses just this. It helps you figure out what are the 0's of the circuit. Now, to do this you have to be very careful. You have to first know which are the capacitors responsible for poles, which are the capacitors responsible for 0's. Failing to do this is going to land you into trouble. So, we first need to know in advance which capacitors give us the poles, which capacitors give us the 0's. If we do know them then the method of short circuit time constants is as follows. All of the capacitors that are responsible for 0's have to be short circuited when you kill them. All of the capacitors that are responsible for poles have to be open circuited when you kill them. So, let us relook. I have got a network. I have got a lot of resistors, you know g m's etcetera, and I have got some capacitors which give me poles. I am writing p for them, and I have got some capacitors which give me 0's. I am writing z for them. Now, the method is as follows. You pull out a capacitor responsible for a 0.  When I say kill the other capacitors, what you do is you open circuit all the pole capacitors. You short circuit all the 0 capacitors. Now, what you need to find out is the time constant that you see looking in from these two terminals or rather the resistance that you see looking in from those two terminals. Resistance times the capacitance that will give you the time constant. You do this for all the 0's that you have all the 0 contributing capacitors that you have.  So, the method of open circuit time constants is going to give me the higher cut off frequency. The method of short circuit time constants is going to give me the lower cut off frequency. In other words, if I pull out the capacitors responsible for the poles, kill everything else. When you kill everything else, you have to follow the same strategy. You short out all the capacitors responsible for 0's. You open out all the capacitors responsible for poles.  Find out the sum of the time constants. 1 by the total time constant will give you F 2. You pull out all the 0 contributing capacitors. Find out the total time constant. 1 by that time constant will give you F 1. The proof of this is very similar to the proof of open circuit time constant, the earlier strategy. So, the proof is very similar. Here, the assumption is that my transfer function has only 0's and no poles. It is a very strange assumption and that is how it is. So, we are going to assume that we have got everything only 0's in our transfer function. So, these are all the 0 contributing capacitors. This is what it gives. You do not include the pole contributing capacitors in the short circuit time constant calculation. Similarly, you do not include the 0 contributing capacitors in the open circuit time constant. So, this should solve some problems. What problems is it going to solve? It is going to solve the decoupling capacitor problem. I mean you are all familiar with this kind of a circuit. Now, typically what we do is these two capacitors, actually these three capacitors are supposed to be large capacitors. Remember, these are not parasitic ones. These are capacitors you intentionally put there and you make them large. So, that at A C the signal goes through, at D C the signal is blocked. That is the thinking behind putting those capacitors. These are capacitors that contribute 0's and not poles in the system. If you say that these are large capacitors, I am going to treat them with the O C time constant method, then you will get ridiculous answers. As in you are killing your bandwidth every time you make the capacitor larger, that is not the case. These capacitors affect the lower cut off frequency. So, the next obvious question is how do I know which capacitors contribute poles and which capacitors are responsible for 0's? I mean there are so many capacitors here. There is got to be some capacitance here, here, I do not know where else. All kinds of capacitors are there everywhere and some of these you are saying are contributing poles. Some others are contributing 0's. How do I know which is which? How do I know which capacitors to include for my O C time constants which to include for short circuit time constants? The answer to that is you have got to decide and the way you decide is this. If you open the capacitor and see that your performance improves, then it is got to be contributing a pole. So, let us look at it. Let us call it 1, 2, 3, 4, 5, 6. If I open out capacitor number 1, the signal does not reach the base of the transistor. So, clearly performance is not going to improve. So, it cannot be a pole contributing capacitor. If I open capacitor number 2, then the configuration becomes like a emitter follower gain reduces. So, therefore, performance decreases. So, therefore, it cannot be a pole contributing capacitor. If I open capacitor number 3, then once again signal does not reach the load and as a result it cannot be a pole contributing capacitor. If I open up capacitor number 5, then life is better. I have got less capacitance looking into the base of the device. So, therefore, performance is going to increase. So, therefore, capacitance number 5 is going to create a pole. If I open up capacitor number 4, Miller effect is dramatically reduced. So, therefore, it is a pole contributing capacitor. If I open up capacitor number 6, capacitor number 6 is basically loading the output. You reduce the load, performance is going to improve. So, therefore, capacitor number 6 is also creating a pole. So, this is how you decide which is contributing a pole which is contributing a 0. Alternately, you can also do the following. You can short the capacitor and if performance degrades, then it is a pole. If performance improves, it has got to be a 0. You can do either of these two experiments to figure out if that particular capacitor is responsible for a pole or for a 0. Now, your homework problem is to figure out capacitor number 4. That is going to be your homework problem. I would not give you the answer right away. Capacitor number 4 creates both a pole and a 0. So, how do you figure out what needs to be done? I would not give you the answer and think about it, try to work on it and then we shall see. So, with this I am going to close the topic of open and short circuit time constants, bandwidth estimation. So, we have done enough. We know how to work with a circuit. So, given a circuit, we can compute quickly and estimate its 3 dB frequency, both the upper cutoff frequency and the lower cutoff frequency. So, we know how to do that right now. Next we are going to move on to the next module that is wide band amplifier design. So, we have learnt how to estimate bandwidth etcetera. But of course, these techniques have a couple of very serious flaws. Flaw number 1 is that you cannot handle poles and 0s at the same time right and flaw number 2 is you cannot handle a pair of complex conjugate poles or 0s for that matter. Strange things are going to happen if you try. So, consequence of this is that you cannot handle circuits which have both inductors and capacitors. Unfortunately, that is how our life is going to be. So, we wanted to design a wide band amplifier and this is where we had started from right. This was our first cut circuit. We did the method of O C time constants. We figured out that it has got some bandwidth what was it 75 megahertz with some rough numbers I gave you. Then in the next step we improved it we added one more device and it was improved. Then in the next step we added another device it improved even further and the final step we added even one more device and I got a bandwidth of what was it 250 megahertz or 280 megahertz or something like that reasonably good bandwidth. So, I got something like 300 megahertz I have forgotten the numbers right. How did we do this? We kept on adding devices and solving problems. So, wherever we had a problem we recognize the problem we added another device over there to fix the problem. So, that was our design strategy alright. Now, this works when we talk about integrated circuits. You can keep adding devices because devices are free or an integrated circuit can use as many devices as you want right might cost you a little bit of area, but really I mean believe me it is nothing compared to what you are going to burn in terms of other accessory circuits. So, ESD protection and this and that is going to cost you much larger area penalties then this extra 1 or 2 devices. So, 1 or 2 devices is no big deal digital circuits routinely use millions of transistors right. So, why cannot we we can use many as many devices as you want to use. Now, earlier before integrated circuits made their head way when products used to be built out of discrete components lot of engineering had taken place people sat and figured out how to make wide band amplifiers even though they were not on an integrated circuit right. So, there in those times the philosophy was that every device I add is a penalty I have to pay for that device I have to buy that device I have to put that device over there every active device is a penalty it is costly passive devices I still have to buy it, but it is not as expensive as the active device active devices are costly each individual active transistor is a price penalty can I do something with passives instead can I improve the bandwidth of this amplifier with passives. So, this question was explored has been had been explored long back and people came up with some rather nice solutions that are still interesting even though we are on an integrated circuit even though we have been you are allowed to use as many transistors as you possible transistor is free even with that philosophy even then there are some beautiful things about the older philosophy where transistors were expensive passives were not as expensive there are some nice things about that and we should explore those strategies as well. So, coming back what can I do to this circuit without using more transistors more MOSFETs I am not allowed to use more MOSFETs what else can I do to this circuit to make it have a wider bandwidth. So, this is the question what can you do to this circuit to make it have a wider bandwidth now the answer that came up was this you know R L and C L were anyway split in my older topology as well add with extra devices I had split up R L and C L. So, I am giving myself that freedom. So, the first suggestion is that why do not I add an inductor over here what does this do. So, let us take a look we are going to compute the impedance looking into the load network earlier the load network was R L in shunt with C L and Z L earlier was basically R L in shunt with 1 by j omega C L in other words this is equal to R L by 1 plus j omega R L C L. So, this was my load earlier what is it now. So, now it is R L plus j omega L in shunt with 1 by j omega C L which is equal to R L plus j omega L divided by something like this and you can simplify this a little bit it can be simplified a little bit in this fashion. So, what have we got we have now got we have now arrived at a system which has a 0 and 2 poles. So, earlier our system had just 1 pole now Z L has a 0 and j omega in 2 poles where is the 0 what is omega such that the result is 0 omega should be equal to minus R L by L j omega what is j omega such that not omega I am sorry this is fine. So, if you replace j omega with minus R L by L then you get the numerator to be equal to 0 and you get nothing at the output. So, if you plot on the S plane if you plot the 0 the 0 is over here at minus R L by L as you increase L the 0 moves closer and closer to the j omega axis next where are the poles. So, I just rewrite this 1 plus S times R L C L plus S square times L C L that is my denominator polynomial. So, what should S be such that the denominator is equal to 0 please let me know if I am making too many mistakes over here I doubt there are too many mistakes. So, this is my this is these are the 2 locations of the poles. Now, if R L squared is more than 4 times L by C L then the locations of the 2 poles are on the real axis if R L squared is less than 4 times L by C L then they are going to become a pair of complex conjugate poles. So, I am going to rewrite this condition in a fashion that suits me how I am going to write it is as follows I am going to say R L times C L has got to be 4 L by R L for it to be real and similarly R L times C L has got to be less than 4 L by R L for it to be complex conjugate pair. So, this is my rebranding I am going to further rebrand this and say R L times C L is really the time constant from R L and C L and L by R L is the time constant from L and R L. So, we are going to rebrand this it is the same result I am going to rebrand it and call this R L times C L as tau C and I am going to call L by R L as tau L L for inductor and C for capacitor. Further what this means is that if I write tau C by tau L if I call this something what you want to call it let us call it eta all right let us call let us define eta as tau C by tau L and this will basically give me that condition number 1 basically means that eta should be greater than equal to 4 condition 2 is eta has got to be less than 4. So, let us rewrite our so I am going to rewrite this in this fashion instead of talking about L and R L and so on and so forth let me just take R L common outside numerator is going to be 1 plus j omega times L by R L L by R L is really tau L and in the denominator I have got 1 minus omega squared times C L times L C L times L is also equal to C L times R R L times L by R L. So, this can be recast as tau C times tau L and then the third term is plus j omega tau C. So, I have neatened it up a little bit and then further what I am going to do is I do not like too many time constants I am just going to use this eta variable and brand everything in terms of eta. So, everything is in terms of tau C and eta I tau L is equal to tau C by eta. So, this is my load network now if you examine the load network earlier it used to look like this. So, at D C the value was equal to R L and then at the frequency of 1 by tau C it starts dropping at 20 dB per decade and of course, the gain is g m times or rather I have forgotten the output impedance over here does not really matter the gain is g m times the output impedance with this load. So, that is also going to exhibit similar behavior the net gain is also going to exhibit similar behavior fine. Now, let us examine what is the new load impedance the new load impedance has got a 0 where is the 0 the 0 is at eta by tau C. So, this is 1 by tau C and if eta is more than 1 then the 0 comes further down if eta is less than 1 then it comes earlier. So, let us say it comes earlier in that case you will be off to a flying start will start off from 0 at 0 frequency your impedance is equal to R L and then at eta by tau C suppose eta is less than 0 less than 1 I am you fly off at plus 20 dB per decade then you wait for your poles where are the poles. If eta is less than 1 then what have we got here if eta is less than half then what have we got we have got a whole squared no. If eta is equal to 1 then we have got a pair of complex conjugate roots at 1 minus it is one of those cube roots of 3 you remember it will be if eta is equal to 1 then you have got something it is one of those cube roots of 1 I am sorry. So, you will get these two points you will get all three coefficients 1 1 and 1. If you draw the root locus plot then what you are going to find is that as you change eta the locations of the poles change in this fashion they traverse an arc with center right over there that is what you are going to find as for example, as eta tends to 0 if eta is equal to 0 then you do not get I mean your 0 is really becoming very important you have got to multiply everything out by the by eta the term in the middle the term with s. So, you have got to rewrite this as if eta approaches 0 then what you are going to get is basically two poles on the j omega axis that is what you will end up with is that right might not be correct if eta is equal to 0 then I just get 1 pole at 1 by tau c I will have to check on that what you are basically doing is as you tweak this value of eta the location of the poles changes right what you are going to find out is that at eta equal to 4 at eta equal to 4 you have got the two poles to be on top of each other on the real axis exactly at eta equal to 4 you are going to get two poles on top of each other two real poles on top of each other. So, R L so basically you will get minus R L by 2 L as the two poles the entire quantity beneath the square root is going to become equal to 0 at eta equal to 4 eta less than 4 we are going to get complex conjugate pair of poles eta more than 4 we are going to have real poles. So, if you remember your control theory what this leads to are what happens when you change the locations of the poles and what happens when you have got two poles the poles move and then from one point they start arching out in the form of a complex conjugate pair what happens do you remember first of all the root locus plot I think I have made a mistake in the root locus plot it does not go in this fashion I think this is what it does correct me if I am wrong the two poles are at where are the locations of the two poles there has got to be mistakes here is this correct. So, these are the locations of the two poles and they do move seem to move in the form of an arc towards the j omega axis all right it does not matter what matters really to me is the value of eta itself if I make eta more than 4 then you see that the quantity under the square root is positive and as a result you get two real roots if I make eta less than 4 then the quantity under the square root is no longer positive and I get a pair of complex conjugate roots as I make eta lesser and lesser this quantity becomes larger and larger in the imaginary value now once we understand this more or less let us plug in some numbers let us say eta equal to root 2 let us start with eta equal to root 2 when eta is equal to root 2 what I get for the pair of complex conjugate poles is minus square root of 2 plus minus square root of 2 minus 4 times root 2. So, what is square root of 2 minus 4 times root 2 this is definitely going to be less than 0 if it is less than 0 then you are going to get a pair of complex poles all right one can show that at this particular value of eta you get the maximum bandwidth what is the bandwidth the bandwidth is the frequency at which this impedance becomes 1 by root 2 times the magnitude of Z L now becomes equal to 1 by root 2 times R L all right in other words the frequency at which this particular quantity 1 plus j omega tau c by eta divided by 1 plus j omega tau c minus omega squared tau c squared by eta. So, the frequency at which the modulus of this is equal to 1 by root 2 can we work this out it is possible to work it out modulus of numerator divided by denominator is the modulus of numerator divided by modulus of denominator modulus of the numerator is 1 plus omega squared tau c squared by eta squared this is modulus squared and modulus of the denominator is 1 minus omega squared tau c squared by eta the whole squared plus omega squared tau c squared and I am saying that this is got to be equal to half to figure out what my bandwidth is. So, let me do a little bit more of reshuffling and I am going to get 2 plus twice omega squared tau c squared by eta squared is equal to 1 minus twice omega squared tau c squared by eta plus omega to the 4 tau c to the 4 by eta squared plus omega squared tau c squared these 2 quantities have got to be equal and then you solve for omega to get the bandwidth. So, let us remove and then let us simplify. So, I have got 1 plus omega squared tau c squared times 2 by eta squared plus 2 by eta minus 1 minus omega power 4 tau c power 4 divided by eta squared equal to 0 and a little bit more of mathematics and that will give me my bandwidth I now have to solve for omega. So, I have got a quadratic. So, let me recast my quadratic to the appropriate signs. So, I am going to put plus over here minus over here and minus over here and actually does not matter does not matter. Let us solve this for omega and that should give me my bandwidth can I solve for omega or omega squared. So, quadratic I am it is a quadratic in omega squared. So, in the first step I will just have to solve for omega squared it is going to give me 2 roots for omega squared which one are you going to take it is a good question let us hang on a little bit. So, omega squared is going to be is going to be given by how do you solve the quadratic equation your famous formula. So, this is going to give me 2 roots now thankfully both of these roots are going to be real quantities no complex quantities involved looks like no complex quantities are involved unless you really goof up no you just cannot goof up over there no complex quantities at all both are going to be real quantities. And little bit more simplification is warranted let us cancel out tau c squared tau c power 4 and let us get rid of this minus sign right. And so, this is basically how we are going to compute omega squared and from this you are going to compute the bandwidth. So, we will use this result in the next class and proceed from here you are going to see nice things when eta is equal to 1 eta equal to root 2 and so on and so forth. So, let us stop here and we will proceed from here in the next class. Thank you.


Hello, how's everybody doing today? Nice afternoon, have a nice lunch, good sessions, full of energy, ready to go. I'm Ross Turd from Ink Tank, and I'm here to talk about Ceph today. How many have heard of Ceph? How many have deployed Ceph? A few, a handful, OK. Great. Well, we don't have to start with this, but I am anyway. We have to have an agreement about this. There's way too much data, and it's not going anywhere. And no matter who you ask for the stats, no matter who you ask for their projection of how much data we're going to have, everybody says we're going to have way more than we can handle. So this particular study, which came from an IDC report, says that by 2020, over 15 zettabytes of data will be stored, and 1.5 are stored today. I don't even know what a zettabyte is. It's like too many past what I understand and what I can remember. There's a lot of data. The interesting thing about this is that there's an inflection point coming, at some point in the future. I don't know whether you've hit it already, or whether you're going to hit it next year, or three years from now, but there's a point coming in the future where the data that you have to store on this red line is going to exceed the traditional growth of your business and your storage budget, which is the blue line. And that inflection point is essentially when we can no longer afford to pay for all the data that we want to store, which is generally pictures of our cats and what food we ate last night and a bunch of stuff that we're generating now. So we have a problem coming up, especially as it relates to traditional storage solutions that don't scale as well as they need to. And the solution is going from what traditionally has been a scale up type of approach to a scale out approach. And I like this because if a big shark comes along and takes a big chunk out of your whale, you have a dead whale, but if a shark comes and eats a third of your school of fish, you still have a school of fish.  And at Ink Tank, we do this with Ceph, which as we saw a lot of us have heard of. So Ceph is a unified storage platform. And when we say unified, we mean that it's object block and file system storage in the same platform. So on the object side, we have S3 and Swift API compatibility. We have support for multi-tenant environments, integration with Keystone for those who are deploying alongside OpenStack. We're slowly working on a phased approach to geo-replication on the object side. The community's slowly building that. And there's a native API as well that's extremely rich and goes beyond what you can normally do with objects in an object store. On the block side, the virtual block device that Ceph exposes provides support for snapshots and cloning. It's integrated very nicely into OpenStack with integrations into Cinder, Glantz and Nova through the hypervisor. It's got default Linux kernel modules that are mainline Linux kernel modules. And it's got some community technology around it to allow you to re-expose the virtual block devices as I SCSI, Glantz. And then on the file system side, although that's a little bit further into the future, the file system is support for project semantics on top of Ceph. Again, modules are in the Linux kernel. There's community work to re-export this file system using SIFs and NFS through Samba or Ganesha. And it's got auto-balancing and snapshot capabilities, although the file system's not quite ready for production use yet. Looking at it architecturally, on the bottom here, the storage cluster section, you end up having a collection of monitors. And these monitors are responsible for maintaining the cluster map, understanding who's in and who's out, which hosts are up and which hosts are down, and generally orchestrating the cluster. And then these object storage demons are part of the data path. They provide access to the underlying disks. So this is the storage cluster. On top of the storage cluster are the three interfaces, the object block and file system interfaces. So important to understand that Ceph is fundamentally an object store that has built block and file system interfaces above it in addition to a REST interface. On top of that, through these interfaces, you can access a bunch of stuff. There, it speaks S3 and Swift out of the top. It can integrate with hosts and hypervisors through Libvert and other integration mechanisms, iSCSI through some community work in SIFS NFS, and also the native Ceph SDK. So this is Ceph, but everybody raised their hands, so we already know what Ceph is. Ceph's integration with OpenStack is pretty complete on the object side. We integrate with Keystone for management. We speak to Swift API out of the Rados gateway. On the block device side, again, integrations with Cinder, Glantz, and Nova through the hypervisor. So it's a pretty complete integration. Ceph has also got a really strong community that's growing. This is IRC mailing listing. Commits looks so meager there, but it actually, that's a matter of scale. But we have a very strong and growing community. So this is Ceph. At Ink Tank, this last week, we just announced Ink Tank Ceph Enterprise, which is a product that we are offering, and I'm gonna demo if the demo gods are good to me, to help enterprises adopt Ceph. And what's inside basically are these four components. Ceph Object and Ceph Block, which is the Ceph we're all used to and we all know. Calamari, which is a new visual manager. Enterprise plugins, which we're working on. And some support services, which help you get from experts at Ink Tank. But we'll start with Ceph Object and Block. The Ceph that we ship in Ink Tank Ceph Enterprise is the 100% open source version of Ceph. It's not a fork. We're not adding extra smarts to Ceph that no one gets. It's just open source Ceph, but we've chosen a version that we believe is the most stable version that Ink Tank is willing to provide long-term support for. And we've production hardened that version. So this is just standard everyday open source Ceph that Ink Tank is willing to stand behind. On top of that is Calamari, which is a on-premise application.  Today it's monitoring and diagnostics. Tomorrow it's configuration deployment, tuning. Today monitoring and diagnostics. This has got the capability of rolling continuous upgrades and it's sort of a single dashboard to look at everything that Ceph is doing. We are beginning to work on enterprise plugins for proprietary enterprise ecosystems. If you're running a VMware stack or if you're running a Microsoft virtualization stack, we're working on making Ceph work with that. That will be part of Ink Tank Ceph Enterprise. This is external to Corsef. This is not something that's part of Corsef or that the community is interested in, just integration with proprietary ecosystems. And then on top of that, Ink Tank Ceph Enterprise is the technical support, bug escalation, hot patches and that sort of stuff that you always get from having a support contract with Ink Tank. I have screenshots so I'm gonna skip past because I think I'm gonna try to do a live demo. Is that up there? Hey, cool. So this is the login page for Calamari. This is a cluster that's actually running in California. So, ah, here we go, there's my data. So this, what I'm looking at now is the dashboard. The dashboard is a single view of what's going on inside the Ceph cluster. In the upper left-hand corner, you can see this cluster has an error and I was speaking to Sage, the creator of Ceph earlier and he was saying, oh, we should fix that problem. I'm like, no, no, no, no, keep it broken. It makes the dashboard look nice. So we have a cluster that's not in the clean state right now. The status on the top, you can see we have five monitors and they're all doing fine, but out of our, we have 35 OSDs and 33 of them are up and two of them are down. So we have a cluster that is experiencing an outage. Of our 6,134 placement groups, three are in warn mode and seven are in critical. We can sort of explore a little bit of that later and we're using 33% of our cluster and you can see underneath all of our OSDs. Now the OSDs again are software agents. These are software agents that give access to underlying storage resources. Of these OSDs, 19 and 30 are not working. So let's go over to the workbench, see what's going on here. The workbench is where you can dig a little bit deeper, sort, filter, get more information on what's going on in the cluster. So right now I'm sorting by OSD. I'm gonna sort by host. See what we have here is OSDs zero through six are on one host, seven through 13 are on another. You can tell by the different colors. So this actually allows you to see which OSDs are on which physical hosts and get a view of the infrastructure of your cluster. And right now we have 33 that are up or in. You can see those are the ones that are up and in. And we have two that are down. These here, 30 and 19. If I click on it, I can see it's OSD 30, status is down. I've got information about the public IP and the UID and the host name so that I can figure out what's going on with that and dig in a little bit. But I'd actually like to look at placement groups instead of OSDs for example. So I can filter by placement groups instead and see that, figure out which OSDs have inconsistent placement groups for example. And it would be these. So it's a quick way of figuring out which hosts are having trouble, which placement groups are clean and which ones need to actually recover a little bit better. And a great way to visualize a stuff cluster. On the third tab, we have graphs that show generic performance information from the cluster. Right now it's showing CPU load across the entire cluster. But I'll pick one host and show that we can, you can drill in a little bit into other analytics. And this is coming from a, it's coming from a diamond agents running on each OSD and these graphs come from graphite. So this is the Ceph Calamari dashboard. I'm gonna continue back in here. And yay, the demo gods were good. I don't have to have these as a backup, that's nice. So to compare the features, an important thing I'd point out about what Ink Tank is doing with Ink Tank Ceph Enterprise versus the Ceph open source project. One thing that's missing is Ink Tank Ceph Enterprise does not yet support the file system because we don't believe that it's production ready. But in addition we have the management GUI and all the features you get from being an Ink Tank customer. A bit about the roadmap before I conclude. And I'm a bit early, so that's good. In Q1 2014, we're hoping to deliver object quotas. We're also hoping to deliver ISCAs, he has part of Ink Tank Ceph Enterprise and GUI based management. Instead of just monitoring and diagnostics actual management to the stuff cluster as port for SNMP. In Q2, we're looking at tiering. This is actually a Ceph feature, a Ceph project feature. A lot of these features come from the Ceph project, some are Ink Tank, most are the Ceph project. Eraser coding is also coming in Q2. GUI based deployment, something else that we'll do in Calamari, the next version is, so first monitoring diagnostics, then management, then deployment. Q3, we're looking at a production ready Ceph FS, role based access control for the GUI so that you can have different members of your team do different things. Support for Call Home for enterprise customers who want it and integration with vSphere. So that's what's on our roadmap. And with that, I'll conclude it. Do we have any questions? Wow, cool. Well, thank you very much.


It's really a treat to be with people who are like-minded.  I'm talking about as I'm talking about people who know To do certain kinds of exercise and eat a certain way and and so on and then look at it What it is we are doing are you having trouble? Oh, let me let me get it. I Think it we lost my slideshow here And So that's the only button you touch great and as you can see, you know lean life and a little bit hunched forward are we all seeing the same thing and It's not just him there we are you know vibrams and we're paying close attention alert and Not exactly with the most with the optimal posture and we're not alone I had trouble finding anybody who was sitting anywhere near upright This is all of us and we're about as aware as people get of the value of you know primal paleo ways Here is our president Aaron of the conference and Aaron not only let me Show his slide, but agreed to come up on stage I asked him do you mind and then I went even further I said would you do it bear back and he said yeah, I'll be a sport. So this is incredibly Generous of him. He is going to take off his shirt and he is I We are gonna begin with Discovering how it is we could sit better in the chairs that we've been given Okay, just the shirt And we can unmute the image Thanks so much so So you're just gonna sit without doing anything Special and we already have a reference point. So there's no cheating and So you can see that you know like many of us he has a tendency to be kind of forward slanted curve for yeah So let's see how we can change this and you do the best you can in your chairs follow along, okay? So we're gonna set the bottom well back in the chair like as far back your bottom goes scooch back back back Okay, and I'm gonna move this cushion up.  You can see but it's okay These chairs can actually work and you can also use a towel Or you can use something that has friction to give you a little bit of rise as the idea towel Blanket or these chairs are decent. So now what you're gonna do is come hinge away from the backrest Like he's doing just a little bit and then he's going to place his fists on the bottom of his rib cage Little bit higher. Yeah, so you're touching bone and you're gonna come and kind of almost like a mini crunch Curve forward. So it's just the top Not so much the head and shoulders, but the top good now.   Yes, it's curving and it's shortening opposite of what we want.  He has nubs. You have a wooden backrest that kind of works Okay, so just stick there and then let go Okay, now can you feel a little bit of stretch? Cool next so you can see we all agree his shoulders are a little forward So how would you ordinarily fix that like yesterday? You were beginning yet pull back. That's what we often do. How long does that last? 10 seconds maybe Or what we also do is like our parents what were parents tell us to do Sit up straight.  Okay, so it's not practical and it's not healthy Let's not do it instead For this part we can do a shoulder roll It's very simple. It's even easy And it sustains itself. So one at a time a little forward just the shoulder and up and We're going to go back back back. We're looking for a place to ratchet the shoulder. That's pretty good and You can see you see how your hand came in closer to your body It's no longer out there and you just relax and what you're going to discover is it actually stays there and that's cool You know, you don't have to hold it back. Let's try it one more time a little forward a Little up a lot back. We're trying to kind of ratchet the soft tissue back It's like you're looking for a notch That's a little bit further back than usual now the one little forward a little up lots back. Totally relax Okay, now this chair actually is kind of letting you slant back and that's a problem because that's sending your head forward So I'm going to prop you up a little more vertically. Let's start over You know fold the substance and then give you a little bit more vertical Support just that and then let's length them come away curve forward and grab the chair and Push up Make your back extra long, but still keep curving forward. Yes, and now hook yourself Kind of like a picture hanging from a wall and then let go nice and now shoulder roll little forward up back and totally relax forward up Back comfortable And now for the head what we'd like is for the neck to go a little bit So allow me to just gently guide you so your chin is going to go down and And your neck is going to back of the neck is going to get taller And we're looking for something that's relaxed and Upright okay, and then and that doesn't have change overnight But you can see that that's some improvement Yeah, and what's nice is that his back is getting this therapeutic stretch How many people in the audience have found it with the chair? Yeah, a little bit of stretch.  How would what would you try you yeah? You'd kind of try to tense up and then look here He's got this extra curve in his back and that extra curve happens because the muscles alongside are now Contracted they're like a too tightly drawn bow string. Okay, so if you imagine the bow is like your vertebrae and The muscles are like the bow string and if the muscles are too tight the bow string is too taut Then it's pulling the bow into an unnaturally arched thing and you have a little ditch in your back And that's not healthy because inside all those discs and nerves and are getting squished Okay, so we don't want that we don't want to be upright and tense. We don't want to be relaxed and slump. So what's the fix?  They've got their butt back. They've got these arches in their feet They've got their feet pointing they got all kinds of stuff going on but we're gonna focus on their behinds being out behind them and if we What happened to my up? It's the same shape that you see in every little kid I call it a J spine Okay, and we're just gonna focus on this characteristic.  It's down low in the back It's not up high where we think we're supposed to have a curve where all the ergonomic chairs and stuff Try to fashion a curve in your back, which is why? They don't work so well and why we're spending a hundred billion dollars a year on back pain. I mean We just not only are we lost but what we think we should be doing is off base as well and It goes it's worse even our experts the fitness experts and the medical experts and stuff the model that we use Which is a s-shaped spine? This is what we think we're supposed to do look at any and anatomy text This is what's presented as the normal human spine This comes from an anatomy book published in 1911 Okay, and it's really different and this is the one that makes sense It's forgotten. This is what we need to go back to this is the same shape You saw in the U-Bang tribesmen in the kid in the Greek statue the behind is out behind here's where the behind is L5 s1 Which is a wedge-shaped disc? Has a wedge-shaped space that fits all these other discs which are little hockey pucks and our cylindrical Have a cylindrical space as opposed to being squished into something No wonder everybody has degenerative disc disease and Arthritic spines because look at the edges of the bones squished together. That's not that doesn't work either Here it's all nicely ordered. This is what we want and when we were stretch sitting So his back was up against the stretch that cushion here all those muscles were getting stretched out and we were restoring and reasonable space for all the discs and the Nerves as well the nerves exit between the pairs of vertebrae. They need room What let's focus on the behind behind one of the reasons you want your behind behind is because that allows the rest to Stack half decently. Yeah, and so we're gonna explore that So we already saw the way he was sitting Well, you know the way when he wanted to be upright yet to kind of exert himself and then there was this hollow in His back and it was more like that S-shaped spine and when he relaxed then it was more like a C-shaped spine Okay, and if we continue like that then by the time where? 70 it'll be like an I shaped spine That's a real short I because everything starts fracturing and kind of compressing melting into itself We don't want to see we don't want an S. We don't want an I that is all short and we want a J Okay, we want a J and so let's explore how we get this down on this Chair the best way is to sit on the front lip so that you can Have this kind of effect where the behind is truly behind now By the way, if you have a l5 s1 herniated disc or you have some significant back issue Don't do this way. You know come to me in the break and I'll help you because you need a little bit of custom Guidance, but otherwise explore coming to the very front and Then instead of being like this guy where you're sitting on your tail and you're kind of relaxed and slumped you can Begin to Like maybe it helps to have your knees low like put one leg out one leg under whatever it takes to get you Behind to really be behind so lift up lift up and lift up your cheek bones Buttocks and really set them out behind. There we go. So you're kind of tipping over the front edge a little bit Okay Yeah, that's good And now it helps to do the shoulder roll because otherwise your full weight of the arm is pulling forward so one at a time and the other one and You know it takes a little doing like we could use a little more curve and there are all kinds of techniques to get that But for now, let's just pull the buttock flesh like lift up and kind of pull your buttock flesh back not very elegant, but it works and Now totally relax and Let's help the neck as well because that also helps if the neck is lined up because otherwise head is heavy It's pulling forward throws everything off So now there's all kinds of magic that can happen You still need a little bit more tip like scooch forward almost like you're falling over the edge Yeah, there now. Can you find a kind of sweet spot where you can relax? It's easier to be upright like if you Shoulders back neck tall And now if you relax you don't kind of crumple as much as before agree That's what we're looking for upright and relaxed not relaxed and slumped and when you get tired because it's relatively new Just go back and do whatever you want to do to relax, but So how are we going to make this change because if all groups this is the group that could do it really and It takes a lot of pieces One is knowledge like this is this is My husband and me doing a tuck tuckie butt to our oldest daughter our oldest child because we didn't know any better So right knowledge it really helps to be informed.  It's like training them to self-destruct this gut this needs to change and Grown-up furniture. This is you know, so then we have this habit We also need to beam it out like when you have good posture whether the people around you know it or not They are influenced when you have poor posture So it's our obligation to beam it out once you know and so on you know You can sit and go back and I'm very grateful. Thank you Furniture helps so this is I'm very proud finally we designed a chair that slants in the front allowing this stack sitting that has nubs That allows the stretch sitting working on it. This is our first creation To help people go back to what their birthright is, you know, this is This guy's a carpenter. He bends all day working on his Stuff It doesn't mean you have to be hunched. Yeah, look at his chest. So how do we get their shoulders? Roll don't pull your shoulders. Don't try to be upright. Just roll one shoulder at a time Check out what happens to your chest Okay, because you have breathing that goes on, you know when when you have your shoulders open The breathing happens normally and it provides a healthy stress for the shape for your rib cage And then that fashions a more full rib cage if you're like this Then you don't move much here and then your breathing is going somewhere else and so this it all fits together Your lungs needs a certain shape and orientation your digestive organs need Their space, you know, no matter how well you're eating if you squish it all into some space like that that it's not designed for that's a problem So you guys I am going to charge you with the responsibility of Educating yourself find it in your own body. It's amazing how much benefit this can lend you Really and beam it out Peer group is another important thing. How do we remind each other in a kind way? That's not like in sit up straight. It doesn't have to be scoldy and nasty. It can be really positive I was thinking this kind of sign like almost like a bow like if you see someone now We all know let's try for one day if you have someone or you know who you feel okay to just do this with It's like a bow and that's our little sign to you know, do a shoulder roll or Are so and if someone doesn't want you to be signaling they'll let you know that otherwise As an experiment, I've never done this before Let's agree little sign and let's see what we can do in the next two days to be a little more comfortable a little more beautiful beam it out to ourselves and our extended community later


the Titans play Thursday night against the 11 and four Dallas Cowboys and that leads us straight into know your foe. The Cowboys coming off a big win over the Philadelphia Eagles 40 to 34. Let's start with the quarterback, Dak Prescott. Yeah, well, Dak is really in the latter part of this season has really started playing well. He's got some weapons. Talk about CD lamb. CD lamb is somebody that gives everybody problems. But Dak Prescott, big strong quarterback is a guy that can throw off blockers when they come into him. And plus, he's done a nice job since he's been in the league, really perfecting his progression reads that he's the leader of this offense. They've certainly got some weapons. You just saw T.Y. Hilton make a catch. He's just joined him and Dak is a big guy who can run speaking of running the two headed monster at tailback Zeke Elliott and Tony Pollard. Yeah, this is going to be very, very important to be gap sounding physical against these guys. Zeke is the guy that they lean on. But Pollard, Pollard is a real great addition to this running game. Pollard has got speed. He's also a very, very strong contact balance runner. Both of these guys, this two headed running attack, Mike is going to be a big, big issue if you're not gap sound and you don't group tackle. And they've run every play with both backs. Absolutely. They do. And that they just get their people on the field. And what they do with these two backs is they can both really take it the distance, either one of them. But when Pollard has the football, you better catch him before he gets started. All right. Let's turn to defense and the unbelievable Micah Parsons. Last year is a rookie 13 sacks this year, 13 quarterback sacks, and the guy can play all over the field. Yeah, well, Micah Parsons coming out of Penn State was somebody that everybody was vetting at the combine. And the question was, where do you play him? Where do you play him?  The answer to that question, you play him everywhere. This guy is very, very physical. He's a really blessed athlete, Mike, extreme, extreme athletic ability. He's a guy you've got to get a hat on no matter what you're doing. The Dallas Cowboys have players all over the field, and that's going to be the challenge Thursday night because they need to win this game if they're going to keep pace in the NFC East with the Philadelphia Eagles.


Hi everybody, this is Dave Vellante of wikibond.org and this is Silicon Angles coverage of NetApp's customer event. We were here last month at VMworld 2012 and NetApp is bust in customers from Oracle Open World. So it's a repeat of a month ago and we're here with theCUBE to cover it and we're here with Brendan Howe, who's an executive at NetApp, he's the vice president of products and solutions marketing at NetApp. Brendan, welcome. Thanks, it's great to be here Dave, I appreciate it. Yes, so we're here a month ago, it was such a great success. You guys had, I think about 1200 customers, I think you're expecting 400 or 500 today. VMworld and Oracle Open World, a little different vibe, aren't they? Yeah, they are. You know, I think there's a lot of things that play into that. I think some of the type of skills that are here are different and I think also just the different stages of thinking are different in terms of traditional type of approaches, new type of approaches, it's hard to generalize, but I think they're two very different shows. Well, and you guys bet the farm on virtualization generally and VMware specifically and of course it's a little different. Oracle Open World, you almost have to be here, I mean there's so many customers running their business on Oracle and so what's your relationship with Oracle? It's good. It's as good as it can be and we're trying to make it better every day. Our mission in life is to be best in class integration partners with the ecosystems that we sell into and as you pointed out, Oracle is such a tremendous force in the industry around enterprise applications and enterprise computing, you have to be part of that ecosystem. So we collaborate more closely with them, interoperability, support matrix type activities, integration opportunities, custom development projects, we've done all of that type of work. And I think it sort of ebbs and flows and where it goes from there depending on the business opportunity. It can sometimes go up through full go to market initiatives, but it need not have to and we opportunistically look at them as they do and manage them as they come. Well Larry doesn't call you out in his keynotes, I guess that's a good thing. So are you doing any specific integrations that are new with Oracle? Yeah, in fact we announced one just before the show here where we have our first ever integration into Oracle Enterprise Manager. It's our version 1.0 storage plugin and I think it's consistent with the type of approach that we've tried to do with VMware and Microsoft and a lot of others where customers that are using those types of platforms can take advantage of NetApp capability without having to have NetApp specific management tools. So our goal is to try to streamline that process and deeply integrate into those platforms to give customers a better experience with our product. So I like to juxtapose open world with VMworld only because they're both big tech shows. A lot of money is being spent in both of these environments. Now I want to talk about FlexPod because FlexPod plays so well in a VMware environment. You guys have had tremendous success here. What are you seeing with FlexPod in Oracle shops? Yeah, well I think FlexPod the concept is on everyone's top of mind. I always think of FlexPod as a methodology and a go-to-market approach as opposed to a product line or a part number and it's hard to argue with the initiatives around trying to put together more complete solutions. Everyone is asking for it, everyone's talking about it and FlexPod is in the middle of how NetApp is actually doing that. Our mission is to continue to drive solutions that are developed with best and breed components. That's what FlexPod is all about as a program, as a set of products throughout the company and our partners. If you think about Oracle's presence in the market, it goes without saying that they're a leader in best and breed type of product supplier in that market. It's a must-do with us. It's a question of how you actually assemble those solutions and then what you do on the go-to-market side like I mentioned earlier. How does it work with Oracle because they're obviously not embracing VMware. They want you to run on Oracle's VM, but a lot of customers don't want to virtualize on Oracle VM. How does that work from a positioning and go-to-market standpoint? I think, as I mentioned, it's about the technical enablement and the actual methodology in building solutions that's at the forefront of what FlexPod is trying to do. If you think about that aspect, you have Oracle apps that are running in VMware, hypervisors, you have Oracle apps that are running in RAC, you have Oracle products that are running in OVM, and we have opportunities to build solutions around all of them. We're doing that. I think where FlexPod itself goes beyond just the solution development is in go-to-market partner programs like we're doing with Cisco, for example, with FlexPod. I don't think we can take every one of these modules and solutions that far. We have to pick and choose what the business opportunities are and, frankly, what the partnering opportunities are. I think of the Oracle components of FlexPod as technical enablement, best-in-breed product integration, deep integration that ultimately accelerates customers rather than the vendor versus vendor comparisons. That's not really what it's all about. At the same time, the Cisco partnership works very well. Why is that and why is Cisco such a tight partner? I think it's about common goals and common initiatives and skill sets. We are of common mind around taking best-in-breed, complementary products and getting more out of putting them together. I just think there's good natural alignment with Cisco's server and networking capabilities and brand, frankly, to what NetApp brings to the table on the back end. As we've worked closer and tried to drive more activity with FlexPod, we've realized that there are a lot more go-to-market synergies than we first realized that we're able to leverage. Okay. I know one of the value propositions of FlexPod is its flexibility. I mean, it's not just VMware, but it's other hypervisors. You mentioned OVM before. You've got specific solutions for Oracle VM. You'll see a whole portfolio continue to unfold from NetApp and others around breadth of capability. You could expect to see all the major enterprise apps, all the major hypervisor layers, all the major native deployment models of what people are doing with Oracle apps. You hit upon a key point. I think the two keys of FlexPod are around the solution integration effort that we're doing and the flexibility angle of what FlexPod really brings. It's not our intent to have a one-size-fits-all model at all, including even how it's fulfilled. Our goal is really to build reference architectures that are flexible and deployable the way the customer wants to do it. So you think you can get Larry to drop some of those OVM Flex Pods inside of the Oracle public and private cloud? We hope so. You know, if our product is good enough, why not? Why not? Let's talk about Flash a little bit. I mean, it's a hot topic. You're hearing a lot here at the show from Oracle on Flash, and virtually everybody else on Flash. It's NetApp's posture, what's your angle on what's going on with Flash, specifically from a solution standpoint. Yeah, it's a great question. You know, I think this little question that Flash is the disruption force that's amongst us now, it provides a value proposition that is new to the whole stack. And I think what we've been saying all along is that it affects every layer. It's not just a storage play. It's not just a server play. There's roles for the use of Flash technology throughout the entire solution stack. And that's the approach that we're taking. And as you know, we've added Flash plug-in modules to our controllers a long time ago and had tremendous uptake from that 15 or 16 petabytes of Flash, you know, more importantly accelerating exabytes of raw capacity. So that part's been obvious for a while. You know, SSDs are another angle to the storage side of it, and we've had great plays there. Most recently, we announced not only a host side software product, but also a host side partnering program to enable the linkage to the application running on the server side, which we haven't previously natively owned. And I think it's important linkage for us to bring the value of our back end to that front end while leveraging Flash capabilities throughout. So I think what you'd expect to see on the solution side is more front to back integration architecture to take advantage of Flash without necessarily having to own every step along the way. Great question. I remember thinking back a couple of years ago when you were helping NetApp think through its big data strategy, and it's starting to come together. From a solution standpoint, what are you doing there? We're doing a lot there. You know, I think one interesting thing about the FlexPod discussion is the methodology we've developed in the company to be solutions focused. And you're going to talk to a few others here tonight from NetApp that will go through that. But a solutions orientation and a pod orientation need not apply only to enterprise applications. That need not only apply to VMware or hypervisor environments in general. They can apply to anything because conceptually what you're trying to do is build tight integration of all the piece parts needed to give a customer a specific best-in-class solution. So why not with Hadoop? And why not for HPC or video solutions? You'd expect to see a lot of that stuff coming from us. All right, Brenda. Well, thanks for stopping by. Spending a little time with us. Have a great evening and good to see you again. Thank you. All right, take care. All right, everybody. Keep it right there. We'll be coming from AT&T Park. This is theCUBE. Right back.