Thanks, the organizers for the invitation very happy to be here. It's been very exciting workshop It's hard to be on the session. It's I guess, you know We're very hard to keep the level from a conditional separation of content classical as a previous talk, but I'll try my best So if you want I want to talk about joint work with America Lev Tony and Lee Cedric lean Chris is war and shall give you And what we are exploring is whether quantum computers might be useful to give speed-ups for convex optimization problems in particular for a class of convex optimization problems that They're called quantum send definitely programming and I'll explain what they are so, okay, we want to one they have a Universal quantum computer and we soon have some small-scale quantum computers with no error correction and we like to understand What can we use them for? And there are many interesting quantum algorithms and and maybe you can split me into three categories one Exponential speed-ups. These are right. They really They are really the reason why we want to build a quantum computer I guess so of course a big application just simulate quantum physics We heard exciting things about Hamiltonian simulation yesterday and and there is a lot of work in this area There's of course shores algorithm. There's HHL to solve linear equations and so on Sometimes for some problems. We cannot get exponential speed-ups, but we can still get some speed-ups quantumly We can get some polynomial speed-ups. There is Grover's algorithm with square root speed-ups and this leads to Polynomian speed-ups to really a bunch of other problems if one day Quantum computers are as cheap as classic computers if you this is go, but one day might be true Then they might be relevant and there is a bunch of Quantum algorithms as happens classically that's probably they work well, but we just cannot prove it And we cannot test them also because we don't have the quantum computer. So at the moment, they're just We are hoping that they might give something interesting. We have some evidence, but many times we cannot really know if it's like what my living for combinatorial station problems then for low depth for early quantum computers There is this quantum approximate optimization algorithm, which might give speed-ups We don't know there's a bunch of proposing in quantum machine learning and and so on So what I want to show is that solving this semi-definite programming gives the example in each one of these three classes and And we'll get to that Okay, so what are these problems? So they are a class of convex optimization problems and is the following So we have an optimization variable x, which is just a matrix. So x is a n by n matrix And I have a bunch of other matrices c a1 up to a m and they are the input matrices of the problem And we have a bunch of numbers b1 to bm and they are real numbers and they are also inputs of the problem So these matrices c a1 to a m and b1 to bm specify the problem and our goal is you want to maximize a linear function over over x the optimization variable and the constraint And the constraints they are like linear constraints as well and we have m constraints But there's also this extra constraint which is this positive semi-definite constraint Which says that x has to be remission and all the eigenvalues bigger equal to 0 And we can also consider that all these matrices they are sparse and s is the sparsity is the number of no zero elements in each row for example So as a particular case if all the matrices are diagonal then we get linear programming This is a very simple linear program with n equals 3 m equals 2 right and just like Some people of this form Okay, so there are many applications that I want to read this you can really keep growing the number of applications of LP and STPs Even like I was surprising few theory. I have a new colleague at Caltech that he does Conform a few theory and his main area of activities to apply STPs to conform a few theory for it was a co-application But they are really it's is very is very useful class of optimization problems What are the algorithms that we have? This can be solved in polynomial time in n m and all the other parameters So using three-point methods. That's the action. That's the method that people actually using practice it The the running time is something of this form is m square ns plus m n square and then log Capital R is more are two parameters that I'm going to define next They are basically the size of optimal primal and dual solutions and absolutely the accuracy you want to solve the problem So let's just say that you want to compute this up to error plus minus epsilon addisive error for example This is good. If you want to if you really care about it depends on m and n which we will There are better method. It's called multiplicative weights method And improve to linear in m and ns But with a big hits on the complex in terms of the error and these two other parameters So it depends which application There is also low about this very easy to show that there cannot be anything faster than n plus m Even if everything else is constant. So there are clear limitations like linear time Okay So, oh, sorry, and this is even if you just want to Compute the optimal value because of course just to write down the option solution takes time n square if it's a matrix If you go to the duo like n Okay, so the question really scan quantum help right our quantum computers Maybe help us to speeding up these algorithms and on one hand, maybe yes So first like this LP is a is a very natural generalization of linear equations We change equalities by by Inequalities and we know right there are exponential speed ups for for linear equations Also, these STPs. They are pretty natural in quantum mechanics, right? So we can always reduce a general STP to the following problem We give some emission matrices a 1 to a m like some of observable in quantum mechanics A bunch of numbers beyond to BM and we want to find a density matrix row for which the expectation value of row in each One of these measurements or this emission operators AI is smaller than bi, right? So this is a very natural problem in quantum mechanics. And so maybe quantum can help There's also on the other hand some other On the other hand, maybe not so first Reducing from Grover there is a easy quantum lower bound of other square root n plus square root m So there will be definitely no general exponential speed up The worst case and even polynomial speed ups. We didn't know how to do before right? So it's a natural problem to consider but it wasn't done before so maybe That's a sign That's bad news Okay, so what I want to show you now is that we can We can have some speed ups and the way to see that really quantum Octo help is is just to connect this problem to some other primitive in quantum computing Which is to prepare Gibbs states on a quantum computer So what is the connection of these Gibbs states and what they are to to these STPs? Let me tell you this first So Gibbs state is just a formal state of some Hamiltonian at some temperature. That's the form is the explanation of the Hamiltonian They have of course very important if you understand the props of the Hamilton of the system given by the same 20 at some Temperature if it's a thermal equilibrium with the environment But the connection with the STP comes from a old result in statistical physics due to James from 57 and it says they're falling suppose you have a quantum states and you have a emission operators MI Such that the expectation value of flow in these MIs gives numbers see eyes Then he proves that there is always a Gibbs states of this form a Gibbs state where the Hamiltonian is given by a linear Combination of these emission operators that you care about these MIs and Some real numbers on the ice that you have to figure out what they are They are like some black range multipliers with the same expectation value as role on this observe, okay? So if all you care about About role is the expectation value on these MIs. You can just have these Gibbs states instead of it and Okay, and this is like this gives it also maximize the entropy of always stays compatible with this expectation value But we don't really need that So okay, so let's apply this to the STPs, right? So we have our STP here again So all we care about the STP is really the expectation value on right on trace CX and trace a sub JX So we can just assume that the opposite solution is of this form Right of this exponential form in the input or as a linear where the Hamiltonian is a linear combination of the input matrices By James Prince there is always a solution of this form Right base would just apply James Prince to the normalized version of X optimal and this gives this the solution So the problem really points down to first finding what what are they lumped the J's and second of Trying to you know write down this matrix in the classic computer Or maybe prepared a normalized version of this matrix on the quantum computer and this is what we explore So it's really This then I guess main conceptual idea Now let me tell you Okay, so now I want to tell you just using this idea What is the kind of results you want we can get but before let me define these two parameters of the STP which are important So one thing given n STP of this form Okay, there is another STP which is called the dual and this is the following So we minimize the inner product of this vector B with y y is a vector now of real numbers And the constraint is that if you sum from j equals to 1 to m y sub j a sub j This is a matrix. This matrix is bigger equal to the matrix C meaning that left-hand side my right-hand sides Is a positive semi-definite matrix? This is the positive semi-definite constraint and this y element wise has to be positive So all elements of y are positive so this is a This is another problem and what you can show is that almost always under some by conditions the two solution The two opposite solutions are the same so like you can think if you solve this one of is this one depending on the convenience And now you can define two parameters Which will be very important for the running time of our algorithm, which is the our parameter. This is consider any Optimal solution of the primary problem R should be an upper bound to it So we should be able to guess an upper bound to the size Which is just trace X because X is positive semi-definite of the primal solution, right? It's like the one arm as well. The same thing you can do for the dual But now the dual is just a vector of non-zero coefficients So the size already the size parameter is just an upper bound to the sum of To the to the L1 Norm of Y as a vector. This is called small r and they'll be important parameters in in our approach Okay, so before let's let's show Let me say again. What what is the best we can achieve in the worst case? So even if you want to write down the option solution of the primal this takes other n square Right was a n by n emission matrix and the dual will take time m But maybe we just want to compute the optimal value and we don't want to write down the option solution We do it implicitly If you can show the class it takes times n plus m for everything else constants Oh, I'm sorry. Delta is the error now It was absolutely changed to Delta as the sparsity and these are these parameters that I defined just before Quantum also some easy reduction to search problem. You can show that's never you cannot do better than that Or there's square root n plus square root m So, okay, so the first result is there are like some general polynomial speedups. So There was a first paper with Chris that I put less here now There's is improved with with With Chris and collaborates from Maryland's and what we show is that there is a quantum algorithm for solving STPs And the runtime is like matches the lower bound in terms of n and m is square in the sparsity and a polynomial in all these parameters That I'm going to tell you what it is next So the input is the same right as I specified before There is also this normalization on the matrix the operator norm is one But what what is the outputs? This we have to specify right because as I said if you want to write down all the elements of the matrix That's takes too long So as outputs we output like quantum samples from these quantum states We just prepare a quantum states Which is a normalized optional solution, right? So the optional solution is x and we output x over trace x as a quantum states And we also output the value of trace x and we also put the optional solution up to the small accuracy So it's not the same thing as heavy written down in a piece of paper But maybe you can use right this quantum state for something else this is kind of similar to what happens in HHL Okay, so what is the oracle model here? We assume there is a oracle that outputs a chosen no zero entry of each one of the matrix at unit costs So we just choose one of the matrix which was one of the rows which was a number and out Like chief and it outputs the chief no zero element of this role in the matrix of our choice So like this is the normal model for like Hermit Tony simulation for example So what is good about this? Well, it gives a unconditional quadratic speed ups in terms of NNM right because we have this linear classical or about n plus m. Oh This is not close up. This is optimal right in terms of n plus m this holds So this is also we cannot improve But there is also bad. Well, it's optimal, right? So there will be super polynomial speed ups that I told you before and it depends on the other parameters is bad It's like Actually these three parameters. They are interconnected. You can always decrease one by increasing the other one So you should treat this ratio as really one parameter. This is what matters and it's this one to the power of eight So so pretty high So just this is the final result But as I mentioned before with Chris at first we proved this kind of bound and times m square roots and a huge right to the power of 32 this is Pro there so pretty terrible, right then there was Uphold on Gillian Griblin and the wolf they improve a lot this to to this eighth power And now we can improve this to n plus m which no close what we can do here, but I'm sure there is a lot we can do in this other parameters So applications, right? So okay. So if you first, okay It's at most polynomial speed up where you feel happy with that. Well, can you apply this sdps over and there's some bad news Many interesting sdps for example if one applied this to max cuts using goes more Williamson We have that this this parameter the size and error parameters is of order n So we're not getting speed ups Okay, so we really have to improve the other parameters if we want to have speed ups for Go may Williamson or some other Approximation to NP hard combinatorial optimization problems. So they all usually have this kind of dependence. So that's that's bad But there's also some other sdps for which we can get some speed ups And they're like a bunch of problems in machine learning compressed sensing for which they would give something because they have a nice These parameters they are like of other wonder One is quantum compressed sensing and I mentioned this because there's two of the offers here in the audience So what we want to do there is we want to topograph our rank are Dense matrix row of dimension n by n and they show that you can do that in only roughly r times n measurements So much better than n square if r is small But what's the way to do that? Well, there are also other way Naively you can just do that by solving this easy sdp. We just find a density matrix For which the expectation the expectation value on the measurements AI Reproduce what you the expectation values on row, which is this one that you can measure in the lab It presses sdp is not very used because you want to run a simple really efficient And these sdp is like no n square times m. So that's already too high for this kind of application very really care about Not the order of the polynomial, but if we had a quantum computer we don't Then write the running time we can even improve over what I told you before will be something of this order like our time Square root of n square root of m, which is just our times n over area square. So So, you know, this would be this would beat the best way that they have of doing this kind of of compressions All right, so this was the polynomial speed ups Maybe they are right and it's definitely for now. They are not substantial enough to try to implement them Quant computation is very expensive. So it'd be good if you can have something more. We cannot in general But actually we can try as heuristic to get bigger speed ups So another result is that there is a quantum algorithm which solves sdp's and it runs in this time It's correct of m. This we don't improve all these other dependencies the same as before But there is no dependence on n As it's correct of n, there is this t-gips instead of its and what is this? This is the time it takes to prepare on a quantum computer give states of this form In other words give states given by linear combination of the input matrices What is lambda i some coefficients real coefficients that we can compute them. They are they are bounded and so on So what it shows is that you know when we can prepare these states efficiently Maybe we just try them out and see if it works then we can have perhaps bigger speed ups So we could use for example quantum Gibbs sampling for that Oh, sorry. This is like we want to keep sampling. We could use quantum metropolis as heuristic or something else and We might even have exponential speed ups if formalization is quick right like poly In the number of qubits, which is polylog N But it's hard to prove if there are cases for which this is the case This is nice I think because it gives the application of this Gibbs sampling quantum Gibbs simply outside simulation of physical systems Classical Gibbs simply is huge in many areas writing in machine learning in convex optimization and so on It's nice to find applications of quantum Gibbs sampling. This is one. There are also some earlier work and And like applications in machine learning these two papers Okay So another thing I want to mention. Okay, this is about I guess we are all here interesting this It's more quantum computers that we have now. It would be nice to find new applications for it I don't know if this is one, but I'm hopeful that it might be and let me tell you why so in the simpler version of the algorithm And then he has just a bad scaling on M. It's case linearly in M But it's you like these two Gibbs can the quantum part is very simple It's just we compute expectation values of the AIs on Gibbs states Or here's the same thing on on the Gibbs states Give my linear combination So I think because the quantum part is so simple something they can try out on these small machines and see what you get right? So what would be the idea? I'll tell you more about the algorithm But the outline is that we have the quantum computer and they have the classical computer the quantum computer is just that each time We have a new Hamiltonian, which is a linear combination. These are the coefficients of the input matrices we just We just compute the expectation value of This Gibbs states with the input matrices AI and is a number CIT Then we send this number to the classic computer and then there is a very easy procedure That I'm going to tell you later what it is which just computes new coefficients new I which then you fit forward here again Okay, and repeat that very like a log n times and then you converge. This is where you prove so really like the quantum practice you should be able to To design a Hamiltonian of your choice, which depends on the input matrix and let it cool let it formalize to a given temperature And I tell you what the temperature range is so So this something you can do we can try to do just right by cooling down the system or some other methods So and of course we won't get a Gibbs state perfectly We have some errors and so on and this I haven't analyzed really but Maybe it's not so bad. So this is something for future work So what is a special case just on this and this connection with Like cooling and annealing suppose you just want to compute the maximum eigenvalue of C This is a very simple SDP right. We just want to maximize trace CX where X is a density matrix So this well study problem, right? So this is really quantum annealing. We just want to Compute the ground states energy of the C if you see as a Hamiltonian if you just look out of minus C action and if you can prepare this Gibbs states with this Temperature inverse temperature one of a delta temperature Delta then we can compute the maximum eigenvalue to arrow Delta Or here music fees normalization where like you know the the normal of the Hamiltonian scales as the volume right instead of being constant then the temperature is constant like that and In the point is that our approach for this Gibbs sample Then it's really a generalization of quantum annealing right in quantum annealing usually this is classical here We have a series quantum and we care about no zero temperature. So just some comparison So we have quantum annealing here. We have this quantum SPS over they haven't only quanta nearly is usually classical or interest here We interest in general quantum Hamiltonians The temperature in annealing should be zero right at least ideally here We don't care about zero if you want to solve the SPU where a delta temperature Delta square is enough So there might be advantage And what how what is the preparation of the Gibbs state? Well in annealing we can do cooling right just cool down the system But there is also as a max evolution. There is this qa oa. There are many alternatives Well study problem here not so much right this is a open question. So we can cool down the system That's one way we could use quantum metropolis, but that's very costly for small quantum computers Are there like analogs of these two for Gibbs states? That's a interesting question that I don't really know the answer But I think it's worth exploring more Okay, so actually I'm in my time. I have 20 minutes perfect. Okay, thanks Okay, so let me go to the to the final results before I tell you a little bit up more about the algorithm And this is a situation where we can have bigger speed-ups so Where is the well? I think you cannot see it anyway, right? So there is a quantum algorithm for solving STPs and and now he runs in times current of m the same thing in terms of the constraints but now Polylog in n so that's an improvement Everything else the same but also there's a rank and this rank will be the rank of all the input matrices of the problem But there's a sports and catch this is only if data is in what we call quantum form Let me tell you what it is is a different oracle model now so the oracle model is that We assume there is oracle that given I outputs The eigenvalues of AI and the eigenvectors as quantum states or actually more precisely in the later version if you assume for example that this is Positive-same definite we should be able to prepare a purification of the normalized states onto this AI So this is some old version and the rank is just a maximum rank of all of this So if you have For some reason this this oracle model Then you can get algorithm that only scales with the rank of the matrix instead of n right? And this can give some advantage sometimes if they're low rank for example So what is the idea? I won't tell you much about it, but I just want to tell you that this is one of This is an instance where we can actually solve the Gibbs sampling problem and show that it converts faster than Then just like a square root n which is the worst case using rope. So so we just show They can perform the Gibbs sampling easily in the sense that efficiently here in in poly log n ranked time and the proof Which is in this second paper that I mentioned it uses Quantum principal component analysis to actually first prepare roughly like a the maximum mix state on the common subspace of all On all these matrices and then to do the Hamiltonian evolution there and to the phase estimation and so on what I expect But it's very important to have it in quantum form because then we can really prepare initial states Which has a non-negative overlap with all this with a space where all these matrices live So that's that's why this quantum model is is useful Okay, of course is the question how relevant is this model right and I I don't really know But there's one One application that we thought about that I want to mention is also about quantum learning But a little bit different from this compressed sensing because you don't want to do full tomography here So what what are we interested here is that we have a set of measurements AI let's assume they are projectors And we have access to copies of unknown quantum states And I would just want to find we want to again find a description of the quantum states Description of Sigma, but only that reproduced the statistics on on this on this measurements AI Okay, and we don't care about really full tomography. We just want to mimic the expectation value in these AIs This is a STP, right? So this will be the BJ's if you put in the formulation I showed you before where we just search over this density matrix Sigma We have our Oracle for be AI just by measuring AI on raw, right? Just we do the experiment and then this this gives us bi And let's assume that there is also efficient way of measuring this AI, okay in in poly log n time. They're like There's efficient quantum circuit for it Then using the what I showed you before We can find this lambda ice and we can find a circuit that Constructs the state Sigma satisfying these conditions in this time So square root of m, but polynomial in the rank of the matrix So if you care about low-rank measurements and and on this right usually we don't care about a low-ranking measurements Usually local measurement has very high rank for example. So so that's why this perhaps has a limited Applicability, but but nonetheless if you care about this low-rank measurements You could have larger speed ups over the classical approach Which we don't know I don't know how to do anything better than just really computer expectation values and running the classical STP, right? Which which takes at least like time leaning and Okay, so what is the algorithm so first as I mentioned the algorithm is is based on this idea that we have this Solution of the STP, which is always a quantum Gibbs states and actually there are many People explore that classically for classical STP solvers I forgot to put the reference unfortunately, but this was first paper by Aurora and KO and then a paper by Hassan and they propose different ways of exploring this you know this solution of the STP as a as a Gibbs states to come up with Resolvers and this is what they call this multiplicative weight methods Multiplicative because kind of you put the you get a violates the constraint and you put a penalty Multiplicativity which just mean adding something to the exponents of of these Gibbs states, right? It's class you just multiply it quantum. We have to add something to the exponents of the e to the h So here, you know after like many verses of of this of this procedure and look at the classical solvers and trying to simplify it There is a version that I like because it's pretty simple. So this that I want to explain to you So first let's look at a particular case. There is a reduction to the general case We just want to find a density matrix row for which trace a sub i row is smaller than bi Okay, so now it's a quantum state and how we want to do that Well, we want to find the lambda i's in James principle, right that achieves the solution But we want to do that by interactive arguments. So what we do we start from from the maxi limit states, okay, and then we iterate 16 times log n over epsilon squared times the following procedure So first we do quantum Gibbs sample and we prepare square root m copies order of this row sub t on Notes, right? That's actually the capital R and and small R. They are constants here because it's quantum states So that's why they don't appear here in the general reduction. They would appear again Then okay, we have this number of copies of road and then with this number of copies of road We just using rover or some versions of rover we search for a index i Such that trace a sub i row t is bigger than bi plus epsilon Over two so we're looking for a violation of one of the constraints Okay, so we find a constraint, right? So if all the constraints are satisfied We are happy we find one which is not which is violated after this error epsilon by two and then we let i sub t to be this violated constraints And then what we do this like the music because you step we just add The constraints into the Hamiltonian as a penalty, right? So we just adds we have our original Hamiltonian, which is h right? This is just h log row sub c we add minus epsilon square a i sub c to it So we always find a violation constraint and we just add it to the explanation And repeat that and what you can show is that if you converge in the end We have a solution which would satisfy all the constraints up to some small error And then we can put the error we can massage this error to really satisfy it perfectly if you want But don't worry about this so what is the what is the complexity of this? So if you use phase estimation and amplitude amplification Pulling of ocean shoulders that we can do the give sampling in times square root n Okay, but we need a right if you just put this together this gives Complexity square root m times n which is this first one right or you it's not this option that we found to get the option I won't explain but let me just say what is the new idea to get this square root n plus m We have to use Quantum or bounds which is from this paid by heroin and Montanaro It's a nice result and we improve it to to with amplitude amplification to do it faster And that's really the idea that you need to to get this but Let me skip that Okay, so let me now give you intuition why it works right so so why you convert so fast It's crucial that we are converging in log n time here right if if conversion would be a polynomial in n or m Will be doomed but it's really fast and this is because a nice arguments There are many ways to see that one way that I like is using relative entropy But you just have a cost function which is in the case will be the relative entropy and it really decreases at each iteration And because this cost function the maximum value is not too big. It cannot have too many iterations before you converge So so let's roll just be a feasible solution Then there is this pyros both in the quality I don't write what it is but it's well known and if you write in terms of row row sub t and row sub t minus one You get these constraints right where This is the definition of row sub t so you have to trust me I think you cannot do yourself now, but you get this you say that we can show that The relative entropy from step t to step t minus one you decrease By this factor minus epsilon over 8 and then trace a I sub t row minus roti but now suppose that At some step Grovers, okay suppose that's what we happen So we I didn't tell you but if in case Grover search fails that we are happy right because if Grover search fails We we have Row sub t which satisfies all the constraints approximately at least so the bad case is when Grover's When it's Grover search never fails for all the iterations And then if it never fails at each time step we have this right We have the this trace a I sub t row minus roti is smaller than minus epsilon over two So if you plug this in we see that each time you have to decrease this relative entropy by roughly by Epsilon square over 16 right each time we reduce it by that But the maximum value of the relative entropy because row sub zero is just massively mix is log n So really after 16 log n over epsilon square steps the relative entropy would become negative is a contradiction So we must stop before that right so that's the proof So Grover search must fail at some C prime is smaller than C and this shows that this row Subsea prime is is feasible Which is what we wanted to do Okay, so that's all So I show you that quantum computers can give speed ups for solving STPs It's it's complicated what kind of street ups and right we still figuring out what it what is the extent? There are many open questions. Some of them is can we find relevant settings with large speed ups I showed one in quantum learning. I know not sure how relevant it is, but is one would be great to try to find more So there is this dependence on on capital R is more over delta is prohibitive right for many applications can we prove on it and actually if you use this quantum interior points Classically they have a worse scale in terms of M or n, but they have a logarithmic scaling in terms of this parameter So this is really great. So so if you could get a quantum version of interior point I think it would be very exciting. You really need new ideas. I have no idea how to do it But I think it's a this Improving this dependence gives a good motivation to explore this question. I think What is the robustness to error of the procedure right so these give states, you know Like hand-waving you expect they are robust to error right so they have a give states for my equilibrium, but of course Would be nice to if that's actually the case and to make it and to study this problem more And if that's the case if there is some robustness to error The quantum computers right there only use for this give sampling at least if you don't want to have speed ups in terms of the number of constraints Is this a potential application for a small size quantum computers? I I don't know, but I would like to figure out so That's all thank you. Yes You all want to learn or the other one? This so There I mean you can think of that as if I think of that Thing inside the box as a vector indexed by I then this is a bound on the infinity norm of that vector and You're trying to learn You're trying to learn like all of those expectation values up to some bound on the infinity norm No expectation values you're given because you can just measure them. Oh, sorry. Sorry You want to find you want to find you want to find Sigma the output is a description of Sigma Sorry, yeah, you wanted to find you want to find a Sigma what sorry what I was what I meant to say is If I change that to something other than the infinity norm. Oh, I said yeah I mean, I'm not saying one norm, right, but just even a little bit away from infinity The log n norm or something I don't care just a little bit off of infinity Can you say anything about that case because I mean this would be if you wanted to try to use this idea for tomography It's gonna be poorly conditioned Yeah, if you can if you can I mean if you could do it in the one norm, right? Then of course you can you can actually invert this and do tomography So the question is is there any meaningful sense in which you can get I Mean, yeah, I think just thinking of this thing as a norm and asking if you can get away from infinity It's a good question. I The approach we're doing right now. I don't see how to improve it Right was just the proof I gave is very simple. You really have this is absolutely niche niche of the constraints in the right image of the constraint of the STP But I don't It's still convex if you do this, right? So I'm not sure sure. Yeah, but it's just whether you can yeah Yeah, you can get one to speed ups for this setting. Yeah, it's a good question, but I don't know. Okay. Thanks. Be nice Thank you. I think I noticed that the dependence on the error was linear in all the cases No It's like this. No, you had a one of an error to the eighth power right to the eighth power Yeah, so I know there's a paper by Robin Kotari where they did where they got exponential Improvement on the dependence of the error for the HHL type algorithms. That's right So is it possible to use the idea those types of ideas to improve? your Yeah, so that's a good question and The answer is I think no with this approach because this approach They improve a lot the error because they improve in the end is like because they can really improve the error of the Hamiltonian simulation Right, and we do use Hamiltonian simulation and these parts you could improve their techniques But the arrow is really coming from from this kind of reasoning, right? That's They know you really need one of our epsilon square iterations here to get epsilon approximation So you really will have to change these parts, which is just kind of the classical parts So that's why I think if something like this works and will be very nice I think probably have to go to quantum interior point methods because interior point method This is the way classically people achieve log one of error, right? So I think and then it's a new research project. We like they're very different methods. I don't know how to do it Okay, thank you. Thank you. So thank you So I think if I'm not mistaken the SDP can be approximated by many L linear programming LPs, right? the concept of SDP is a LP is a subset of SDP, right? Yeah, but then I think the polytope of the SDP can be approximated by many infinite number of LPs. So probably you can use HHL algorithm for that No, because first you cannot use HHL even for LPs, right? We don't know how to do it Because actually this this bound that I show you I square root n plus m they were for LPs already So for LPs already you cannot have explanation speed ups quantum in the worst case So we just change it from yeah, there's a good point But just change it from having a system of any equations to have a system of of Inequalities that that it's that matters a lot, right? You will from yeah from this explanation speed up to at most polynomial speed ups in the worst case So these upper bounds that you state I just wanted to confirm are they all in the these time complexity upper bounds Are they all in the quantum circuit model or do you use quantum RAM? So Wait the upper bounds. Yeah, just here, you know this root n plus root m and The algorithms of the law at the algorithm. Oh, yeah, no the algorithm. Well, they use quantum RAM They sense that you need this oracle that given the input matrix gives the element of them No, that's fine. Yeah, so you have oracle access to the entries of all these matrices. Yeah a 1 2 a m and yeah, that's fine Yeah, but that's all you that's all you need. That's all you don't in addition need quantum RAM to store data or anything doing the Well, it depends it depends on the version, right? So if you it is basic version No, because really just like formalization of these keep states, right? And and that's it. There is also these versions we've Like to get this credit of N plus M. You have to use this quantum or and There I'm not They might need I shout it. No, you don't need no, okay, so you don't need it Okay, I I'm not really sure what he says is it don't need to look it, but I will trust my golf


