Hi, and welcome to the session. Today we will discuss the following question which says a pair of dice is thrown four times. If getting a doublet is considered a success, find the probability distribution of successes. Let's see its solution. We are given in the question that a pair of dice is thrown four times and getting a doublet is considered a success. So, let us assume that x denotes the number of doublets. When a pair of dice is thrown, then possible doublets are 1, 1, 2, 2, 3, 3, 4, 4, 5, 5 and 6, 6. Now the dice is thrown four times, so that means x can take the value 0, 1, 2, 3 and 4. Now the probability of getting a doublet will be 6 upon 36 because when a pair of dice is thrown, then the possible doublets are 6 and the possible outcomes are 36. So, this is equal to 1 upon 6. So, from this we have the probability of not getting a doublet will be 1 minus 1 upon 6 which is equal to 5 upon 6. Now, let us find probability when x is equal to 0 that is the probability of getting no doublet. This will be equal to 5 by 6 into 5 by 6 into 5 by 6 into 5 by 6 which is equal to 625 upon 1296. Next, let us find the probability when x is equal to 1 that is probability of getting 1 doublet, 3 non-doublets. This will be equal to 1 by 6 into 5 by 6 into 5 by 6 into 5 by 6 into 5 by 6 into 1 by 6 into 5 by 6 into 5 by 6 into 5 by 6 into 5 by 6 into 5 by 6 into 5 by 6 into 5 by 6 into 5 by 6 into 5 by 6 into 5 by 6 into 5 by 6 into 5 by 6 into 5 by 6 into 5 by 6 into 5 by 6 into 5 by 6 into 5 by 6 into 5 by 6 into 5 by 6 into 5 by 6 into 5 by 6 into 5 by 6 into 5 by 6 into 5 by 6 into 5 by 6 into 5 by 6 into 5 by 6 into 5 by 6 into 5 by 6 into 5 by 6 into 5 by 6 into 5 by 6 into 5 by 6 into 5 by 6 into 5 by 6 into 5 by 6 into 5 by 6 into 5 by 6 into 5 by 6 into 5 by 6 into 5 by 6 into 5 by 6 into 5 by 6 into 5 by 6 into 5 by 6 into 5 by 6 into 5 by 6 into 5 by 6 into 6 into 5 by 6 into 1 by 6 which is equal to 4 into 5 by 6 into 5 by 6 into 1 by 6 that is 4 into 125 upon 1296 now let us cancel 4 and 1296 by the common factor 4. So we get 125 upon 324 now we will find probability when x is equal to 2 that is the probability of getting 2 doublets and 2 non-doublets which will be equal to 1 by 6 into 1 by 6 into 5 by 6 into 5 by 6 plus 1 by 6 into 5 by 6 into 1 by 6 into 5 by 6 plus 1 by 6 into 5 by 6 into 5 by 6 into 1 by 6 plus 5 by 6 into 1 by 6 into 1 by 6 into 5 by 6 plus 5 by 6 into 1 by 6 into 5 by 6 into 1 by 6 plus 5 by 6 into 5 by 6 into 1 by 6 into 1 by 6 and this will be equal to 6 into 25 upon 1296. So here 6 and 1296 will get cancelled by the common factor 6. So we get 25 upon 216. Now we need to find out the probability when x is equal to 3 that is the probability of getting 3 doublets and 1 non-doublet which will be equal to 1 by 6 into 1 by 6 into 1 by 6 into 5 by 6 plus 1 by 6 into 1 by 6 into 5 by 6 into 1 by 6 plus 1 by 6 into 5 by 6 into 1 by 6 into 1 by 6 plus 5 by 6 into 1 by 6 into 1 by 6 into 1 by 6 which will be equal to 4 into 5 upon 1296. So let's cancel 4 and 1296 by the common factor 4. So we get 5 upon 324. Lastly let us find out the probability when x is equal to 4 that is the probability of getting 4 doublets and this will be equal to 1 by 6 into 1 by 6 into 1 by 6 into 1 by 6 which will be equal to 1 upon 1296. Thus the required probability distribution when x is equal to 0 probability is equal to 625 upon 1296 when x is equal to 1 the probability is 125 upon 324 when x is equal to 2 the probability is 25 upon 216 when x is equal to 3 the probability is 5 upon 324 and when x is equal to 4 the probability is 1 upon 1296. So this is the required answer to this question. With this we finished this session. Hope you must have enjoyed it. Goodbye, take care and have a nice day.


