Live from San Francisco, it's theCUBE, covering Spark Summit 2017, brought to you by Databricks. Welcome to theCUBE at Spark Summit here in San Francisco at Moscone Center West, and we're going to be competing with all the excitement happening behind us. They're going to be going off with raffles, I don't know what all, but we're just going to talk above them, right? We are next guest on the show here, it's Clark Patterson from Confluent. You're the senior director of product marketing, is that correct? You got it. Pleasure to be here. Pleasure to have you on the show. It's my first time here. First time on theCUBE? I feel like one of those radio people. First time caller here I am. Yep, first time on theCUBE. Well, a long time listener too, I hope. I am. And so have you announced anything new that you want to talk about from Confluent? Yeah, I mean, not particularly at this show per se, but most recently we've done a lot of stuff to enable customers to adopt Confluent in the cloud. So we came out with a Confluent cloud offer which is a managed service of our Confluent platform a couple of weeks ago at our event around Kafka. So we're really excited about that. It really fits that need where cloud first or operations starved organizations are really wanting to do things with streaming platforms based on Kafka, but they just don't have the means to make it happen. And so we're now standing this up as a managed service and it allows them to get their hands on this great set of capabilities with us as the backstop to do things with it. And you said Kafka's not just a publish and subscribe engine, right? Yeah, that's, I'm glad that you asked that. So that's one of the big misconceptions I think of Kafka. You know, it's made its way into a lot of organizations from the early use case of publish and subscribe for data, but over the last 12 to 18 months in particular, there's been a lot of interesting advancements. Two things in particular. One is the ability to connect which is called a connect API in Kafka. And it essentially simplifies how you integrate large amounts of producers and consumers of data as information flows through. So a modernization of ETL, if you will. The second thing is stream processing. So there's a Kafka Streams API that's built in now as well that allows you to do the lightweight transformations of data as it flows from point A to point B and you can publish out new topics if you need to manipulate things. And it expands the overall capabilities of what Kafka can do. Okay, I'm going to ask George here to dive in. And I was just going to ask you if I could dive in. So this is interesting. If we want to frame this in terms of what people understand from I don't want to say prehistoric errors, but earlier approaches to similar problems. So let's say in days gone by you had a ETL solution. So now let's put connect together with stream processing. And how does that change the whole architecture of integrating your systems? Yeah, I mean, I think the easiest way to think about this is if you think about some of the different market segments that have existed over the last 10 to 20 years. So data integration was all about, how do I get a lot of different systems to integrate a bunch of data and transform it in some manner and ship it off to some other place in my business. And it was really good at building these end-to-end workflows, moving big quantities of data, but it was generally kind of batch oriented. And so we've been fixated on how do we make this process faster. To some degree, in the other segment is application integration, which said, hey, when I want applications to talk to one another, it doesn't have the scale of information exchange, but it needs to happen a whole lot faster. So these real-time integration systems, ESBs and things like that came along and was able to serve that particular need. But as we move forward into this world that we're in now where there's just all sorts of information, companies want to become advanced centric, need to be able to get the best of both of those worlds. And this is really where Kafka's starting to sit, right? It's saying, hey, let's take massive amounts of data producers that need to connect to massive amounts of data consumers, be able to ship a super granular level of information, transform it as you need, and do that in real time so that everything can get served out very, very fast. But now that you've done, I mean, that's a wonderful and kind of pissy kind of way to distill it. But now that we have this new way of thinking of app integration, data integration, best of both worlds, that has sort of second-order consequences in terms of how we build applications and connect them. So what does that look like? What do applications look like in the old world and now what enables them to be sort of refactored? Or for new apps, how do you build them differently? Yeah, I mean, so we see a lot of people that are going into microservices-oriented architecture. So moving away from one big monolithic app that takes like this inordinate amount of effort to change in some capacity, and quite frankly, it happens very, very slow. And so they look to microservices to be able to split those up into very small functional components that they can iterate on a whole lot faster, decouple engineering teams that were not dependent on one another and just make things happen a whole lot quicker than we could before. But obviously, when you do that, you need something that can connect all those pieces. And Kafka's a great thing to sit in there as a way to exchange state across all these things. So that's a massive use case for us and for Kafka specifically in terms of what we're seeing people do. You said something in there at the end that I want to key off, which is to exchange state. So in the old world, we used a massive shared database to share state for a monolithic app, or sometimes between monolithic apps. So what's sort of the state of the art way that that's done now with microservices? If there's more than one, how does that work? Yeah, I mean, so this is kind of rooted in the way we do stream processing. So there's this concept of topics which effectively could align to individual microservices and you're able to kind of make sure that the most recent state of any particular one is stored in the central repository of Kafka. But then given that we take an API approach to stream processing, it's easy to embed those types of capabilities in any of the endpoints. And so some of the activity can happen in that particular front and it all gets synchronized down into the centralized hub. Okay, let me unpack that a little bit. Because you take an API approach, that means that if you're manipulating a topic, you're processing a microservice and that has state in it, is that the right way to think about it? Yeah, I think that's the easiest way to think about it. Yeah. Okay, so where are we? Is this a 10 year migration or is it a some certain class of apps lend themselves well to microservices? Legacy apps will stay monolithic, and some new apps, some new Greenfield apps will still be database centric. How do you, or how should customers think about that mix? Yeah, that's a great question. I don't know that I have the answer to it. You know, the best gauge I can have is just the amount of interest in conversations that we have on this particular topic. I will say that from just one of the topics that we do engage with, it's easily one of the most popular that people are interested in. So if that's a data point, it's definitely a lot of interest in people trying to figure out how to do this stuff very fast. How to do the microservice. Yeah, yeah, and I think it's, if you look at some of the more notable tech companies of late, they're architected this way from the start. And so everyone's kind of looking at the Netflix of the world and the Ubers of the world saying I want to be like those guys, how do I do that? And it's driving them down this path. So competitive pressure I think will help force people's hands. The more that your competitors are getting in front of you and are able to deliver a better customer experience through some sort of mobile app or something like that, then it's going to force people to have to make these changes quicker. But how long that takes, it'll be interesting to see. Great, great stuff. Switch gears us a little bit. Talk about maybe why you're using Databricks and what some of the key value you've gotten out of that. Yeah, I mean, so I wouldn't say that we're using Databricks per se, but we integrate directly with Spark, right? So if you look at a lot of the use cases that people use Spark for, they need to obviously get data to where it is. And some of the principles that I said before about Kafka generally, it's just a very flexible, very dynamic mechanism for taking lots of sources of information, calling all that down into one centralized place and then distributing it into places such as Spark. So we see a lot of people using the technologies together to get the data from point A to point B, do some transformation as they so need, and then obviously do some amazing compute and horsepower and whatnot in Spark itself. All right, don't worry. I'm processing this because it, and it's tough because you can go in so many different directions. You know, especially like the question about Spark, I guess give us some of the scenarios where Spark would fit as would it be like doing microservices that require more advanced analytics and then they feed other topics or feed consumers. And then where might you stick with a shared database that a couple of services might communicate with rather than maintaining the state within the microservice? Yeah, I mean, I think, let me see if I can kind of unpack that myself a little bit. Yeah, that was packed pretty hard. There's a lot packed in there. When folks want to do things like, I guess when you think about like an overall business process, if you think about something like an order-to-cash business process these days, it has a whole bunch of different systems that hang off it. It's got your order processing, you've got an inventory management, maybe you have some real-time pricing, you've got some shipments, things, like it all just kind of hang off of the flow of data across there. Now, what any given system that you use for addressing any answers to each of those problems could be vastly different. It could be Spark, it could be a relational database, it could be a whole bunch of different things. Where the centralization of data comes in for us is to be able to just kind of make sure that all those components can be communicating with each other based on the last thing that happened within each of them individually. And so, their ability to embed transformation, data transformations and data processing in themselves, and then publish back out any change that they had into the shared cluster subsequently makes that state available to everybody else so that if necessary they can react to it, right? So, in a lot of ways we're kind of agnostic to the type of processing that happens on the endpoints. It's more just a free movement of all the data to all those things. And then if they have any relevant updates that need to make it back to any of the other components hanging on that process flow, they should have the ability to publish that back down in. So, one thing that Jay Kreps, who's founder and CEO talks about is that Kafka may ultimately or in his language will ultimately grow into something that rivals the relational database. Tell us what that world would look like. It would be controversial. That's okay. You want me to be the bad guy? So, it's interesting because we did Kafka Summit about a month ago. And there's a lot of people, a lot of companies, I should say that are actually using and calling Kafka an enterprise data hub, a central hub for data, data distribution network, and they're literally storing all sorts of different lengths of data. So, one interesting example was the New York Times. So, they use Kafka and literally store every piece of content that has ever been generated at that publisher since the beginning of time in Kafka. So, all the way back to 1851, they've obviously digitized everything and it sits in there and then they disposition that back out to various forms of the business. So, that's a- So, they replay it, they pull it, they replay and pull. Wow, okay. So, that has some very interesting implications, right? So, you can replay data if you run some analytics on something and you didn't get the result that you wanted, you wanted to redo it, say, it makes it really easy and really fast to be able to do that. If you want to bring on a new system that has some new functionality, you can do that really quickly because you have the full pedigree of everything that sits in there. And then, imagine this world where you could actually start to ask questions on it directly, that's where it starts to get very profound and it'll be interesting to see where that goes. Two things, first it sounds like you don't, like a database takes updates, so you don't have a perfect historical record. You have a snapshot of current values, like, whereas in a log, like Kafka or log structured data structure, you have every event that ever happened. Correct.  Yeah.  So, obviously the more data you're going to store in here and the more types of things you're going to try to connect to it, you're going to have to take that into account. And you mentioned just a moment ago about directly sort of asking about the data contained in the hub, in the data hub. How would that work? Not quite sure today, to be honest with you. And I think this is where that question, I think is a pretty provocative one, like what does it mean to have this entire view of all granular event streams, not in some aggregated form over time. I think that the key will be some mechanism to come on to an environment like this to make it more consumable for more business types of users. And that's probably one of the areas we'll want to watch to see how that's enabled. All right, I only want an answered question, but you answered all the other ones really well. So, we're going to wrap it up here up against the hard break right now. I want to thank Clark Patterson from Confluent for joining us. Thank you so much for being on the show. Thank you so much. Appreciate it. For watching theCUBE, we'll be back after the raffle in just a few minutes. We have one more guest. Stay with us. Thank you.


