All right, good evening, everyone. Thanks for making it to the last session of the day. Hopefully, we will make it interesting and informative. Let's go with the introduction. I'm Ganesh Narrajan, working for AT&T Integrated Cloud Design Team. I have my colleagues. Please. Hi. This is Manish Mahan. I work for AT&T Cloud in the development. My name is Trevor McKaslin, and I'm an upstream developer at AT&T. Thank you. All right, so we've got a power pack done today. We want to just start with why the need for speed to begin with, right? And then, how are we going to achieve this with the help of technologies like SRIOV and DPDK? And within AT&T, we have written a new service. It's called VFD. It stands for Virtual Function Demon. We are going to talk about the architecture of that. And then, we also wanted to give you an end to end view of how this whole orchestration can happen with the help of own app and OpenStack. And followed by that, my colleague is going to talk about some of the internal details that needs to happen on the compute node. We also wanted to show a demo where we were able to achieve speed closer to the line speed. And we'll also talk about some of the limitations and recovery. Followed by that, we will go with the implementation details and finally, how we are working towards the community to kind of contribute to the upstream community. So the need for speed. I mean, we all have Wi-Fi routers at home. And typically, when the speed slows down, especially in my house, the first person to get impatient is my five-year-old kid. He figured it out now to use that data plan thereby giving me more bills. But imagine, if this is about to happen in a house, how much of a speed and latency requirement is critical for the business customers. So traditionally, the service providers built all their infrastructure with big monolithic black box devices. We call those as the physical network functions. And if you are a customer premise and you want it like a router, we need to build a specific router, put the vendor software in it, and ship all the way to the customer premise. So everybody knows it's all time consuming. It's very costly. It's not scalable. So thanks to the open source community, with the help of Linux Foundation, more importantly, OpenStack and OneApp, we were able to move from the domain 1.0 physical world to the domain 2.0 virtual world. We were able to virtualize all our physical network functions into virtual network functions, aka VNFs. So the real need for speed is for those VNFs, which going to run on our cloud, which is the AT&T integrated cloud. And we have transformed ourselves with the help of software-defined networking. And more importantly, we have built the infrastructure with the help of OpenStack. Now, if you see the requirements for VNF could be broadly categorized into the following three areas, right? So you have the requirements coming over the network side. For example, they need high bandwidth, fast or high PPS, quality of service, service chaining, port mirroring. You name it. Everything they needed today to achieve that. And if you talk about storage, typically they need IOPS and potentially some local attached storage with SSDs or SAS. And if you talk about compute, right? So they need CPU pinning. Why CPU pinning? They want to avoid the context switching that would happen for all this VM process from one core to the different core. And they wanted huge pages to avoid the number of page lookups, filling up the TLB cache aside buffers, and so forth. And then, of course, they wanted NUMA, right? NUMA is non-numeric memory access. The whole idea is they wanted to access the memory, which is proximity to the core. They wanted to avoid the cross-bounding NUMA access, which incurred some overhead. And they might need some affinity to run a couple of virtual machines on the same host. And also, they need migration. It could be offline and as well as live migration. So to satisfy all these requirements, we had to extend the default flavors that it's coming out of the open stack and define a much more informative and meaningful flavor series for our customer needs. So we kind of identified the three categories here, which we call it as the network optimized flavor series. So if you talk about NS, NS is network optimized SR-IoB. So anybody needs SR-IoB, they could create something out of this flavor series. And then the second one is a network optimized DPDK. And then the third one is the regular plain kernel vRouter, or it could be like, in some cases, many would also use OBS. So these are the three different types of networks, typically a VNF would need, and they could achieve it using this. All right. So in this slide, I'm just going to show you how the packet traverses on each of these hosts for these three different types of network. On the left, what you see is the packet actually goes via the kernel vRouter, or it could be an OBS before the packet is sent out of the network card. Now with kernel, you get a lot of overheads. There is an interrupt happening at the host of the hypervisor when the packet needs to be copied from the kernel space to the user space. And then there is an interrupt going also at the VM level to read this packet. So with all these overheads, you would be able to actually only up to a speed of probably like 1 gbps on a 10 gigi card. So definitely we can optimize this. So the second type is the DPDK vRouter. So we were able to run the entire vRouter or the OBS on the user space and completely go away from the interrupt, and we are actually doing this in the pole mode in our drivers to pick up the packets. Of course, the host interrupts are solved, but there will be still an interrupt on the VM side to kind of read the packets. And then on the third side is the SR-IVV, which we are going to deep dive in the session, where the idea is you take up a network card, and then you can create multiple virtual functions out of that. And then you are directly attaching this VF device all the way to the virtual machine. So there is no interrupt, there is no overhead, and that's where we were able to achieve up to closer to 9 to 10 gbps speed over a 10 gigi card. And in fact, we are also going to show you a demo of how we have achieved it. So in this slide, I wanted to show you how all these bare metal servers needs to be configured. If you actually see in this picture, all these three servers are all the same. It has got 24 cores. If you enable hyperthreading, it will become 48. And then it has got three nicks. Each nick has two ports. Why do all your switches? But the idea is, on the left, you see it is an SR-IVV host profile, where your Nick 1 and Nick 3 is used for the workloads, SR-IVV workloads. And the Nick 2 is used for your regular V router. For example, you might need to attach an operation management interface for the VM for all your operation needs. And then the other interfaces could purely take the traffic. And then in the middle, you see it's a DPDK host profile, where in Nick 1 and Nick 3 are bonded. And then the middle nick could be used for your Pixie storage and other kind of OAM traffic. And then on the right, you see it's a regular V router or OBS base, where everything is running on the kernel. So you might ask, why I'm really bothered to see this? The idea is, it is important to define all these host profiles so that you could do the complete automation. We want to avoid any manual intervention. Once this has been defined, your automation framework could take that and deploy it in your data center. All right, so this is an interesting slide. The idea is, we are achieving SR-IVV, in fact, with DPDK. So what does that mean? The idea here is, you would need to virtualize all the physical Knicks into virtual functions. And you can set up so many filters and parameters over it. The whole idea is, we have written a completely new daemon, or you can serve it as a service. It's called Virtual Function Daemon, which you'll see in the middle of this picture. That is actually a DPDK-based application, which is going to configure all these VFs to provide an SR-IVV network. So we have a research team with an AT&T who has developed it, and they also outsourced this project. I encourage you all to go and check it in the GitHub. So what we can do with this VFD? There are a lot of things that you can configure on a Virtual Function. For example, you can set a quality of service. You can enable anti-spooping checks for the VLANs and Macs. And say, this is the SR-IVV. It's all layer 2. It's all VLANs. So you should be able to set some VLAN filters. You should be able to support the Q&Q tags, strip the outer tag, insert an inner tag. You'll be able to support all type of Bump traffic, which is a broadcast, unicast, and multicast. So all these things are going to be achieved by this VFD. And just like any other open stack service, there should be a command line interface talking to this VFD service. In fact, if we see in today's Linux, you've got IP link command that would talk to configure your physical NICs. But what we are talking here, it's a DPDK-based application. So we created a new command line interface called Iplex, which is be able to go and talk to this VFD to configure all your parameters. So this is a high-level architecture of VFD. So what happens is typically all these parameters are sent from the heat template, and those parameters are taken all the way to the NOAA compute. So the NOAA compute is going to put all these port configuration information in a config.json file, and then it is going to invoke Iplex. So the Iplex command is going to notify your VFD that, hey, there is a port that I need to configure. Please go and do it. So VFD is going to pick up and step 5 on that config.json. Then it uses DPDK APIs to go and configure the virtual functions and send the feedback all the way to the IPX, IPLX, and it goes all the way to the NOAA. So if you really see, we have leveraged an architecture which is very similar in open stack. So what happens when you create a virtual machine through NOAA, the NOAA would go and spit out a libber.xml, and it's going to give it over to your KVM hypervisor to go and create the virtual machine. That's exactly what's happening. You are actually spitting out the port information to the VFD, and VFD would be able to go and configure it. All right, so this is the slide I wanted to show you how everything fits together, right? Like I said, we are leveraging ONAP, which stands for Open Network Automation Platform. There are a lot of, it's a topic of its own, and there are a lot of my AT&T colleagues who are given some good presentation. In this summit, I encourage you all to go and read it. But I'm going to give you a quick introduction or a summary of ONAP, right? So ONAP typically helps you for all this BNF orchestration. It helps you to design the BNF. For example, let's take an example. Like if you wanted to run a VNAT, you need to know what type of flavor that you need to use, what image you need to use, how much interfaces that virtual machine needs to connect to, and what are the VLAN parameters settings that needs to be applied. So all this needs to be done at the design level. And the next step is orchestration. So ONAP has an orchestrator called MS4, which would send this information via heat template to the OpenStack region. And then the third one is configuration. It's not all about creating virtual machines. Now you need to go and configure the VM. So that is an SDN global, a lot of controllers with an ONAP that helps you to do that. And of course, we need to inventory all these VNFs. You need to have a global view of how much of service is running, you need different data centers. There is a component called ANAI, which stands for Active and Available Inventory. That would do all the inventory things. And finally, there is DCAE. It stands for Data Collection and Analytics. So you would be able to look out for events, in case of failures, then you can go and recover. And if you need to scale a VNF, that component would be able to help. So in the middle, all this ONAP is running in the global centralized region. And then that would be able to manage multiple OpenStack regions. So in the middle, what you see is what we call as a location control plane. The idea is you have to run all your OpenStack services, your NOVA, Neutron, and everything. And then the third setup is your compute server. So this is where actually the virtual machine is getting created. I hope this has been informative now. I will hand over the next session to cover. Munish, please go ahead. Thanks, Munish. So I'll walk you through the details how the implementation is. So this is the first implementation. And this is our attempt to show you what are the advantages that the NIC card providers are providing by exposing the features. Now, some of the NIC vendors are providing us mailbox on the NIC cards. And you have the switch on the NIC card that you can program with these features. So you can send the message to the PF by mailbox. And then you can set those parameters on the NIC. And you can offload your NIC filtering, Mac filtering. You can control your bump traffic. You can say that you want to allow or not allow multicast, broadcast, all those things. You can offload to the NIC. So you have more CPU cycles for your processing of the packets at the app level. So for the setup of the compute, so the implementation first you have to have on the compute the VFD demo that Munish talked about. So to set it up, you need to enable the IAM or U. You need to have in the BIOS VTD enabled. And you have to configure the huge pages. So in the VNF world, we use one GB huge pages so that we can reduce the misses. And then you need DPDK driver IGBUIO module on the kernel so that you can talk to the NIC. And then you can also configure how many VFs you need on the host. So your team can decide how many queues per VF you need and you tune this parameter. And then you can, all you need in the end for the OpenStack is the PCI white list where you'll specify which PCI is unmapped to which physical network. So physical network is the parameter that you currently use when you do provider networking. You specify that field when you're creating a neutral network. So Ganesh walked you through the hardware part of it, Numa and all that. So I'll take you to the implementation, how the OpenStack will see it, and how OpenStack it will be set up, and how which part administrator will do, and which part the tenant has to do. So as I said, the PCIs that are physical networks are defined, mapped to those PCIs, then the admin can go and define the provider networks using those FizzNets. And once the networks are there, in the tenant space, tenant can go and start creating the SRIUV ports. So it's the same concept where how you create the direct port today in OpenStack, but with some customization. So the customization, the key here, the changes we did is we input more fields into the binding profile of the Neutron port. I'll show you that. And once you have the ports, you can call the NOVA API to instantiate your VNF. So when your VNF will instantiate with those Neutron ports, NOVA will call plug. Everybody knows plug who understands NOVA. So it will call plug interface, and that call will invoke the Iplex interface of VFD. So it will generate configuration file, and also call Iplex to add this configuration to the NIC. So that's how the flow is. So going to the next slide. So we have modified not only Neutron and NOVA, we have also exposed all these parameters to heat, so that any kind of orchestrator can pick this heat definition and can orchestrate the workloads. So we have the VLAN filters. So VLAN filters will be applied to the incoming traffic on the NIC. So the filtering will be done on the NIC. And the NIC will decide which VF to hand the packet based on which VLAN. And you can do anti-spoofing rules using the Mac filters right on the NIC. So then you can also do queue in queue, where you have advantage as a service provider. You can strip the tag, the service tag, and then you can pass the customer VLANs, the whole trunk traffic back to the VM, and VM will process it. So then you have the bump traffic booleans that you can set based on what your VNF is looking for, whether it supports multicast, whether it doesn't support, whether you want to see it back to the VNF. So your VNF doesn't process all this. It's all done on the card. So that's the advantage right there. So then there are some more booleans. So this is the first attempt. So the NIC vendors, any NIC vendors here? So NIC vendors know, the new features are coming in the new NICs. So this list is going to grow. So as we said, this integration that we did is from the first version of the VFD. VFD is inactive development. We have already enhanced it to do QoS. Mirroring is under trial. That's another requirement for most of the telcos. So all that will be offloaded back to the NIC. So that's pretty impressive for all the services. Like, you don't have to worry about mirroring overloads and all that on the system. So next slide. So this is my demo setup. I have a recorded demo, and I'll show you how we spin the VNAT. And we generated traffic from one location. And we connected, we can assume the other location is a cloud provider or something. And this is how the traffic is. So this is a duplex traffic, both ways, bidirectional. And I'll now switch to the recording. Sorry about that glitch. OK, let's go. OK, so I have this VNF that I shown you. It has two SRIOV port. The rest of it is taken care of in another heat template where we had the Cinderboot volume for this. So this is where the customization is. So if you see on your screen the binding profile field, I'll pause it here. So the binding profile for this neutron port that I am spinning for this VNF, I have the VLAN filter. I can specify whether I want to insert tag while exiting on the transmit traffic. I can specify whether I want to do spoof tech. And this snapshot is after the VM is created, right? So I know which PCI is allocated to my port. And which fizznet I am mapped to. So it can give the operator a view on which physical port this port is for the VNF. So going a little further. So once you're... Isn't that press play? Yeah. Press play. So once you're... So this is the next port. So as you see, both the PCIs, right? One is from fizznet one and one is from fizznet two. So inside the VM, you can bond them for resiliency. So that's another requirement for the telcos. So we are using... This is the VM definition. We are using... We modified the NOVA definition of the VM. So this is the NOVA config, right? For the VM, instead of interfaces, when you use DPDK drivers, you have to provide the host device. So now your VM is actually accessing that PCI address that's highlighted on the screen, right? So this is how... These are the basic changes that we need to do to achieve this implementation. And so on the... We have this iPlex... So this is the VFD running on the thing, and this is the iPlex. So this is the interface that we call from NOVA plug when the VM is instantiated. And we call iPlex delete when the instance is deleted. So this integration is pretty easy and seamless. So you can even do updates when you want to do the QoS. You can call iPlex update, and it will update the configuration on runtime to the cart. So it's pretty easy. So I'm going a little further. So I'll show you the traffic. So as an operator, right? Operator will be interested in knowing which... how the traffic is doing, right? So this view will provide the operator the details of how the traffic is doing. In this picture, I have a couple of VNFs pinned. I have the traffic passing through. You can see the transmit receive. If there are spoof packets, you can see that too. And it's pretty impressive. Like you can make a judgment whether the link is up or down. So this is very useful for the operator. So we did some performance tests during our demo recording. And we were able to do close to line speed. I mean, this is a XEA. It's sending the bi-directional traffic on both the streams, one in and one out. So we were able to do close to line speed using it. So that, I think, concludes this demo. And I'll switch back to the presentation. So the results are we are able to do line rates, high MPS, it can handle this profile that we are using for this traffic. Sorry, I just had this full-screen. OK, so the profile we used for this traffic is iMix. So we have frames ranging from 64 bytes to 5,000 bytes. So then we are getting close to 9.7, which is like 9.9 on the NIC, right? So let's talk about the limitations, right? So what are the limitations of this solution? So number one, with the regular SROUV, right? You don't have any security features with regular SROUV. With this SROUV, you at least can control the bomb traffic you have all seen. You can control what's hitting your VNF. You have the VLAN filters. You have the MAC filters, right? So this is better than the regular SROUV, right? So that's one. So talking about the live migration, that's something that will evolve in the coming days. Like, right now, there are limitations in the live world and there are limitations that we cannot migrate something which has host device attached, right? So we are working with the vendors. And if we could, we'll take the snapshot of the memory. We'll take the snapshot of the registers as it evolves. And we'll pass it to the destination host during the migration. That will take some time. But in the time being, we have own app. Own app can detect, as Ganesh said, it's a closed loop. It has analytics. It is monitoring your VNFs. So you can build it resiliency into your app design. Plus, you can also, like, re-spend your VM if there need be. So that's our recovery strategy for now. But we are getting a lot of performance with this. So there is always a trade-off in your first shot. So we are not there yet, but we'll be there. So that's our main thing. I'll pass on to Trevor next. He'll take it from here. OK, so I'm going to explain the implementation details of the demo that you just saw. So at the beginning of it, you're going to have to create a port with these API flags for the NIC. And that was put into the profile binding field. And then everything goes pretty normal. And the only thing that's different with VFD is that at step seven, you're going to have to generate the virtual machine configuration and add the host dev devices. And also, with the DBTK driver, you can include the PCI virtual functions as well. And then with the iPlex, with the virtual machine configuration, that will bind the port. And then that will also pass it to VFD to continue the rest of the operations. And so when I was trying to upstream this to the community, this was my first proposition. It doesn't look really pretty because you just stop a whole bunch of flags into the profile binding field. And I wanted to offer some other alternatives. So I also proposed using the VIF details field. So I mean, there's not that much of improvement. So I was trying to think of other things. And when I came up with another proposition, this fits mostly with making a hard-coded path for an API. And then this will also make it easier to extend it for more features to come. So this is just what the database API would look like. And then you can create the ID and associate it with a port using the synthetic fields that are already in place in Neutron. But then when I took this to the Neutron drivers meeting, they were just saying, well, many of these already sound like they can be derived from existing APIs. And then after some research, this kind of was true. But not all of them exactly support SROV. So I can map some of them. But the ones that weren't implemented were the broadcast, unicast, multicast allow being enforced through the security groups and the firewall. So when I came to propose another API, I wanted to make it more abstract so that way more community members and operators can use the feature to its full stability. So whenever the port's created, you could have an underlying Linux bridge implementation or an OVS or an SROV. And what it matter, because each one we delegate to its controller and enforce it with IP tables or OVS firewall, and then in our case, would be the offloading on the NIC for the firewall. And so here's kind of what that would look like if you were going to add that to the security groups. It's just simply just adding those three fields to the bottom which are false, and then you could use that to pass to the NIC. So this is already upstream. VFD is a part of DPDK library. And this is part of the documentation and their use cases that they describe. So you can see here you have two different services running. You can have latency-sensitive services running. And also you can use the DPDK application to offload your computation-intensive services. And not all the DPDK flags are going to be required for this implementation. We're only going to be pushing the ones that are coming from our customer requirements for our VNFs. And so this is just a fast host-based packet processing you can find. This documentation is relatively new. It came out this year, but it's on DPDK. And then here's another use case. It's about inter-VM communication. This will allow you to do really fast communication between VMs that are on the same host because the NIC has a switch built into it that makes it capable. And this example just shows how what Mac address lookup table would look like. So if you wanted to update the Macs, you would have to go through this flow and the steps are described there in the documentation. So coming on to future work, Amari have a few patches proposed for enhancing the Nova and Neutron capabilities. Right now, there's actually no Q&Q network type in Neutron. So I have a patch for that. And then also it's VLAN-based. So I also refactor the VLAN to make that work nicely together. And then we're going to have to add some kind of OS5 object to pass these parameters and make a proper negotiation for the port binding between Nova and Neutron. And then there is also, whenever these NICs are released, when the Nova is scheduling, they're going to have to know what capabilities it has. So there's a patch that's already been merged for enabling SROV-NIC offload feature and discovery. And then now, after that, you're going to have to integrate VFD with Neutron. So now that Nova and Neutron can now the prerequisites have been met, now we can start implementing the rest of VFD. So first of all, you're going to have to test it somehow. So we're going to have to support some SROV third party CI with VFD installed. And then we need to implement the iPlex interface in Neutron. So it's like IP link, but it has a little bit more extended capability. So it'll look a lot like that class. And we're going to have to add options to the client. I mean, that's pretty standard. And adding and modifying database API models for VFD support, which I've been showing through this presentation. And there might be even more to come. And then whenever it comes down to the agent implementation, you could come up with your own agent, or you could also make an agent extension of SROV, or you could modify the existing SROV-NIC agent to just use the new iPlex tool rather than IP link. So and then also lastly, just depending on where the API lands, because I just discussed how you would want to make it abstract and be across Neutron, there might be more modifications needing to come. So if one of the changes were in the security groups, you'd have to modify the OVS agent in the firewall as well, because SROV is designated for the no op driver. And that is all. So thank you all for listening for the presentation. And if you have any questions, can you please stand up to the microphone and use that? I can answer the upstream questions. And then Munish and Ganesh can answer everything else. Hi. Thank you for the presentation. So what I understood is the things we saw on the demo is a way of hacking, but the future-wise integrating VFD with the Neutron properly, with the agent. That's the holistic way to go, to make sure we are not overloading NOAA with the networking requirements. Correct? Yes. That's the intent. So for every implementation, this is pretty new technology. You need to first prove yourself and community, showing them some work. And then now we are working with the community, as Trevor already submitted to proposed two changes. Along with it, Intel also submitted a new change, wherein they are exposing the NIC features to the NOAA scheduler. So NOAA will know in future which NIC is capable of doing what. And based on that, your VM will land on particular node. So you may have some capability from some vendor have X capability and some has Y. So the NOAA scheduler will handle what is your need and based on that, we are to send your VM. Thank you. No problem. Can you go back to the side-by-side-by-side early in Ganesha's slides? Yeah, escape out. There's a bit of messaging here. And part of the brilliance of the simpler one, part of the brilliance that I hope folks can see here. As you go from conference to conference from meeting session to meeting session, there's a bit of messaging here about coexistence that gets lost as you hear one person's experiences and another vendor's experiences and preferences. One of the brilliant things these guys have demonstrated here is coexistence using the exact same compute nodes, using the exact same software, coexistence of three different forms of networking, all using Neutron with, of course, their additions that they're working on upstreaming. All of these options work for different workloads in production simultaneously. You don't just have to pick one type of network virtualization. All of these work in production, in parallel, same stuff, same open-stat compute nodes. So I applaud you guys for that. This messaging is very clear. Thank you. Thank you, Jeff. So also a question about these slides, the part on the right. So for the VNF perspective, what drivers do you need to take advantage of this implementation? Is it a V sufficient, or do you need DPDK, or is DPDK hidden in the infrastructure from the VNF perspective? Yeah, I mean, you want to take that. So the VFD is built with its own static DPDK library. So the VNF doesn't need to be our. But on the other side, the VNF also could be a DPDK-enabled application so that it could directly read from the VFs. So it doesn't matter whether your VNF supports the IXGB VF, or we hook it to the DPDK driver. We have VNFs that works both way, and we have certified those. So that, I think, addresses your question. So my question is once you configure the number of VFs and allocate bandwidths to each VF, are you able to change it dynamically, or is that future work? No, we have more. We have, I think, we can saturate the line card with just very few VFs. So, but the advantage we are getting with spinning more VFs is you can spread, right? You may not have the peak all the time. So you can spread your workloads on the host, and you can take advantage of more VFs. So we know, like, there is a, like, you can optimize based on the queues on the NIC, but... Right now, it's a pretty much a static allocation. You've got a percentage for all the VFs, but I think that space could evolve more with more dynamic. We are beginning to see a need for changing. Not, it's not instantaneous. It's not, you know, on a millisecond boundary, but let's say every few days, you want to repurpose a running compute node for different VNFs, you know, move things around, spin up new VNFs. So we are beginning to see the need for that. Sure. Would the VF agent that you are proposing do that work? It should be able to do it.  Okay, thanks. Add to that last question you had. One thing that Iplex gives you that in years past was a real pain, a real pain was determining.  That table view of all the VFs state and all of those values is golden. It's wonderful from an operation standpoint. Because before you had to like scrape through all the individual VF outputs, compile them somewhere and that sort of thing.  And as I mentioned, like VFD is very actively developed and we are working with Multinic support. So you can go to the JTUB link and... Yeah, in fact, there was a question, the other session about DPTK, how would we go and debug all these traffic, right? Can I use the ping and TCP dump? And of course it's not going to work because those running on kernel. I think the idea is you can either run it inside as part of the VM. The other option is you can always do a port mirroring, right? And you could take it to the probes and, you know, you can analyze your traffic. I just want to add something here. If we have any upstream developers in the room, don't feel free to join in on the effort and get in contact with me. Sure. The inter-VM traffic, does it work out of the box of you need to do something special? You need VEP for that, virtual ethernet bridging on the switch. Sorry, can you say that again? VEP. There's V. VEB, virtual ethernet bridging. The switch which the compute is connected to should be VEB capable. Thank you. Just a question. For projects that are coming up like Project Calico, is there... Are you guys working with that project as well to make sure everything works together? Yeah, I think Calico is for the container network interface, right? So we do have a plan to kind of, we are right now all our open stack services is running as virtual machines. So we are planning to containerize all our open stack services in the Kubernetes parts. And then, you know, we are also thinking about Calico to leverage as our container network interface for all this communication. But containers with SRIOV, I think it's a long way to go. Probably, you know, we can think about it for future. No, there is a plugin effort going on for SRIOV, plugin for CNI. And also, if you go to dpdk.org, they already started DPDK for containerized loads. So they are just starting. So it's at the, like, just started. So we'll see how it goes. Yeah, hi, I had two questions. Could you comment a little bit on your approach towards resilience? And in particular, have you contemplated architectures where you have redundant nicks that are both capable of, you know, maintaining the same state information and processing, you know, without, you know, failure if something drops or breaks? Yeah, that's an interesting question that you really brought to the table, right? So it's all about live migration capabilities with SRIOV. You know, can we have, like, a Mac, VTAP, and, you know, those sorts of things to go in? Definitely, we are considering that option. But right now, our strategy is to at least seamlessly, you know, recreate or do an offline migration when we detect a failure, right? And a lot of issues that we need to solve before even talking about live migration. You know, in my slides, I went over CPU pinning. I went over huge pages. The idea is, you know, if we enable huge pages, there are a lot of dirty pages going to handle. And we are talking about line card speed here. And taking that VM actively, it's going to be a pain. So either the VNF itself has to be, you know, cloud native. You know, for example, some of our VNAs are running as primary backup. So we don't really have an option to do or address the live migration issue right now. But we are actively working to make sure that, you know, Munish also pointed, some of the pointers, like, you know, snapshotting the registry and other things, we are also, you know, researching that. To add to that, it's not only the host responsibility for the resiliency. So we have a VNF that we are working with a vendor, where we have A and B side of the VNF. And these sites are talking on another interface together. So we have the state on both. So if you add a route, you know that route on the other side. So if this host goes down, our service will be up. So you're pushing it up to the application level then. Yeah. But as I said, if one side goes, I'll re-spin it because my service is not impacted by that. Also, I think you mentioned that you're actually pushing some of the VF functionality all the way down to the NIC. Is that right? Sorry, your VNF functions. So are you actually programming the NIC to do, like, certain kinds of functions? Yes. So NIC exposes certain APIs, the modern NICs. So we program them to apply the filter, and all those parameters I've shown you. So are you using something like P4, or how do you do that? We use DPDK APIs to directly manipulate the NICs, but that would not really interfere in the traffic. The traffic is all between the virtual function and directly to the VNFs. So this DPDK library doesn't interfere in that. Thanks very much. Thank you. All right. Last question. I have a question regarding the mirror interface that you mentioned briefly. I was wondering if that mirror interface is also implemented in the same way utilizing VF and virtual NICs and DPDK. Yes. It has to be the VF, and it has to be on the same physical network card because that's how we can do the put mirroring. All right. I think we are top of the earth. Thank you all for attending this session. Thank you. Thank you.