أطفاله من شيطان الرجيم بسم الله الرحمن الرحيم والسلام علي أشف الأنبياء والمرسلين سيدنا ونبينا عبل قاسم محمد وعلى أهلبيته طيبين الطاهرين المأسمين المفلومين ولاعنة الله على عداهم أجمعين من الآن إلى قيام يوم الدين آمين يا رب العالمين شكراً لكم وشكراً for joining us once more on your show back to the basics in which you're joining myself, your host Yahya Seymour live from the holy city of Kerbala one more time. As you all know, we have in the background with us the blessed مقام of our master Abul Fadl al-Abbas and you're joining us for another episode of this show in which we are discussing an approach and how to basically engage with doubts about our religion, particularly doubts in conversation with those who happen to follow other divergent beliefs from our own. For those of you who have not tuned in previously when I am sorry, I would love to contextualize where we have reached in this show but unfortunately I do not wish to keep flogging it at horse and mentioning the same preliminary introductions in every episode. So I would advise you to go back to the previous episodes where you can find these details but for those who are tuning in for the first time briefly to say we are looking at the human intellect and the human intellect in its role in understanding a religion and more importantly understanding how valuable a religion or a particular set of beliefs known as a worldview is. I've previously stated that one of the problems that many of us as Muslims fall into is we analyze our beliefs as isolated beliefs and we attempt to prove the entire Aqeda package by looking at small isolated chunks, isolated beliefs here and there and we try and find evidence in order to demonstrate those isolated beliefs. Now what this leads to is actually a level of frustration where you might prove a particular aspect of your jurisprudence one day and then you'll be called upon to prove a particularly side issue within your theology the next day. And then you might be called upon proving an aspect of your ethics the next day and basically what this does is it leaves someone else to judge you and to be quite frank we don't even know what standards they're judging us by half the time. So we've stated that in order to enter into a fruitful dialogue one of the things we should do is to look at our beliefs as entire packages of beliefs that is to say a worldview. A worldview of course I define it as an interconnected set of beliefs pertaining to how we view ourselves الله أزوجل and the universe around us. So in light of that we had talked previously of how the first question we ought to ask in engaging with any particular worldview is in regards to its recognition and the estimation it gives to the human intellect. Does that worldview perhaps happen to respect and also give the credence to the very intellect you are using to even engage in this discussion? This intellect which I'm using in order to articulate myself in a particular language to put forward certain thoughts and that intellect which you're using at home right now in order to digest and understand the thoughts I'm putting forward are these things which the worldview you happen to believe in respects. Now when it comes to a worldview many of us are unaware of the big questions which worldviews are concerned with. Many of us might have even believed and adopted a worldview which we've never previously really thought to digest or really thought to engage with. Really thought should I be asking these big questions about it and if I don't does it really make sense? So the first question we put forward was does that worldview respect the intellect? And we've shown several examples of different theological schools be it Christian, be it scientific materialistic naturalism and indeed the Salafi school of Islam as real worldviews which don't quite meet the cut and what I mean by that is in regards to how they perceive and engage with the human intellect. Some of those worldviews they might not necessarily deny the value of the intellect outright but what we're stating is that they might as well deny the value of the intellect. It's essentially like a person claiming that there's no such thing as a human language and that words have no meaning but in making that very claim he utilizes human words and expects me to understand the meaning of what he's saying. This is the same way we view such deficient worldviews. World views which might claim to respect the intellect but in reality the very thing they testify to means that we cannot by any means trust the human intellect whatsoever. Tonight I wanted to take a slightly different approach and go on to say what I wanted to go on to say that we need to make sure that our method in calling people to Islam is perfectly consistent with the way in which we believe in our theology. Now that might sound confusing to some of you. What I mean by this is if I'm giving amazing rational evidence for people to come to my religion I need to make sure that my approach to that is consistent. As we said one of the very ways we can interrogate a worldview to see if it stands the test or challenge of being a legitimate and authentic worldview is to ask the question is it consistent with itself and is it consistent internally as well as externally. That is to say if one part of it is entirely inconsistent with another part of it then we know that such a thing is not from Allah Azza wa Jal. Why? Because Allah Azza wa Jal states in the Holy Qur'an for those who are doubting in the Holy Prophet ﷺ that if they were in confusion and doubt in regards to the Qur'an they could look at it and they would see that there is no contradictions there is no inconsistency in it. Why? Because Allah Azza wa Jal is not the offer of confusion or inconsistency. So we need to make sure there is no confusion or inconsistency in anything. Tonight I want to highlight a particular method in demonstrating the existence of Allah Azza wa Jal that is utilized by Muslims of all theological schools and I'm going to demonstrate that if this approach is correct then we have to doubt the very school of many of the proponents who put forward this argument. Allow me to cite this transcript of this particular proof given and we shall see Insha'Allah to Allah where I'm heading with this. And I quote The speaker begins by thanking the organization or the Muslim Student Society for inviting him and he states the following It is common to hear in such debates one side or the other throwing the burden of proof against the other side to give a context he's debating an atheist demanding one side or the other prove that God exists or doesn't exist however I'm going to break this unhelpful tradition and posit that both sides do not have the burden of proof but a burden of explanation. The explanation they must both provide is why does reality exist or why does the universe exist? What is necessary about the universe's existence and what caused it? By universe I do not mean just the observable universe but the actual meaning of the word universe which refers to all things and it is this stark reality that faces both atheists and theists that imposes itself upon all and requires an answer. He states If God does not exist then he must have been at some point an imagined theory in the minds of mankind but if he does exist then he wasn't created by man but created the entire universe and our conception of him must have arose from our thinking or revelation about him as the only possible rational postulate that can explain reality and the existence of the universe. In this presentation I shall demonstrate that God's existence is the only possible explanation for the existence of reality. So far so good and in fact everything he does state in this presentation I agree with entirely and it's a very sound argument. He states In order to demonstrate the necessity of his existence we must first consider how we can know anything or hold beliefs about anything and I like this because it ties into again can we trust the intellect The human brain and its non-physical counterpart the human mind permits us to conceptualize our observations about reality and come to conclusions about the things we observe and the things behind the things we observe This is called rationality or just thinking for short It has one simple rule and that rule is Human thought and knowledge should be based on human sensation brackets and not with assumptions or prejudice In addition thinking shows us that reality has two simple but unavoidable rules What are these rules? Number one The necessity of non-contradiction and number two the necessity of causality of finite limited and defined things Our brains being the products of finite reality are designed to operate and understand the reality it is part of The necessity of non-contradiction is evidenced in that things cannot be both contradictory where something cannot have one attribute and exactly contradictory one at the same time Otherwise it wouldn't exist If we were to ever encounter such an observation the thing must not be what we imagine it to be If we were to get the results of an exam we did And it's said that we got 100% of the questions right We could not at the same time get 100% of the questions wrong The earth cannot both be flat and round at the same time And as I say entirely flat or entirely round The necessity of causality of infinite or finite things is evidenced by the fact that finite limited and defined things have defined attributes about them They have a shape size Mass Amount of energy Volume Color and boundaries We must ask a simple question Why do they have these defined attributes? The question Why is the simple with saying what caused it?  For all limited things they only have two possibilities to explain their existence Either finite things defined or gave themselves these limited attributes or something else externally gave it to them If they existed themselves these limitations then if they gave themselves these limitations rather then this requires them to have created themselves before they even existed which is absurd because it is contradictory The other possibility is that they always existed But if that is the case then this would be that nothing chose or defined for them were limitations If they exist but required nothing else to define them they should be unlimited but the fact they are not unlimited would disprove this The only possibility that remains is that they were formed defined or created by something else whether a person or a natural process Now many of you might not have clocked on or followed where I am heading by citing this particular theological argument and I've stated it's a very beautiful argument it's a very rational argument it's a very sound argument He states How do I know with 100% certainty that this rock was created? Radio-carbon dating only tells us the immediate level of radioactive decay it exhibits Radio-active carbon dating of course is the process of dating something from the natural world and trying to posit a date for when it came about into existence which I have to compare with assumptions based upon what we've observed in other objects We cannot directly observe the history of this rock So how do we know this rock was created? Please focus on this particular point brothers and sisters Well either the rock made itself while it was in a state of nothingness which is contradictory or the rock never made itself and has always existed if that is so Why does it have the mass color shape and other measurements it possesses for if nothing limited it to its size properties and mass and it depended on nothing to give it its limits then it would exist without limits and be unlimited independent of all things and infinite for if something exists and is without limits then it is unlimited the fact that it is not infinite or unlimited but in fact is defined that is to say it has certain shapes features colors and possessed of these limited attributes leads us to the only conclusion possible that it was defined by something else and formed by an external force slash more fundamental components The purpose of science is to explore what finite things exist by either direct observation of visible objects or indirectly through the effect they have on visible objects Science then measures these finite things by comparing them to the human standardized set of finite units like meters, yards, kilograms and seconds Science then explains the cause behind these attributes and the characteristics of these finite and limited things by reference to other finite things Dear viewers I'm going to complete this article after the break Join me shortly after that السلام عليكم Before the break we were of course discussing a particular approach to demonstrating the existence of Allah عز و جل and we were talking about how our worldview needs to be internally consistent and externally consistent with reality It is not making or befitting of a worldview that it should take an approach in order to bring people to it but in order to maintain them within that tradition and worldview it would have to undermine the very thing it used in order to attract people to that very worldview As I was citing this article I was citing this article which is utilized as a theological rational argument to demonstrate the existence of Allah عز و جل and I want to continue citing it إن شاء الله تعالى The speaker whose speech has been transcribed states the following Science is the application of rational thinking on the physical world and also follows the two underlying principles of non-contradiction and causality therefore we see that theories of science live and die by whether or not they contradict experimental evidence as per the law of non-contradiction قazality is also connected to science because science requires that everything we can see including our own sensations of the world were caused by finite objects that produce these sensations whether we use either our eyes to see them or technological enhancements of our eyes like telescopes or microscopes or by mixing them with chemicals that causally change color if they detect something specific Science then measures the limited physical world by comparing it to other limited physical things Mathematics is nothing but a way to express the relationships between quantities and finite things The thing we call the number line is not an actual line but accounting rule that gives us tools to count finite things Science can only detect limited physical things because at best it can only detect limited physical things that interact with the limited physical things we can see However, as a consequence of this as great as science is it cannot swim outside of the fishbowl of the finite and physical universe no matter how much some scientists call their non-scientific speculations about what came before the universe as scientific theories like the theory of a multiverse or claiming that there was nothing that initiated the big bang all pure speculations without evidence and are about as scientific as the Greek god Zeus or the Viking god Thor The nature of this whole argument is a beautiful one and I believe that the speaker involved has successfully demonstrated beyond any shadow physical or rational doubt rather that there is a Creator God and that the Creator God is the most plausible hypothesis to explain the data which he presents of causality and non-contradiction in the world and more importantly the very things that he brought as evidence just to remind you what he brought as evidence because I think it's very necessary for us to do that he stated what he stated the necessity of causality of finite things is evidenced by the fact that limited finite and defined things have defined attributes about them they have shaped size mass amount of energy volume color and boundaries we must ask a simple question why do they have these defined attributes the question why is the simple way of saying what caused it if you deny causality you deny the word why very simple rationality presupposes causality this causality that which we observe in everything we do be it scientific experiments or just general rationality and this rationality leads us to the following for all limited things they only have two possibilities to explain their existence either finite things defined or gave themselves these limited attributes or something else externally gave it to them and he states again that we know Iraq was created why because either Iraq made itself while it was in a state of nothingness which is contradictory or Iraq never made itself and has always existed but if it has always existed why does it have the mass color shape and other measurements that it possesses for if it did exist infinitely then it would not have these limitations very very beautiful point Insha'Allah to Allah where does this tie into what I've been saying over the past few nights allow me to summarize again what the speaker is saying the speaker is saying that we observe that certain things came into existence why because they have limited defined boundaries this table has certain specifics this book possesses certain specifics we all have certain attributes which show that we are not infinite we were brought into existence something gave us these defining attributes but how did we say that certain schools of thought view Allah as وجل again just a quote from this academic Salafi forum مدسقة أحل الحديث we're told by this scholar Haifam Hamdan the position of the Salaf is simply that our great Lord Allah سبحانه وتعالى has a form which is suitable to His Majesty again a form what is a form it's a set of definitions it's a set of boundaries it's something that makes him distinct from something else what does Bessam Zawadi state he states again that just because Allah does not have a body that does not necessitate He does not have a form even Casper of a friendly ghost in the cartoons has a form and yet no body so if our limited minds could imagine this for the creation then what about the Creator if Allah does not have a form then what are we going to look at on the day of judgment the Prophet said we will see Allah as clearly as the moon on a cloudless night how on earth does that happen if Allah has nothing of Himself for us to see so my question is why is it that when it comes to convincing the atheist when it comes to convincing the non-believer in the concept of the deity these Muslims will utilize arguments such as look at the rock look at the clear defined boundaries of the rock and how the rock shows us that it was brought into existence that someone gave it these boundaries and yet now you look at these Muslims here and they're stating that Allah as the word of God also has a form they even specifically point this out by stating even further that we are going to see him on the day of judgment what are we going to see and couldn't this same argument that you've applied to the creation of the rock and therefore the existence of God not also apply to the version of Allah as a وجل that you believe in could we not also say that the color is that people will observe in Allah as a وجل because what are they going to look at they're going to look at a transparent being are they going to be able to see anything these boundaries these definitions that they're going to be looking at who gave him those definitions who gave him those boundaries did he give himself those boundaries and if he gave himself those boundaries why can he be broken up why are we able to see a corporeal being in front of us why is it that your theology contradicts the very methodology you've been using to bring people to the religion now when you look at this question you're going to be told what you're going to be told the same thing that we've mentioned in the previous episodes which is that we as Muslims do not utilize our intellect in this regard rather we affirm what the text says and we affirm so بلا كيفية we take the attribute given to Allah as a وجل in the text and that is the attribute that we affirm and if the text says that he does X if the text says for example that he runs or he jogs things that I have actually cited their scholars are saying in the previous episodes then he jogs and he runs in a way which befits his majesty but we see that this is not a consistent methodology that they utilize and insha'Allah تعالى will come to this more in the next few episodes but dear viewers I want you to remember that we are people of intellect we need to utilize that intellect and any worldview which undermines the intellect and is inconsistent is a worldview which must be rejected before you discuss with anyone before you discuss the issue of Imamah before you discuss any other issue with anybody ask yourself is the worldview I'm discussing one which respects the intellect and until it's demonstrated that it is do not engage in any intellectual discussions because to do so is fruitless discuss the intellect and how we can trust in the intellect dear viewers thank you once more for joining me from the Holy City of Karbala and I look forward to joining you again tomorrow والسلام عليكم ورحمة الله وبركاته