In continuation to our last session on elasticity of demand, in today's class again we are going to analyze, see how the change in the demand due to few other factors which influence the demand. So, today we are going to check the income elasticity of demand, cross price elasticity of demand and we will solve few numerical related to the elasticity of demand. So, if you remember in the last class, just we do a quick recap of the last session what we have covered. If you remember there is we discussed about the simultaneous shift in the demand and supply, how it changes the equilibrium price and quantity. Then we introduced the concept of elasticity of demand which is something more than the simply identifying the relationship between demand and price rather it also check the relative magnitude of change in the demand due to change in the price. Then we talked about degree of price elasticity of demand, then elasticity, how elasticity and revenue they are related, what happens to total revenue when the demand is elastic, when the demand is inelastic and finally we discussed about the few factors which influence the price elasticity of demand. So, in continuation of these topics today we will discuss our the next type of elasticity of demand that is income elasticity of demand. As we know that consumer income is one of the factor which influence the elasticity of demand or may be which influence the quantity demanded. So, what should be the change in the quantity demanded when the consumer income changes, whether it increases or whether it decreases what happens to the quantity demanded and what is the exact proportionate change in the quantity demanded when there is a change in the income. So, income elasticity of demand it generally measures the responsiveness of the quantity demanded to change in income holding price of the goods and all other demand determinants constant. So, it is basically a relationship between the change in the quantity demanded and change in the income keeping all other variable constant which influence the demand. So, how sensitive the consumer to the change in the income when income increases whether they consume more, when income decreases whether they consume less. What is their reaction to the purchases of luxury goods, purchases of comfort goods, purchase of the necessity goods, whether the change in the income or whether there is a change in the income in the positive and the negative direction. Now, how to find out what is the change in the income or by what proportionate the quantity demanded should change whether the change in the income. This we can find out by following the formula that the percentage change in the quantity demanded by percentage change in the income. Here Q D is the quantity demanded, M is the income and if you simplify this again this becomes del Q D by del M multiplied by M and Q D. M is the original income Q D is the original quantity demanded. Del M is the change in the income and del Q D is the change in the quantity demanded. So, we can find out the income elasticity of demand by del Q D by del Q D by del M multiplied by M by Q D. Now, how we should interpret this income elasticity of demand, we are going to get a value. If the value is positive then this is the case of a normal goods. Now, why it is positive for a normal good because if you see now real life also when there is a increase in the income generally that leads to increase in the consumption and in case of normal good it happens that when increase in the income generally increase in the purchases of the normal goods. If the value is negative this is the case of a inferior good. Now, why it is for inferior good? I will just give a small example over here. Suppose you are using public transport every day to commute to the office or commute to your college. Now, when income increases you prefer to buy a vehicle of your own rather than using the public transport. So, in this case the public transport has become a inferior good and the quantity demanded decreases or the huge decreases for the public transport when there is a increase in the income. So, the relationship between the income and quantity demanded of the public transport is inversely related and that is the reason we get a negative value of income elasticity of demand. Income increases the consumption of the inferior good decreases because the consumer has now the capability to consume a superior good with the increase in the income. That is the reason the income elasticity of demand is negative for inferior good which implies that when income increases consumption of the inferior good generally decreases. Similarly, if the value is 0 then it is neutral goods. So, what are the neutral goods generally? If income increases we do not eat more, if you are taking the example of a food item when income increases we do not increase our intake rather what we do we look for the better quality, we look for the better brand with the increase in the income. So, if you look at the food intake remain constant even if the there is a increase in the income. So, in this case we can consider food item is neutral goods because it never changes with the change in the income even if it is increasing. Similarly, if there is a decrease in the income the food intake never goes down because that is required for survival and even if there is a decrease in the income generally we find the other way out to consume that much amount of food intake. So, in this case if you look at this is a case of neutral good and what is the nature of change in the income in case of the neutral goods there is no change in the quantity demanded because of increase or decrease in the income. So, in this case the income elasticity of demand takes the value is called to 0 and generally in this case we interpret this as the good the nature of the goods as the neutral goods. Similarly, if you categorize the goods according to the luxury necessity and semi-luxury goods or the comfort good in this case how the value on the basis of value how we can interpret what kind of good. If the income elasticity of demand is greater than 1 this is the case of luxury goods and it is more than proportionate increase in the sales. So, if you if you looked at this change in the quantity demanded due to change in the income like this is your quantity demanded this is your income. Now, when there is a change in the income suppose by del that leads to change in the quantity demanded. So, if the proportionate change in the quantity demanded is more than proportionate change in the income this is the case of a luxury goods. If the change in the quantity demanded is less than change in the income this is the case of a semi this is the case of a necessity good like and if like and if the change in the quantity demanded is just equal to change in the income, this is the case of your comfort good or semi luxury goods. Now, let us interpret these three types of good. So, first case we are saying this is a luxury good because change in the income is less than the change in the quantity demanded, this happens for the quantity demanded. Now, when we plan for buying a house or buying a vehicle, it is not that the value of the vehicle or the value of the house by that percentage our income has changed. But at least when there is an increase in the income, we can buy those goods at a monthly basis by paying monthly basis like if you look at the schemes of AMIs and all this. In this case you can buy a high value product when at least you have the capability to pay the installment. So, in this case the percentage if the income is increasing by 20 percent, if I am going to the next band, I can see that this 20 percent I can pay as the monthly installment for buying a high value product. So, in this case it happens that even if the increase in the income is just 20 percent, the consumer makes the purchases which is more than the worth value of 20 percent. But in this case generally this is the case of the luxury goods. Similarly, if we teach income elasticity of demand is less than 1, it means the proportionate change in the quantity demanded is less than proportionate change in the income and this happens in case of necessity goods. Like just now we are taking the example of food intake, this is necessity goods. So, if the income increases by 10 percent, my entire 10 percent I am not going to spend on the food item or the necessity goods. What I will do may be part of it I will spend and I will look for the better quality in the food in food range, but I am not going to spend entire 20 percent on the entire 20 percent increase in the income only consuming more food or the better quality of the food. If it is equal to 1, then it is a case of semi-luxury goods or may be case of the comfort good. So, in this case if my income increases by 20 percent what I do generally I generally I buy more from the income, but that is not that is exactly the same proportion whatever the change in the income. So, if there is a 20 percent change in the income I will buy a product which is worth of 20 percent not more than that. So, in this case the percentage change in the quantity demanded is just equal to the percentage change in the income. So, if elasticity of demand is greater than 1 this is the case of luxury goods the proportionate change in the quantity demanded is more than the proportionate change in the price. If the income elasticity of demand is less than 1 then in this case the proportionate change in the quantity demanded is less than proportionate change in the income. If income elasticity of demand is equal to 1 the proportionate change in the income is just equal to the proportionate change in the quantity demanded. Now, where generally the use of income elasticity of demand comes? So, income elasticity of the products is highly significant in the long run planning and management of production, especially during the periods of business cycle like where there is if the income increases, if the quantity demanded changes in the different direction, generally the it helps the producer to identify ok, if income is increasing or decreasing, the demand is going to increase and that way generally they plan for their production. It can be also used as the estimation of future demand, provide that rate of increase of income and income elasticity of demand for a given product are known. It means, if there is a there is going to increase in the income, if there is a forecasting or if there is a prediction that income is going to increase, in this case the producer can plan that ok, if the income is going to increase for some goods the quantity demanded is also going to increase and in this case may be they are planning to produce more that helps them to get some more amount of the profit. This can be also useful in forecasting demand for the expected changes in consumers personal income, all other things at least remaining constant. So, knowledge of income elasticity of demand is helpful in evidence of over and under production as we discussing now that when you know that income is going to increase quantity demanded is more. So, you know that is the exact amount of production you are going to produce, but for producer it helps in such a way that if income is going to decrease they are going to produce less, if income is going to increase they are going to produce more. So, that generally avoids the over production and the under production. Then we will come to the different type of price elasticity of demand that is cross price elasticity of demand and if you remember there is one factor which influence the demand is the price of related goods in the market. Like we always take the example of tea and coffee what happens to the quantity demanded of tea when the price of coffee increases or what happened to the quantity demanded of coffee when the price of tea decreases. Since both the goods are related to each other, both the goods are substitute to each other whenever there is a change in the price of one commodity that leads to the change in the price of the other commodity that we capture through the cross price elasticity of demand. What is the relative magnitude of change in one quantity demanded when the price of the other changes? So, cross price elasticity of demand measures the responsiveness of the quantity demanded of good X to change in the price of related good Y holding the price of good X and all other demand determinants for the good X is constant. So, if there are two products X and Y cross price elasticity of demand measures the change in the quantity demanded of X when the price of Y changes keeping the price of X remain constant and all other factor that influence the price of the or the quantity demanded of the X that is remain constant during the study period. Now, what is the formula to calculate this cross price elasticity of demand? Suppose there are two goods X and Y in this case the formula to calculate the cross price elasticity of demand in term of the relationship between the quantity of X and price of Y. So, this is change in the quantity of X percentage change in the quantity of X open the percentage change in the price of Y because the price of Y changes that leads to change in the quantity of X, X and Y their substitute goods and here we are measuring what is the exact proportionate change in the quantity of X when there is a change in the price of Y. If you simplify this then this become del Q X by del P Y multiplied by P Y and Q X. So, Q X is the quantity of X P Y is the price of Y and del P Y is the change in the price of Y del Q X is the change in the quantity demanded of X. Now, if the value of cross price elasticity of demand is positive then two goods are substitute if it is negative two goods are complement why it is substitute when two goods are positive. So, if you know that X and Y these are the two products those are in question. Now, here we are measuring what happens to change in the quantity of X when there is price of Y changes. Now, how X and Y is related suppose both of them their substitute. So, price of H for law of demand when price of Y increases that leads to decrease in the quantity of Y people those who are consuming this P Y now they will prefer to consume good X and that will lead to the increase in the quantity of X. So, how P Y and Q X they are related they are related in a positive sense because when P Y is increasing that also leads to increase in the Q X and that is the reason if the cross price elasticity of demand is positive. We generally interpret this as the substitute good because price of price of Y is leading to change in the quantity demanded of X. So, the positive value of cross price elasticity of demand implies that both the goods in the question they are the substitute to each other. Now, we will see how it is negative for the complementary good. Suppose X and Y they are the complementary goods it means if the consumer has to consume X he has to also consume Y and if the consumer has to consume Y he has to consume X. So, one good cannot be consumed without the consumption of the other good. Now, we will see how they are related price of Y increases leads to quantity of Y decreases because according to law of demand whenever there is a increase in the price that leads to decrease in the quantity demanded. If this happens if the quantity of Y decreases you cannot consume X alone in order to consume X also you need Y. So, that leads to the fact that quantity of X also decreases. So, now how they both of them are related price of Y increases leads to decrease in the quantity of X and you get a negative value of the cross price elasticity of demand and you can interpret this as whenever there is a negative cross price elasticity of demand that leads to the fact that both the goods in the question they are negatively related to each other and their complementary in nature. Then we will introduce a new type of elasticity demand which is more recent it has come into picture that is promotional or advertising elasticity of demand. So, if you know the there is a fact that whenever the company they spend more on the advertisement and other sales promotion activity it helps in promoting the sales, but not in the same magnitude or degree at all level of sales. If you look at whether it is TV commercial whether it is hoarding whether it is may be the through any other form of media or a newspaper you will find the advertisement and the sales promotion activity may be its discount may be its just reaching out to the consumer company they massively do that during specifically if you look at the festive season. But does the quantity demanded also changes when this advertisement is there and the sales promotion activity is there? Obviously, there are a few changes in the quantity demanded because consumer they knows that this is the product available in the market this is the price, but by what percentage or by what magnitude the change in the quantity demanded takes place due to change in the sales promotion or due to change in the advertisement expenditure that will capture through the advertising elasticity of demand. So, why it is useful? It is useful in the determination of the optimum level of advertisement expenditure. It means if there is no increase in the sales even if the advertisement expenditure is increasing day by day or on a regular basis the company need to again rethink that whether they are doing a right kind of investment by investment in the advertisement expenditure because that is not leading to any changes in the quantity demanded any changes in the sales revenue or any change in the sales quantity even if there is a increase in the advertisement expenditure. So, this advertising elasticity of demand will help to determine whether that is the right amount of advertisement expenditure or there is need of more advertisement expenditure for increasing the sales. This as you may greater significance as a decision variable because as we are just explaining if you are doing certain amount of advertisement expenditure whether this is require more or whether this is require less and this is especially when the government imposes the restriction on advertisement cost as is the case of most developed economy there is a competitive advertising by the rival firm. You cannot just go on advertising there is some restriction quota at least in the developed country this help in this scenario the advertising elasticity of demand helps to identify what is the right kind of advertisement expenditure or what is the right kind of sales promotion. Now, how to find out this advertising elasticity of demand? Now, this is how to find out the relative magnitude and how to find out the what is the responsiveness of the quantity demanded what is the responsiveness of the consumer to the change in the expenditure on the advertisement on the other sales promotion activity. So, promotional and advertising elasticity of demand measures the response of quantity demanded due to change in the expenditure on advertising and other sales promotion activity. Now, how to calculate this? Suppose EA is the advertising elasticity of demand and how we will calculate this it will take a formula that is del Q by del A or the change in the Q with respect to change in the advertisement expenditure multiplied by advertising expenditure and the quantity demanded. So, Q is the quantity of goods sold A is the unit of advertising expenditure on goods the advertisement elasticity of sales it generally varies between 0 to infinity sometimes it is in one extreme sometimes in the other extreme. So, if that means, if it is 0 whatever may be the advertising expenditure there is no change in the quantity demanded and if it is infinite then if small change in the advertisement expenditure leads to greater change in the quantity demanded. Now, how do you interpret the value of this advertising elasticity of demand? If advertising elasticity of demand is equal to 0 sales do not respond to the advertisement expenditure. If advertisement expenditure is less than if greater than 0 and less than 1 we can interpret this value as increase in the total sales is less than proportionate to increase in the advertisement expenditure because it is greater than 0, but less than 1. So, the proportionate increase in the total sales is less than the proportionate increase in the advertisement expenditure. If advertisement expenditure is equal to 1 sales increase in proportion to increase in expenditure on advertisement. It means 10 percent increase in the advertisement expenditure is just 10 percent increase in the sales quantity or the sales whatever the change in the sales. If advertising elasticity of demand is greater than 1 sales increase at a higher rate than the rate of increase in the advertisement expenditure. It means the proportionate increase in the quantity demanded of sales is greater than the proportionate increase in the advertisement expenditure. Now, what are the factors those affects the promotional and advertisement elasticity of demand? The first one is the level of total sales. Its sales increases the advertisement elasticity of sales decreases. Now, how this is related to advertisement elasticity of demand? H sales increases the advertisement elasticity of sales decreases because it is irrespective of the fact that whether there is advertisement or not still there is a increase in the total sales means there is no influence of the advertisement expenditure on the sales of the product. Now, the second factor the advertisement by the rival firms how it affects the advertising elasticity of demand? If we look at in a highly competitive market the effectiveness of the advertisement by a firm is determined by the relative effectiveness of the advertisement by the rival firm. If the advertisement is more better than the advertisement of this firm generally that affects the advertisement elasticity of demand. Like if you look at the same product get endos whether you take the example of coke and Pepsi. If you look at for one celebrity one celebrity is advertising for the other one you will find the competitive celebrity is advertising for this. So, if the competitive celebrity is better than this celebrity sometimes it influence the advertising elasticity of demand because some at least some percent of the consumer some segment of the consumer they always they have the loyalty for the celebrity and they prefer to buy that. So, in this case the advertisement by the rival firms they plays a greater role when it comes to the value of the advertising elasticity of demand. Similarly, the third factor the cumulative effect of past advertisement or the additional doses of advertisement expenditure do have cumulative effect on the promotion of sales and this may considerably increase the advertisement elasticity of sales. So, if there is some cumulative effect like what is the cumulative effect over here? If the product is continuously on the consumer minds some change it brings some change in the advertisement elasticity of sales. Like if you take the example of the soap locks it is there since of the since the beginning the product remains same there is no more change in the product, but the celebrity who endorse for the product that changes or if you take the example of typically all FMCG goods generally the no much change in the product, but every time they comes they comes the advertisement with a new kind of new kind of may be concept or the new celebrity that again brings some fresh to the freshness to the consumer mind for this product. So, even if they are consuming the product over a long period of time still they prefer to consume the same product because it gives a newness in term of the new kind of advertisement expenditure. Then apart from this three factor there are few other factor that also influence the advertisement elasticity of sales like change in the product price, the consumer income and growth of the substitute goods and the price. Like if it is there is only one goods in the or may be there are few goods in the market if the goods is doing over if one of the product is doing good over a period of time generally you do not require much of the advertising elasticity of demand, but if there are many products available in the same category many substitute products available in this case the company has to go for a massive advertising massive promotion activity then only that leads to the increase in the quantity demanded. So, in this case if you look at at least initially the elasticity of advertising elasticity of demand will be less than one because the proportionate change in the quantity demanded will be less than the proportionate change in the advertising expenditure. They have to do a massive scale of advertisement in order to increase the quantity because there are many more substitute products available in the market.