In the previous video on the coronavirus which I heavily recommend you check out, we took a look at the basics of what exactly the coronavirus is. But of course, many of you by now are asking another important question. In the unfortunate event where you do get corona, how does your immune system fight it off? Before we get started, I wanted to mention a quick clarification from the last video. The virus which is in the news right now is called the SARS-CoV-2 virus and the disease name is COVID-19. But at this point, given what the WHO and media keep calling it, it's alright if you called it the COVID-19 virus. Anyways, let's jump right into it. The coronavirus usually invades the respiratory system through the nose and then proceeds to cause respiratory illness. Symptoms may not show up for 3 to 13 days, but when they do it's usually in the form of fever, body aches, coughing, nasal congestion, runny nose, sore throat, and in severe cases, shortness of breath. The coronavirus can't replicate on its own and needs a host in order to do so, which is why it likes to infect us. Once inside the airway, the coronavirus will usually invade cells by attaching onto a protein receptor on top of the cell, which is usually the ACE2 receptor. Once the cell fuses with the virus, the virus then releases its genetic material, consisting of a single-stranded RNA molecule from its spherical body. The viral RNA is then translated inside the cell into the proteins needed to assemble more viruses, which are then released from the cell. In some coronaviruses, the viral RNA codes for a protein which can go to the surface of the host cell and essentially give the false impression to all neighboring cells that everything is all right, allowing the virus to spread without being detected by the immune system. But what happens in the typical scenario where your immune system does come to the rescue? Upon the infection of the epithelial cells in the airway, special cells called RDCs acquire a surface protein from the infected epithelial cells and proceed to the lymph nodes and present the protein to immune system cells called T cells. These T cells then go to the infected area and release molecules called cytokines, chemokines, and cytotoxic molecules, which kill infected cells, stop viral replication, and call for backup from other immune system cells to help fight the virus. Despite the very important role T cells play in fighting respiratory illnesses, as well as any illness in general, not much is known about their responses to corona infections. Although past studies have shown that in severe cases of SARS-CoV infections, T cell counts decreased. Causes of this could be the RDCs not properly traveling to the lymph nodes and activating the T cells, or the body releasing steroid hormones due to the stress it's going through which can result in the T cells killing themselves, as well as a multitude of other reasons which are far too complicated to go into for now. Most people infected manage to fight it off, but that doesn't mean this virus should be treated like it's simple cold. People have been hospitalized by this, and we already know by now that it can hinder or in some cases completely bypass your immune system, which can be fatal. Worst of all, we don't know what the long-term effects of this virus are, and some doctors suspect that COVID-19 could lead to permanent lung damage in the long run, even after recovery, although it's too early to know for sure. In the meantime, you as an individual have the power to stop this virus through social distancing. Now, we're not going to go too deep into the numbers or math, but just take a look at this diagram where the dots are people and the arrow is the virus being spread. Notice just how one person deciding to not make that unnecessary trip or quarantine him or herself after being diagnosed can mean the difference between good health and potential death for many others. Even if everything else in this video flew right over your head, it's important that you understand why social distancing is an absolute must. Even if you can fight the coronavirus, you may pass it on to someone with the compromised immune system, such as an elderly individual or someone undergoing chemotherapy or a patient with pre-existing respiratory conditions who can't. So please do the right thing and stay home if you're sick.  In the meantime, be sure to stay tuned for more updates on the coronavirus as the situation unfolds. And no matter what, don't forget to stay tuned for more science videos.