Welcome folks, we have the Dow Industrial trading down $4.44 right now, Nasdaq is off $3.85, S&Ps are down $8.84, Gold contract up $23.90 at $18.61, you got Silver up $0.08, $23.61 an ounce, Light Sweet Crude, up $3.64, $93.55 a barrel, notes and bonds, the 10-year note up $18.6, trading $126.11, the 30-year up a full point at $152.20, and King Dollar, King Dollar is also up $5.26, $96.078, Euro is at $1.13, yen is at $1.15.28, and the British pound is at $135 to $1.00 USD. We get open, take a look at the S&P, volatility in spades, no doubt about it, but this market is done, well you can see what it's done, we were talking about this yesterday, bottom line, once it came down it's going to be into the highs of the lows, you have some juice here though, that being said, yesterday we came down with $140 million, we're going to do $140 today, excuse me folks, you're coming into $186 million as well as $252, the top of the lows are $4.40, right now we hit $4.39, you're at $4.41, and we'll see where this ends up, and I mean the bottom line is that we can get the rejection of lower price right here, coming into those areas, NDX100, we take a look at the NDX100, what do you have with the NDX, NDX same type of setup, the difference is, and the NDX is definitely weaker, is that the NDX has already got into the highs of the lows, which is not good, because when you dig into them like this, the bottom line is that, we're $348, it's already dug into by five points, so that's saying that the NDX can get it down and test this high volume low, I guess it depends when you want to basically get rid of that high volume low as a trader, $334 is wide open, that's how that baby is set up, gold, gold contract caught a bit out here, we had volume that finally came in yesterday, you get volume that's in there today, that being said, I particularly don't like the move and gold today because of the Ukraine deal and all that, my experience is that when you get a move, when it's a wartime move, it's a one-day move, we get volume behind the deal, that's for sure, we got it yesterday, getting it today, we'll see how the rest of this shakes up, the dollar is up also, stay right there folks, come right back.