Hello everybody. So today we're going to talk about the anatomy of the urinary system. The urinary system, the primary organ of the urinary system is the kidney. And its purpose, the system's purpose, is to filter the blood and remove harmful substances. If you think about it, you are essentially a walking bag of saltwater. And there's so much stuff going on in your body that that saltwater sometimes gets dirty. And when the saltwater gets dirty, it cannot function. Your cells cannot function properly. So the purpose of the kidney is to help clean the dirty saltwater and also to make sure that the saltwater is the correct concentration.  There are a whole bunch of really important ions that if they're not in the correct concentration you begin to malfunction fast. So things like hydrogen ions, maybe I'll just start making a list, hydrogen ions, these are different substances that your kidneys help maintain the concentration of in your blood. Hydrogen ions are the what? Ion that causes your blood to be acidic. So the more hydrogen ions you find in your blood, the more acidic your blood is. Those of you who have had me for BiO1 know that if we combine hydrogen ions with proteins, we can actually curdle or turn those proteins, denature those proteins and turn them into mashed potatoes. And if that happens in your blood, your blood isn't going to flow very properly. That's going to be a bad thing. So maintaining hydrogen ion concentration is really important. Another ion that's important to maintain is HCO3. That's a bicarbonate ion. And bicarbonate ions tend to make substances basic.  Sodium ions, potassium ions, calcium ions, all of these substances are important to regulate in proper concentrations in the blood. And the kidneys play a role in that. So in addition to monitoring ion concentrations, your kidneys also, they clean.  Here are all the salts that are in your bag.  And if we left it there, you would turn into an acidic bag of mashed potatoes. So we actually, through the process of breathing and removing carbon dioxide from your bloodstream, you actually can help maintain your your pH balance. That's physio. No worries. We'll go over that in way more detail next semester.  And you can get a little preview of the physio involved. So essentially, we want to keep our water clean, our salty water that we are clean, and the correct concentration.  So they actually live in salt water. So part of that stuff that you add in that has all the sea monkey eggs in it actually has salt in there as well.  They'd lived for a really long time like six months. They've had these sea monkeys. And then it was not my fault. We were up examining the sea monkeys and the container of six month old sea monkeys fell on the ground. Well, we rescued as many sea monkeys as we could from the pile upon the ground and then added water. What is wrong with this picture? Well, we didn't add salt water in the right concentration. And so all the sea monkeys exploded. Yeah, it was it was a little bit traumatic in our household. But the reason why they exploded is because all the water, they needed salt water in order to have the water not go into their bodies and cause them to explode. And that's osmosis. And that is a very important phenomenon. Your cells will explode if they are not surrounded by the proper concentration of fluid around them. So kidneys, are they important? Dude, so important. And now let's look at the actual anatomy of the kidney itself. I'll be right back.