Hello, good morning. Welcome to today's products and focus US 30. They're still hovering around about 18 11 1 spot 9 As we enter into Friday, which of course norm farm perils and after the ECB statement yesterday lots of volatility Around draggy's comments about stimulus measures. We saw your dollar spike up and then drop that down again And we're still we're briefly below 1 spot 10 on your dollar But I'll speak about that in a second But the US there is probably not going to do a huge amount until we get non-farm perils at the way now It does look to be that and many traders are already positioned themselves for a positive more positive number than what? Has been forecasted at 240. That's why we're seeing that the dollar can rally across the board and why we're seeing gold Move lower on the back of that Now traders have happened to get it wrong every every once in a while So that's one thing that's to bear in mind. So new came on the hundred bounce back really strongly as to the We're looking at 69 64 as a potential Resistance again, we probably want to see a breakthrough from that It's all of us in the back of the of the ECB pumping lots of cheap money and the economy the Germany 30 as well as at all-time highs And that obviously has an awkward effect to the UK 100 with our partners over there on the mainland So nevertheless, it's a level 2 to watch jumping on Japan 225 is also breaking out higher as we see More yen selling to the ends losing value dollars creeping up against it making the Japanese firms more attractive for For the potential pop was a good repatriate back to Japan and we've seen a nice break out there already today Long-term potential resistance still at 20,868 Talking about dollar yen, it's slowly creeping higher We're just about to break through this tip right here as 120 spot 50 was a previous high Today could be the day depending on how good The non-probable heroes figure is average earnings and the unemployment data. Obviously Okay, we'll come back to that in a little minute decent session yesterday There's not going to be huge amount of volatility until we get this said this figure out the way So moving on to cruel west Texas. It's drifting again. I was unable to capitalize on the Spike we saw the previous day is still Relative high point compared to what has been anything above 50 is Is pretty solid to be fair still eyeing up 54 85 as the next potential resistance level? So jumping onto gold you can just see there the volatility the long-legged candles keeps trying to push up keeps getting a slam Back down again 1186 support 1218 potential resistance and obviously it's all about the crew all that's all about the non-pump heroes Figures today. That's going to drive that one direction to the next your dollar as we mentioned broke 110 yesterday for the first time since 2003 Again, we'll wait to NFP to see where it's going to go next. There are there's some euros on GDP data figures Do you have the wrong this morning? That'll just add a little bit of a fire, but this is already come off a fair amount. So It might be the case that there's already a little bit of that dollar strength priced in so you're probably looking at a figure of 272 80 plus before you maybe register anything anything decent on your door because some of this action is already priced in Now looking at cable as well as having a bit of a Torah time of it last couple days after the break of this this trendline support We're only a stone throw away from one spot 51 85 which has been that potential support for a little while after that It's got the the option to go much lower one spot 48 13 Now I can update wise as mentioned we've got GDP at 10 for the eurozone and then non-farm perils And that's obviously quite a quite a big one to be aware of matter of that I'm gonna make sure I've got my alert set on GDP. So I'll make sure that that comes through and True balance is also due 130 as well So there's actually a fair amount of US data all due and if you fast forward then on to Monday my foot Sunday night we got a whole host of Trade balance from China some Japanese data as well and looking at Monday nothing too exciting And choose the more Chinese data more CPI and that's really it So maybe the most of your off your Friday today with non-farm perils Remember there is a live webinar. Just go to support go to live trader events You can sign up to our live webinar and that's that starts a quarter past one UK time and You'll be able to get a chance to see that or you can go to seems your markets co.uk and have a look at the Education section there and you can sign up to anywhere in the world as well So keep around the chart form as ever make insides party layer going forward and join me again on Monday to find out what happened next