A griffin is a mythological creature that was typically used to guard something precious like treasure or whatever and it was a combination of other different animals. So we've taken the best parts of other aircraft and combined it into our own MH-60 Romeo and we use it to guard something equally precious, the carrier strike group. So we have two primary missions. Our first primary mission is anti-submarine warfare and our second is surface warfare. Operation warfare is to protect the carrier strike group from potentially hostile submarines and surface warfare is to provide the carrier with that big picture of situational awareness. So if something gets close to the strike group, they need to be ID, they need to be tracked, that's what we do. We provide all of that information to the Combat Operations Center. Some of the secondary missions would include search and rescue, could include humanitarian relief, general helicopter operations. So typically we'll fly with a crew of three. There are two pilots up front, one is acting as the helicopter aircraft commander and the other is acting as the pilot. I sit in the back as the third member of the crew, the sensor operator. I run the eyes and ears of the MH-60 Romeo. This job has its boring days just like anything else. People fly out to do an open water search and discover that there's nothing out there but water. But then again, it also has its days where there's a little bit too much going on. This job requires a lot of training, a lot of study time, a lot of pre-mission prep. So usually when you're not on the flight schedule for a day, it means that you are being given that day to prepare for a big event of some kind. So when we're not flying, we are getting ready to fly. Pride is what it takes to be a Griffin. You have to be proud of the job you're doing. The job is not always sexy like the fighter pilots do and their thing or like the Star Bird Delta CRS, but it's a really important job in the strike group and we have to give it 110 percent. The USS Abraham Lincoln and carry strike group 12 would be nearsighted without the Griffins and far more susceptible to torpedo attack. So this is a stand up squadron. We stood up in June just a few short years ago and this is our actual first deployment together as a squadron. I'm looking forward to seeing how well we're going to perform.