Another edition of RCE is Brock Palin. You can follow me at Twitter at b-r-o-c-k-p-a-l-e-n. I also have with me Jeff Squires. You can find a link to Jeff's blog off of the RCE website at r-c-e-dashcast.com. Also, there's a nomination form. We love hearing what you guys would like to hear about. Jeff and I see cover a large basis stuff, but Jeff probably has his own input too about things that are going on in the HPC world. Yeah, it's always nice. I actually got twunked by a blog reader for a post I made earlier. I got a bunch of statistics wrong, and he quite rightfully called me on it, and it took several days of back and forth of email and stuff like that for him to educate me in what the correct way was. So I had to print a redaction. It was very embarrassing, but at the same time, it's very encouraging to know that people actually are reading it. So that was nice. Always good to keep you honest. Who do we have with us today? Well, today we're talking about an interesting topic in the HPC world that a lot of people like to talk about, parallel file systems. And I think we're gonna be talking about PVFS and PVFS 2. Okay, our guest is Walt Lingen. I think I got that right. Well, how about you introduce yourself and correct me if I pronounced your name wrong and tell us about PVFS and what your affiliation is. Okay, my name is Walt Lingen, and I'm an associate professor at Clemson University and one of the original developers of PVFS, the Parallel Virtual File System. Okay, so PVFS has been around for quite some time. It was actually the first parallel file system I ever screwed with. Can you tell us a little bit of detail about what a parallel file system is and how PVFS accomplishes it? Sure, a parallel file system is really just a file system that's designed to support parallel computing. And that has two aspects to it. One aspect is that what we try to do is distribute the data across many nodes in a parallel computer so that we can use all of the IO subsystems of those nodes to get faster IO. So one of the big deals is make the IO go a lot faster. Then the other aspect is that we have to provide that data to the many tasks of a parallel program. So we support having many tasks accessing the same file concurrently in doing their data retrieval at a very high rate. So that's basically what a parallel file system is. PVFS was originally designed in 1993 to be the file system for something called PVM, which was an early package for doing parallel computing. That's where the name came from. It was a play on PVM. But then after the initial version, my graduate student Robert Ross rewrote the system and that's what became known as PVFS-1. Then about year 2000, we completely rewrote the system into what is now called PVFS-2. And that's what most people or what everybody who's using PVFS uses today. So what's kind of the big difference between PVFS-1 and 2? You say you rewrote it. I assume there was some re-architecting in there with their big functional changes or what? Absolutely, it was a completely complete re-architecting. When we wrote PVFS-1, we were really trying to sort of understand what goes into making a file system work. And a lot of what we dealt with was how to really build a server that could concurrently handle a large number of requests simultaneously and do an efficient job of that. Our old server was based on some ideas that we had gotten out of the literature back then that were based on the idea that the network generally was a lot faster than the processors running in the disks. And we found that when the ratio of the speed of those various things changed, the way the file system reacted changed. And so we completely redesigned it so we had a lot more flexibility. Also in terms of functionality, the original PVFS allowed any given read or write to access data that is distributed throughout the file in what we call a strided fashion. That's just a complicated word that says, I wanna read, say, 100 bytes here and then skip 200 bytes and read another 100 bytes and skip another 200 and keep doing that pattern for however many iterations. We could do that with one small request in PVFS-1. Okay, so also in that re-architecture, you said it was around 2000 or so. This is kind of when MPI was quite popular and PVM was kind of on the way out the door. Did you guys have any aspirations towards MPIO as part of the new architecture or how did that work? Absolutely, PVFS-2 was designed specifically to be an MPIO file system. We designed it so that the MPI data type became the model for our request type. So when you actually send a request for data to MPI, you could directly send an MPI data type to it. As far as I know, it's the only file system that's ever actually done that. The other thing that happened was that Rob Ross went to Argonne about that time and one of the big MPI centers and so he got involved directly in MPI. So we kind of have been working very closely with them ever since. So PVFS is designed for MPIO. Is it designed to handle any other type of IO or is it really only meant to take IO from some sort of parallel library? No, actually you can use PVFS with any kind of program. The PVFS actually has a, its interface is really not designed for normal programmers. It's something we call a system level interface and you can then plug it under a whole host of different interfaces. This was another part of the re-architecting. So MPI is definitely one of the key ones, but the POSIX interface works quite well with it and we even are currently working on some new interfaces. There's a kernel module to be able to access it. You said POSIX interface, so there is a kernel module where you can just mount PVFS like any other like NFS or Luster or one of these other POSIX file systems. Exactly, we have this, the kernel module that allows you to mount it just like any other file system. There's also a fuse module that you can mount it under fuse and that gives you some more platforms that we didn't used to have. And then we have libraries that can give you direct access. You generally get the best performance out of the direct libraries. And so that's what the serious applications use, but for everyday working with your files, people don't wanna have to write a special program and so that's where the kernel modules are really useful. Has anyone written like a database interface where you can make PVFS look like your storage engine for a database? There are some people who have played with that. I'm not really familiar with the details of it. We actually have a database under the covers in PVFS and one of our research projects involves exposing that to the user. That's part of one of the new interfaces I was mentioning so that you can actually do queries in your file system to locate data other than just navigating through a directory tree like you do normally. So going off in a slightly different direction here, let's talk a little bit about infrastructure here. So you mentioned that parallel file systems are you're trying to capitalize on the IO system. What does a typical PVFS setup look like? What's the constraints on the system administrator world? What do they have to set up and things like that? To set up PVFS, you designate certain nodes that are going to be servers. If you have a small cluster, that can be just any node in your system, but usually those are special nodes that people are set aside. They have big disks on them and this sort of thing. You install the server process and you have to install a startup script like you would for most service applications. There's a config file where you primarily list which systems are going to be your servers and so forth. Then there's a library that you're going to install on any node that wants to be a client, which is usually all of your other nodes. If you want to use the kernel module, then you'll install the kernel module on those client nodes as well. There's actually a process that works with the kernel module called the client core and you have to install that. But most of that, again, we've got install scripts that do that pretty much and there's a nice little write up that makes it not too difficult to do. So did you say that the server ties are usually dedicated machines or are they usually multitasked with other things like an interactive login machine or things like that? Or is this kind of just, everybody does the different? Well, most of the large installations, like what we have here at Clemson, we have a set of machines set aside to be IO servers and that's all they do is act as IO servers. But if somebody wanted to install this on a smaller cluster, particularly in the early days when you had people with 32 node clusters that they were experimenting with, you can install it right on a node that you're using as a compute node. In fact, when we test out some of our new distributions, we go out on our compute nodes, install it and run it right out of our home file system on a group of nodes and test it that way. So is this a user space stuff? You mentioned there's a kernel space side to it, but the server processes themselves. Do those need to run with any special privileges or are they root privileges or just a dedicated user or how does that go? You can run the server with a dedicated user, you can run it as root if you want to, but there's no kernel modules or kernel patches or anything designed. You can run everything in the file system except installing the kernel module as a normal user if you want to. So that's a perfectly valid way to run it. Again, in order to install a kernel module, you have to be root to do that, but that's just for setup. So has anybody ever created say a job where their job just kind of creates a PVFS infrastructure for their job? Like they actually take all the compute nodes, uses some space and temp or some other storage and kind of spins up a file system just for their given job? Yeah, they have and in fact, we even have a special tool that comes in the distribution that does that. We have a tool that's designed to basically just like doing a make, build a complete file system for you. We use that primarily for testing so that if we want to run multiple tests, we can send that off, create a little file system on a group of nodes, run a job and we're done, but there are definitely people who have experimented with using PVFS in that mode, particularly for things like checkpointing. If you wanted to set up checkpoints that were on the nodes in question, that way you don't necessarily have to send your checkpoint data all the way across the network to an IO node over there. And plus the bigger your job is, the more nodes you've got, the more IO nodes you've gotten so you can run it faster, faster without worrying about how many of them are being used by somebody else. So yeah, you can definitely do that. So when I create a PVFS file system, do I have to have a raw block device for it or do I just kind of, does PVFS rely on underlying file system for actually getting the bits onto disk? That's why we call it a virtual file system because PVFS does not actually manage the blocks in a block device the way a normal file system does. We store our data on top of whatever file system is provided by the underlying system. We store it, the actual data is stored in normal files, our metadata is actually stored using the Berkeley DB, which can sit on top of normal files. Again, we have people who have been experimenting with more exotic ways of laying out the data for performance reasons, but so far everything we've done sits on top of a user file system. So an obvious question out of that is do you sacrifice any performance out of that? Because all the quote unquote non-virtual file systems right directly to disk, and at least from my layman's mind, I would think that that would be at least a little bit of a performance boost or is it kind of negligible? How does? Well, actually quite a number of the other systems that are used like PVFS do the same thing that we do. But yes, there could be some loss in performance in the sense that you don't have control over how you choose to order your disks, but most of the time a local file system, the metadata, that block management stuff is held in memory anyway. So the rights go pretty much directly to disk, it's just a matter of how the blocks are managed, so how you choose to select a free block and get rid of free blocks and that sort of thing. Most of the time the existing file systems are pretty good at doing that, but that's part of why we've got some experiments going. We've been asking ourselves the same question when we start getting, particularly when you start getting to new devices like an SSD or some of the newer RAID devices that are out there, can we do a better job if we know exactly what we're doing with the disk? And I've got actually right now some students who are studying that question. Cool, cool. All right, well, let me ask you, this is related, but probably only by the topical words. So we've been talking about throwing blocks around and things like that, but there's also, actually maybe you can explain what's the difference between a block parallel file system and an object-based parallel file system and then which one is PVFS2? Right, a block parallel file system are those that where a block device on the server is shared with the client directly. So what happens is the client, it's almost like the client doesn't even realize that it's writing across the network. All it knows is it has multiple block devices here, multiple disks it looks like that it writes to. So the actual disk blocks are transferred back and forth to the servers. And there are some file systems that have had, enjoyed really good performance doing that, particularly when they had hardware that supported it. So one of them in particular that I could think of had custom hardware in the network for doing block transfers and it was a really well done file system on their hardware. An object-based system is a little bit different. This is what PVFS is, is an object-based system. The servers just manage objects and the objects can be any number of things. They can be data, they can be metadata, they can be directory entries, they can be directory metadata and so forth. And then these objects are spread around to the different servers and those objects then are addressed locally within the object. And what I mean by that is that the object consists of so many bytes on that server and I can reference that I want a certain range of bytes relative to that object on the server as opposed to just saying I want block number 42 off of that disk. So it's a layer of abstraction. Okay, and that's exactly what PVFS does. It has this layer of abstraction on top to make it a little bit simpler so that the client never has to worry about the actual devices at the servers. It just thinks of them as a group of logical bytes that it can read and write. So when you have a parallel file system, generally you can specify how many storage servers you want to stripe a file across. Is this configurable inside PVFS and how is that controlled? Yes, it definitely is. There is a configuration file for the entire file system and you can set on the configuration file the default number of servers you want to distribute files across. Since most systems have been relatively small, they usually by default set that default to all of them. But when you start getting into a large system, yes, you can set that to a lesser number. Plus you can override that number when you create a file using some form of hints. Now the issue with hints is that has to do with the interface you're using. If you're using the standard kernel interface, it doesn't really have a hint mechanism. So it's hard to do that. If you're using MPI, MPI has hints for setting the number of servers you want to distribute across. And some of the interfaces we've been developing look like POSIX, but give you some of this extra capability so that you can do that. So how do Striping Across multiple servers work into the object model that you use? Do you kind of write an object at a time or is it more complicated than that? When you create a file, so if I can create a file and I can choose to, I want to distribute the file across eight servers, so I create eight data objects that are going to hold the data from my file. And at the time I created, I also specify something called a distribution. Most file systems have a fixed distribution. PVFS actually allows you to have different distributions on each file, but most people use the standard one, which is just simple Striping. Once you've done that, then as I write data to my file, that distribution will take the file and will distribute it across those eight objects. So if I write 100 megabytes, it'll write the first so many bytes to one object and then so many to the next, and so on and so forth. When it gets to the end, it'll wrap around and keep going. That amount of data that you choose to write to each object is called the strip size. And that's also a configurable item. It also has a default built in so that if you don't want to worry about it, you can just use the default. All right, going off in a slightly different direction here. How does PVFS handle errors? Is it particularly like a node failure or a disk failure or something like that? Is there any concept of resiliency built in? Maybe built in RAID-like control? Do you replicate objects or how do you do these kinds of things? Well, originally when we designed PVFS, our concern was how to make it go as fast as we could. And we decided not to address that issue because it's a complicated one and we figured that other people would address that issue and at some point in the future, you know, those features would all get incorporated into some future system. At the time, we really didn't expect PVFS to last as long as it did. Now, in the last couple of years, we have in fact been developing replication. We do have available modules that will replicate data across different servers and we're right now working on modules that replicate metadata across the objects. And there's a lot of different ways you can do that and that's sort of one of the issues is choosing the best way to do it and what happens to your performance when you do it because it can cost you some performance. And we like to be able to let users decide if they need that or not. Up till now, most of the production installations that we're aware of have used a hardware level redundancy to protect their data. So in other words, what they'll do is they'll put a RAID on each server so that if a disk fails, it's backed up through the RAID and then they use redundant connections to those RAIDs between the servers so that if a server dies, another server can start up another process and get access to that box. And so that gives you a pretty good amount of protection for that. Still, though, everybody tells us they wanna have it in software, they wanna have both capabilities available to them and there's people who don't have the money for the more complex hardware solution that want this so we've been working on it and that's one of our newer things. Okay, and when you say you want the resiliency in the software, what do you mean by that? Do you mean exposing that out through the user level libraries to the application itself or still preserving that transparency of something like a hardware solution but through software, meaning that I just say give me my object and if somebody handles some faults in the background for me and at the end of the day, I still just get my object. No, I mean just the transparent view where you ask for the data, you get your data. What I mean by in the software is the difference between us doing replication in software and actually sending some data to one node and a copy to another node versus doing it hardware where you actually have a RAID controller so that when I write to this disk, it just automatically creates duplicates and does that for you. Gotcha. So what are some of the main supporting interfaces for PVFS? We mentioned the kernel module, but for doing real stuff, you have to write to PVFS. Romeo for providing MPIO, I know has a driver for PVFS and is in, of course, open MPI, MPICH and a couple of the other MPI libraries. What are some of the other things I've written to PVFS to get the maximum performance from PVFS? We have a set of interfaces that we're developing that are written specifically for PVFS and they provide, actually, there's a core for writing to PVFS efficiently and then on top of that is an MPIO implementation that can be used with open MPI or MPICH or whatever MPI you like or actually could be used with a non-MPI program if you really wanted. And then we also have a POSIX-like interface there that looks like a POSIX interface, but we've added extra features so that you can get at some of the things that you wanna be able to do with PVFS-like, control the number of objects you distribute across, control the striping size, set some of the different modes that are capable and so on. So we've been, this is actually something that we have in development right now so that you can get at that without going through MPI if you want to. Beyond that, there are some other projects. There's the Audio's project at Oak Ridge and we've been talking with them about possibility of putting that on top of PVFS, but that's still a fairly early idea. And we've got some other things up our sleeve that are probably so new that it may not be worth announcing at this point, these other interfaces are definitely pretty much done. They're just in the testing phase right now. So as an MPI guy, I'm actually well familiar with Romeo and familiar with those kinds of interfaces and so on, but working in Cisco and working in the server division and stuff, I get exposed to a lot of non-HPC kinds of uses of technology that trickles out, right? So it's slowly making its way into the data center and to the rest of the world and so on. Could you give us, and with full disclaimers here that this is kind of just asking you to answer something off the cuff and predict the future, but where do you see the use of parallel file systems going, particularly in a Google-sized data center world and whatnot that just beyond the HPC or parallel file systems have kind of grown up, how do you see these applying to the rest of the world? Well, really that's one of the things that we've been looking at here at Clemson and one of the things that I really haven't mentioned but maybe now is a good time to is that we've kind of been creating a forked PVFS. It's not really a forked PVFS, it's a separate distribution. It is a branch in the repository. So it's all still one source code, all the development is still shared between everybody, but the group at Argonne has really been focusing very heavily on Blue Gene and the large-scale HPC systems and at Clemson we're starting to look at this exactly what you mentioned, sort of this what, who else might be interested in this. We have people in the genetics world down here who do an awful lot of processing of data and they don't understand MPI. They don't, it doesn't look like an HPC type of operation. We have people in the business world. We've had a very large user out in Arkansas who was doing data mining for large corporations. I don't know that I can say their name but they've actually been actively involved in PVFS development for more than five years now. So yes, I think there's a lot of this stuff in the broader world that's starting to come along and this is part of why there's now kind of a separate group that's starting to look at problems like the redundancy problem that you mentioned. That's something we finally said, look, we've got to do something about that if we're going to move into this area. We're looking at the security side of things. PVFS has never had particularly strong security so we're working on that. We're building new interfaces. The whole drive to do that is so that the file system can be made available to some of these, what you might, I guess you'd call non-traditional groups for at least for HPC. So how about we compare PVFS to some other products out there? So what would be your opinion on some of the other parallel file systems out there? You can name names if you want but what's a parallel file system you admire? Systems I admire, I definitely admire the guys at IBM who've done GPFS. Those guys have definitely, and they're a different side of the world. At least one of the members on the GPS team, in fact, was a guy that when I was working on my PhD we were buddies back then, had the same advisor and we sat and argued design points at conferences before just out of spirit. So that's a, they definitely have some good stuff and we've looked at some of their design issues and taking some of that stuff into consideration. Panasas has really done an excellent job of getting high performance IO into the world. Garth Gibson is, again, a friend of ours. He's been involved with stuff with PVFS. He actually looks at PVFS as sort of his non-commercial side of things. When he gets his students at CMU to work on a project, they tend to use PVFS because they can't open up the source to Panasas to do that. So I think those guys are definitely doing some good things. The Google file system is really interesting because it's a unique opportunity to say we have a really, really specific set of things that we wanna do and we can build a piece of software that just does that. It wouldn't work for a whole lot of other people because they really narrowed themselves down to their application, but they did some interesting things with it. And then, of course, the other one, the one that I guess comes up the most often is Luster. And Luster and PVFS have been, I guess, have been rivals for a long time. For a number of years, I think people on our side of the house, people on their side of the house, have sort of traded barbed comments about each other, but that's kind of not something that I've wanted to do. I've tried to stay out of that. I think those guys do some good work. I think, clearly, they've taken some ideas from us, which is what we intended in developing our project. We've always been a research group and we look at what they do and kind of follow some of that and, you know, so there you go. There you go, excellent, excellent way to dance around that difficult question, I think. Sorry, I didn't mean to put you on the spot there, but it actually leads into another question. So who else is involved in the PVFS development? So, you know, you're at Clemson, are there other organizations as well? Oh, my word, yes. Let's see. Well, so the main centers are Argonne National Labs and they're up there. You've got Rob Ross, who was my PhD student and was the writer of PVFS 1 and the chief architect of PVFS 2. And also, Phil Carnes is up there. Phil was also one of my PhD students and he went and worked with this data mining company for a number of years and now he's working with Argonne. But those guys have also, they've really carried PVFS along through kind of the hard years of really kind of getting it supported. There's guys like Sam Lang and Robert Lathrom and Neil Miller who wrote a lot of the code and there's just been a number of them. So that's that group up there and they're still doing, right now, they're doing a lot of focusing on the blue gene stuff and that's been great. Then, well, we used to be at Ohio Supercomputer Center. I don't think he still is, is Pete Wycoff. Pete was definitely involved in some of the networking aspects. He did the initial and Feneban implementation for us and did a lot of work with how we actually put data on the wire and take it off again so that it would go across different architectures and all that sort of stuff. There's also a couple other guys that were there trying to remember his name. Troy Baer, I think his name was. Trying to remember real quickly here. I think I have a list of some of these guys. Yeah, here we go. Yeah, Troy Baer and Ananth Devalapalli. Northwestern University, Alec Chowdhury and Avery Ching have done work with us. Ohio State University, DK Panda. Sandia National Labs. Lee Ward has been a huge help and supporter for us over the years. He really, he really has been a major player. Garth Gibson, I've already mentioned at Carnegie Mellon. Scott actually from Miracom has helped us with the Miracom drivers. Maury Villanue was at Argonne for a while. Dave Matheny at Axiom. That's, I guess that's public knowledge. That's the company out in Arkansas. So yeah, there's been a great group of people as well as my students here. Guys like Brad Settlemeyer and some of the people that I'm working with now like Boyd Wilson and Elaine Quarles. So there's been quite a few people. We also have, oh, let's see, I almost forgot there's some people over in Germany. We've got some people over there too. Not remembering off the top of my head. Dean Hildebrand, maybe. Peter Honeyman, couple of these guys. So that's a long laundry list of people and organizations there. How do you organize this? How do you keep all the cats running in the same direction? And how do you organize as a community? Well, really the organization has been that Argonne has been the center of it really. So if anything that's gonna actually go into the distribution has to go back to Argonne and get blessed there and go in into, and that's what we call the blue distribution now is sort of the main line. Axiom took their own copy and they made whatever changes they wanted and then we got together and agreed which ones would come back. They offered pretty much all their changes back to us. But a lot of the other ones of the smaller groups we get together on a regular basis. We meet at the major conferences. We there once or twice a year have some meetings somewhere where everybody will try to come together and we talk about our ideas and what we wanna do and then people go off and kind of work on stuff in a branch and we later kind of evaluate do we wanna keep this or not? And frankly, there's been a number of pieces that people have done that we've kind of gone, nah, I don't think that's going in. But then there are other pieces that have turned out really great. So I mean, it kind of goes both ways. So I'm gonna wrap up here a little bit. But I have one last question. There's been a lot of articles floating around from HPC file system people that POSIX tends to tie their hands for performance. So you get POSIX like, not quite POSIX compliant or we need to just completely throw out POSIX. Could you give us your take on that? Sure, there's a couple of different issues. One of the issues initially was that, the POSIX standard was indicated that all IO would be an offset into the file and an extent. So I'm gonna read a contiguous group of data from the file and parallel applications in particular don't always do that. That's been largely dealt with POSIX. There are some POSIX extensions now that have these vector IOVACs that you can set up and get around that. So that's not too big a deal. The big thing that's really still kind of a sticking point is sequential consistency. And sequential consistency is something that's been an issue ever since people tried to start building parallel shared address-based systems, which a file system is that, it's a shared address-based mechanism. And it comes down to, if two stations attempt to write to the same locations, there's certain expectations that a user has as to what result could be. And sequential consistency says that you always get an acceptable result if you guarantee that all rights appear to have completed in the same order to all people. And that's a fine goal and it works nicely, but it can be very expensive to implement, okay? The simplest way to implement it is to use locks.  If someone tries to do a lock to an overlapping region, they will not be able to acquire the lock until you're finished. And that guarantees that you write and then they write and everybody sees it in the same order. But managing locks like that is performance-wise expensive in the sense that it's costly, it takes time to manage those things. And it also has a reliability issue because if a client acquires a lock and then dies without releasing the lock, you have this problem that you have to somehow deal with because you've got this section of your file locked. And clients, unfortunately, do tend to abort unexpectedly unlike servers that hopefully are a little more resilient. And one of the things, for example, in PVFS is we do not use any locks in our implementation specifically so we do not have that reliability issue and we do not have the performance issue. And I think that's one of the reasons we've always had one of the fastest performing file systems going, but we up until now have never been able to do sequential consistency completely right. And that's, you know, some other file systems who've worked that out say, well, we can do it. And so the issue is that you don't necessarily have to have a fully sequentially consistent file system if your applications behave nicely and behave nicely usually just means they don't try to write to the same place at the same time. Which if you think about it, most applications don't wanna do that anyway. But there's always a few of them out there that do and they become sort of the issue.  These almost composites, but not quite. It's like we're giving you something that looks just like posits. You can use it just like you're used to, but the behavior may be slightly different if you do something unusual. And that's really where most of that comes from. Okay, we're almost out of time here. Let me ask the question I asked almost all of our guests. What source code versioning control do you guys use and why? We use CVS. Why? When we started the project, when we started this project back in 2000, we kind of kicked around a couple of the alternatives and just didn't hit nothing really sort of struck us as being that much better. We were a small group at the time and now it becomes sort of a, it's difficult to change something midstream. So that's what we use. So I think we've had one other RCE guest who still used CVS. Brock, do you remember who that was? I'm not remembering who that was. No, I don't. I'd have to go through and listen to the last 10 minutes of every show that I found it. Yeah, I think you're really only the second group here that we've talked to that still uses CVS. Now, power to you. Okay, so what's the location where I can get some information on PVFS? What license is PVFS under? And can I just download it or do I have to license it through somebody? You could go to www.pvfs.org and find out everything you want and get to the downloads. It is licensed under the LGPL and you do not have to talk to anybody. You can just go there and download it. And there we have distributions of tar balls that you can get and you can get anonymous access to the CVS repository for checkouts if you want to get newer bleeding edge stuff. There's a sub directory under that which is the slash orange sub directory and that's the new distribution I was telling you about that we're working on here at Clemson and probably going to be talking more about that at super computing when we get there is sort of what we're calling orange FS which is just PVFS with some of these new features to it. Okay, thank you very much. Well, okay, thank you. We appreciate your time. Thanks. All right.