When Taylor Swift needs a getaway, she has her Rhode Island mansion to escape to, which she reportedly snagged in an all-cash deal for $17.75 million. The property sits on five acres of land with over 700 feet of beachfront, not to mention it's on the highest point in Watch Hill, giving the starlet amazing views of the water and the ultimate privacy. The Rhode Island estate spends 12,000 square feet inside with eight beds, nine baths, and eight fireplaces throughout, not to mention plenty of space for all her guests when she throws her summer parties. The interior of the home has many period features as you might expect from a 1930s estate, such as the fireplaces, crown moldings, and two kitchens, including a service kitchen. No wonder!


He goes back, I now recognize the general idea from Washington, Ms. Jayapal. Thank you, Mr. Chairman. Mr. Zuckerberg, in March of 2012, you suggested by email to your management team that moving faster and copying other apps could, quote, prevent our competitors from getting footholds. Cheryl Sandberg responded that, quote, it is better to do more and move faster, especially if that means you don't have competitors build products that take some of our users. Facebook's product manager, management director, added that, quote, I would love to be far more aggressive and nimble in copying competitors. Has Facebook ever taken steps to prevent cop competitors from getting footholds by copying competitors? Congresswoman, I view it as our job to understand what people are finding valuable in all of the services that they use. And certainly if someone helps you on that field. Do you copy your competitors? Congresswoman, we've certainly adapted features that others have let in, as have others copied and adapted features that we have. I'm not concerned about others. I'm just asking you, Mr. Zuckerberg, since March of 2012 after that email conversation, how many competitors did Facebook end up copying? Congresswoman, I can't give you a number of companies. Is it less than five? Congresswoman, I don't know. Less than 50. Any estimates? Your team was making a plan. How did it play out? Congresswoman, I'm not sure I agree with the premise here. Our job is to make sure that we build the best services for people to connect with all the people they care about. And a lot of that is done by innovating and by building new things that are leading to work internally. Thank you, Mr. Zuckerberg. Let me go on. Has Facebook ever threatened to clone the products of another company while also attempting to acquire that company? Congresswoman, not that I would, not that I recall. And I'd like to just remind you that you are under oath. And there are quotes from Facebook's own documents. Prior to acquiring Instagram, Facebook began developing a similar product called Facebook Camera, correct? Congresswoman, that's correct. I've said multiple times that we were competing in the space of building mobile cameras with Instagram. That's what they did at the time. Their competitive set was companies like what we were building with Facebook Camera and Visco Cam and Pick Please. Thank you, Mr. Zuckerberg. Did you ever use this very similar Facebook Camera product to threaten Instagram's founder, Kevin Seistrom? Congresswoman, I'm not sure what you would mean by threaten. I think it was public that we were building a camera app at the time. That was a well-documented thing. Let me tell you that, Mr. in a chat, you told Mr. Seistrom that Facebook was, quote, developing our own photo strategy. So how we engage now will also determine how much were partners versus competitors down the line. Instagram's founder seemed to think that was a threat. He confided in an investor at the time that you would go into, quote, destroy mode if he didn't sell Instagram to you. So let's just recap. Facebook cloned a popular product, approached the company you identified as a competitive threat, and told them that if they didn't let you buy them up, there would be consequences. Were there any other companies that you use the same tactic with while attempting to buy them? Congresswoman, I want to respectfully disagree with the characterization. I think it was clear that this was a space that we were going to compete in one way or another. I don't view those conversations as a threat in any way. I'm just using the documents and the testimony that the committee has collected from others. Did you warn Evan Spiegel, the founder of Snapchat, that Facebook was in the process of cloning the features of his company while also attempting to buy Snapchat? Congresswoman, I don't remember those specific conversations, but that was also an area where it was very clear that we were going to be building something. People want to be able to communicate privately. They want to be able to communicate with all their friends at once. And we're going to make sure that we build the best products in all of the spaces that we can around helping people stay connected with the people they care about. I appreciate that, Mr. Zuckerberg. I think the question again here is, when the dominant platform threatens this potential rivals, that should not be a normal business practice. Facebook is a case study, in my opinion, in monopoly power because your company harvests and monetizes our data, and then your company uses that data to spy on competitors and to copy, acquire, and kill rivals. You've used Facebook's power to threaten smaller competitors and to ensure that you always get your way. These tactics reinforce Facebook's dominance, which you then use in increasingly destructive ways. So Facebook's very model makes it impossible for new companies to flourish separately, and that harms our democracy, it harms mom and pop businesses, and it harms consumers. Mr. Chairman, I yield back.