What's going on, everyone? Sam here with Layton Sports Guards. We're with 21, 22, Penini Eminence, Basketball Hobby Case, and break number five, Random Hit Style. The way this will work is we have our 10 participants right here. We also have a separate random.org window where all the hits are gonna go as we are doing the break. Donnie is gonna be typing in the hits on the random hit sheet right here. Once all 10 hits have been shown, they will be copied back into this. We'll roll the dice, say it's eight times, random the names eight times, the hits eight times. Copy them over, whatever hit is next, your name is what you will receive. So good luck, guys. Let's do it. What's up, Ed? J-Mart's buddy, Ed. What's up, Juan? Good luck, guys. Let's do some eminence. Good God, dude. My first eminence, football. I mean, basketball. Good luck, everybody. These are always not the easiest things to open in the world. I mean, it's better than transcended. Dude, that is like a five minute process. That is legitimately a five minute process. It's taped. Calling a loot auto, that is sweet. So sweet. All right, we'll show up at the top. Empty case. Just styrofoam. Quick. The 20 pound box. One. God, dude, they're so heavy. Quick once over here. Styrofoam going everywhere. All right. All right. This is pretty sweet, dude. Right. God, I don't know where to start here. That's right here. We've got four of 10. Chris Paul, two colored patch auto. Chris Paul, four of 10. That's sweet, dude. Good luck on that, everybody. Chris Paul, four of 10. Let's do, geez.  We've got 10 of 10, the big ticket. Kevin Garnett, one Troy ounce of fine silver. The big ticket. Kevin Garnett, 10 of 10. Gorgeous card there, man. That is sick. This is really cool up here too. We've got gonna be nine of 10. That is Bob Pettit. Bob Pettit, nine of 10. Silver bar. Yes, silver bar. Looks like a card to me, not a ticket. Ha, ha, ha. Funny man, illegal. Next up, we've got Jesus, dude. He has enough legal. Two of five, three colored patch auto. The brow, Anthony Davis. That is Kim used AD as well, man. Good Lord. Good Lord. Sweet, dude. That's sick. How about one of five, 14 carat gold. Steph Curry. Holy cow, man. Four or one of five. Unreal, dude. Unreal. That's pretty sick. That's awesome. I'm the veteran. Goodness. 14 carat. Wow, wow, wow. Big hit right there. That's only the first part. So we go here. What? Really good. Bob is really good. One of five, peerless. Two colored patch auto, Ja-marant. I think you like it, darling. One of five, game worn Ja. Two colored patch auto, game worn. We'll go this way next. That's gonna be silver bar signature. Four of 10, Kareem Abdul-Jabbar. Four of 10, one try ounce of fine silver auto Kareem. Very nice. This is so sick, dude. I love that he's in this. Jersey numbered one of 10. James Harden on the curtain call auto. I'm sure there's a lot of you basketball collectors. No, Harden has not signed since like 2017, dude. That is awesome. James Harden, curtain call auto. So weird, CNA. Yeah, that's a diamond as well on there. So weird seeing a Harden auto, but it is great, dude. Next up, Gilded Grafs, one of five, Josh Giddy. Rookie auto for the Thunder. Giddy up? I guess we gotta, I guess we gotta, it's been a minute. Giddy up, baby. That's awesome. Yeah, I know Carmelo's got autos in this, too. That's sweet, dude. Josh Giddy, baby, let's go. And then to end it, three color, two color, one of five, RPA, Kade Cunningham. Heck yeah, dude. Gorgeous, Kade. Wow. Wow, wow, wow. Unreal, dude. Unreal. Those patches are insane. That's game used, Kade as well. Game used, Kade. Heck yeah, dude. All right, again, I'll show you guys up top, empty. We'll take the bottom part out just to be sure as well. It is empty. And then empty. All right, let's do this random. You spell Kade with a K. Did I? This guy. Whoops. This guy, I gotta fix it. All right guys, we've got our 10 hits copied over into the random.org window now. We're gonna roll the dice. Good luck, everybody. Just three times. One, two, three. Brendan G down to Jordan at Q. Three times on your hits. One, two, three. Garnet down to CP three, three times there. And three times there. Brendan G, Kevin Garnet, Silver Bar Auto. 10 of 10. C-Fan with the Steph Curry, Gold Bar, one of five. Congrats, buddy. Jeff M, James Harden, Auto, one of 10. Hilton with the John Morant, Patch Auto, one of five. Jorge R, Bob, Pettit, Silver Bar, Auto, nine of 10. Hilton T, Josh Giddy, one of five. Jorge with the Cade Cunningham, RPA, one of five. Tom S with the Karim Abdul-Jabbar, Silver Bar, Auto, four of 10. Jorge R, Anthony Davis, Patch Auto, two of five. And Jordan Q with the Chris Paul, Patch Auto, four of 10. Thank you guys again for getting this filled up. I'm gonna get this copied over to the website and onto YouTube and we'll get onto Star Wars.


January 1944 I'd boot camp at Camp Lejeune and then you had your choice and reach I wanted to go to transport so then you went to school and after about four weeks of that it was transferred to Santa San Diego Marine Corps base. I'd never seen a Marine by the way, not a Red Volume. I thought well if they don't have a Marine Corps, that's for me. I never regretted it. That sacrifice was very important to me and I met people that are life-loving friends. U.S. Marine Corps, come down to the Marine Corps. Happy birthday, Marine. I couldn't believe it. This is special day birthday of course. This is good Friday. Yeah.  Thank you, thank you, thank all of you.