Welcome back to the Tracy Johnson show presented by Buffalo Wild Wings. I'm Sam Murray joined now with Stephenson women's ice hockey head coach Tracy Johnson and coach in the first half of the season with a non-conference series versus Buffalo State you fall in the first one and then rally to come back and tie and finish in a 2-2 overtime tie in that game take us through that that series. So first game a little bit of a roller coaster experience I would say you know we started the comeback scored a couple of quick power play goals you know going into the third I felt pretty good about the momentum that we had and just couldn't finish the comeback and a little bit of a disappointing performance for us in the third being held to two shots you know it's just it's one of those things like I said that was just roller coaster in that game and you know it's always a challenge to take a look at that and you know how we're gonna bounce back we don't have much time to to feel bad or fixate on the negative but you know what can we bring into the next day so you know we we had to play behind and came back and tied it you know it was one nothing than one one then two one then two two so you know we fought back to to finish the first semester on the best note that we could. Yeah you also finished the first semester on a good note on special teams in that series you finished four for 14 on the power play only allowed one short penalty kill killed off I think seven of eight on the PK so special teams really coming along in this back half of the first season. Yeah and that's something that we struggled with game after game and we were starting to gain some traction there so to end on that kind of high note with special teams is is definitely something that we want to carry into the start of next semester and you know for the remainder of the year. I know it's someone we talked about quite a bit year after year but Chelsea Blackburn we have to we have to we have to mention her she got her 100th career point finished with four points in the weekend three of them on assists and then was named the Mac as well as the UCH player of the week. Talk about her contribution especially this weekend and getting that milestone. Yeah I mean we do talk about her a lot but there's a reason that we do. She you know she I think in the beginning of the year was struggling to find the back of the net you know was really starting to get a little bit more into her groove and and the Chelsea were used to seeing so for her to finally reach that milestone was an exciting moment for her exciting moment for her teammates you know pretty incredible backdoor power play goal to cap that 100th point but you know we're going to see there's a whole another half of the season to go through and I think we're going to certainly see much more from her and she's going to set new new personal best new career records and ones that I think will will stand tall for a while. Speaking of career marks I think other seniors are setting career highs but also one person that stood out to me was junior Sierra Samasko she has three power play goals this season talk about the contribution across the board. So with her in particular one of her goals this year was to produce more in terms of putting the puck in the net and I think she's one of those players that is just very gritty willing to you know take the hits in front of the net and score those goals that we need you know those are the ones that we're going to need our entire team to get on board with being willing to get in front of the net get gritting in front of the net get those rebounds and she's one that just has always been willing to do that and so for it to see that show up on the scoreboard for her has been pretty cool because that's been one of her goals this year. In terms of the the rest of the depth and the rest of the contributions I mean we've had lots of seniors that have stepped up and have wanted to contribute you know Kellan who's kind of a senior slash junior in that class obviously showing up on the score sheet a lot too and the more depth you can have them the more of an offensive force you're going to be and that's going to have to be something that we really focus on going into the second half. Yeah you guys are idle for the rest of December so we'll preview that Newman game on in January after the New Year so happy holidays to you and happy New Year. Thanks so much looking forward to it. For Coach Tracy Johnson I'm Sam Murray and this has been the Tracy Johnson Show.