Section 10 of the History Teacher's Magazine, Volume 1, Number 5, January 1910. This is a LibriVox recording. All LibriVox recordings are in the public domain. For more information or to volunteer, please visit LibriVox.org. The History Teacher's Magazine, Volume 1, Number 5, January 1910. By Various. Section 10, European History in the Secondary School. DC Nolten PhD Editor, The Religious Wars. Some general considerations. The long period of struggle which followed the reform movement of the 16th century seems of comparatively little importance besides the revolt itself. And yet, it offers possibilities of treatment which the secondary teacher cannot well afford to neglect. The modern tendency in textbook writing has been to suppress the details of wars in order to allow for a fuller treatment of other phases of development. Assuming that the teachers of the past generations and not a few of the present day have been laying too much emphasis on details of this character, the pendulum has seemed at times to swing too far in the direction of elimination and condensation in the treatment of great epic making wars. Many an opportunity has thereby been neglected of inculcating great truths which could more easily be exemplified by stories drawn from the battlefield than from the less stirring episodes. Wars are often presented in so cursory a fashion as to convey little idea of their real character and significance. They become little less than dry summaries of causes and effects and are stripped altogether of that personal element which is so necessary to the attainment of the best results in history teaching. The possibility of utilizing these struggles as a correlating element has usually been farthest from the thought of the teacher or at best been but imperfectly realized. The religious wars afford the teacher not only the possibility of vivid biographic treatment but may serve to bind the closer certain common lines of development peculiar to the Europe of the latter part of the 16th century and the first half of the 17th century. Luther and the beginnings of the Protestant revolt. There can be but very little choice of method in the presentation of the facts connected with the beginnings of the Protestant revolt. Luther's life must be taken up in more or less detail and the attention directed to the various influences with which he came in contact. To secure a proper understanding of the effects of his teachings and political as well as the religious background of his endeavors must carefully be sketched. Little difficulty will probably be experienced in showing how the Renaissance movement became intimately associated with church reform as it passed the barriers of the Alps and took hold of the more serious minded Germans. This connection is much easier to establish from the fact that the attention of the class had been drawn to the part taken by Erasmus in the Renaissance proper. The question will probably arise as to how far the teacher should delve into the more distant past to resurrect the various efforts at reform which marked the earlier centuries. An opportunity for a resume of this character should be heartily welcomed as it serves better than any formal review to test the grasp by the student of the facts already covered. When the teacher is ready to take up the revolt itself there is apparently but one logical method of securing results and that is to present Luther's life in as much detail as time will permit showing how he himself driven by the force of his own logic into a position entirely antagonistic to the church as it was then established. The parting of the ways is reached with the great scene at warms. Contrary to his expectations his protest within the church had made him not only his avowed enemy but the founder of a new sect. Characteristics of period from 1521 to 1648 It is a comparatively easy matter to dispose of the remaining events in this drama in which Luther the Emperor and the Pope are the main actors. But in what connection and in how much detail shall the teacher present the beginnings of the reform movement in other countries, the counter movement in the Catholic church and the struggle which arose over questions of religion in every land where Protestantism secured a foothold. The fact that sooner or later the struggle between Catholics and Protestants resolved itself into a civil war of considerable proportions makes it possible to utilize these struggles as the principle unifying element in the treatment of the entire period from 1521 to 1648. This plan differs from the ordinary arrangement of material to be found in the textbook in that it places less stress upon the beginnings of the reform movement outside of Germany subordinating these details to the wars as the central theme and directing the attention of the student only to such events as help to explain the character of these struggles. The teacher must however bear in mind throughout that the story of no European country or group of countries in this troubled period admits of being told as detached from the contemporary history of its neighbors, allies, or adversaries. Beyond emphasizing the fact that the revolt spread to other lands it is a question whether the time is wisely spent in treating in detail the Calvinistic movement emanating from Geneva or the beginning of Presbyterianism in Scotland or the overthrow of Catholicism in England. The one central idea which the student should grasp as a result of his study of the period an idea which is decidedly within the range of his comprehension and appreciation is that religion which had long been a dominant factor in European politics now lost its power to sway the political destinies of thrones and empires. In fact a new era had dawned in which the church found itself removed from politics and the world given over to interests of quite a different character. This change may be illustrated further along by the insignificant part taken by the representative of the Pope in the deliberations concerning the treaties of Westphalia. The growth of toleration should also be noted as an important characteristic of this new period. Finally the student's attention may with profit be directed to the general tendency in these struggles. Finally the student's attention may with profit be directed to the general tendency in these struggles toward the subordination of the higher interests of religion to selfish and dynastic interests. Time and again religion serves merely as a cloak for the concealment of ambitions of the most secular character. The ideals of true religion were perhaps never more perverted from their true ends and made to serve the basest and lowest uses. After calling attention briefly to the fact that this spirit of revolt manifested itself in other countries, a logical plan of presentation would be first to discuss the ineffectual efforts of the Emperor Charles V and Pope Leo X to check the movement as it spread through Germany with an explanation of their failures, then to describe the more successful efforts in this direction taken within the Church itself and known as the Counter-Reformation. And finally to introduce Philip II as the great champion of orthodoxy, devoting his entire energies and the resources of that great empire to the superhuman task of restoring the Church to its former position of power and influence. His career calls up Alva's efforts to subdue the Netherlands and that heroic figure, William the Silent, and the sailing of the great Armada. One semi-religious war, if not two, have already been under discussion in connection with these efforts to suppress the revolt, the Dutch War of Independence and the Spanish Armada. Here is apparently the proper place to introduce the other struggles, beginning with the Thirty Years' War in Germany, then taking up in turn the Huguenot Wars in France and the Puritan Revolution in England, and closing the period with the sequel to this last struggle, the Glorious Revolution of 1688. The Thirty Years' War. It is natural to turn to Germany first in presenting the religious wars because of the greater familiarity of the student with conditions there. The order becomes thereby strictly chronological as the Schemalkalctic War broke out in 1546, or, in other words, earlier by several years than either of the other struggles. This war gave rise to the Peace of Augsburg, which was a source of so much discontent that it has been counted as one of the greatest factors in bringing on the main struggle. Among the points which seem to call for special emphasis are the mixture of religious and political causes underlying the struggle and the general participation of many of the great powers of Western Europe. This fact served to prolong the war and to give it a more European character and a wider significance. It was not merely a question of Cuyus Regio, a yes, religio, but of important dynastic and territorial interests. The efforts directed toward the overthrow of the power of the Habsburgs and the peculiar interests of Denmark, Sweden, and England in the contest call for special emphasis. The power of the Habsburgs in the time of Charles V and later can be shown to good advantage by the use of outline maps. At least three great personalities dominate the scene, Wallenstein, Richelieu, and Gustavus Adolfus, all of whom furnish rich material for biographical study. Although it is possible to follow the campaigns with an Atlas like Putzger, this study is comparatively barren of results except as it throws light upon the military genius of a Wallenstein or on the prowess of the Lion of the North. The effects of the war were to be seen in Germany in the weakness of the central government and in the wretchedness and misery consequent upon thirty years of marching and counter- marching on the heart of hostile armies. The pictures sketched by Gardner in his Thirty Years' War is well-nigh incredible. The territorial changes which followed the war can best be shown by the preparation of a map. They are much more readily appreciated if they appear by themselves. See, for example, the map in Harding, Essentials, page 339, or Wakeman, Ascendancy of France, 1598 to 1715, page 124. The French Wars of Religion The treatment of the religious wars in France will differ slightly from that of the Thirty Years' War as it becomes necessary in this connection to introduce a few facts about Calvinism. This need not involve much more than the briefest possible statement of what Calvin taught, pointing out how his teachings appeal to the intellectual and the understanding rather than to the emotions, as did those of Luther. As a result, the Huguenots counted among their numbers some of the best families of France. The personal element can be made very prominent in these struggles, as was largely the intrigues of two families, Jesus and the Bourbons, aided and abetted by the Queen Mother Catherine de Medici, which kept France embroiled for all these years. Here, too, is to be noted the same situation which prevailed in Germany, namely, the apparent powerlessness of the French people to solve their own religious and dynastic troubles alone without the interference of outside nations, notably England and Spain. Selfish and dynastic interests seem to have decidedly the upper hand here as contrasted with Germany. Much can be made of such dramatic episodes as the massacre of Saint Bartholomew and the conversion of the Huguenot leader, Henri of Navarre. The edict of Nantes and its effect upon France should be contrasted with religious clauses in the treaties of Vosphélia. The great problem which the settlement raised with a star within a state made necessary the work of Richelieu, whose career can now be rounded out by showing how he was laboring for one and the same end in his treatment of the Huguenots at home and his support of the Protestants abroad. French history is thus brought down to the age of Louis XIV. The Puritan Revolution. The English struggle can be discussed along much of the same lines as the war in France and Germany. More should perhaps be given to pointing out the effects of the Renaissance on England and the great intellectual, economic, social and religious changes which had come to pass in the time of the Tudors. Their reigns mark the great period in English history. The dominant characteristic of English development, the growth of liberty, which had often placed England in sharp contrast on the continent, was never more prominently displayed than during the period under consideration. The Great Civil War partakes of the two-fold character of the continental wars. It marks on the one hand a struggle between two religious sects. On the other hand, a contest between the king and the representatives of the people. The prominence of the general upheaval following the break with Rome have served to isolate it more or less from the struggles of the continent. The gains of for freedom. The gains for freedom, which were the final outcome of the struggle, differentiated it from those in France and Germany. Henry IV and Richelieu prepared the way for the absolution of Louis XIV. In Germany, the disorganization and demoralization of the central government placed the destinies of the German people in the hands of rival princes whose political creed may be summed up in the words of Frederick William I of Prussia. Quote, Salvation belongs to the Lord. Everything else is my business. End quote. The rulers of England, on the contrary, were power and authority. The admission of the principle of government was not entirely the work of the Puritan Revolution, but needed the additional lesson of the tyranny and overthrow of James II. Not the least important among the benefits which the movement of 1688 conferred upon England was the general recognition of the principle of toleration. The opportunity which this method affords the teacher of contrasting English conditions with those on the continent should lead to a better understanding and appreciation of England's relation to and part in general European progress. Her internal history furnishes another illustration of the great characteristics of this period, the passing of religious questions from the sphere of politics and the appearance of issues of an entirely different character. Bibliography. The textbook will probably be found to furnish all the material needed for the presentation of this period with the possible exception of details of a biographical character. The Heroes of the Nation series contains good biographies of Gustavus Adolphus by C. R. L. Fletcher of Henry IV by P. F. Willard and of Cromwell by Charles Firth. These may be supplemented by the volume in the Foreign Statesman series on Resilu by R. Lodge on William the Silent by Frederick Harrison and on Philip II by Martin Hume. The volumes in the Epics of Modern History series which cover this period, the Thirty Years' War and the Puritan Revolution by S. R. Gardner furnish considerable supplementary information in a convenient and compact form. The best atlases are probably Putzger and Gardener. Atlas of English History. End of Section 10. Section 11 of the History Teacher's Magazine Volume 1, Number 5, January 1910. This is a LibriVox recording. All LibriVox recordings are in the public domain. For more information or to volunteer, please visit LibriVox.org. Recording by D. Randall. The History Teacher's Magazine Volume 1, Number 5, January 1910. By Various. Section 11. History in the Great by Armand J. Gershon, Editor. The Admission of Missouri. A Type Lesson. Happily, our pupils nowadays are no longer compelled to commit to memory lists of the states admitted during each administration. While we are all agreed as to the frutility of this antiquated practice, we must at the same time recognize that no pupil should leave our schools without a fairly definite idea of the process by which new states are created. This knowledge is essential to a comprehension of the present condition of the nation and of its development in the future. It is the purpose of the present article how a grasp of the process of admitting states may be developed by means of the story of the admission of someone typical state. Vermont and Kentucky at once suggest themselves because of the very early date of their formation. To these states, however, as to others admitted in the first few administrations, there is the objection that their admission was not typical of the process. This is due to their previous dependence upon or relation to some of the original states. Missouri, on the other hand, lying west of the Mississippi may be said to typify most of the states subsequently admitted. Another reason for the choice of Missouri lies in the fact that our courses of study require us to present the subject of the Missouri Compromise, thus furnishing the best excuse in the world for developing in that connection our type lesson on the admission of new states. The first point that should be developed is the relation between the national government and the territory of the United States. Only one definite reference to this relation occurs in the Federal Constitution. In Article 4, Section 3, we find this statement, the Congress shall have power to dispose of and make all needful rules and regulations respecting the territory or other property belonging to the United States. We should impress our pupils with the significance of this clause, which places in the hands of the national legislature complete control over United States territory. The wide extent of land which had come into our possession by the Louisiana Purchase could be disposed of by Congress in any way that it might see fit. In this land lay the future state of Missouri. Having thus given due consideration to the general relation between the United States government and the territory which it owns, we should pass next to the question of the creation of new states. Our pupils are presumably acquainted with the necessity of referring to the Constitution for any reference to a matter of fundamental national law. It might be worthwhile to have the children themselves find the constitutional provision which relates to the admission of states. The first part of Article 4, Section 3, provides that new states may be admitted by the Congress into this union. The rest of the clause, as far as our present purpose is concerned, may be dispensed with. Attention should be called to the extreme indefiniteness of this provision and to the general fact that while the Constitution gives Congress full control of United States territory and further delegates to it in the power to admit new states, the actual modal procedure has been left to Congress itself to work out. The Ordinance of 1787 next calls for reference and rapid review. For the purposes of this lesson, the ordinance is important as having furnished the type of territory destined to become an integral part of our political organization. Further, it had made definite provision for the future admission of states to be carved out of the Northwest Territory. To be sure, this ordinance was the work of the Continental Congress but it had been re-enacted by the First Congress under the Constitution as early as 1789. The process mapped out in this famous ordinance had already furnished the model for the creation of territories and the admission of states in various parts of the country. The Territory of Missouri originally, as we have said, a part of the Louisiana Purchase was organized by Act of Congress June 4th, 1812. The class must be brought to see the significance of this organization. As a territory, Missouri had definite boundaries and an organized government. It had a governor appointed by the President of the United States and a territorial legislature. It, of course, had no voice in national affairs and was, in last resort, subject to the will of Congress. A flood of immigration from the eastern states rapidly increased the population of the new territory. It may be well because of the subsequent significance of the fact to point out that a large pro-slavery element had made repeated unsuccessful attempts to secure for slavery the states which so far had been made from the Northwest Territory. The anti-slavery provision of the Northwest Ordinance, however, continued to hold good and slaveholders began to look across the Mississippi for the extension of their dominion. So rapid was the increase of population in Missouri that in less than six years after its organization as a territory, we find it seeking admission as a state. In the early months of 1818, several memorials were presented in the House Petitioning for Statehood and on April 3rd of that year an Enabling Act was introduced. The discussion of the Enabling Act constitutes one of the most important type elements of our lesson. Normally the passing of such an act by Congress must be regarded as the first step in the transition of a territory to a state. There are to be sure some striking instances where states have been admitted without the previous passage of an Enabling Act by Congress. Texas and California are cases in point but in our type lesson we are concerned with a normal practice only. We must develop in our pupils the idea of an Enabling Act as the authorization of a territory by Congress to adopt a state constitution and present itself for admission into the Union on equal terms with the other states. The act further fixes the boundaries of the prospective state. As we have already mentioned an Enabling Act for the admission of Missouri had been introduced into the House as early as April 3rd, 1818. The passage of the final Missouri Enabling Act however did not take place until March 6th, 1820. The fact that this delay was caused by the bitter fight over slavery extension must by all means be emphasized but the history of the struggle in Congress of the amendments, references, committee reports, etc. is far too complex to form a part of any elementary lesson. It will be sufficient if our pupils understand that there was a constant struggle to preserve the balance of slave and free states to grasp the significance of the admission of Alabama in 1819 and of the application of Maine in that same year. The Enabling Act of 1820 as typical of Enabling Acts in general should receive careful attention. Section 1 authorizes the people of the territory of Missouri to form for themselves a constitution and state government and to assume such name as they shall deem proper. Section 2 consists of an exact statement of the boundaries of the new state. The phrasing of these sections is significant, typical, and interesting and should be presented to the class in full. Section 7 states that the new Constitution when drafted shall be transmitted to Congress. This provision for approval by federal authority is important and characteristic of Enabling Acts in general which regularly require the applicant state to submit its constitution for approval to the federal government usually to Congress. Section 8 of the Enabling Act embodies the Missouri Compromise and is of great importance on that account. As far however as the mere question of the admission of new states is concerned this section cannot be considered pertinent. If the teacher's aim is to present the admission of Missouri and the Missouri Compromise as one general topic full consideration of this section must here be given otherwise passing reference will suffice. The people of Missouri acting under authority of their Enabling Act at once proceeded to frame a state constitution beyond the fact that state constitutions are framed by conventions chosen by the people and are usually submitted to the people themselves for ratification. The intimate details of the process will serve rather to confuse than to clarify the idea we are seeking to develop. Suffice it to say that a pro-slavery constitution was finally adopted in July 1820 and transmitted to Congress later in that year. Let me repeat at this point that it is of the utmost importance in all our history work that we shall emphasize essentials and omit entirely the discussion of intricate points which while of some constitution of importance and frequently of great interest to the mature student can only work harm if introduced into the work of the grades. It is in accordance with this principle that I would advocate reducing to a minimum any discussion of the contest which occurred in Congress over the question of the Missouri Constitution. The class should of course understand that there was such a contest and that Henry Clay did more than any other one man to bring it to an amicable conclusion. On March 2, 1821 the resolution to admit Missouri as the state was approved and on August 10th a proclamation announced the addition of another star to the flag. End of section 11 Section 12 of the History Teachers Magazine Volume 1, Number 5, January 1910. This is a LibriVox recording. All LibriVox recordings are in the public domain. For more information or to volunteer please visit LibriVox.org. Recording by Betty B. The History Teachers Magazine Volume 1, Number 5, January 1910 by various. Section 12, Reports from the Historical Field. Walter H. Cushing Editor. The Historical Association, English. English Teachers of History organized an association about three years ago in May 1906. At a preliminary meeting held at University College London it was resolved to form an historical association. On June 30th of the same year a constitution and bylaws were adopted and officers of the association were elected. All persons are eligible for membership who are engaged or interested in the teaching of history. The annual subscription to the association is five shillings payable on July 1st. The president is Professor C.H. Firth Oxford. The treasurer is J.E. Morris and the secretary is M.B. Curran. Six South Square grays in London WC. There are 15 vice presidents including men and women connected with college and school life of the kingdom, many of whom are well known in America. In addition to these officers there is a council of 29 persons. The association has established a number of local branches which in March 1909, Number 13. The activities of the association are the holding of annual meetings, the encouragement of local centers and the study of local history and the publication of a series of leaflets. Up to June 1909, these leaflets numbered 17. The topics treated are as follows. Number one, source books. Number two, some books on the teaching of history in schools. Number three, a summary of historical examinations including matriculation examinations and entrance scholarships. Number four, addressed by the right honorable James Bryce on the teaching of history in schools. Number five, a brief bibliography of British history for the use of teachers. Number six, books upon general history, ancient history and European history. Number seven, supplementary reading. Number eight, books on colonial history and the history of the British empire. Number nine, bibliography of Exeter. Number ten, addressed by Thomas Hodgkin Esquire on the teaching of history in schools. Number 11, the teaching of local history. Number 12, illustrations, portraits and lantern slides chiefly for British and modern history. Number 13, historical maps and atlases. Number 14, bibliography of London. Number 15, the teaching of civics in public schools. Number 16, the revolutionary and Napoleonic era. Number 17, an experiment in the teaching of history. California Association. The program for the history section of the California Teachers Association is Wednesday, December 29, 1909. Topic, the correlation of grade and high school history teaching. Papers, I.D. Steele, San Jose High School. Miss Minnie Mayer, Girls High School, San Francisco. Discussion opened by Miss Lucy R. Watkins, Watsonville High School. R.D. Faulkner, Horace Mann Grammar School, San Francisco. Topic, the correlation of history with other subjects in the teaching of history in the high school. Papers, I.D. Adams, Stanford University. TM Marshall, Alameda High School. Discussion opened by Miss Eleanor Johnson, Oakland High School. F.H. Clark, Lowell High School, San Francisco. Officers, President J.N. Bowman, Secretary H.W. Edwards. On the principle of history being a continuous subject from grade to university, grade and high school teachers were united in the same section. This plan has been adopted by the English section also and others are thinking of it. New York City Conference. The New York Conference of History Teachers held its meeting on Saturday December 11, 1909 at the College of the City of New York. After the opening address Professor Henry Johnson of Teachers College of Columbia University gave the principle paper upon special aids to visualization in the teaching of history. This was followed by a discussion upon the solution of some practical difficulties. This Francis E. Chapman of the Flushing High School spoke upon lack of judgment. This Clara Burns of the Normal College on the lack of vocabulary. Ms. Edith M. Tufts of the Spayer School upon the failure to understand alien morals. And Mr. James G. Crosswell of the Brearley School upon lack of imagination. At the close of the meeting a luncheon was held in a neighboring hotel. The report of the committee on nomination for Officers for 1909 to 10 was adopted as follows for Chairman Livingston Mr. Joe Schuyler Secretary Daniel C. Nolton Treasurer W. Franklin Brush for members of the Executive Committee Ms. Clara Burns Arthur B. Butler William Fairley, James G. Crosswell This New York Conference was organized in response to an unanimous vote of the Third Annual Convention of the Association of History Teachers of the Middle States and Maryland which authorized the formation of local conferences of history teachers The announcement of the conference meeting states that the primary purpose of the conference is the same as that of the association to advance the study and teaching of history and government through discussion and to promote personal acquaintance among teachers and students of history In these meetings a large number of teachers can be reached whose duties and location prevent them from attending conventions at a distance The conferences also afford opportunities for wider discussion than is possible at the meetings of the association Pre-statement of opinion indicates lines of work of great worth and interest The Constitution and organization are of the simplest type and the fee a nominal one of $1 a year Missouri Society The Missouri Society of Teachers of History and Government in the Central High School Building St. Louis The following program has been arranged Tuesday afternoon, December 28 1.45 Address William Schuyler, McKinley High School St. Louis What topics in ancient and medieval history need special emphasis to prepare the pupil for the modern period Ms. Ellen B. Atwater Central High School St. Louis Discussion Professor N. M. Trenholm, Columbia Wednesday afternoon, December 29 1.45 History in the Grades Geographic Influences in American History Ms. Grace Graves, Hannibal Victories of War vs. Victories of Peace Ms. Fanny Bennett, 8th Grade Siegel School, St. Louis Discussion The Future Citizen and Civics Instruction in the High School Principal Essay Baker Joplin Discussion Collection of Papers for General Secretary and for Society Secretary Business Meeting Preliminary Reports of Committees 1. On History Instruction in the High Schools of Missouri E. M. Violet State Normal, Kirksville 2. On History Instruction in the Grades A cordial invitation is extended to all to visit the valuable collection of the Missouri Historical Society from the 1600 Locust Street hours 9 a.m. to 5 p.m. The officers are President H. R. Tucker, St. Louis Vice President Jesse Lewis Maryville, Secretary and Treasurer Eugene Fair Kirksville Editor N. M. Trenholm, Columbia A Bibliography of History for Schools The Bibliography of History for Schools, which was published serially last year Atlantic Educational Quarterly is about to be issued in more elaborate form by Longman, Green and Company. The work seems to meet a need among teachers who find it difficult to keep abreast of available historical literature in English and who are often in doubt as to the relative merits of various standard works. The Bibliography as enlarged and revised will contain selected lists of the most approved historical books published, covering the whole field of history with separate sections devoted to historical reading for children. The portions relating to American history will be worked out with unusual fullness and care. Works on aids to history, method, universal history, biography, ecclesiastical, constitutional and economic history will also be included and especially prepared list of books on American government will be included. Every work mentioned, whether in one volume or many volumes will be carefully annotated in a criticism of from 2 to 20 lines and in the case of larger works at even greater length. Each entry will contain the name of the author, the title of the work in full, year of publication, price and name of the publisher. The Bibliography has been prepared by a committee of the Maryland History Teachers Association of the Charles M. Andrews of the Johns Hopkins University. Mr. J. Montgomery Gambrill, head of the Department of History and Civics of the Baltimore Polytechnic Institute and Ms. Lyda Lee Tall, supervisor of grammar grades Baltimore County, Maryland. It will be issued under the auspices of the Association of History Teachers of the Middle States and Maryland. End of section 12. Section 13 of the History Teachers Magazine Volume 1, Number 5, January 1910. This is a LibriVox recording. All LibriVox recordings are in the public domain. For more information or to volunteer please visit LibriVox.org. Recording by Betty B. The History Teachers Magazine Volume 1, Number 5, January 1910. By Various. Section 13, Correspondence, Use of Sources. St. Louis, November 29th, 1909. Editor, History Teachers Magazine. Kindly permit me to write a word in regard to Professor Faye's criticism of Professor Fling's article in the September number of your excellent magazine. Professor Fling some years ago lays the trail for reform and history instruction throughout the country. Like every sociological reformer he advanced a theory which many, perhaps only few, were willing to carry out in its entirety. But what man who is a reformer does have his whole scheme adopted? Professor Fling did certainly arouse history teachers from their lethargy and from the one book method of teaching. At least he contributed in no small part to this result. I can find nothing in Professor Fling's article at variance with modern educational studies. It does not argue I take it that we shall make trained historical scholars out of our high school pupils. But it does argue and rightly so it seems to me that we give them a glimpse of the material out of which history is written. What better way to get them to practice the critical attitude towards the printed page? Professor Faye says that the sources should not be in the hands of the pupils being unsuited to their mental capacity. They should be accompanied with first year and with fourth year pupils and in all periods of history. The use of them requires more work by the teacher. They should generally be accompanied by questions or topics or they can profitably be made a source of class study. What an excellent opportunity of teaching the pupils how to study. A thing in which but few high school students are entirely proficient. I will admit that I am not prepared to indicate and apply internal and external criticism to references twice a week. But because we cannot endorse his method entirely should we reject it entirely. There are many ideas which he advances in the Salamis study which can easily be followed in many other periods. The use of sources will be very imperfectly handled in the hands of an unskilled teacher but that is no criticism on the use of them. What better reference for 1789 in France than the source Arthur Young's travels. In using such an attractive work must we not raise the very questions which Professor Flings suggests in the Salamis study. A study of one page of the expense account of the South Carolina legislature during reconstruction days will mean more than a whole chapter of secondary authority on reconstruction expenses. By the way, could civics be taught without the sources? History instruction is to furnish information but it is also to develop discriminating judgment. In the use of the sources to what extent will depend on the teacher these results will be attained and the subject vitalized more than in any other way. The fact that we cannot afford two recitations a week when only four are given to history is no argument against the method. Professor Flings statements as to allotment of time were made with reference to five hours a week for history. And anyway, it is immaterial whether we can follow Professor Flings method according to the letter. We certainly in our high school instruction need to follow the spirit of his method. In fact, from one paragraph of Professor Faye's article where he says he would rouse the pupil's interest in scenes and countries removed by time and space from themselves it would mean that he would use the source. The difference is one of degree, not of kind. One of how to use them not whether to use them or no. H.R. Tucker William McKinley High School St. Louis. School libraries, editor history teachers magazine. The question raised by Mr. Parham librarian of the Little Rock High School in the November number concerning the supply of reference books in history is a very vital one. I should like to make one or two remarks by way of relating some things concerning the making of the library in the state normal school with which I am connected. Our library has been created practically within the last six years. Prior to that time it consisted of a few hundred volumes indifferently selected and poorly adapted to classroom needs. From the beginning of its reorganization, every instructor who has had anything to do with the ordering of books has sought to purchase duplicate copies of those books which his classes will use in their classwork from day to day. The aim has been to make it possible for every member of the class to read the same references and duplicates ranging from three to twenty have been purchased. The general plan has been to have one copy for about every three members in the class. As a result we have numerous duplicates of those titles that are used as references for general class work. Of course these books will wear out pretty rapidly.  But this will give us an opportunity to put other books that have been more recently written in their place and thus keep abreast of the times. But all our purchases have not been made in this manner. We have been ordering many other books in single copies which are used chiefly for theme or thesis work. Though there are occasions when the entire class will be sent to several different books for a given subject. So successful has this plan of buying duplicate copies in large numbers been that we are constantly advising those who consult us to do the same thing. Just the other day a high school teacher wrote me that she had thirty five dollars to spend for library books on ancient history for a class of seventy. I immediately wrote her recommending that she put practically all of that precious thirty five dollars in just two titles. Tucker's Life of the Ancient Greeks and John Stone's Private Life of the Romans. I estimated that she could get about ten copies of each of these titles and perhaps have enough left to buy Oman's or Buri's History of Greece and Howe and Lays or Pelham's History of Rome. I am sure that the results she will get from this scheme will be far more satisfactory than they would be if she spent all of her money for single copies of a great many more titles. There may be objections to giving the same assignment of reading to the entire class but I have found in my own work here that the students in the history courses of high school rank and those also of college rank do better work and get better results if they are most of the time given identically the same assignments of reading. I believe most firmly in the definite assignment of pages in a book for the day after day work. The student may be left to his own devices in some instances but not in many and the only way to make this plan work is to buy numerous duplicate titles of at least a few books and to keep this up until all the books for general class work have been purchased. When that is done then attention can be given to stocking up the library with those books that will be needed in single copies only. If there is anything fundamentally wrong with this method of doing things I should like to have it pointed out so far it has been the way of salvation to us here and to many others around us. E. M. Violette Department of History State Normal School, Perksville, Missouri Editor History Teachers Magazine We have recently placed in our history and other classes a series of underwood and underwood stereographs we kindly publish in the History Teachers Magazine Some suggestions as to how they may be used with profit. Among others we have placed one of the complete Italian tours. We shall have about 6C in Roman history next semester. Any suggestions you may see fit to publish will be highly appreciated.  It grows better each month. The suggestions are very helpful. I have worked a number of them out and find them exceedingly practical. It is always with considerable pleasure that I look forward to the delivery of the magazine. It is a timely publication and will do much for the history teaching throughout the nation. C. R. G. Have our readers any suggestions to offer for such work. Pacific Coast Branch The Pacific Coast Branch of the American Historical Association held its annual meeting at Stanford University November at 19th to 20th. The afternoon session of Saturday the 20th was devoted to history in the secondary schools. The topic being ancient history in the first year of the high school. A very practical paper was read by W. C. Westergaard of the Alameda High School on the subject points of contact between ancient history and the present. The discussion that followed brought out several points. Ancient history has been the object of attack by several critics of the high schools and if it is to retain its place it must justify itself. It is the weak point in our secondary history work chiefly for two reasons.  Two it is usually placed in charge of less experienced teachers than are the other courses. The method set forth in the essay is well calculated to overcome the first of these conditions. Children enjoy discussing historical problems of a simple sort. E.g. the conduct of the Romans after Caudine forks. The wisdom of Caesar's clemency. Anything that will make the man of the past real is useful. Value of letters, plinies, etc. After the discussion was closed the election of officers resulted in the choice of Professor E.D. Adams, Stanford University President, Professor J.N. Bowman, University of California Secretary-Treasurer. H.W.E. End of section 13. End of the History Teachers Magazine Volume 1, Number 5 January, 1910 by Various.