Welcome to Continuous Performance Benchmarking for Vitesse Maintainer Talk. My name is Alkun and I'll be your host today. And today's agenda I'll be doing an introduction to Vitesse and Manan will do a benchmarking as a product information and Florent will give you benchmarking on internals from the Vitesse project. A little bit about Vitesse is that Vitesse database clustering system for the horizontal scaling of MySQL. It is a known CMCF graduate project and open source licensed and we have contributors around the world. More on Vitesse is a single illusion of a database actually dedicated connection that can work on MySQL 5.7 or 80 and it is compatible with the frameworks like common frameworks and ORMs and it is known to be scalable also provides high availability and durability guarantees of the database. Very highly adopted and serves millions of QPS around the world you might be using day to day and mostly a very large implementations are there to be known also other implementations are in the market right now. So let's go into the concepts of Vitesse and Vitesse because it's a sharded system has a key space concept for logical database and provides a shard as a logical database and it comes with a concept called sell for a failure domain. Vitesse architecture actually serves with a primary and replicas it's used as the MySQL primary and replica concept and mainly comes with a VTTablet and a VTTablet is a sidecar to a MySQL D process it's usually sits next to the MySQL D and drives the Vitesse process against the MySQL. Here's an example of multiple clusters and you can have be running under Vitesse for the large implementations so we need a concept like Vitesse. VtGate is a stateless proxy, speaks to MySQL protocol and impersonates monolithic MySQL server. This allows application to speak to VTTablets from the Vitesse standpoint. If you have even a larger deployment you will actually deploy multiple VtGates to access these clusters and in this way you will have an access that is also scalable from the proxy standpoint and connection standpoint. How does the application access the sharded system? In this example you will see VtGate routes the traffic to the sharded clusters in our example we have two shards in commerce database and one internal shard on an unsharded space and this way you can actually have an access to the sharded environment with the access from the application. In our example over here we have a commerce database and then we want to search by the orders in customer ID and then application sends the query as always it does to regular database connection to in this case the MySQL but VtGate understands and knows where the customer ID parts will fall in and it will route the traffic to those and this way you can actually scale indefinitely. Also another component from the Vitesse architecture important component in the Vitesse architecture is the topo. Topo is a state of where the MySQL and database components are as well as the Vitesse components sits. So there are multiple implementations of topo that you can choose. Favorite ones are HCD, Zookeeper and Kubernetes and the known console is also topo manager that was used in the past. VTCDLD is another component of Vitesse. It's a control daemon and it runs the ad hoc operations that serves as an API server and then interacts with the topo. So they all come together in this architecture summary so you have an application server that connects to the load balancer. Load balancer actually speaks to VtGate which interacts with VtCTLD and topo server and serves the incoming queries from the sharded clusters behind the scenes. Vitesse also have very new and upcoming features. As of today we have 12.0 release in GA and we support online DDL operations without locking and Vitesse comes with an experimental version of the Gen4 planner which is very new and highly improved and we do continuous benchmarking which is the subject of the talk today and we have ongoing performance improvements and also tools like VtAdmin and are coming up in the next releases. So we will continue with the next section and thank you very much. Thank you, Algin. I am Manil Gupta and I will be clicking Q through the next part of our presentation. I am going to introduce RE Fasted which is the nightly benchmarking tool for Vitesse and then eventually I am going to show you the website of RE Fasted which I have linked over here as well and the results that it has produced. I have also linked the code over here. Please go through it after the presentation. So let's dive in. First things first, what is benchmarking? Benchmarking is a way to measure and compare the performance of one software version against another. So when we are building Vitesse, we have the main branch. We have different releases of Vitesse, release 12, release 11. We have different patch releases. We have PRs which are changing some part of the code base and we want to measure the performance of each of these and compare that which one is better. So this is what enables us as developers to know that if a code change that we have done is it improving the performance of some part of the code or not. This is the benchmarking tool that we have RE Fasted yet which is what we use for building high performance for tests. Largely benchmarks can be broken into two parts, microbenchmarks and microbenchmarks. Let's go over both of these. So microbenchmarks, like the name suggests, microbenchmarks, they measure a small part of the code base. Which really, this is done by isolating a single function call and doing it repeatedly. What we mean is, let's say that we have a benchmark and we run it for two seconds. Within those two seconds, we keep calling the same function again and again with the same parameter values and the number of times that the function is able to run within those two seconds is how fast the function is able to run. Now, we have a wide array of microbenchmarks in Vitesse which tests the planner, the parser, RPC calls and these are the things that are on the top of my head, among others. So we have a very extensive code coverage in microbenchmarks. If you want to take a look, you can go over the Vitesse code base and within the testing files of Go, local unit testing files of Go, you'll find benchmark tests which is what microbenchmarks are. The microbenchmarks measure the performance of a code base as a whole. So when a user uses Vitesse, they're not going to be able to see what is the amount of time that the parser took or what was the amount of time that the query was planned for or what was the execution time. What they generally see is just the latency of the result set that they get back when they query the database. They measure via microbenchmarks. So they measure the performance of the entirety of the entire code base. And they run in an environment which is very similar to what the end user's experience. We're not going to go over how we bring up that environment or how this is all done because that is something that Florent will cover in the next part of the code base when he types into how RFAST it is built and the way that we bring up the infrastructure and run the micro and microbenchmarks. The microbenchmarks that we run, we have two categories for them, OLTP and TPCC. Florent will cover that later. Now the next question that arises is what all do we benchmark? We have several cron jobs which are configured to run daily and these cron jobs keep tabs of the main branch, the release branches, the tags and the PRs which have the benchmark related. So every day, if there is any PR which has been merged into the main branch of a test, we check that the commit hash has changed for the main branch and we run the benchmarks for it, both micro and microbenchmarks. See what we do for release branches, different tags and we also do that for all the PRs which have the benchmark medieval. So even before you ever you merge a PR you want to know the performance impact that it is going to have both on the unit that you're trying to change and also on the whole code base of a test. This is what makes the user experience, the developer experience a lot better. Taking that a step further, we also have Slack integration. So, RVFAST yet once it has run the microbenchmarks and the microbenchmarks and stored those results, we use those results and compare them against each other. For example, we'll take the main branch and we compare against the results of the previous day run of the main branch. Same we'll do it for the main branch against the release and we'll do it for PRs also against the base of the head of the PR. Once we have these comparisons, if there is any regression, then we send a Slack notification on the bot benchmarking testing channel and then the developers can look at this, they can check out what the regression was, which benchmark the regression came and they can then figure out what was the change that made the regression, that caused the regression. I'm going to diverge here a little bit and talk about the Gen4 planner. Gen4 is a new VTGate planner, which is meant to succeed V3. So this is something that we've been working on with test lately and currently it is an experimental feature, but eventually we're going to make it the default. And Gen4 is a much more advanced planner than V3. It provides a larger query support. A bunch of correlated subquery will start working with Gen4. There are newer primitives, semi-join has been introduced and work for supporting filtering on the VTGate level is also ongoing. So eventually Gen4 is going to become much more powerful than what V3 is. Not only that, it also creates optimized plans, which are much faster while execution. But how can we say for certainty that the optimized plans are faster or the plans that Gen4 produces are actually better? How do we gain confidence that Gen4 is indeed a success of a V3 and we can replace the default on the VTAS website? The way that we do that is via the benchmarks. So we run the benchmarks, the macro benchmarks for both V3 and Gen4 and then we compare the results. We look at the queries we have served per second, the amount of memory usage that we have on VTablet, the amount of CPU usage that we have on VTGates and all these metrics and then we take a look at does Gen4 actually improve the latency that the user is going to see. Enough talk. We've talked about what benchmarks are, the different type of benchmarks, how Gen4 and Gen4 is and how we're supposed to use benchmarks for Gen4. I think it's time that we look at the website. Are we fast yet? And we ought to talk about what the users are going to gain from it. We've already diverged into what the developers have done and VR has done against that and it improves the developer experience. It's time to take a look at what the end users can gain from RbFast yet. So this is the main homepage for RbFast yet and here we have a brief overview of what RbFast yet kind of like I gave you and here we're also looking at the server that we're using actually to run the macro benchmarks. It's an Equinix M2 Xlarge X86 server and for the more enthusiasts of you guys you can actually take a look at the server specifications and see what hardware we're actually using to run our macro benchmarks and micro benchmarks. More on this later. The next page that I'm going to show you is the current page of this page. So we talked about the little while ago wherein we track the main branch and we run the macro and micro benchmarks for it every day if the git has changes and those results for the previous month are actually shown here for the past 30 days. So this tracks the OLTP runs the transactions per second, the QPS, the all of this are shown over here over the past month and the same we do for TPCC as well. So the next page that I'm going to show you is the search page over here you can actually give a specific github hash that you're looking for. So you can take a github hash from github and look for the results for that specific hash. If you have those results for it then you can display them over here and you can look at the macro benchmark results OLTP runs. We also tried the product CPU time individually for what the CPU time for the tablet was, the amount of bytes it allocated on VT gate, the amount of bytes it allocated on VT tablet all of this information is available over here for both micro and macro benchmarks of TPCC OLTP and we also have bunch of micro benchmarks over here which show their runs, the number of iterations, all the information that you need. Now I can even go over in one of these micro benchmarks and it will show the runs of the past five days of past few iterations of that micro benchmark. So these are the past iterations of the past 10 or so runs for this micro benchmark that we're looking at. It will also have the start time and exactly at what time these were benchmark, the github references for them, so you can take a look at this as well. This page specifically catering to one github hash, what if you wanted to compare two github hashes together and that's what this page does. So the compare page of this website you can actually go over and give two github hashes and you will have their comparisons and micro benchmarks, along with some nice graphs which will show you graphically of what the differences are. So this is actually a much older commit and AA79 is actually a later commit. So this later commit, you'll see that actually there has been some performance improvement we'll talk about that a little later as well. The amount of CPU time that we were using actually decreased and so this is where you can see the comparison between two commit hashes. Along with this is the comparison between the micro benchmark as well. So like all the information that you would need for comparing two hashes is over here. All of this is all great and such, but there's actually something which is even more useful. So on the micro benchmark page, a dedicated micro benchmark page, here you can compare the results for different tags of the test. For example that you're a company who's upgrading from Huron version 10 of the test or release 10 of the test and you're actually looking to upgrade to release 11 and you want to look at what all differences or what all performance improve you can expect when you go from release 10 to release 11. So over here and drop-down boxes you can just select the version that you're on and select the version that you want to get to or what you want to compare it against and just go over here and currently showing results for the comparison between 10 and version 11 and here you'll see the micro benchmark or micro benchmark results for all of them. So this interface is actually very similar that we have for the macro benchmarks as well where you have the results for two tags that you can compare. You don't specifically need to search for the GitHub hash and use those you can directly compare different tags. Here we're comparing release 10 versus release 11 and if you look here there is actually a 5% increase between the QPS that release 11 was able to search against release 10 for the OLTP workload. It is because of this micro benchmarking tool that we have that we can say with confidence that actually if the users who have a workload which is very similar to OLTP if they move from release 10 to release 11 of a test they can expect a performance improve of 5.3%. Similarly if someone has a workload which is closer to TPCC they can actually expect the improvement of 3.4%. So the confidence that we say that there has actually been a performance improvement from release 10 to release 11 comes from these numbers that we are seeing over here. Finally we have created one special tab, the one that I talked about that Gen4 is a new planet. We also need to benchmark what that new planet is doing. So we have a specific page for it which is called B3 versus Gen4 and this page shows the results of the comparisons between B3 and Gen4. Here as well you can select which tag you want to check the comparison for. You want to check it on some other release. For example let's say that you are on release 12 and you want to look at what was the comparison between B3 and Gen4 for release 12. You can take a look at that as well. So here you can see that Gen4 is slightly better than B3 but most of its capability as of now in Gen4 is actually coming from the fact that it can support a lot more queries than B3. So here you can compare the results. If you go over to if you click here to see actually see the query plans this is kind of a beta feature. It's not entirely developed kind of work in development. But over here we actually have all the queries and look at the queries that we are running in the OLTP workload. These are generally point queries and you can look at the plan that we get and that B3 and Gen4 are built for it. So this is the query that you got. Select C. It's a normalized query so all input arguments have been converted to bind variables and then you can actually look at what VTGate is going to do with it. You can look at it to a single chart because it's a select equal unique query and this is also a place where you can look at the plans that they're going to that VTGate is going to create. So you can have different plans for Gen4 and V3 as well which is where the optimizations will come into play. This is the PPCC page for the same thing. So you can look at this and you'll see that the plans are different for V3 and Gen4. Gen4 is there on the website but this allows the users to actually know beforehand, even before they start testing their own local environment, what differences they can expect, what performance improvement they can expect, whether the VTGate will actually start using more CPU time, will it start allocating more bytes, is the Gen4 planner actually worth it, will it give you more, will it give you better performance, all of that can be answered and with high confidence because of the benchmark tool that we have in RBFast yet. One more thing I would like to add, Gen4 right now is an active development and we're looking for ways to improve its performance. So if any of you guys are running VTGate in production, we would love if you would be able to share your production queries with us and we then optimize Gen4 to actually work as best as possible, like reduce as optimal plans as possible for your specific workload. If any of you guys are willing to take us up on our offer, please find us in the VTGate Slack. This is all from my side and Flora will now take over and talk about the benchmarking built-in from the ground up. Thank you very much. Hello everyone, my name is Florent and today I'll be talking to you about the internals of a benchmarking system. So let's get started first with the implementation that we use for RBFast yet. So we have two prominent server, the first one is the website. Its goal is to serve the web UI that Manan showed you earlier and its secondary goal is to handle and manage the whole execution of benchmark. When I say the whole execution of benchmark, I mean the current schedules and just the current schedules. Secondly, we have the matrix server. This one is scrapping the benchmark results and storing the data. Another key point of our implementation is the fact that we spawn the new server for each benchmark that we have. This allows us to have more reliable results and make sure that the benchmark is not influenced by anything else when it runs. Each new server is based on the Equinix Metal service. CNCF has a partnership with Equinix Metal for projects like VTES. And final key point of our implementation, we store all the benchmark results and the metadata in MySQL. In fact, it's not directly MySQL but we store it in a VTES cluster. Let's talk about the execution pipeline. It's a very important part of the implementation and RFSJet. The goal of it is to manage the whole execution workflow from start to finish. So we'll get to what the whole execution workflow means in a bit. The pipeline is configurable through a YAML5 meaning that we can have tons of different execution we want to have. For example, microbenchmark and macrobenchmark like Manon just explained before and those two different types of benchmark will have different YAML files. So the whole execution workflow what is it? What are the responsibilities? First, the creation and configuration of a new server. This is the very basic step. We want to make sure that we create a server we configure it based on a very detailed and explicit configuration. Another point is another responsibility is the setup of a VTES cluster. Depending on the type of benchmark we might or might not want to have a VTES cluster. So this is part of the execution pipeline responsibilities. Another one is the actual execution of a benchmark. Running the benchmark. Then we need to store the results and the metrics and finally we upload and publish those results. And there's kind of like intermediate steps between those two responsibilities which is aggregating the results, compiling them and checking if there's any regression amount. This is the whole part like everything is part of the execution pipeline. This is the architecture of our execution pipeline. We have seven steps. I'm going to go through them quickly. So the first one like I said it's the configuration we feed the execution pipeline with a configuration and then everything gets created like magic. So we feed the configuration and then second step is the provision. We create the execution server using Terraform. So this is just to provision and configure the very basic steps, very basic things about the server. And this is provisioning on Equinix Metal like I just said. First step is the configuration of the server. When I say configuration I mean the installation of packets, installation of tools that we need setting up the network, setting up the disk, anything. This is done using Ansible. So for those that don't know Ansible it's basically a configuration tooling that allows us to automate and easily do a bunch of configuration things on servers. Fourth step is the start of a benchmark. So we actually want to start the benchmark, start recording the results. Then we have a benchmark running which is the red square here, the red rectangle. So the benchmark can be either a macro benchmark or micro benchmark. Fifth step is actually storing the results. So this can be done either at the end of the benchmark or during the benchmark like throughout the whole execution process of a benchmark. We store the results in different locations. The most basic one is my SQL. This is going to be very basic information for example the type of benchmark I don't know the idea of the benchmark, everything like that. Like the SHA for example, the Kit SHA. Then we store information also on Prometheus. The information that we store on Prometheus is obviously time series data and this is all the metrics for example the CPU usage that we had for a specific benchmark at a specific time. We store the metrics that we have in Prometheus sorry the data that we have there we store it in an influxdb server later on. This is done to keep data a bit longer keep as little as possible inside Prometheus then store for a longer term inside influxdb and that's it. Sixth step is actually destroying, tearing down the execution server. Again this is done using Terraform. Seventh step is it's actually publishing the results. Like I said before right before publishing the results we have to compile them, aggregating them making sure there's a regression or not we have to calculate this depending on all those outcomes we might or might not want to notify people on Slack the web UI will show up differently based on those outputs etc. So this is the architecture I'm going to move on to how we do a micro benchmark a micro benchmark. So this is out of the two types of benchmark that we have this is the simplest one. Why? Because Vitesse got it in golden and Go has an amazing testing framework which includes a micro benchmark tool so when you write code in Go you can when you write test in Go you can either have an actual unit test or you can have a benchmark test and we have a bunch of those inside the code of the test. The goal of the micro benchmark is just to execute all of those benchmark tests. We get an output every time that we execute one we parse the output we keep the relevant information and then we aggregate all the information from all the different micro benchmark and finally we store them. So like Manan mentioned earlier we have a multitude of relevant or important information inside a micro benchmark for example the time it takes for a function to get executed the memory usage of a function and so on. So this is all part of the micro benchmark and we will go back to them during the demo micro benchmarks a second type of benchmarks that type has a longer execution time why because it's well first of all we have to install a lot more packages for example MySQL, etc we have to install more stuff we have to set up more stuff for example the VTest cluster needs to be created it has to be up and running so longer execution time that's it and then second point we use sysbench to actually do the benchmark of the VTest cluster so sysbench is a widely known tool which I'll get back to it in a coming slide another important part of a micro benchmark is actually distinguishing the different types of benchmark that means that we're going to get a lot of different results for all of the micro benchmarks and we have to make sure that this result is from this type of macro benchmark or this other type of macro benchmark we can have tons of different types and all of the types is going to measure a specific benchmark a specific thing about VTest and a final big part of a macro benchmark is the aggregation and storing of metrics so measuring the result of a macro benchmark is easily done using sysbench but it's usually not enough we have to get more information for example the CPU usage of the host why we ran the benchmark this is very important we want to know in the 20 minutes that the benchmark ran how long the CPU was used for this is important to compare across different versions like I said the test cluster for the macro benchmarks and the topology that we use for it is 2 VT gates, 6 tablets and the topology server that we have is ETCD this is the configuration that we use so far and we're aiming to change it we want to make some tests discover which topology might might not be the best for the benchmarks which one is giving us more reliable and more accurate result sysbench so I talked about it like I said widely known tool it's also highly configurable it's based in Lua and also in C, the C language that means that you can add different workload so different type of benchmarks using Lua files it has three steps at least we used three steps inside our fast yet those three steps that we use are the preparation this step is basically going to create the database create the tables insert the data into them etc the second step that we have is the warm up so this is going to do like an actual benchmark but the results of it won't count the goal is just to warm up the system get the cache flowing get the network flowing everything ready and everything looking almost like like an actual end-to-end situation and final step is the execution it's also called as the run step inside sysbench so the execution is where we actually send a lot of queries to vtests and where we measure the performance we have two custom forks of sysbench one of which is the first link here the plan scale slash sysbench this fork includes a tpch benchmark and it includes a different way of formatting the results sysbench usually format the results using text just plain text and what we do instead is just display them using json and second fork is just a bunch of Lua files for tpch benchmark tpch and tpch benchmarks are two big benchmarks using the database word they're part of the tpch family if you know a bit performance of databases you might know them here is a sample of sysbench results we can see it's pretty simple pretty straightforward we just have the time that the benchmark run in that case it's 10 seconds the number of threads that we used the number of transaction per second tps and then we have a block with qps query per seconds so we have the total number of threads the number of writes and then other which is for example begin commit etc we also have the latency and the number of errors per second that we had and same thing for reconnects the number of reconnection that we had but like we can see it's not enough for us to tell if there is a regression between version a and version b of the test it's already good a lot of data but it's not enough so we've added support for metrics so inside each execution server we start a primitive server which will scrape data from the different components of the test and the host different components being the vtgate the vttablets vtctld etc so some of the interesting metrics that we want to look at are the cpu memory usage also the golang metrics for example go routines etc and finally the disk IO the network those are all the different types of metrics that we want to keep and that might be interesting if ever we see a regression so an important part of the metrics is obviously getting the metrics producing the metrics and then we have to scrape them and store them so to export the metrics from a benchmark server we will like we use from ethios so to gather all the metrics this is inside the execution server and then because the execution server is going to eventually get killed get destroyed at the end of the benchmark we want to make sure that the metrics we collected stays for a long time so we can use them we can analyze them in the long run and so for that we use the metrics server which is just to scrape and store the metrics like I said before metrics are going to be duplicated to an influxdv server longevity and finally metrics can be visualized on the web using graphana so we have a couple of dashboards that allows us to say show me for example I don't like the network usage for this benchmark at that time I'm not going to move on to a demo where I'm going to present the execution of a micro and micro and micro benchmark and show you a bit about the graphana UI and the metrics alright so here we can see a configuration file this is a YAML file and we're going to use this file to feed the execution pipeline and configure the whole benchmark so this benchmark here is an OLTP benchmark so it is a macro benchmark and as you can see we have to define for example all the equidix configurations the token project that we want and the instance type that we want to use then we have to feed for example the commit that we want to benchmark the type the name of the benchmark and then we have the database where we're going to store all the results the different time series databases that we use this one is Prometheus this one is influxdv and then down we have all the macro benchmark configuration so all this part here is what we're going to give to sysbench to configure it so for example here we want to have 50 tables with a certain size we want to have we want to use 100 threads and then we configure the different steps of sysbench so like I said before we have the preparer step, the warmup step and then the run step all of which are configured differently for example we have a different time here it's 30 seconds, 10 seconds and then 900 seconds and then here we have an Ansible file that defines most of the variables and configuration that we want to configure the server that we create so let's focus on this part here which are all the hosts children and if we look at here we have VTGate and here we're going to define all the different VTGates that we want, how many VTGates, the number like the number of each port and etc so here we can see that we have 6 gateways so 6 different VTGates and here we have the same thing for the tablets and we can see that we want to define 2 different VT tablets so now I'm going to use that configuration file to actually start a benchmark so I'm just going to use the command line here manually and feed the configuration file that we have usually all of this happens within the crons and we don't have to start the benchmark manually using the CLI but just for the purpose of this demo I'm going to start it manually so I just dive this command then I press enter and what happens here is that it's going to start creating the server it's going to use Terraform to build and provision the infrastructure on Equinix Metal and once this is ready Ansible is going to start configuring the benchmark itself and as we can see now Ansible is configuring the host so the server where we're going to run the benchmark at the moment it's downloading all the dependencies to run VTES specifically at the moment it's downloading MySQL then it's going to build the actual VTES binaries and then it's going to create and start the VTES server with the topology that we saw in the Ansible file and once this is done it's going to start the actual benchmark using this benchmark alright as we can see here the benchmark has finished it lasted 50 minutes and now we'll be able to check out the results so I'm logging into MySQL and then I'm going to run a specific query to get the result for my benchmark I can start by the query to get the latest execution the latest benchmark we can see the unique ID here which is the one that we're going to use to retrieve the different results and here we can see the transaction per second the latency, the number of errors the time it took for the benchmark the number of QPS, the number of reads per second and writes so all of these results are displayed in the website that Madam showed you and now I'm going to show you on Grafana what it looks like so on Grafana we can visualize the different metrics that we collected during the benchmark as we can see here we have all the host metrics so the CPU usage, memory, network etc we can also take a look at the different queries like the queries in MySQL or Vtest related metrics for example QPS the number of the success rate the time it takes for each queries and we can also see a more general overview of the Vtest cluster that we had for the benchmark that's it for me thank you very much