Hey, thank you everyone. It's it's very nice to see so many people just before lunch. So thank you for coming Let's just jump in baby. We're talking about today the past present and future of tetragon What was the first production use case? What was the main security challenge? What were the first and then later stage customers? What are the lessons we learned and where are we heading? My name is Natalia Venko. I'm a product manager for runtime security at isovalent and here is with me John Tetragon lead psyllium maintainer and principal engineer at isovalent So how many of you heard about tetragon raise up your hands? All right pretty cool. That's quite a lot of people. I will still do a quick intro in a couple of slides So tetragon basically on the ebpf based runtime security observability and enforcement agent So it can run on top of any Linux operating system in case of Cubarities and cloud native environments. It's actually a demon set and then in case of bermata VMs It's actually a system D managed binary or a container So it uses ebpf to provide security observability and then runtime enforcement and then what's really important It's transparent so no changes required to your application So we use ebpf to provide the visibility and then as you can see on the picture We have visibility into process execution system call activity as 3f or connections data access file access Linux namespace and they basically capability changes as well But it's also important that all the extensive in kernel filtering and Aggregation so all the business logic is happen is happening in kernel So basically this leads us to low overhead regarding to CPU and memory and then John will talk about it later So all those Observability events are exported to to a file to a JSON file and you can integrate it with many CM systems I Listed some on the top like spang spang elastic search Sumo logic you could export it to S3 or like a block storage and then basically also you can also use graphon Okay as an integration So why is it so powerful? So it provides really synchronous BPF monitoring filtering and enforcement Completely with ebpf in kernel There is also the overall efficiency of ebpf comparing to for example existing like user space tool or kernel modules We also do like humanity's identity awareness with BPF so you could create communities identity of our runtime security policies We could monitor everything that happened that happens in the Linux kernel and then basically we also do ebpf based inline enforcement in kernel rather than for example out of So that was a quick intro on tetragon. So let's take a step back and think about like the history of tetragon So I will start from 2016. That was the year Once the ceiling project launched as a CNI Providing ebpf based connectivity observability and security to the cloud native word At 2018 ceiling reached 1.0 making the project available for generic production users and Then in 2020 the first line of tetragon were written but actually not under the tetragon name So this was part of initially part of the ceiling enterprise code base And then we had like a code name for it. It was called Hubble FGS FGS stands for fine guidance sensors And then actually the first feature set was requested from a customer It was a complex data analytics company. I will talk about it later, but basically They wanted to have observability into what's happening in their communities environment They wanted to trace all the executables or the egress connections that Leaving the cluster and then basically trace every network socket So after 20 after 10 to 10 in 2021 the first cube can talk happened About tetragon which basically included all also open source functionalities and then since then basically we are at every cube Can you and then any? And then presenting what have been working on so we had talks about how can we create least privileged profiles? audit ebpf programs and maps data look for shell and the next CVs and the next CVs and then Sensitive data patterns for example with KTL's and then so we still started to Develop tetragon still under silly a mentor price. We had the asria for conductive is it conductivity visibility The as seven attributes HTTP DLS TNS Linux capability and namespace changes and then we got customers So these were our like first set of customers the early adopters. I will also talk about it later And then in 2022 so we decided to actually open source the project So we renamed it to tetragon and then make it open source So actually the github stars that you see on the on the left side. That's actually what happened Under 2022 You in Valencia? so people like it gained a lot of traction and then that was the time when actually the first block was came out About that dragon and that was the time when actually the first or really Report came out on that dragon. So if you want to get like an order report come to our booth We will be handing out reports over there and then So in 2022 like our Contributors like open source contributors users and actually our engineering team grow because the initial Set of set of code was written by a very very small people And then basically we got the second set of customers who are kind of all like mid-stage adopters And then here we are 2023 So tetragon just reached one or two making the project available for generic production users So you can go to the you can read the blog post. There is a blog post out about it There is a press release about it and then basically on the website We have four main use cases execution monitoring file access monitoring network monitoring and Policy enforcement and we have a set of like observability policies But you can just like plug into your system and then try it out So a few github statistics, how many I so This is just pulled from the github on the one that I release and I think a couple things really stand out There even before the one that I release we have 64 contributors And what's really exciting is that? There's actually more non ice-ovalent contributors at this point than ice-ovalent contributors So we'll have 23 folks from ice-ovalent that are working on this at various times apparently on you know the Larger group of 38 here are not ice-ovalent employees. So that's great From the product side or from the project side And then the other point here we just saw like if you look at the patches per month and the PRs They get very active. There's a lot of stuff going on We have a hundred and thirty some odd patch patches that are active right now more merging patches They're being open and closed. So Definitely come to the github page We like you know, we have a bunch of first issues and stuff so you can take a look and contribute Cool, so what was actually the very first production use case? So this was coming from from a sophisticated sophisticated data analytics company and then basically they needed a cloud native or like humanities identity of our solution To replace their traditional fireworks Traditional firewalls and network monitoring tools. So the and also the EDR systems So the problem here was that their network rules were based on IPs and ports and host names And then these were not really useful in like Containerized environments where I piece I frequently changing Potsk and go and Their endpoint detection and response to suffer the same So all of their alerts were based on IPs ports and host names And then the other problem was that every time they created a new resource They it had to have this EDR agent sending this telemetry to this central light system Then if you consider like a humanities environment, that's not really like realistic either So they wanted to create like on an EDR or like a network monitoring tool Which was based on like humanities identities like labels what labels namespaces or For example, they wanted to trace API call identity And then that's how that's how they implemented it. So they use selium for network traffic control They implemented selium network policies as 3a4 and as 7 in their humanities infrastructure And they use tetragon as their observability and logging platform And then they they wanted to have visibility into what's happening in their humanities environment And then this was basically an alternative to traditional enterprise EDRs and then their alerting and detection engineers created signatures And then others to detect certain attack scenarios or malicious behaviors They actually wrote a blog post. So I linked it if you check the slides later You can actually check it out how they implemented it And then these were the very first initial tetragon features trace every executables Trace every address network connection with destination name trace every open socket and then stroll all these data in an S3 bucket for audit reasons So what are they now? They were actually the very first user of tetragon arm support And then they are looking into fine integrity monitoring and DNS drops as we speak So they are still a very active user of this So who are kind of like the early customers that we have so they all had a couple of things in common So they all had like a stable backend system that they could store all these data like either Splunk, Elk or S3 or they had their integrated pipeline into Into their security analytics platform They were also comfortable creating and maintaining their own queries They were actually comfortable with custom like customizing the filtering and aggregation and they had people They had like an engineering team who were Well, actually operated and then deployed a tetragon. I listed a couple of names here and Logos and then all the use cases were actually driven by them. So these were driven by customers So for runtime security, they wanted to monitor all the executables for network security They wanted to monitor all the network connections DNS names all the open network sockets They wanted DNS troubleshooting figure out like which process or workload was responsible for DNS drops and then fine integrity monitoring like monitor access to sensitive files or directories and And then also for the for the enforcement and deployment use cases was also driven by them So for us for enforcement, they wanted to have like Kubernetes identity of our security policies That allowed certain by at least the system cost from pods or namespaces could drop certain Linux capabilities or Block access to kernel host namespace namespaces and then for deployment The arm support and actually the standalone the external VM installation was also driven by them So a couple of signatures like these are in these are in Splunk But this this can be an elastic search or like graph analogy The syntax would be different, but the idea is the same so this is basically detecting workloads and processes with pseudo which started as root or Malicious shell execution like someone keep cataract into the workload or We could detect like untrusted DNS names So if you see some new DNS names that you haven't seen in the last week that can be also interesting or Detect outbound connections to non-standard ports like something is connecting to port 80 or not port 80 or not for 443 That can be also quite interesting So these were the the first set of customers and then we had the second set of customers later on So they had they had a common Common aspects that they didn't have a stable backend system So they didn't have like Splunk or act or even if they did like they didn't have the resources to manage or store the data Or these resources were actually limited They didn't have for example a set of engineering team to actually operate that wrong on and they were not really comfortable to create and actually maintain their own alerts or Signatures so they needed kind of like Security dashboard like an out-of-the-box dashboard That we could provide for them. So I put a couple of names here There will be more coming So I will show a couple of dashboards that we we actually created for them So the first is like detecting Linux namespace and Previous changes so for example show me all the communities workloads that started with higher privileges or root access Or gained later in the life cycle or show me all the communities workloads that started with Colonel host namespace access or gained it later in the life cycle And then this can be for example one dashboard on the top you can actually see the pods which started with higher capabilities and Then basically in the middle you can actually see the JSON events in a table So you could see like the source namespace a source pod All the capabilities that it had and then on the bottom Basically, these are the pods which had access to for example Colonel host namespaces like network or PID that it shouldn't have The second is like fine integrity monitoring. So this is basically a dashboards like showing Sensitive files and directory access. So which binary path from the operation which application which namespace Did it have a root access which team was responsible for it? Another dashboard showing sensitive files binaries that pair from the operation all the JSON events in a dashboard and Then basically the last one is around tonight is data exfiltration So we could answer questions like which workloads send out the most egress traffic in the cluster is it even suspicious? If it's suspicious like which process initiated it which team which workload, what was even the destination? So with this dashboard we can actually track the top received bytes per pod and then the top Outbound talkers and then if we could investigate later We could find out that for example Ubuntu and nginx pod installed some libraries with APT And then that's why it received so many bytes or for example there was like a login agent sending out data to Splunk So these were like the second set of customers and then in Sure. Yeah, so then The next kind of piece we'll talk about some of the things we learned about writing ebpf security tools and some opinions or Principles as we call them here that we developed So so the first thing that we found out really early with it was very powerful from a tetragram side is to have Most of the state that your security tool needs in the kernel itself And so what this allows you to do is do really interesting mappings in the kernel such as map all the files back to their binaries and map all the binaries back to their Pod or their workload ID, which is what kind of a generic version of a pod This lets you do that all inside the kernel, which means you don't have to send data up to user space Which allows kind of CPU performance reasons. That's really great, but also for enforcement It means you can enforce start enforcing things in the kernel So by keeping the kind of a lot of the state that you need of your program inside the kernel in the ebpf You get a kind of a big win in this ability to kind of link different operations inside the kernel that would otherwise Not be you wouldn't be able to make these connections For example sockets are a good one files are if you want to know what binary is attached to what socket It's just is attached to what packet you can make that entire chain What what pod or label it has in a kubernetes contest if you can do that all in the kernel You're you're often running with a really good base platform to start doing interesting things The next thing that we did That became apparent pretty quick is if you try to filter all of the events that a kernel is generating in user space It's going to be very expensive You're gonna have to wake up user space every time you want to tell it about a socket or every time You want to tell it about a file read you're gonna end up waking up user space every syscall You're gonna have to wake up user space. So kind of building on that first first point where we have all the context inside the kernel in Bpf in tetra gone. We also added filtering in the kernel And so what this allows you to do is they actually I don't want to really care about every read or I don't care about every socket I only care about sockets that are outside of my cluster for example Maybe I trust this namespace any connections inside my namespace are fine I just want to know about connections outside of my namespace or Most of the reads inside my home directory I don't need to monitor because the application can read its own data But if it's going to try to write a file into the at-c directory Or maybe it's going to try to write a file in the user bin or slash temp Those are things that I want to alert on and so what you've done is taken the case where you have to Monitor everything push the filters into the kernel and now you're now you're looking for things that are that are that are Important that are rare or somehow significant and the value here is really really quite significant because now you've Removed that need to wake up user space all the time and start using lots of CPU So you can do this kind of in line in line in the kernel And then sort of as a technical Corollary here is there's actually a buffer between the kernel and user space and so now by pushing all of that data Into the kernel you relieve this extra interface that you now don't have to worry about drops on or overhead From so kind of a secondary wind to putting all that state in the kernel then you add filters Improves the system overall And then you can get kind of benchmarks like this which are really what we shoot for in tetra gone On the one on the left Your left. Yep We have the kernel build so this is basically a stress test and building a kernel on 16 cores 32 cores is actually a fairly good stress test because you're Executing the compiler over and over again for every file in the links kernel.  There's a lot of actual work going on And you what you can see on the left is is no tetra gone running there with the 549 dot 271 At the baseline and then you can see it with tetra gone the overhead is really quite small less than 2% So that's really great And then if you add some additional json logging it goes up to two and a half percent So that that's if you want to export everything over json. So that's basically one percent of your CPU going to writing json files but But that's still a pretty good number very minimal overhead and then on the right side What we're showing is if you want to report on on certain files So we found some files that we we didn't think anyone should write to On a consistent regular basis you can think of again example Would be we don't expect our users to write into user s been nobody should be writing new executables into my bind into my pod I don't accept people to execute on slash temp That's usually some indication of something quite bizarre going on and what we show is that if you on the left side if you Do kind of those first two principles we were talking about put the state in the kernel put the filtering in the kernel The overhead is very minimal versus if you try to go to user space for everything You get a much larger bar on the right there. So these are the kinds of things we're looking at with Tetra on From observability and kind of security side the next the next point that we Kind of came to the conclusion is that you can just monitor syscalls But there's actually a lot more interesting stuff in the kernel than just syscalls You know the syscalls are just the top layer that the user interface is with if you want to know about the socket State if you want to know about the TCP state machine if you want to know what's going on your networking and in the OS side You really need to dig into the kernel and so tetra gone has the ability to hook almost any function in their kernel syscalls included but not limited to syscalls and you also get a really nice benefit from that is a Technical security reason we don't hook syscalls a lot of the times is the syscalls are using user data You have a pointer to user data and as a security tool. You just can't can't trust user data in our model so I'm that that leads into this slide really quickly so you'll be really tempted when you're building your tool to do a lot of These things. I know we were you probes are super awesome. I love you probes But as a security mechanism, they're just they're working over user data So if your security model is to not trust your users You don't trust the pod for example You really need to be careful when you're using you probes I mean for not familiar you probes let you hook user space basically instead of the kernel But remember that's that's user data the user owns the data that can work around your you probe They can change the data after you read it like I mentioned syscalls there and then the other one is the Kernel has many ways many ways to do the same thing So if you think about syscall hooking you can hook open open ads Every version of open that you can find in the syscall spec or you can hook FD install Which is the kernels version of creating a file descriptor and it's used once everywhere so This is just goes to the point that maybe hooking syscalls everywhere is not the best option Usually if you go into the kernel you can find kind of the root the root operator inside the kernel The next thing that I'll just mention that you get from this is by pushing all the station to the kernel Allowing you to hook outside of syscalls is you get a really interesting story around enforcement So rather than Reacting where you would say I observed an event sent the event up to user space my logic in user space Decides this is unacceptable and then enforces by stopping the pod or stopping the that action may have already happened It's kind of asynchronous to the system By pushing all of the state into the kernel getting below the syscalls in many cases when you need extra data You can enforce synchronously in line with the kernel and this avoids a race so you the kind of Most obvious case that somebody writes to a file Right, you don't want to enforce that after the fact after the file has been written to you Really want to win stop the right from happening same way with networking You don't want the network connect to happen and then some data to be exfiltrated and then sometime in the future You stop that from happening. You want to stop that before the data is even leaving the system, okay? So when we support a couple models around that we actually smart both models by the way There's definitely use cases for reactive security as well But the enforcement is really the strong suit here for for writing kind of Kubernetes native security policies So if we think about where we're heading in the future I mentioned these policies we we put a few in for the 1.0 release and They're on the web page the folks are on the team here are working on putting a few more up there That's just kind of the beginning. We have a lot of examples actually in the code itself in the examples directory But they're really cryptic I would say, you know, they're written by engineers This is an attempt to kind of level that up a little bit so that users kind of more of a user-facing policy library And what this would allow you to do is say if you want to do you want to monitor eBPF There's a there's a link to check how do I monitor eBPF and here's a file that I apply So it's to be very simple quick to use get some basic policies in place You see networking on outbound connections is at the bottom. I think I alluded to that one earlier Some things that other folks are doing not necessarily myself We've seen some folks use tetragon for S bombs The idea being Instead of using s trace you can use tetragon gives you a lot more information than just syscalls For example network connections all this kind of data you can roll that into an S bomb we've seen a few folks use tetragon to Protect the system that's building S bomb building the S bomb to make sure that the S bomb integrity is is intact a Couple of interesting use cases from that side that I hadn't anticipated Whoops, and we have a few dashboards, so there'll be more dashboards coming in the future until you show some of them I don't think they're I think they're on the web page, but probably not highlighted in the docs yet So in the code, but not in the docs And with that we kind of covered all this today and Here's how you can contribute and go to the github page Um Natalia mentioned some of like are some of the people that are using tetragon and their use cases a lot of those actually come from pull requests So if you even if you aren't going to commit code, but you have a use case and you think it's interesting create a pull request We do read them. It also allows other people to you know see them and say oh that I have that same use case too So we like that of course if you want to contribute docs and examples and code, you know, we would we would love it There's a bunch of first issue tags people can look at We've done a lot of work to get to 1.0, but there's just a ton more stuff to do that's super interesting So come find me if you want to chat come to the booth file go to the github page and file a PR and whatnot And with that, thank you Thank you very much, and we have time for a few questions a question, but I want to say big props for the tool that you built I worked talent here, and I was one of the first people that's rolled this out like hub live gs cillium Pretty interesting Pretty complex to it. I have a few questions in the future Would you consider having some sort of learning mode where you observe the behavior of applications and that way to construct automatically a policy for a Yeah, yeah, absolutely. It's come up a handful of times. It's you know, it's not in the one that I release It's definitely something that we've considered adding to the roadmap If we've got some other folks to help work on it, we would be you know, very enthusiastic But yeah, they know it makes a lot of sense because we use you see the right now It's mostly done manually by the users right they get a pipeline of the observability You have your security expert and read those and then they create the policy Definitely that could mostly maybe 90% of that could be automated, right? Or you can make a pretty cohesive policy just automatically from that. That's right What you have now is kind of more like a cluster-wide policy rather than a Okay The your SBOM was interesting. I have you guys considered also container scanning as part of your offering or I know a lot of Competitors are out there. So maybe it's not worth it So like I add it to the container Once it comes in you scan, you know make sure it's allowed to run, right? Yeah, so there's been some talk about this where You know kind of part of the pod deployment would also pull in the tetragon policy and they would come together So you do a kubectl apply you get the pod you get the policy and I think kind of goes out Again, I kind of love that in the same category as the automation. We got 1.0 out I think we have all the fundamentals to do these kinds of things and you know, it's a matter of getting the Get it on the roadmap and making it happen at this point All right, thank you. Yeah, cool. Thank you Thank you both of those insights are kind of right on track like where people are thinking about in terms of what to use Tetragon for Okay, it looks like we don't have other questions people are people want to go to lunch one time