Okay, welcome to this video. In this one, we're going to take a look at how to work out a determinant. What is it? How can you find determinants of varying sizes? So a determinant is a scalar. It's just a number. Could be positive, could be negative, could be zero. And it's derived from a square matrix, a single number derived from an entire matrix. Now the determinant of m would be written with m with the modulus signs either side of it, even though it can be a negative number. So here's an example of m and here is how we would write the determinant of m. Note that we don't bother writing straight sides and curved brackets as well. There's no point in that.  So let's start with the definition of a 2 by 2 determinant. That's the easy case to look at. So let's write out a general 2 by 2 just using symbols. We'll have a, b, c, d.  It's simply a, d minus b, c. Okay, so that's the falling diagonal. The leading diagonal is also called minus the rising diagonal, multiplied together. Very simple. Very simple. And that is how you can just look at and evaluate a 2 by 2 determinant. So for our example 1, 2, 3, 4. 1 times 4 is 4. Subtract of 2 times 3 is 6. And so that's going to give us minus 2 is the determinant. Okay, so a 3 by 3 determinant is going to be a bit more work. What we do is when we have a 3 by 3 determinant, we evaluate it by breaking it up into a number up to 3 smaller determinants, each of which is a 2 by 2. And for that we have our definition for immediate evaluation. So we break up bigger determinants into little ones and then evaluate them. Now I'm going to write out something here that's like a chessboard, but instead of black and white, I have pluses and minuses. You'll see why in a moment. The thing to notice though is that we alternate plus, minus, plus, minus along each row and each column in this 3 by 3 grid. Okay. So now let's work out a 3 by 3 determinant. Again, I will just use general symbols A, B, C, D, E, F, G, H, I. Right. Now first I have to choose a row or a column. I'm going to choose this top row for the first example. And I'm going to work along this row and I'm going to start with the A symbol. Now I go and I look on my chart and I see that there's a plus sign in that slot of my grid. That means I put down plus A. And now what I do is I ignore the whole row and the whole column that A is in. And I look at the remaining four numbers and I write a little determinant just made out of those guys in the same order they appear. So E, F is going to be in my main determinant there and H, I, those are the remaining four guys in the same order they appear. Now B, the next term, that has a minus sign according to my chart. So I will put in minus B and multiply it by, again, a smaller 2 by 2 determinant. The one I get if I delete the row and the column with B in it and look at the remaining guys, D, F, G, I. And I just write those guys out in the same order they appear as a small 2 by 2 determinant. Finally there's C. C appears with a plus sign according to my chart. So I need to put down plus C and I need to multiply by, well, we delete the row and column with C in it. And we just see the remaining determinant, D, E, G, H. So I simply imagine that that row and column was not there and then that's what the determinant becomes. And then of course those 2 by 2 determinants, I can just write down what they are using my rule of multiplying down the diagonal and subtracting the anti-diagonal. Okay, there we are. So that is, in general, what a 3 by 3 determinant evaluates to. But it's not the only way to do it. Let's write it out again. And this time choose, let's choose a column and a different one. Let's choose this column. I'm also allowed to work down this. So I would start with B as my first term and I delete the row and column with it in and I'd see what are the remaining terms and write them D, F, G, I. Except I've forgotten something, there's a minus sign attached to that particular entry. So that should actually have been minus B. Alright, and then similarly plus E and I delete the row and column which has E in it. And then I just make a 2 by 2 determinant from, in this case, it would be the corner elements A, C, G, I. And then finally minus H and delete the row and column with H in it. Make a 2 by 2 determinant of what's left, A, C, D, F. Okay, and of course I could then write out these 2 by 2 determinants explicitly. But the point is it will give me the same answer. Let's do an example and see why we would choose one method or the other. So here are just some random numbers I'm making up. Let's stick that in. It's 3 by 3. First off, let's work along the top row and as we did in our first example. So that's going to be 3. Let's put in the full determinant here and then minus 1. And again, the determinant I get by excluding the top row and middle column and then plus 2. That's going to be 7, 0, 5, minus 1. And I can go ahead and I can work out explicitly what this comes out at. Let's see what I'm doing here and in fact it will be 12 plus 20 minus 14 and it comes out as 18. So there we are. We've worked out a 3 by 3. But we could have done it in a different way. Let's say we went along this bottom row. That's fine. So then it will be 5 and I will be left with 1, 2, 0, 4 for my mini-terminant and the next element along a minus sign and it was a minus number anyway. Minus minus 1. That's going to be 3, 2, 7, 4. Let's just see how we've done that. 3, 2, 7, 4 by deleting the bottom row and middle column of that. Now what about the third element here? Well, we actually have a 0 plus 0 times some determinant. I don't even care what that is because it's been multiplied by 0. That's the beauty of it. So I've got 5 into 4 minus 0 and then we're going to have 4, 3s of 12 minus 14. So that's going to give us 20 minus 2 is 18. Same answer as before. Okay. What about if we have even bigger determinants than our 3 by 3 example there? If we go bigger still, for example, a 4 by 4, we're just going to break it up into a number of 3 by 3s and each of those would have to be broken up into 2 by 2s, lots of work. So here we are. Here's a general 4 by 4. We are going to expand it along a row or column. Let's say we want to expand it along this row, for example, and we'll take in turn A, B, C, D. And we'll need to know what sign to use. So here's our checkerboard or our chessboard pattern of pluses and minuses. Just extend it out now to a 4 by 4. And you can see the rule here is that if you like, if the row number plus the column number is an even number, then there's going to be a plus sign. And if it's odd, it's going to be a minus sign. You can confirm that for yourself. Look at this one. It's going to be at row 2 and column 3 and that's 5. And so that's a minus. That's one way to remember it or just draw it out. Anyway, we're going to use that rule. So we go ahead and we write plus A and now we need to do the entire 3 by 3 determinant that we get when we delete the row and column with A in it. So we just write out that little square block that we see is quite easy to copy across. And now we're going to have minus B and we need to delete the row and column and then transcribe across the elements that are left as a 3 by 3. Just being careful not to make any slips. And you see that we're going to continue this way. So let's delete this just to be completely explicit. I'll finish the job off. So I think I hope it's obvious what we're doing. We're onto plus C and now we're going to just have E F H I J L and M N P. And then finally minus D onto what we get if we delete the top row and rightmost column which is left over then E F G I J K M N O. So here we are. That's how we handle a 4 by 4. Each of these 3 by 3s would then have to be evaluated and so on. So a lot of work. And that's the end of the video.