The life of Dr. Martin Luther King Jr. is a very complex one, but one that I urge all of us to investigate. Of course, he was born and raised in Atlanta, Georgia. He is a graduate of an HBCU Morehouse College. He goes on to continue his education in Chester, Pennsylvania at a school there, leading on to get his doctorate degree and then moving into an activist and Baptist preacher. Of course, you can't mention Brother King without mentioning Brother Malcolm and the irony of how their lives collided ideologically in the beginning and then how they began to merge towards the end. That's what the country truly feared when the merging of the ideology of Malcolm X and Dr. King came together.


of the United States. Thank you all very much and thank you Governor Alexander, Senator Baker, thank you all. I must say that I stand here with mixed emotions. I filled with admiration and respect for the things that you were telling me about your state, but at the same time when you opened with all of those words about the prevalence of PhDs here. I, that always touches the nerve with me because when I got my bachelor's degree in college some 25 years later my alma mater awarded me an honorary degree and compounded a sense of guilt I had nursed for 25 years because I always figured the first one was honorary. But it is wonderful to be back in Nashville, world capital of bluegrass and country music and the proud home of man that we'll soon honor with a giant happy birthday Mr. Roy Acuff. Whenever I visit your volunteer state I get a real tug knowing that I'm standing on this hallowed ground of heroes. The spirit of Tennessee was Davy Crockett daring to push back frontiers and open up the West. They were different kind of frontier then. Andrew Jackson knowing one man with courage makes a majority, blazing a revolution that put power back in the hands of the people. Today that spirit is alive in an economic expansion that's creating hope and bringing Tennessee's unemployment down. So I salute you and I salute your fine governor. For people seeking the newest frontiers my advice is come to the Oak Ridge Knoxville High Tech Corridor and you will see America at its best. Believe me when it comes to encouraging growth, expanding opportunities and charting a course for excellence in education. Lamar Alexander and the people of Tennessee are giving a lesson in leadership to all America. You are creating the greatest wealth we could wish for, wealth of knowledge. It fuels a mighty tide of progress and carries hope for an optimistic future to people here and everywhere. In the days of Bunker Hill to the Conestoga wagon, the cotton gin, smokestack industries, the Manhattan Project and now the world of advanced and high technology, the American Revolution has been carried forward in the brave dream of pioneers, people with the faith courage and vision to invent the future in the marketplace of tomorrow. Ours has never been a revolution poisoned by hatred and the will to conquer but one rising from the deepest yearnings of the human spirit to challenge the limits of knowledge and to use the power of discovery for our most noble and generous impulses for decency, progress and yes for peace. We see it in that high tech corridor where your industries have become America's new trailblazers, new energy related systems to make energy more affordable, radiation detectors to monitor radiation and pollutants, disease free plant varieties that can greatly expand our nursery stock in Woodlands, vital research against cancer and medical innovations like CAT scanners to detect diseases of the brain and other vital organs. You know I can't help but wonder if a lot of the problems that are plaguing this nation wouldn't disappear if we could just borrow the people and companies in this corridor and put them inside the Beltway in Washington DC. There's nothing the United States of America can't do. If those doubting Thomas's would just stand out of the way and get out of our way. Together you are small and large businesses throughout Tennessee are taking us another step into the future. New markets, new jobs, valuable knowledge to help us compete for leadership in the world area of technological development. I don't think you need convincing that America has no mission of mediocrity. We haven't come all this way just to wind up a second best nation. Leave that tired vision for the faint-hearted souls. We're not in this historic competition just to survive or just to do well. America is in this to win. The crown we're striving for is not a crown of pride or glory. Ours is a battle for human progress or excellence at every level of society. The sons and daughters of Tennessee can meet this challenge. Together we can blaze this trail and win this battle. And if we're to honor the tradition of Crockett and Jackson, America must win it and I believe we will win it. I know in Europe when you told me about your experience there, Amar, at the recent summit conference that I attended, I know that I had been advertised in the media as going to face a real grilling and all kinds of criticism from my fellow leaders of the industrial nations that I'd be meeting with didn't happen. I had the same experience you did. They were all waiting there to find out how do we do it. Well, the word again is a single word really freedom. Look how far we've already come. In a single generation we have freed ourselves from the bonds of earth. We've set our footprints on the surface of the moon, used our instruments to explore space, the sun and our sister planets. Satellites enable us to communicate with each other at a moment's notice virtually anywhere in the globe. We can anticipate tomorrow's weather and prepare for it. Thousands of practical applications of space and aeronautical technology are touching our lives from lifesaving vests for firemen to aerial scanning techniques to locate and identify everything from schools of fish to mineral deposits to healthy timberland. New materials from natural resources like carbon and silicon are replacing expensive manufactured products and engineers are using them to reduce the weight of modern cars with consumers getting the benefits of more miles per gallon. Computers using microchips are redefining our world as they become common in the workplace. Community also and in the classroom. Many children have access to more computer power than most professional scientists and engineers had in their laboratories at the beginning of the space age. In medicine we're seeing the vision of technology with a human face. The pioneer field of computer-controlled walking has given hope to thousands of paralyzed Americans that someday they may walk again. Doctors can now use sound waves to monitor babies inside the womb, ensuring safer pregnancy and delivery for the mother and better health for the newborn. We've learned how to send electrical impulses to targeted nerve centers or particular areas of the brain to provide relief from pain. And we've developed a system that can administer medication automatically within the body. We could put a price tag in the value of these human benefits but who would want to do that? Who can even imagine the wonders that lie ahead if we just have the faith and the courage to push on? While I was growing up the model A was just replacing the model T. And now a child may grow up to see space travel become commonplace. The secret weapon of the technological revolution is productivity, power, awesome power. Each breakthrough in knowledge lifts us to a new higher plateau paving the way for great gains in productivity. Agricultural economies barely advance. Industrial economies move forward in inches and feet and an advanced technological economy can leap forward. Working in the zero gravity of space we can manufacture in one month's time life-saving medicines that would take 30 years to manufacture on earth. And we can manufacture crystal of exceptional purity that may enable us to produce supercomputers and make even greater breakthroughs in productivity. But some economists and politicians are afraid of growth, afraid it will reignite inflation. Well, I'm afraid they may suffer from time warp. They seem to be stuck in one period while all of us are entering another. They seem to see our economy only as an old and quivering thing in the industrial age rather than a strapping young adolescent beginning to flex its muscles in the technological age. We don't need economic doctors telling us we must ration our strength. We need economic doctors who will help America build her strength. And we don't need, and we don't need more politicians insisting we have deficits because you're not taxed enough. Those deficits ballooned from an economy that didn't grow enough and from 50 years of a government that's been spending too much.  And every time they're knee jerks, we get kicked. And that's when growth suffers most. I'm asking for your strongest support for two long overdue reforms supported by the American people, but resisted by the democratic leadership, a constitutional amendment mandating that government spend no more than government takes in and a line item veto, giving a president the power to veto individual items in appropriation bills. Your governor has it. I had it when I was a governor of California. And I remember with great joy the kick I got out of vetoing more than 900 times in those eight years and never having one of those vetoes overridden. So remember, you don't need, with regard to some in Washington, to make them see the light. Just make them feel the heat. We came to Washington, determined to spark new growth in the economy and slow the growth of government. With your support and Senator Bakers, we've had 21 straight months of economic growth. That is the best expansion since World War II. Government spending growth has been cut by more than half. Inflation at 4.1% is down by two thirds. Interest rates are down. The deficit is coming down. And yes, continued growth will keep it coming down. So pardon me, but somebody back there must be doing something right. These aren't my victories. They're your victories, America's victories. And that's why I want to offer a little friendly advice to our critics. Rather than saying things that always seem to run America down, how about giving the American people a pat on the back? Government must encourage technological growth by supporting research and development, particularly in our universities to train tomorrow's leaders. Between 1981 and 1985, federal investment and basic research will have increased almost 30% in real terms. We'll carry forward that strong commitment, continue to support tax credits for industrial research and development expenses, and strive to lessen concerns that cooperative research and development between companies may violate antitrust statutes. Let's remember that technology is born from capital and capital requires incentives for risk taking and investment. We've seen dramatic proof of this relationship. The 1978 capital gains reduction, followed by our 25% reduction in tax rates and the shortening of depreciation schedules for business investment have given an enormous shot in the arm to risk taking and entrepreneurship in America. In 1977, the venture capital industry was almost dead with commitments of only $39 million. By 1983, the new incentives had increased those commitments to four and a half billion dollars, more than 115 times as much. New business incorporation set a record last year. We'll probably do so again this year. The rate of business investment is the strongest in 40 years. Productivity is rising. America has created 6 million new jobs in the last 20 months. And I know I stole it from Al Jolson, but you ain't seen nothing yet. If the Democratic candidate had his way, the top rate on capital gains would not have been cut from 49% to 20%. It would have been spiked up to 70%. His administration fought the historic reduction in capital gains and demanded the higher rate, which they said would bring in more revenue. Well, we're getting more revenue today at the new lower rate than we were getting before. And that's the secret of good tax policy. The choice today is just as crucial. Will we heed their call to raise tax rates, penalizing risk taking, investment, and increasing the taxing burden on working families, farmers, and small businesses and corporations? The same anti-growth pro-inflation policy that brought our economy to its knees by 1980? Or will America go forward and challenge the limits of growth with an historic simplification of the tax system, making it fairer, simpler, and lowering everybody's income tax rates so we can have more jobs, growth, and opportunity for all the people of America? You know, Roy Acuff composed a song called We Live in Two Different Worlds, and the choice in 1984 is between two very different worlds. They see America wringing her hands. We see America raising her hands. They see America divided by envy, each of us challenging our neighbor's success. We see in America inspired by opportunity, each of us challenging the best in ourselves. We believe in knowing when opportunity knocks. They seem determined to knock opportunity. Well, I believe the American people are saying, don't hold us back. Give us a chance and watch what we do. America's always been greatest when we dared to be great. And you can feel a new spirit in this land to excel again. The new patriotism is a mighty force for good, drawing us together, all of us from every race, religion, and ethnic background, giving us courage and confidence to surge toward great new challenges in the future. I believe America can and will meet our number one challenge in space to develop a permanently manned space station and to do it within the decade. We can conduct new research, explore distant planets, unlock the vast potential for commercial ventures, and do it all for the sake of a more peaceful, prosperous world. As American technology transforms the great black night of space into a bright new world of opportunities, we can use our knowledge to create a new American Opportunity Society here at home. We can ensure that every person has not only an equal chance, but a much greater chance to pursue the American dream. We can build an America that offers productive, secured job opportunities for all our fellow citizens, from assembly line workers in our older industries to research scientists in new industries such as biotechnology, robotics, and information processing. If we strengthen incentives, invest fully in the new technologies, and reach for great breakthroughs in productivity, then yes, we can and will out-produce, out-compete and out-sell anybody anywhere in the world. We can ensure adequate supplies of affordable energy because America must never again be held hostage by a foreign cartel. We can apply new agricultural technologies to preserve our soil and environment and dramatically enhance crop yields for the benefit of millions who look to us for help and hope. Our nation is more than 200 years old, but somehow America has never been younger, never been more filled with hope. Everything is before us, and if we keep America free, everything will be possible. The land that President Lincoln called the last best hope of man on earth will rise to meet her greatest days and the eagle will soar. Well, I thank you today for your warm welcome and thank you for what you did for Tennessee and for America and what you're doing for America and your state every day of the year. Thank you again, and God bless you all.