Alrighty, so in today's video we're going to do some rapid-fire Q&A, right? And what I did was, I took a bunch of questions from YouTube comments and some questions from email subscribers that I just haven't been able to get around to answering, just made a list of those and pulled out five of the most outstanding or frequently asked questions to cover today. So we might need to do more of these. I have more than 120 questions on that document so far and it's still growing every single day. But I wanted to answer some of these and get this going today with these first five questions. The one that I'm seeing, questions that I see come up most often. So what I'm going to do is it's going to be pretty informal. I'm just going to bang out these questions. I'll read the question to you and then I'll give you my answer based on my personal experience and recommendation and my own opinion. So let's jump into this first question here. This is from our user, a YouTube comment from a user named your gay best friend Jay and he asked, how do you go about not having social proof or previous samples of your work, especially when starting out? I'm very nervous that potential clients will ask me about previous work that I've done. And Jay, this is a great question and it's something that many newbies and beginners are worried about and rightfully so, right? They're going out for the first time and they're selling something that they haven't actually delivered themselves before. So it's normal to be afraid or nervous about this, right? And there's two options that are two recommendations that I have here. Number one is you can make a list based on whatever service that you are going to offer or deliver and you should only be doing one here, right? Make a list of every freelancer or white label provider, make a list of these companies, 10 or more of them, okay? And go out and ask these companies, say, hey, I have a, I'm targeting this niche or this industry with this service, which you guys offer. I'd love to refer business your way when we can get a client so that you can handle the service delivery. Is it okay if we use some of your case study or testimonials because I see you have success with these people in the past? Is it okay if I use some of your case studies or testimonials when going out and selling the service to potential clients, okay? Now that's how many of these freelancers and white label companies and resellers, that's how they make money is when other people bring them clients and they handle all the service delivery. So a lot of these companies will just say yes or a lot of these freelancers will say yeah, absolutely. That's what it's for, right? We want you to bring us new clients and we want you to show them what we can do because we're the ones delivering the service. So reach out to some freelancers, make a list of them, freelancers, white label providers, reach out to them and just ask them if you can use it and when you do get a client you're going to use them for the actual service delivery. Option number two is just to go out and get some social proof, right? So once you've picked your industry, you've picked the service, learn a little about that service and hopefully it's something you're at least interested in, you can reach out to your warm network, friends, family, colleagues, mutual connections, reach out to them and just say hey, I'm starting a new business, I want to work with these types of industries, I want to offer them this service which gets this kind of outcome or this kind of result. Do you know anyone who'd be interested in having a conversation with me or signing up for this type of service? We'd be happy to offer them a big discount in exchange for a testimonial, right? So just reaching out to people that already know, like and trust you or our mutual connections, a friend of a friend and just asking them if they know anyone who could benefit from your service and if you pick something that's tied to lead sales or growth or helping businesses and impacting their bottom line, helping them make more money in their business, you're going to find a lot of businesses will say yes to that, right? Oh, I actually know someone who can benefit from that and they'll reach out and refer them to you, okay? So those are the two recommendations there. Very simple, not glamorous, not sexy, but the two strategies that work, right? And two things that we've done. So again, number one is to just ask your freelancer or white label provider if you can use your case studies, use their portfolio or number two, build up your confidence level and build up your portfolio at the same time by reaching out to your warm network and actually getting social proof, getting results, getting some clients of people that already know you and getting results for them, right? And from there, you can use that as your portfolio and go and sell more clients, right?  So that's question number one. Good question, Jay. Number two, this is a good one. If your clients can find these freelancers for $200, why would they pay us $2,000? Okay. This is from Crystal AJ. This is a YouTube comment. Well, Crystal, the main thing is that most of these, if you're serving local businesses or small businesses, which I'm assuming you are, many of these businesses, 90% plus have no idea these freelancer marketplaces even exist, right? They don't know what Fiverr is or Upwork is or these white label companies or resellers, they have no clue, right? And they wouldn't even know to look for that. So they're not thinking a price shopping for this kind of service, right? If someone offers them the service, most of the time they might not even be shopping for it that very moment, right? If you're doing like cold prospecting or cold emailing, many of the times the business owner is not even shopping for it, right? So even if they did know about these freelancer marketplaces, that's not really the way that they buy, right? They're used to paying or they're used to hiring in-house employees. They're used to hiring people in salary like they that are actually in their building or in their place of business that they're paying three, four, $5,000 a month plus healthcare plus benefits, right? They're used to paying a lot more than $2,000. So the last thing that they're trying to do, at least the clients that you want to be working with is trying to nickel and dime and look for something that costs $200 in regards to a service that can help them make a lot more money in their business, right? They're not going to be price shopping that stuff. So why can't, why would they pay $2,000? Because they're used to paying a lot more than that for like as simple as admin positions, right? People just to answer the phones. So they wouldn't even know these freelancer marketplaces exist. And that's just not the way these business owners buy. They don't go out and look on these websites to buy services, marketing services, right? They're used to hiring real people in person. They're not used to going to these exchange marketplaces and hiring off of there. But the main thing is they just don't know they exist. That's the answer there. Question number three is how do you collect payment from clients? And this comes from Brent M. through a question via email. Brent, I'm assuming you're talking about the software and tools that we use. So I'm just going to answer the question based on that. So for payment processing, we have two payment processors. One is Stripe.com. You can sign up for a free account there. They work in most companies and that allows you to just take payments, right? It allows people to swipe their credit card or debit card and you can take their payment, right? There's also PayPal. I don't like PayPal. Personally, they held a bunch of money from a previous business in the e-commerce space and I've had a personal vendetta against them ever since. So I don't use PayPal, but you can use that if you're not like in a high volume e-commerce type business, right? So we use Stripe and then we also have a payment processor with our bank. So you might not, you don't need that option if you're just getting started. You can just start with Stripe and you might not even have that option even in the future. Like we just have a good relationship with our bank and then we set up a payment processor through them. So those are the two that we use. Again, your options Stripe, PayPal and then if you have like a private company you can set it up through or your bank, you can do that as well. But I recommend you just, if you're just getting started, keep it simple and start with Stripe. We also, for sending out agreements, like we're selling higher ticket services, marketing services and before, like let's say that a client is on the discovery call with us. We show them a demo of our service and they say, yes, I'd like to move forward. We use a software called Pandadoc and we send over an agreement for the client to sign. And once they sign that, there's an option for them to pay and that links to our Stripe account. So Pandadoc is for agreements and invoicing and then we link that to our Stripe account, which is the actual payment processor that can take the payments through credit card or debit card. So the tools again, Stripe, you can use PayPal if you want. And then we use Pandadoc for agreements and then sending it over to the client to e-sign, electronic signature and then pay for the actual service up front. Question number four, how much should I know? This is a good one. How much should I know about the service before selling it? This is from Rory S, an email subscriber. Rory, there are three things that you should have. And I know this comes up a lot because a lot of people who are selling the services, if they're in a drop servicing type of business, they haven't really delivered the service before. So how much should you know about it? There's three things that you should really know. Number one is you should know the service you're selling. And what I mean by this is you should be selling one service. You shouldn't be selling five, six, seven different services if you're just getting started. The reason is every time you add another service to your business, you're adding like another 10 times complexity to it. Because then you got to learn about how to deliver that service and find more providers for that and be able to speak to that service and the results for that service. So just focus on one service. That's it. So know the service. That's number one. Number two is you should know the outcome or the results that the service will get. And so many people just focus on the thing. They focus only on the service. They say, I'm an SEO expert or I sell SEO. And the client, if the prospect is asking what's in it for me and they don't know what it actually does for them and you just tell them, well, I do SEO, that's not really answering the outcome or the results of your service. So you should always be speaking in terms of outcomes for the end user. And you should know that, right? So for example, back to SEO, this is off the top of my head, by the way, if you are selling SEO, some outcomes or results might be more organic customer inquiries every single month where you're not paying for paid advertising, right? Or more organic leads or more organic phone calls, right? If people finding them in the search engines and giving their business a call and inquiring about their services or their products, right? So the outcome of SEO is getting more potential leads and potential clients to come to the business instead of them going out and paying advertising and going out to the market and cold calling and knocking doors, they're going to have potential customers calling and coming into their business instead, coming to them, okay? That's an example of some potential outcomes or results, right? And business owners, business owners want that, right? They want customers coming to them. So always speak in terms of outcomes and results. So that's number two. Number three is you should know what are the deliverables of the service that you're offering. So you need to be able to answer the question, what does the client get when they sign up? What do they actually get? What are the deliverables that they get when they sign up for your service? So for example, for our LinkedIn service, our deliverables are we optimize your headline and your profile summary to attract and convert your ideal client, right? Whoever our client is and whoever their target niche is, we optimize your profile to really speak to that niche, right? Whoever they're after. Then we create them a four-step messaging sequence that connects and turns connections into interested leads and booked phone calls, right? And then we build them a list of 1500 prospects every single month of prospects who fit their ideal client profile based on company size, industry, decision maker, keywords, we build them a list of 1500 prospects every month who fit their criteria, right? Those are examples of deliverables that we, when they sign up for our service, that's what they get, right? And then of course, we go out and we actually send the connections, we send the messages, and we get a cold audience to become an interested lead in their product or their service, okay? So you need to know, again, what is the service that you're selling? And it should be just one service, get real clear on that, okay? Number two, what is the outcome and the results of that service? What does it do for the end user? Okay, you have to answer the question for them. What's in it for me? Why should they care? And number three is what do they get when they sign up? What are the deliverables of your service, right? What's going to happen when they pay you? What do they actually get? Okay, those are the main three things that you should know about the service before selling it. And yes, you're going to have to do some research to know this stuff, okay? So that's question number four. Good question, Rory. Last question. Do I need to build a team right away? And this is from Namut. Hopefully I'm saying that right. Question via email. Do you need to build a team right away? And this is a great one because I see this question in my Facebook group and other Facebook groups all the time. They're asking, they haven't closed their first client yet. And they're asking, how do I hire an appointment center? How do I hire a closer? How do I hire a marketing strategist or a Facebook advertiser? First off, if you don't have clients, how are you going to hire them? How are you going to pay them, right? So you can't build a team right away. If you don't have any experience or skills on your own, especially in getting clients, I do not recommend you build a team right away, right? Learn the skill yourself. And if you can't close one client for your own service and for your own business, how do you expect someone else to come in and close clients for you? Right? You need to know your own, you should know your business better than anyone else. And if you just try to hire someone just to do something because you don't want to learn how to do it or you're just too scared to do it and get clients, things are not going to end well, right? So do you need to build a team right away? I do not recommend you build a team. Like from the very start, I recommend you learn some skills, especially around client acquisition and sometimes even service delivery, right?  You build skills in SEO or copywriting or Facebook advertising, whatever it is where you're actually delivering there. I always talk about drop servicing, but if you want to be a freelancer, that's totally fine as well in the start because you build skills up and that builds your confidence and it allows you to sell better and grow your business faster. Okay? So no, you don't need to build a team right away. I actually recommend not building a team right away and learning some of these skills on yourself first, proving the business is going to work, get some clients coming in and then start to hire out when you have a better idea of what works and what doesn't work and you validated that, right? Then you can create step by step SOPs. You can hire a better team. You can hire people and say, Hey, this is what works for us. This is what I want you to follow and then you can continue to hire more and more people when you find more and more things that work, right? So yeah, I recommend if you're at the ground level, learning some of those skills like client acquisition first and getting some experience, getting your hands and knees dirty and going out to the market, right? And selling yourself and then hiring a team when you figure out a process that works for you. Okay? So that's it for this rapid fire Q and A, the questions that we answered again. Number one, how do you go about getting social proof or previous samples of your work, especially when starting out? Number one, you can either go out and leverage the case studies and portfolios of your fulfillment providers, go on and ask them or number two, just go out and get some social proof, offer your service at a steep discount in exchange for a testimonial and use that to build your confidence and your portfolio. The second question was if your clients can find these freelancers for $200, why would they pay us $2,000? Well, most of them just don't even know these freelancers or marketplaces exist and they're also just used, they're not used to buying services from marketplaces like that. They're used to paying for in-house employees and salaries and healthcare and benefits if you're serving like local businesses and small businesses, which many of you are, right? And they're used to paying a lot more than $2,000 per head, right? And if you have a service that directly impacts the bottom line, they would gladly pay $2,000, okay? So how do you collect payment from clients? Question number three, we use Stripe and we use a payment processor with our bank. We also use a tool called Pandidoc to send out the agreements so that clients can sign and pay. Question number four, how much should I know about the service before selling? You should know exactly what service, the one service that you're selling, you should know the outcome and results that service gets and you should know the deliverables of what the client gets when they sign up for your service. That's what you should know at a very foundational level. And then question number five, do you need to build a team right away? No, you do not. I actually recommend you go out, you get some skills first, you put things into practice, you get your own clients, you get results for those clients, and then you can start to build a team around what works and what doesn't work, right? Take out all the stuff that doesn't work and hire out for the tasks that you don't want to keep doing over and over, but you already have a process for what works because you've proved it on your own, okay? So that's it for this Rapid Fire Q&A. If you guys like this, give it a like. If you have any other questions, make sure you comment below. If they're good questions, specific questions that I can actually answer and not just how do I start a business, I will get, I'll add them to the list and maybe we'll answer them in a future Rapid Fire Q&A here, okay? But I hope you guys like this video. If you guys want my ebook, Six Figure Drop Servicing where I dive into more detail around some of these things here, there's a link in the description below to get that. If not, no worries. I'll see you in the next video. Take care.