Hi, my name is Maggie and I'm a librarian at the University of Alabama. Today, we are going to cover how to use the basic search function in Scout. Scout is the university library search tool and locates resources in our collections, including books, e-books, journal articles, news articles, videos, and more. Start at the university library's homepage, lib.ua.edu. Scout can be found in the top right hand box next to the binoculars or under the drop-down menu research tools in the very top right hand corner. Once you have entered Scout, you will see a search bar at the top of the page. This is the basic search. Advanced search is covered in another video, which I will link below. In the basic search, you can search by keyword or by title or author if you already know what resource you want. I'm going to search for the University of Alabama using the keyword option. The results of the search are in the middle of the page. The column on the left side of the screen shows ways to limit the search, and the column on the right side provides options to further extend your search. Let's look at the results first. Each result is listed as a short record with some summarizing information, including the title, publication information, subject terms, and how to find the resource. This item, the University of Alabama, a guide to the campus and its architecture, is a book. We can see its call number, where in the library it's located, and if it's available for checkout. This journal article, getting around in a college town, a case study of transportation barriers faced by international students at the University of Alabama, can be downloaded from the link at the bottom of the short record, stating PDF full text. If you click on the title displayed in the short record, it will take you to a longer record page. This page usually has an abstract or summary of the resource and ways to save your search on the right column, including generating a citation, a permalink, or an option to email a link to yourself. If you click on results list at the top of the record, it will take you back to your search results. Because Scout searches the library's entire collection, it often returns a large amount of results. You can use the limiters on the left side of the page to help narrow down your results. I'm going to tell Scout to limit my results to ebooks, and I only want results published after 2015. You can also specify if you want sources in a specific language, produced by a certain publisher, or if it's a journal article to come from a certain publication. Scout searches the library's collections, which contains millions of items, but if you need to extend your search further, you can do so with the options in the right column. This column offers a few common alternative places to search, such as WorldCat, which will search other library's collections, HathiTrust, which contains many older or out-of-print resources, and ProQuest Dissertations and Theses, which is an international database of theses and dissertations. This column also has links to the University of Alabama Research Guides, which can help direct you to more specific databases and the librarian for your subject. If you want to keep a record of this specific search, you can click the share drop-down menu in the right corner of the results page. This gives you the option to create a permalink back to this results page or export your results through email, although I would suggest only doing that with fewer results. Remember to always use the permalink, both for sources and for saving your search, rather than the URL. If you have any questions about Scout or need further assistance, please don't hesitate to use our Ask a Librarian chat at ask.lib.ua.edu or contact the library. Thanks!


So how are you guys doing? Are you guys enjoying the conference? No, so I love botanical medicine. I've done a lot of research with botanicals. And this is going to be a little controversial. But let's get it rolling. We're going to go through a brief history of how botanical medicine can help you fight infections. We're going to talk about how we can take advantage of plants, but how we can abuse these plants, even though they are natural. And then we're going to kind of discuss like the future and some of the things that we can do with botanical medicine. So the significance of penicillin. Without penicillin, you probably wouldn't be here. Bacterial infections were awful. They were catastrophic. If you had a bacterial infection, you more than likely had a really good chance of dying. And we have grown up in an environment that this is no longer a problem. So because of penicillin, we have decrease death from infection. We have improved outcomes from surgery. And all of this happened from this dude Fleming. And it was an accident. Some mold grew in a petri dish. And all of a sudden, he saw that there was a clearing from bacteria around where that mold grew. And so we all know this story, but sometimes we forget about how difficult or how slowly science moves. And it wasn't just a one-person effort that had a mistake and ended up creating this revolutionary technology. It was the work of people like Chain and Flory. Chain developed the technology that allowed us to isolate and stabilize and produce penicillin. And without those names, we wouldn't be here. And the theme at this conference, every time we talk about mankind, we should also talk about womankind. And without the work of the penicillin girls, people like Flory who directed the clinical trials to prove that penicillin was effective. People like Jennings who helped to discover how toxic penicillin was, and Hodgkins who discovered the actual structure of penicillin. Without these people, we wouldn't be here. Imagine you get an infection. You get maybe a sore throat or something along those lines. And all of a sudden, you have a 33% chance of dying. After the advent of penicillin, now we have a 4% chance of dying. So this little molecule changed the history of the world. The problem is that this little molecule worked too well. And we started abusing it. And now we're faced with this incremental growth in the development of resistant bacteria to antibiotics. And everyone in this room has heard the arguments about how we shouldn't be using antibiotics to treat things like viral infections or anything in that matter. From the 1980s to 2010, the production of new antibiotics to fight this resistant bacteria has decreased. In 2010, only around the number of new antibiotics continues to decrease. The last new antibiotic that was created or discovered is an antibiotic called Theobaxon. And that was in 2014, if I remember correctly. And the resistant bacteria is not stopping. It continues to increase. Now we have heard about things like heart disease or diabetes. We've heard about cancer. By 2050, the number one reason for people dying is going to be bacterial resistance. So this is a very important topic. Are we going to go back to that 33%? So I don't want to be old doom and gloom. And I do want to talk a little bit about the different mechanisms of action of the different antibiotics. Very well understood. Some antibiotics destroy the cell membrane or the cell wall of the bacteria. Others directly affect the DNA. Others kind of destroy proteins. And all of these things are very well understood. And what we don't understand is how the botanicals work. Now we know through traditional medicine and traditional knowledge that they do work. And what my lab wanted to do is we wanted to prove beyond tradition that these things were actually working. So we need to compare them to something that is already established. So let's compare botanicals to things like vancomycin. So you can see in the Stapococcus aureus model, this graph shows that as you increase the dose of vanco, you decrease the number of colonies that are being formed. So that means it works. You use a little bit, not a lot of dye.  So we needed to find things that worked like vanco. So things like botanicals also had a dose-response curve. So this is no treatment. Bacteria grows on its own. You add a little bit of treatment, and you see a decrease in the bacteria, and then it picks back up. You add more, and then you add more. And the more you add, then the botanical actually destroys the bacteria. That's awesome. So guess what I've got? Botanicals do work. So if you compare them to vancomycin, they're pretty equal.  And it turns out that some botanicals don't work. And if you know a little bit about botanical medicine, you might notice that things like chisandra, and echinacea, they're used for autoimmune regulation. They're called the adaptogens. So guess what? Yeah, we expected these guys not to work. But we did find a ton of botanicals that have antibacterial activity. In fact, we published this research. And you can find it on PubMed. You can email me. I can give you the paper. And we completely, it's peer reviewed. Botanicals do have some activity against bacteria. But what happens when you have a botanical and you get like a sinus infection and you go to the doctor and the doctor kind of thinks that it's viral, but they give you the antibiotic, viral infection, it's over in like five days. So you only take it for two days. You start feeling better. And now you're exposing bacteria to sub-clinical, sub-lethal doses of this antibiotic. And then something really weird happens, evolution. And bacteria become resistant to this antibiotics. And you know, we know the story. Now, what happens if we take botanicals and we add sub-lethal doses of botanicals to that bacteria, would they create resistance? So we know of four different botanicals that were super effective and we wanted to test this hypothesis. So we started treating these botanicals with low doses of tinctures. So day one, you expose it to a sub-lethal dose. And you know, most of the bacteria regresses and dies. By day 15, we saw a 7.5-fold increase in resistance to that botanical.  Now, we do have four different botanicals that we were able to predictively increase the resistant, that bacteria we would be, we were able to create bacteria that were resistant to them. And this is not really bad news because we can always take lemons and make lemonade. So we ran a series of experiments with diffusion discs. Now, when you have a diffusion disc, this diffusion disc is saturated with antibiotic. And when you put it in the media with the bacteria, that zone that is where the bacteria didn't grow, the bacteria couldn't resist the antibiotic and couldn't go closer towards that center. You can see different antibiotics have different zones of inhibition. When we, this is the original bacterium, after we exposed it to the botanical, you can see how the zones of inhibition re-correst. Okay, what we did is we took antibiotics with known mechanisms of action and we exposed them to the resistant bacteria. Now, follow me. This bacteria were made resistant to botanicals. When you create that resistant to botanicals, you also create resistance to actual antibiotics. And now we know how those botanicals work. So that was quite exciting because this is bacteria that was resistant to botanicals and now they were resistant to things like Cipro and penicillin. You can see the zone of inhibition, the resistant bacteria had a smaller zone of inhibition. And you can get the paper where we publish all of our results at the Journal of Evolution and Health. And that's the journal that runs this conference. And if you want this paper is completely free. If you don't want to bother Googling, send me an email, I'll send it to you. So this diffusion disc assay gave us pretty cool information because some botanicals were resistant to one type of antibiotics. As you can see right here, this particular resistant bacteria that was created using a certain botanical was only resistant to penicillin, but not Cipro. So they were so specific. They weren't creating these very fancy ways of eliminating this antibiotic resistance. So botanical A and botanical B created resistance, but not always to multiple mechanisms of action. So we decided, you know, the hypothesis was, well, this extract must be creating some sort of beta-lactam-like structure. And we decided to test this. Now, beta-lactam's sort of funny because that's what Fleming found in penicillin. And before Fleming, nature was already making it some beta-lactams.  But then you put something called beta-lactamase. And anything that ends with A is an enzyme that degrades something. So this enzyme degrades the beta-lactam. And you can see the more beta-lactamase that we added, the more we were able to kill the bacteria. Or sorry, the more the bacteria was able to survive this botanical. What about the opposite? You know, because what this bacteria, the way they develop resistance, the way they evolve is by creating this little enzyme. So we basically taught the bacteria how to create this beta-lactamase. So what if we take this resistant bacteria and then we add the botanical plus something that fights beta-lactamase, this enzyme. So clavulonic acid is this type of enzyme that destroys the beta-lactamase. It's a competitor. And if you ever heard of the antibiotic augmentin, augmentin is basically penicillin plus clavulonic acid.  Resistance went away. So this was really good information saying, you know, this thing is behaving like a beta-lactam. So what if we put all of this botanical into an ELISA and try to see how specific this structure is? Is it really a structure that is very similar to a beta-lactam? Sure enough, Extrict A had, you know, some level of this beta-lactam activity and Extrict B had some levels of beta-lactam. So we know that the beta-lactam's work by inhibiting the cell structure, breaking down the cell structure. The funny part is that Extrict A, even though it had less beta-lactam, it was about 8,000 times more effective at destroying bacteria than penicillin. So we are, these plants are making these little things that behave like penicillin, but are better.  So you have to create this in dodging the centimicrobials. And through millions of years, this centimicrobials are pretty darn effective. And that's without even talking about all of the different phytochemicals within the plant that might work in synergy to help this penicillin-like substances work even better. But what about, you know, the other type of extracts that didn't have beta-lactam-lactam activity? Well, those we decided, you know, let's try to see if they work as Cipro as a quinolone. So we did this gels and the way that gyrus inhibitors or the way that Cipro works, it goes into your DNA and kind of prevents your DNA from, like, expanding and it tangles it and it breaks it. So you can see if Cipro right here. You can see how we increase the dosis. The negative shows that the gyrus didn't work. And, sorry, the negative shows that the gyrus was working and the positive that, no, the negative shows that the gyrus was inhibited, the positive shows that the gyrus worked. So the gyrus expands the DNA, so it's like if I had a bag, if there wasn't any gyrase, it would stay all bunched up and I could throw it across the room. If the gyrus worked, then it would be inflated and I couldn't throw it. So those dependent, you know, the more Cipro that you added, the more inhibition of gyrase. So when you have our control, astragalus, astragalus doesn't work. We know that, that's not an antimicrobial. Extract C and extract D had those dependence. The more extract you use, the more you inhibit the gyrase. Those two extracts worked just like Cipro. So now we have these two different kinds of botanicals that we can categorize into different mechanisms of action. So we have beta-lactam, extract A and extract B working more as a penicillin-like compound and then you have extract C and D working at the nucleus to prevent DNA replication. So that's pretty cool. Now we have these botanicals that we know are working and we can use them to treat dysbiosis or to treat things like bacterial infections and that's super cool. But what happens when these botanicals are working like Cipro? Who would take Cipro in this room? Have you guys ever heard about Cipro in tearing your Achilles tendon? These botanicals are working just like Cipro. We need to be very careful with how we dose botanicals, with how we prepare botanicals, when we use botanicals, because within botanical medicine, a lot of these botanicals have different things that they can do for you. You can take something that is going to be, that is gonna help you with your lymph flow and it's gonna reverse diabetes and it's going to be antimicrobial. How can we be super specific and use the right botanical for your disease process? So that's very scary and I don't want to, but I'm gonna give you something right now. So if you ever taken Cipro or if you are prescribed Cipro, there's this study where they took dogs and they chelated their magnesium and the incidence of Achilles tendon stairs skyrocketed. But with dogs that had good magnesium status, no problem. Now the problem is that magnesium actually binds to the quinolone-like structure and renders it inactive. So it's not like you can say here's your Cipro and here's your magnesium because it won't work. So it's not just supplementing, it's more about having good magnesium status. I was at the American Association of naturopathic physicians and we were discussing this nuances and someone said, well, maybe we need to prescribe, whenever we prescribe Cipro, we should prescribe magnesium, much like when we prescribe antibiotics, we prescribe probiotics. But then Cipro and magnesium don't play well together. So maybe doing topical magnesium would be a good idea so they're not competing in the intestinal tract. We don't know, this is not being studied and there's a lot of people that suffer from Cipro toxicity. So that's cool and all, but let's make some lemonade. There are chemotherapeutic agents that work at the gyrase level, just like Cipro. You know, Dr. Rubison works on topoisomerase two and then some others work on topoisomerase one. So what if we tested these botanicals to see if they had different levels of activity to different types of gyrases or topoisomerases? Wouldn't that be cool if these botanicals could have all these different uses? So again, this is for topo two, you can see that extract C and extract D work better than Cipro, that's the topo two well-established treatment. But extract C and extract D also worked on topo one where Cipro didn't work. And extract C and D had both topo four activity and topo two activity where extract C just inhibited topo one, so it was more specific. So now we have identified botanicals that not only have a potential against bacteria, but if we are able to maybe isolate the compound or maybe create a little bit more evidence or research behind it, maybe we have other options to these chemotherapeutic agents. And because they are different and maybe different enough, maybe we can evade this problem of resistance. So that's a pretty cool hypothesis, isn't it? Well, we tested it. So you can see right here that this is cancer cells that are proliferating without being stopped and that's as stragglers are controlled, but when you use either of the extracts, you can see as the more extracts you add to this cervical cancer cells, those cells begin to apoptose and you prevent the growth of the cells and this is just using botanicals. What about pancreatic cancer? Well, pancreatic cancer, same thing, those dependence, as stragglers are controlled, and the more botanical that you add to the cells, those cells begin to apoptose. So this is to show that these botanical preparations are very, very powerful and we need to be careful when we use them with the spansum and we try to treat ourselves. So in conclusion, botanical medicine can be a really good gateway or a really good way of preventing this 2050 epidemic of bacterial resistance, but just like we made a huge mistake with the overuse of regular antibiotics, we need to make sure that we're really judicious and we really respect the power of botanical medicine. Additionally, we need to continue looking at traditional medicine. None of this research would have been done if we didn't have the oral tradition of having learned from different grandmas and grandpas that if you use these different herbs, you could cure infection. Where do you start in any other situation? If we want to fight something like Zika, how do we even begin to test plants if we don't have at least a blueprint? And then secondly, make sure we test this blueprint and we're open to finding out that maybe we're wrong about certain things. And then finally, being very careful that if you're using a botanical for a certain thing, you're doing it at the right dose for the right amount of time and using the right preparation. And by doing those things, then you can prevent the spread of bacterial resistance or the bad things that can happen from the overuse of antibiotics. Do you guys have any questions? Thank you so much. Oh, you're welcome. For presenting very nice work.  Me too. Of course not, no. But my concern would be who are there any agencies that regulate which botanicals go to the market and how they're being used? Because there are a lot of products and they're over the counter. And I think that is a big part of the misuse of botanicals because most people don't refer to specialists to use them. It's beyond over the counter. I can walk outside and I find, I've been looking at all the plants and I can make medicine just from like the different weeds that I can find right here. So it's beyond over the counter. It's like, but it's cool. You know, it's like this kind of like markets approach. You know, it's like everyone has access to this medicine. The cool thing is that evolution and entropy have given us a couple of like safeguards. In order for medicine, botanical medicine to be effective, you have to be very specific with the way you extract it. So there are some medications that like, for example, if you use the fresh plant, have no antibacterial activity. And we're running this experiments with this extracts and then all of a sudden they stop working and we're like, what's going on? And what happened is that the place where we were getting those botanical extractions thought, oh, fresh is going to be stronger. So they went from dry to fresh and all the antibacterial activity went away. So you have to have purpose. For example, a lot of the carbonate herbs that we use, things for indigestion or things that we use as spices. They happen to have really good activity like oregano and things like that. But if you use them to spice your food, they might not. So there has to be some purpose. As of who's regulating this? No one, no one. And that's why I want to talk about this at this level because we need to respect mother nature. And sometimes we think, oh, it's natural. I won't take Cipro, but would you take this medicine? Oh, yeah, totally, it's natural. Yeah, I'll take that. So thank you. You're welcome. So a new study, a new field because of legalization of cannabinoids, it's anecdotal, but there's stories of cannabinoids being used to cure MRSA infections. Even stories where friends sneak CBD oil into the hospital, they seriously infected MRSA's patient and the patient becomes cured. Do you have any testing of the cannabinoids? So every time we present something along the lines of resistance or bacterial resistance, someone says, have you tried allium? Or have you tried, and it was like, well, no, but maybe, yeah, and yeah, so all of these plants have multiple mechanisms of action. At the beginning of the presentation, the ones that we actually characterized as having activity, there are a bunch of them actually. I think nine of them had pretty good activity that is comparable to vancomycin, okay? Of those nine, only four, we were able to decipher the actual way they work. So the other five, we don't know. We might have a completely new class of antimicrobial. Same thing with things like CBD and things like that. Now, we focused on those four, what A, because we're lazy and I knew that the mechanism was that and that we could prove it, and B, because we were interested in having a very specific mechanism, like we didn't want something that just destroyed the cell. So like, bleach kills MRSA, but we want something that is a little bit more surgical. And we're still working on trying to figure out how to understand how they work. Another thing with piggybacking on your question, we're in a really weird situation with cannabis and CBD and stuff like that, because there are no grants and the government is not allowing people to study it. So we're turning to Dr. Google and all these people trying to legalize and I don't have a dog in that fight, but I do believe that when everything is said and done, a lot of these claims are going to be, we're overselling it. I could be completely wrong and I hope I am, but we need to be very careful with how we promote cannabis. Let's research it, let's study it, let's see it, let's see hard evidence. And in the end, that's going to be way better because we're creating this super big monster that is going to be deflated with a pen, so. Totally, so we can't study it. So you have one side yelling, it's the end all cure all and then on the other side they're like, it's not and we're not going to study it, so. Hi, very good lecture. Being a conventionally trained practitioner and also going through IFM, we learn a little bit about antimicrobial botanicals but not nearly enough. And I'm just curious if you would know of the best source, like I know there's the natural medicine database, but what would be a source for a practitioner or somebody just to be able to be more careful and judiciously use these, which I know we don't know. Yeah, so there's really good studies out there on a couple of botanical products that work as well as refactamine that are being used for things like SIBO and dysbiosis. Those are, you know, that's about it. You know, we also have a paper that talks about like standardization of botanicals and there's no way to standardize botanicals.   Oh, she's also using oregano. Is that, you know, is cool. You know, oregano has really good antimicrobial properties. Do we really want to use oregano oil long-term?  No, you know, we wouldn't have the same reaction. And we really need to focus and we really need to, you know, ask people and ask practitioners and health coaches and anyone in the trenches that we need to respect this antimicrobial properties. So if these botanicals are using similar pathways and mechanisms of actions as the antimicrobials, the traditional ones, how's that going to prevent the crisis in 2050? Excellent question. So let's say I'm able to categorize or identify the mechanism of action of those nine drugs. And out of those nine drugs, four of them have completely, you know, different mechanisms of action.  Right now, the way we make botanical formulations, it's like we walk into the store and we're like, I'll take you and I'll take you and I'll take you. So we can use evolutionary medicine and not use plans that are closely related and kind of hypothesize that they're going to have different mechanisms of action. And if we understand each different mechanism of action, now we can create cocktails with different mechanisms of action. And then we can add things like echinacea.  And now we can create this little cocktail of different mechanisms with synergism that I can make right now without having to go through the FDA and do all this approval. Because this is traditional medicine, this is how we do things. So understanding these mechanisms, knowing how they are working, you know, are there herbs that are ineffective against gram-negative bacteria? We don't know. Are there herbs that are effective at, you know, at maybe they're good antivirals, but not against, you know, this type, you know, we don't know. So if we identify all of this and we can use all these recipes and all these rubrics to create things and by using them at the right dosage for the appropriate amount of time, then we can destroy even things like MRSA. First of all, every time I spend with you, I love you more and more. Thank you for that incredible talk. I also, you know, want to say that I really appreciate your cautioning about using some of this stuff because I went holistic right out of the gates when I was diagnosed with MS in 1986, started using essential oils, which I, you know, didn't really have problems with, but I started ingesting echinacea and things like that, which were not good for me with MS. Like echinacea actually did the reverse. It didn't really help me, you know, and I was doing a lot of herbal teas that was really not helpful. So I never really thought about the power. I mean, I was hopeful that this herb would help me, but I didn't realize that doing something wrong could also hurt me, even though Mother Nature provides, you know. And then finally, I have to make a comment about cannabis and CBD. I've used cannabis for the treatment of MS for over 32 years. I use cannabis every day. It is a big part of the work that I do in the community. And I can tell you that not only do I see people with MS like myself who had involuntary jumping of their limbs and their body that it completely heals in a second. I've seen people use cannabis for three days that are in a wheelchair, get up and take four steps they haven't taken in years, and that's the only change. So I don't think there's gonna be a bubble in the cannabis movement, I have to say. And CBD, I can also tell you that mothers, when mothers knock down my door to tell me how CBD has stopped seizures in their children to adult sons as high as 47 years old, I really believe that again, these are powerful gifts for Mother Nature and they're doing amazing things. And maybe, you know, cannabis and MS, there's a marriage there. We need to study it.  So, and sadly I took 10 doses of Cipro, 14 day intervenance of Ancomycin and Amoxicillin and that's what my MS doctors treated me with. So, and that's why we need to put research into it. Like it, yeah. Just a quick comment. As a child, if this is going to be a bizarre story, but my mother put cabbage juice in my ears almost daily in the summertime. So she would collect cabbage and she would scrape it and she would pull cabbage juice in my ears because we were in the water all the time and she didn't want us to get infected so to solve her property is a cabbage. The drugs that I can't take now is the sulfidy. And I also developed a severe allergy, like terrible allergy to eggs, I feel terrible. But I just asked, as I hear your speech, it just made me think, did my mother program a sulfur? I think it would be a cabbage patch.  So, yeah, but maybe there was some immune training and maybe it was like, what's this cabbage juice? Let's attack it and now you have a sulfur. You know, completely plausible. Yeah.


if you can be here, being aware of life and death at the same time. Because both are here at the same time. They are not two separate things. That's all it is. That's for a child. But at the same time, it's so study. These are one inside the other. Life is all packed like this. Creation and the creator, life and death, everything packed one inside the other. It takes attention. It takes lot of attention if one has to see what it is.  If you do not know life and death at the same time, you know only one half of life.  So when we say Shiva, we uttering this so that this dimension of life and death being together at the same time happens to you. That the polarities are gone. There is no life and death. That is just this. For this, there is no name yet. Because if you give it a name, somebody will invent the opposite. It's just this. But there is that. There is no that. There is just this. There is no this and that. There is just this and this. There is no yes and no. There is just yes and yes. If you want to see, every aspect of life has this. If you want to fall in love, if you are in love, love does not need polarities. Love does not need an opposite. Because for most people, love starts in their heart and sinks into their genital and opposite is needed. For sexuality, you need the opposite. For love, you don't need the opposite. What you thought is you and something has become just this. For example, on many levels, starting in the yogic terminology, if you want to look at it, starting from the Mooladhara, where it is about food and sleep. There is that and this.  Now, you are mentally alert, you are looking at things, there is you and the other. If you fall asleep, that is just this. There is no this and that. So this is on all levels. If it happens in the lowest chakra, low is not the word. When I say low, we are not talking high and low, we are talking geographically. Sadranchakra. When it happens at the Mooladhara, it happens as food and sleep, but the same unity. If it happens at Swadhisthana, it happens as sexuality, but the same unity. If it happens at Manipuraka, it finds expression as ambition, greed, conquest, but the same thing. If it happens at Anahata, it happens as love, but the same thing. But now, from Mooladhara to Anahata, you have natural access. You are naturally capable of these things. Even a child is capable of this, even a dog is capable of this. He can ingest, digest and assimilate. He has a sexuality. We have already looked at this, looked at this, dogs are loving for sure. We don't know about God. We are not so sure about the human beings, but dogs we are dead certain. Yes? Yes or no? There is no question about dog's love. God's love, we don't know. Man's love, woman's love, we're not sure. Sometimes it looks real, sometimes we don't know. Dog's love, dead certain we are. So, from Mooladhara to Anahata, it's open to every creature, actually. This comes naturally. This is a gift from nature. But if you want to go beyond this, if you want to know the union that the Vishuddhi brings about, the union that the Agna brings about, the highest possible union that can happen at Sahasrara, this will not happen unless you strive for it. If you want to live here, there is just another creature on this planet. Nothing wrong. There's absolutely nothing wrong. When I say a cow, a dog, an elephant, a snake, I am not speaking in any derogatory term. I know it's a very derogatory thing to say you're a dog. I don't know why. They are more steady, more people trust dogs than human beings and the numbers are increasing by the day.  So I am not speaking of these creatures as in any derogatory sense, but limited for sure. Isn't it? The possibilities of life are limited in these forms. We are just talking about boundaries because the basic concern of a human being is to go beyond his boundaries always. So if you want to go beyond these four levels of union that one can know, then it needs a little more awareness, a little more devotion, a little more push.      It is just that they have moved their life from simple one plus one equals two to a different kind of arithmetic within themselves where there is no plus or minus, it's just one, always one. You must understand without one there is no number system, just always one. If you know union and the level of your Vishuddhi, this is what happens, tremendous sense of power because this union is a different kind. If the union is on the level of Agna, then this brings absolute awareness and knowing.  You've heard of Adi Shankara. This is the most argumentative Indian ever. He went about walking across the land looking for arguments, such unbeatable logic. People were defeated and defeated and defeated in hordes. All kinds of people came to argue with him. Whoever argued with him, they're bound to lose because there is nobody else with that kind of logic because a certain union that you have experienced in the Agna gives you a completely different kind of logic. If you're energies, if you find union at your sahasrara, you're ecstatic beyond anything that you know. Shankara used to be like this, he was so argumentative and defeating people all the time in his arguments, every day picking up arguments with all kinds of people. But suddenly he would go into a temple and weep and dance like a madman. People would be shocked. We thought you are a man of reason. What are you crying? Like this. Like those buffoons who call themselves devotees, like them you're crying. We thought you are a man of true intellect, he would say. That's for the world. My logic is for the world. This is for me. So this is a simple step one needs to take. In your awareness, if life and death are at the same time, if they are not two separate things, then you have set the fundamentals for the highest union possible. You got the right foundation.  You are on a very wrong foundation. You're on an extremely wrong foundation. The more you build on this wrong foundation, the more you're asking for a disaster. Suppose we made a mistake with the foundation. The best is to build a minimum possible building, isn't it? Suppose we've done a mistake with the foundation work, even in a construction site, the best thing is to build a minimum possible building. The more you build, the more you're putting yourself to risk. That is why they talked so much about renunciation. Because they said you got a wrong foundation, don't build too much. The more you build further away from truth, you will go, keep it minimum. Because the foundation is wrong, till you fix that, don't build too much.


What about like the singing aspect of things? How did you get into that? Well, singing I've always loved ever since I was little. I know that I've always had trouble with loud noises. Whenever, I don't know, I have to think about all the loud noises I hated. I hated anything that was loud, especially when we have fire drills in school. Oh, I hate that. Terrible. Spotlights, like the lighting for performances and stuff.  And I think that's when I realized I want to become a singer. I told my mom, mommy, I want to sing. And but no one ever heard, well no one actually ever heard me sing because I was really really shy. So no one really heard me sing until I was in high school until because for pageants you have to have a talent. So that was the first time my mom actually heard me sing. And I'm still doing it now. I just got accepted into Juilliard for the vocal arts and vocal training. And I'm learning how to become an opera singer. That is absolutely amazing. I actually, of course I have a grandmother, but I was quite close to my grandmother called Nana. She's at the moment, she's got a diagnosis of Alzheimer's recently. So obviously our relationships changed. I love her and stuff. And you know, I go see her and, you know, I still have that kind of good connection with her. But I remember whenever she would like take me to school when I because I struggled a lot with getting the bus to school because there were particular people on there harassing me or bullying me. And it was very noisy. And very, you know, sort of difficult for me to handle in the morning. So she'd sometimes she'd take me to school in the car and we'd listen to like an opera singer. I can't remember what his name is, but I think he's a very famous opera singer. Which one? I think I know who it is. Go for it. Go with some names. I can't remember the actual name because I'm not very good with names, but hit me. Okay, wait. I'm sorry. I zoned out. Is it a man or a woman? A man. A man. Okay, Andrea Buccelli. The most famous one ever. My grandma loves Andrea Buccelli. Yeah. I think in my head, I'm the, my thoughts are kind of being muddied by, I don't know if you have them in the UK, but we have like go compare ads. And there's this guy with this really zigzaggy mustache who always does like adverts. And he does like a YouTube just popping on to say, if you have enjoyed this podcast clip so far, why not check out the full episode which you can find on my YouTube channel on Spotify, Google, Apple, pretty much anywhere that you would want to find it. And if you have enjoyed this, please make sure to like, drop me a subscribe if you want to see more stuff from me and drop a comment down below because it really does help with the algorithm. Other than that, you can check out my Instagram, which is in the link tree down below in all of my videos. There's daily blogs, weekly updates on the podcast and lots of other stuff that you won't find here on YouTube. I hope you've enjoyed this clip and I'll let you get back to it. Do you have that as well? Wait, no, I'm just thinking of the mustache. Yeah. Matt Berry. Maybe, maybe. But he does sort of commercials in the UK. And I found them really funny, but I think most people find them quite annoying. But no, he's never annoying. He's my favorite. But opera's like, it's something that I've always wanted to go to go see. I haven't been to an opera house before or anything like that. But I think there's a really interesting point there because I know that a lot of autistic people sort of do to our pattern recognition skills due to our sensory differences. We tend to have some skills like when it comes to like pitch, like having like perfect pitch or noticing when the pitch isn't very good. That's what all my teachers said that I had perfect pitch. Wow. I'll have to check out. Do you have any of your like opera performances online? I don't think so. I have a lot of videos of me singing the national anthem though and it's all in the opera style. It's all on YouTube. I really need more singing videos of me. I have to tell my mom to record my latest performances. Yeah, yeah. I'd really be cool to listen. I do have a lot of performances coming up. I will be singing two songs in Canada, not opera songs. They're more pop and country songs, which is what they requested of me because everyone in Canada likes country for some reason. Really? Yeah, I don't know why, but it's a challenge. I always like a challenge and then I will be singing in an epic players showcase and I'll be singing a musical theater song. So I got to get those recorded. Definitely, definitely. That's awesome. Yeah, I knew that you did your singing, but opera singing is so cool. You know, you have like movie representations of a singer when they get like the really high pitch note and they like shatter the glass and stuff like that. Oh, and I have a showcase for school coming up soon, so that will be opera. Cool. Is that for the school that you were mentioning about like the vocal lessons and stuff? Yes, we have a showcase at the end of April, so I will definitely be singing opera there.


Okay, welcome to the talk, Free Software for the Machine by Keith Packard, well-known for his work on the X-Windows system. And this is about something else that he's working on since two years at HP. And welcome. There will be a 10-minute Q&A at the end, and please wait for the microphone. Thanks. Is that working? Yes. Good afternoon. Thanks for staying late at Faustem on Sunday afternoon. I'm sure we're all very tired and ready to go home. I want to talk to you today about the operating system and other software that we put on some new interesting hardware. I have a couple slides on the hardware. I have extensive additional presentations online. If you want to go learn more about the machine hardware, today I do want to focus on just the software aspects. As he said, there'll be time for questions, but if you have questions in the middle of the talk, feel free to raise your hand and we'll see if we can't get them introduced during the presentation as well. So the machine is all about a new concept in computing called memory-driven computing. Existing computers are very much centered on the central processing unit that CPU ends up gating a lot of the communication between various components, and it ends up being a tremendous bottleneck when you're trying to move large amounts of data. In classical computing, you have an application. How do you communicate with data? How do you talk to your data store where you go through the operating system? You have file systems, you have disk drivers, you have block buffers, you have the page cache, and you have a lot of distance between your application and its data. In memory-driven computing, we're trying to collapse the storage hierarchy and getting the operating system out of the loop and having your application communicate directly with the underlying store. Now, that's a byte-addressable memory store. You can get those in the way of DDRT or NVM memories. The DAC subsystem in Linux is all designed to talk to this. So we're starting to get to small systems with memory-driven computing, but where the machine is trying to go is it's trying to take memory-driven computing from a single computer and constructing an entire machine room full of computers, all of whom can be interconnected at the memory level.  Fast and persistent memory. If you want to be able to get at your store at CPU speeds and you want that store to be the final resting place of your data, it needs to be fast and it needs to be persistent.  We have HPE's memrister technology. We have Western Digital's Reram. We have Intel 3D Crosspoint. We have IBM's Spintorque Transfer Memories. All of these technologies, we hope, are coming soon to give you this fast, persistent memory which will enable a new generation of application design systems called memory-driven computing. You need a fast memory fabric. Right now, the only way that the CPU can talk to memory is through its DDR bus. That really limits how much memory a single CPU can talk to. By replacing the memory interconnecting your system, you can dramatically increase the scope of memory that you can attach to your computer. I'm going to talk about a new memory interconnect that we worked on for the machine and the technology which is being evaluated by a new consortium that's building a new memory interconnect. The fabric turns out to be the interesting part of the machine in almost all ways. It offers this tremendously broad reach to a huge amount of memory. One of the other interesting aspects of memory-driven computing is the notion that a single kind of general purpose computer is not going to be the best thing for doing all of your computation. People are already noticing that in a lot of neural network applications and other machine learning applications. We have people using GPUs now. GPUs are terrible at general purpose computation, but they're great at very specific computations. The world of memory-driven computing, what we want to do is we want to unleash that capacity to plug in different computational elements into the same memory fabric. We want to be able to have all of your computational elements applied directly to the memory. Of course, we're at a software conference. One of the things that memory-driven computing is a full employment act for software developers because to do effective memory-driven computing, you're going to need a lot of new software to take advantage of the close coupling between the application and the store. A lot of it is very vastly simpler software, as you'll see in the presentation here today, but it's very different and it takes a lot of new time and ideas. Here's the machine that we built, a very simple sketch. It's a homogeneous collection of different nodes of computation. You can see in the blue a little Linux computer with DRAM and SOC. Literally, there are four different Linux operating systems running on this slide right here. All those Linux computers are connected into this fabric, so they each have a communication channel into the fabric of memory called a fabric switch. Connected to that fabric switch, nearby each computer is a collection of fabric-attached memory for the machine prototype because we don't have this fast persistent memory available to us today. We've connected DRAM. It turns out that when you put 320 terabytes of DRAM in a single rack, the cooling challenge is kind of daunting. What I didn't bring was the pictures of the team actually doing the development on the hardware, and they all have ear plugs in their ears and headphones on in order to reduce the noise of the fans that are cooling the hardware. It turns out that DRAM is really not going to scale, mostly because to save data in DRAM, you have to have the power turned on. Whereas with our fast persistent memory, to save the memory, you don't need any power at all. Fast persistent memory offers two tremendous benefits for computing at scale.  So your power consumption now scales at the amount of data you're accessing, not the amount of data you're storing. So that's a simple schematic of what we've built. Here's a single node, a little more detail. Within that computing node, you have a little DRAM in an SOC that runs Linux, and then you have some new interconnect technology called our Next Generation Memory Interconnect, and this particular system that connects that into the fabric. Because these are separate Linux computers, they're actually running different operating systems. The protection domain between the application and the memory now needs to be underneath the operating system. The operating system is no longer in the privileged place of providing all the access control to your storage. So we've inserted into the bus system an access control technology, just a little firewall between the operating system and the hardware itself. So there's a hardware firewall. Also, we need some address mapping. The poor little SOC that we put in this thing does not have enough physical address bits to address all the memory in the machine. The instance that we've constructed will address up to 320 terabytes of memory, which requires 49 bits of addressing. The largest SOCs that we can purchase today that we look to evaluate today only offer 48 bits. The particular SOC we've used only offers 44 bits. So here we have another case where we need another addressing in direction between the application physical addresses and the hardware because the addressing of the SOC is not large enough. So we've had to put address translation in. That turns out to be kind of a performance cliff because when you change the physical addressing of the SOC, all of your caches in the SOC are physically tagged, which is to say every cache line in that SOC has a physical address associated with it. So if you're going to remap the physical addresses underneath the SOC, you have to flush the entire cache. Modern SOCs hate that. It takes a long time to flush the cache. And you can see here that the memory complex is represented as a single block here where the SOC has access to the entire fabric. So every SOC in the machine has byte level load store access to every byte of memory in the fabric. We put a machine in a single rack right now which means that every SOC can talk to up to 320 terabytes of memory. That new interconnect technology has led to HP helping found and joined a new consortium called GenZ. It's a new data access technology. So this is a data access technology that's designed to replace all of the interconnects within your computer. So the PCIs, the DDRs, and other interconnects within your computer, QPI's, you could replace all of that with a single homogeneous fabric. And that means that you can interconnect many SOCs and a lot of memory together. DDRT is a great technology. It served us very well. But it is strictly point to point to the SOC and a selection of DRAM. The wires have to be short. The signal tolerances are very tight which means that you can't plug in very much memory. If you look at what the maximum memory you can plug into a typical processor, it's maybe a terabyte, maybe two, maybe 10. HPE makes a machine right now that offers up to 24 terabytes of memory. The way that we do that is by interconnecting SOCs that are each talking to their own DDR memory. So the access latency between an SOC and memory depends upon how many SOCs and how much interconnect space there is. So by using a homogeneous fabric, we can flatten the access times for memory across the entire fabric. The GenZ is a consortium. Working on this technology, they haven't released any particular hardware yet. We're working with a bunch of industry leaders, partners to develop this new interconnect technology that's going to lead to being able to deliver memory-driven computing. So let's talk about the software on the machine. When we started the machine program, the research OS people were very excited. They said, oh, new hardware, you must need a new operating system. And then we went out and talked to our partners who wanted to develop applications, and they're like, no, you don't get to do an operating system. At least give us Linux so that we can try it out. And of course, the Linux group at HPE was very excited because it's the opportunity to do fun, new work in Linux. So we built a collection of software, collectively known as the machine distribution, a piece of which is Linux for the machine. And within that software framework, there's a bunch of new APIs for applications to talk to, which I'll talk about in a minute. And then there's the basic node operating system. And off to the side, there's another piece of hardware called the Top of Rack Management Server that runs additional global services, one of which is the librarian that I'm talking about. And drilling down a little deeper to look at just a piece of software called Linux for the machine, here's the software that we built that runs Linux on an individual node. You can see within Linux user space we have a bunch of new libraries, we have some additional atomic access, we have some additional... we have the standard POSIX APIs, and we have an additional library for managing this caching issues because of the memory fabric. It's not cache-coherent. We're using the PMEM name here is actually from PMEM.io, which is a collection of people working on NVM APIs. One of the things they've added to that is the ability to persist memory operations. So you do a store, well, a store is going to go into your cache.  And so this PMEM library offers an API for that. We have extended that to the library to the ability to invalidate cache lines as well. Because the memory fabric is going to span many, many machines with a lot of memory, right now the current memory fabric that we've implemented for the machine is not cache-coherent across machines, which is to say if I want to communicate a byte store from one machine to another, I have to store the data into memory with a regular store instruction, I have to flush the cache with a regular CL flush instruction, and on the other end I have to invalidate the cache and then read the data. The PMEM library encapsulates all that in a nice little API so you don't have to know what process you're running on. Within the kernel we've added a bunch of new drivers, because we like to hack in the kernel. There's the Atomics driver, which lets you do atomic operations to the fabric memory without doing all the cache manipulation, it does it all for you. There's the cache flush support that I talked about in order to flush the caches, and then there's the new file system. When we started the program a couple of years ago, the researchers came up and said, what we want is we want to be able to manage the storage in the machine, we want to be able to provide collections of blocks of memory, we want to be able to provide naming and access control. So we've invented this new API that's going to do all the storage management for us. And the Linux team looked at it and said, you've invented a file system API, we have those already. How about this nice POSIX file system API and the nice existing VFS layer in the kernel? And they were like, huh, that kind of does look the same. Yeah. Researchers, you know. They think they invent something new and what they've done is reinvent UNIX yet again. So we created a file system to manage the storage, the bulk storage of data within the machine. We call it a librarian, and the reason for that particular name is, well, the bulk storage management within the machine manages a collection of pages and what do you call a collection of pages? Well, it's a book, right? A collection of pages is a book. So we have a collection, we have a book and the granularity, the storage granularity within the machine, each book is eight gigabytes of memory. So that's your block size in your file system is the small little eight gigabyte chunks. And when you manage a collection of books, well, you manage them in a library, right? So that's why we call it a librarian. And kind of in between books and the library is a collection of books as a shelf. And so it turns out that, unfortunately, the least usefully named thing within our little world is the shelf, which turns out to be the same thing as a file, because it's a collection of books and each book is a collection of pages. So at that level, a file is the same thing as a shelf and so a library is a collection of shelves. Yeah, the metaphor doesn't work great, but the nice thing was we got to come up with a bunch of unique names. So when we could talk about shelves, we knew that that was a file within the librarian file system. So it let our conversations work a little better, which is what naming is supposed to do, so that was nice. So here's what the librarian file system looks like. Outside of each note of the machine, another machine we call the top-of-rack management server is the actual metadata manager for the file system called the librarian. It stores its metadata in a very sophisticated file structure called a SQL database for extra performance. Remember, the books are 8 gigabytes in size and the total store of the machine is 320 terabytes. So there are only 40,000 books in the machine, which means that the metadata management problem in this particular instance of the machine is pretty small. I only have to be able to remember 40,000 objects. So the librarian is written in Python. It uses a SQL-like database to do the metadata storage and it uses regular TLS communication to the nodes to this LFS proxy, which is a user-space application running on the node written in Python that uses a hacked-up version of Fuse to talk to the kernel. So here I have a regular application. It talks to a regular file system layer. That file system layer looks a lot like Fuse and all the metadata operations pop out of the kernel into this LFS proxy, get turned off the network after this global librarian on another machine entirely. The transactions get logged in the SQL-like database and all that return results get wended their way back through this whole API chain. And we were a little concerned about performance, but in real applications it turns out that, well, at 8 gigabytes per chunk the applications are doing maybe a couple hundred operations per second, so it actually works out pretty well. Another big piece of the machine is security. Security is supposed to be built in by default. I told you about the hardware, the firewall that we put in that protects the fabric from the nodes. In order to manage that firewall, you have to talk to, you have to manage the contents of that firewall on each node. Well, in their infinite wisdom, the hardware designers put the control of the firewall, put the SoC itself in control of the firewall that is supposed to be protecting the fabric from the SoC. Well, okay, that's how they wired it up. So what we did is we stuck the control for that firewall inside the ARM trust zone, which is a kind of a miserable security enclave within the ARM ecosystem, but it's secured from the operating system, and then we have this firewall proxy up in user space that passes the firewall commands. It's kind of a colluge, but it's a research prototype. It doesn't have to be really good. It just has to work. So we have a secure system, we have a performant enough system, and we have something which is relatively easy to prototype, relatively easy to develop, manage, maintain, and replace if we need to, and it all works pretty well. Another big part of the system was those application libraries on top of the kernel. If all you give the application is a memory mapped file and you want to be able to share data structures across nodes in the machine, there isn't any real APIs that we have right now that do a good job of sharing data structures across the machine. Remember, the goal here is to have the application directly manipulating its data structure in persistent memory and have that data structure be shared across nodes of the machine. We're trying to collapse the storage hierarchy so we get rid of serialization of data. We get rid of an external database server that we use in SQL environments. We get rid of all the stuff and have the application manipulating the data directly. So what we've done on top in up in user space is constructed a couple of different APIs to kind of explore this area. The one I want to share with you today is called Managed Data Structures. We're doing a lot of ongoing development in this area so it's a pretty active part of our research program right now. So if you look at the way a traditional database work, a traditional database works by having the application sit on top of a relational API which then talks to a database client API to an external database server and that database server records the persistent data in the file system. So it's a deep stack, right? Every time you do some application manipulation, you're going over the network to the database server and it's transacting stuff down to the file system. By doing all the database data structure manipulations within a single address space right to the persistent memory, we just have the application sitting on top of the Managed Data Structure runtime. So we get tremendous performance improvement by doing that directly. What MDS actually does is it provides data structures, data structure APIs in user space directly manipulated, directly manipulated by the application. So the application can just create new data structures like a linked list or a hash table or whatever it wants and the operations on that data structure are done directly in the persistent store and are directly visible across the fabric to other nodes in the machine. So we have a wide variety of little data structures you're familiar with from regular C and whatever language you're used to. So we get rid of all these additional abstractions and we're just doing raw data structures. It's very efficient. We're able to share the data because MDS actually offers both the Java and C++ API so you can write a Java application and the C++ application. They're directly accessing the same data using simple abstractions that are common in both languages and they're sharing the data together. So here's what... I'm going to go off and talk about our emulation story right now. Linux for the machine, of course, operates across the cluster. It looks like a cluster to Linux. You have nodes. Here, I have just two nodes on the screen, although you can do as many as you like. In a single rack, we can get 80 of these. So here we have your node one with its user space and its library and file system in the kernel talking to regular hardware and the same with the other node. And then the top of rack management server is running the library and on top of a kernel and it's got all of its magic hardware. In the hardware that we've built right now, each node is running an ARM processor and the management server is running on an X86 processor, but that doesn't really matter. The nodes, of course, communicate through the fabric. You'll note that there's a distinctly missing line. The management server has no connection to the fabric. The management server is actually a regular X86 server, so it can't actually see the data that it's managing. It can only know, oh, this guy has that block and this guy has that block, at least they're not colliding, but the management server can't store data into the persistent memory and it can't read data out of it. So when you're operating on regular hardware, that's how it works. Now, what we wanted to be able to do is before we had the real hardware, we needed to be able to start doing application development. We wanted to be able to take existing hardware and construct a synthetic version of the machine. So we did two things. The first thing we did is we took this old ARM emulator that we had and put in registered level simulations of all the new fancy hardware that we had. So we're running a simulated CPU and a simulated Z-bridge and a simulated fabric. So in a giant machine, I was executing machine applications without one-one-thousandth of the speed of the native hardware. So we could do kernel development, we could do driver development. We even did the low-level BIOS and firmware development in that environment. But when you try to actually simulate applications, it's really way too slow. The other problem, of course, is that you need a really big machine in order to simulate even a reasonably scaled cluster because the computational cost is huge. So we were using our Superdome X servers, which have 16 giant processors and 24 terabytes of memory to simulate a modest-sized machine. And that's a multimillion-dollar hardware investment if you just want to do application development. So we came up with a really kind of acute hack. One of our kernel engineers, Rocky Craig, went off and discovered that QEMU actually had this new magic driver that they were exposing to virtual machines within the Linux environment called the Ivy Schmem driver. And the Ivy Schmem driver actually lets you share memory between virtual machines. It lets you take a chunk of memory from the hypervisor and map it into the address space of multiple virtual machines. That sounds a lot like our fabric, doesn't it? So what we've done is we've actually constructed a cluster emulation where we take multiple virtual machines. Now, these are all running on the same underlying physical machine, but we take multiple virtual machines and construct within the hypervisor this piece of Ivy Schmem, the inter-virtual machine shared memory. And we make that memory available to each of the VMs. And now those VMs running Linux can now pretend that that's fabric-attached memory and they can manage it as if it were fabric-attached memory. So now all I need to do is stick another virtual machine pretending to be the top of rack management server with librarian stuff running in it. Now all of a sudden I can do storage management for this inter-VM shared memory and get a synthetic machine running. I have it running on my laptop, so I'm actually able to use all the APIs for the machine running on a single laptop. This stuff is actually all the source code necessary for this is up on GitHub right now and I actually have a Debian repository that's public. So you can actually take a Debian machine and install a couple of VMs with Debian unstable on them and just install the necessary software to run a completely synthetic machine. I talked to a customer on Friday who wants to play with the machine and when I showed them in about five minutes how they could take three VMs and get it running the machine APIs, they were pretty excited. Do I have ten minutes you said? Ten minutes, okay, about ten minutes. Slightly more. I had to re-woot my machine just before they talked. I may give the demo a try, we'll see. I think I actually... Yeah, we'll see, in any case. So I actually created a simple little application and I'll show you the source code to it in a minute in Emacs where it's just using the basic primitives of the machine that the Famitomics library to do atomic operations and the libp-mem to do data cache management and it's a simple chat program. You type in words in one window and they appear in another window and so you can see how that application works and I can actually do the demo. Actually, why don't I go through the rest of the talk and then if we have time I can do the demo. I just wanted a couple of slides here to show you where the free software for the machine was available. Here's all the links. The github... github.com slash fabric attached memory has all the necessary bits to run... all the necessary Linux bits to run the fabric attached memory emulator. github.com slash Hewlett Packard has a bunch of the other APIs that we're using that has the managed data structures library that I talked about. It has the multi-processor GC API which does garbage collected memory allocation across multiple processes which is kind of tricky because the processes end up crashing a lot and so the MPGC takes care of that. We have Atlas which is... it makes accessing fabric attached memory reliable so it has kind of a transactional model and fabric attached memory makes it easy to program. As I said, we're trying to build a wealth of APIs to help developers learn how to do memory-driven computing and all of these are public. And then the... the Debian repository containing all the bits necessary that come out of this is in this downloads.linux.hpe.com. Let's see. I wanted to show you some pretty pictures of the hardware we built because I like hardware. Here's a single node of the machine. On the left you'll see the SoC. On the far left you'll see the SoC. In the middle of that you'll see its local DRAM. It just has a little bit. It has 256 gigabytes of local DRAM. And that runs Linux completely out of memory. It has no persistent storage at all. And on the right side you'll see the four terabytes of fabric attached memory with the memory controllers, the next generation memory interconnect that goes between that and the rest of the system. And then on the backside there's a huge number of optical and electrical connectors to connect the fabric to the rest of the system. Here's another lovely piece of hardware. This is the box that we slide all the nodes into. It has the networking interconnects, which is pretty cool. Those connectors in the back are optical connectors. And here's the other really cool piece of tech that we have. So here's a piece of silicon. It's a single chip. And within that piece of silicon there's a laser in it. It's a little ring laser. It actually emits light out the top of itself. And then you just stick a... You use this optical connector to stick a piece of optical fiber right under the top of the silicon. And now I have an optical interconnect directly from the silicon. It's called Silicon Photonics. It's amazing technology. And this is actually within the machine prototypes. So we're actually doing optical stuff, which is pretty cool. And if we have a minute I can show you the demo. It's not that exciting. I think I'll show you the code to show you how that actually works because it's pretty fun. Oh, thank you. Turn off the presentation here and put this on the other screen. Oops. Now I'm going to try to manage. That's the entire program for communicating between two machines. You can see at the top, is that too small? I see a bunch of people squinting. What? I don't know if I can even... I can make a text bigger on that other screen.  I have to pull it back over here so I can manage. Oh, it's... I'm not running. Let's see if this works a little better. I put a couple of equal signs in there just for good measure. So at the top you can see it's just using the FAM atomic library to do an atomic read. You check the status of this little semaphore. And when the semaphore is the right state, it either reads or writes data into that and then the other thread just does the opposite thing. So when you run this program on two nodes of the machine, and like I said, I'm sorry I had to reboot my machine just before I started the presentation or I could show it running here. But within the virtual memory, within Libvert, you can actually see that I have a torms machine and I have a couple of nodes. And so when those are all up and running, you can actually do communication between them. But I wanted to leave time for questions and comments, and so I think I'll probably end the presentation there. Make sense? So you did say that different applications like Java and C++ can share a memory. Yep. So how is this supposed to work if Java has a managed heap and C++ has unmanaged memory? How can they share the same... Or is it not the Java heap which is just a shared memory which they use often? Yeah, so the managed data structures library provides these data structures to the application. And so the managed data structures library is written in C++ and it's exposed to Java through a JNI. So when you want to create a new object in Java, you go through the managed data structures system. As I said, that sits on top of the MPGC library, the multiprocessor GC library. So when the Java... when the JVM loses... loses a reference to the object, then the JNI tells the MPGC system that the reference is lost and it goes ahead and collects the memory from that. So there are hooks within the JVM that allow the JNI system to know when an object is no longer referenced. And we have garbage collection within the MDS system that is connected between those two. So you're actually able to do garbage collected memory within C++ and garbage collected memory within Java using this library. So it's a... there is a library between you and the actual data. You aren't doing a new in C++ you're calling the MDS system to allocate new memory. You're not doing a new in Java you're calling the MDS library to allocate new objects. So it's managed data structures it's not native data structures. So... so I was going to ask a question about that so that implies that you're not sharing page tables then. No, they do not need to share page tables they're just sharing the raw underlying memory. Okay, but so if I have an existing library so I worked on GPUs for a long time and the biggest complaint was that I couldn't just take a piece of C code and just run it on the GPU and run it on the CPU pass a pointer storing a data structure I mean you're not going to be able to do any of that unless you use your managed data structures. It depends on how you manage things. If you map things to the same physical address on the two nodes then you can share pointers and we have the Atlas library does that in particular it allows you to make sure that the memory lands at the same address and so that you can actually access things. It doesn't matter if you actually share page tables as long as you're sharing the same virtual addresses the operating system may have to do some extra management in order to keep those virtual memory tables lined up. We aren't doing any paging of course because it's all physical memory so all you need to do is make sure that the virtual addresses are lined up and that's really simple to do with the M-Map system call so it's actually fairly easy to arrange the addresses to be the same. The big problem that we have is that the CPU has a very limited address space and the ARM64 address space is only 48 bits right now and so the virtual address space is only 48 bits right now which means that you have to be careful when you're running the application to multiple nodes to reserve the appropriate portions of your virtual address space so that you can get the virtual addresses to be the same just because you don't have enough address space to make it easy. One question over here. What kind of memory chips do you use? What I got was non-volatile. Is it kind of ferromagnetic RAM or something you build or something you get on the show? Because we couldn't get any fast non-volatile memory right now the prototype that we've built is built in regular DRAM which is non-volatile until you turn the power off. So from a research prototype perspective it allows us to do all of the research we need to do into memory-driven computing in terms of application development, API development all this kind of stuff and we just don't turn the power off. So other question over here? Is there any plan for a cheap version of the machine that the hacker can buy and use at home to write software? Is there an affordable version in the plan for hackers to just buy and use at home rather than only enterprise users buying the machine? Well this machine itself as a research prototype is not a product at all. We have I think a hundred of those nodes on the planet right now and we aren't really planning on building more of this particular prototype. Whether any of the technology in the machine research program gets into products is something that the product groups at HP are working on. I'm a part of the research team building the prototypes. So in terms of what part of this technology is going to make it into products I don't have any inside information on that right now. Thank you for the talk. I don't know if you were on the previous talk that was sure about the RISC-5 but could you possibly implement the machine with the new RISC-5 CPUs? I don't know how much memory you can address with those though. Well that is one of the explicit goals of the memory driven computing initiative is to allow you to plug in whatever processing elements you need into a heterogeneous environment. So you could have ARM and X86 and RISC-5 and power processors all connected to the same memory fabric. The only thing you need to do is put into the processor the interconnect from that processor's memory bus inside to the next generation memory interconnect or in the future the GenZ system because GenZ is an open consortium of which IBM and ARM a bunch of the ARM licensees and AMD are all members. You can imagine that we'll get a wide ecosystem of different processors. The specifications for GenZ are all open some of the sample implementations the VHDL layouts for the sample chips that HP is working on, those are also open. So you can, I can easily imagine the RISC-5 people working within the GenZ consortium taking those specifications and adding that interconnect to that processor and enabling this kind of technology there. Absolutely. I don't know what the licenses are it's a royalty free license for using the technology but I don't know, I haven't looked at the licensing of the GenZ stuff but I know that it is very possible for the RISC-5 to connect to GenZ without joining the consortium and without paying any royalties. Hello. Yep. What are the difficulties of using SSD with perhaps with a cache rather than waiting for more exotic memory technologies? Well and in fact that's similar to how NVM works today. You can buy T-Memory which is just regular RAM with flash on the back side. So you can imagine building a system that uses DRAM backed by almost any persistent persistent storage technology absolutely. Yeah. Again one of the benefits of using truly persistent memory is not just that it's persistent but that it takes no power to retain the content. So you can get a tremendously a much larger amount of memory in the same physical space because you don't have a thermal constraints of DRAM. Right now our 320 terabyte version of the machine is technically air cooled. When you push air at that speeds is it still a gas? I don't know. There's a lot of air being moved through that machine just to cool the DRAM. So if we could get truly persistent memory we'd be able to lower the power budget dramatically and increase the amount of storage you can get within the same physical volume of cooling requirements to go away. But yeah, there's lots of options for people to emulate that persistent memory using DRAM with other persistent memory behind it, slower persistent memory behind it. I have a question myself. Regarding the semaphores are they being dealt with in hardware also? Yes. In the machine hardware because that fabric attached memory is external to the processor and shared by multiple processors the atomics are actually performed in the memory controller itself. So when you do an atomic operation it's actually a transaction across the next generation memory interconnect fabric between the processor and the memory controller itself so that it's globally atomic within the entire machine not just within a single node. So we can't just use the atomic operations within the SoC itself because those are only atomic to other threads running on the same SoC they're not atomic with respect to other SoCs running in the fabric. So yeah, it's actually done within the memory hardware itself. A question. Have you run LM Bench to compare local memory access times with the I suppose this the fabric's memory access times? The current implementation of the memory controllers and the fabric is all in FPGAs it's not running as fast as it should FPGA performance is not the same as ASIC's doing DDRT access so we know what the memory performance is likely to be and it's dramatically lower but that's simply because we're using FPGAs for the early implementation so that we can explore different ideas in the interconnect and so that we could do the board design in parallel with the hardware design so we got the boards back and the FPGA firmware loaded on and those two were the schedules were aligned so we didn't have to have the ASIC design and then the board design so we did a bunch of stuff in parallel like that and as a result the hardware is a demonstration of how it can work but it's not a complete performance simulation of what an eventual piece of memory driven computing hardware would work like so no it would be a lot slower. I think they're running at less than 500 megahertz the FPGAs and so do the math it's not very fast it's a lot faster than SSDs a lot faster than NVMe but it's not as fast as DRAM because of the interconnect technology being done at a gate array I'm here you could have to wait, there you are sorry if I missed the piece of information but will there be any API or any way to schedule the process to respective nodes so to control the locality of the process so that the actual computation process you run on a CPU it's located as close as possible to hardware oh yeah, so we've done a couple of things for this, one of the things we did within the file system each file within the library file system has extended attributes that direct the library as to where the memory should be allocated within the system so you can define where the allocations occur and then of course each node is a separate Linux instance so if you want to control where in the machine your application runs, you can direct it to a specific node directly that's under your control entirely you can imagine extending things like MPI to actually have more control more abstract control over where things are done right now we don't right now it's SSH into the node and start your application but as I said we have the allocation control so you can control where the library gets allocated question behind you? so is there any support to fork a process on a different node? each node is running a different instance of Linux so if you want to run a process on another node you can SSH over there and run it but there's no support in L4GM nope, we haven't done any of that work yet still to be done we got to the point where we could actually run applications across the fabric for API analysis and now there's more research to be done we just need more money right? that's what researchers always say hey, I learned a bunch of stuff and now I've got a bunch of questions that you need to pay me to solve I have one more what do you think will be the problems that are best suitable for this architecture? so we've actually done a couple of different problems one of the interesting ones we've come up with is large data right now in a large data environment the way that you solve large data environments is you partition the data across a lot of computers that means that you have to figure out which node to go ask for the information by using memory-driven computing you're able to access all that data symmetrically so image search is a promising area of possible research another area that we've looked at is graph analytics where you have a large graph the balancing of the data within the graph requires access to a lot of different data across the entire fabric and by using the fabric each node can compute the values for one graph node by looking at the neighboring values irrespective of where those nodes are located in the fabric so there's a bunch of places where right now communication is dominating the cost over computation and those are a lot of the algorithms that are faster in this architecture so basically anything that fits within the memory of the machine is going to be a lot faster in the machine than it would be in nodes with a collection of separate DRAM bits where you have to spend a bunch of time communicating I talked about using SSH to control another node is that do you have a way of running IP over the memory fabric or is that a separate network? that's a good question in the machine prototype let's go over


Thank you, Your Excellency, the chairperson of the conference. Your Excellency's ministers and heads of delegations, Secretary-General of the ITU and elected officials, distinguished ladies and gentlemen. The Kingdom of Lesotho is honored to be participating in the ITU 2022 Plany Potentiary Conference and we look forward to working with other member states to achieve a successful conference which will ensure that ITU continues to be an essential venue in advancing global telecommunications. The Plany Potentiary Conference is an important inverter's cast and debate issues with far reaching impacts on governments, businesses and the people around the world. Over the last few decades, increased access and connectivity have produced tremendous economic growth, allowed citizens to participate in the digital economy and resulted in shared prosperity for billions of people in the world. How we approach the issues at this conference will have long-term implications for a competition, also the competitive global marketplace, as well as investments and future innovations in information and communication technologies. The Kingdom of Lesotho fully supports and endorses the ITU strategic plan 2024-2027, in particular its two thematic areas, namely the universal connectivity and sustainable digital transformation. In line with the Connect 2030 agenda, the Kingdom of Lesotho has aggressively embarked on a $6 million project called Rural Connect Program. This is part of our eGovernment Infrastructure Program under this arrangement and the Government of Lesotho together with the Universal Service Fund and the African Development Bank is building based transceiver stations in the rural and underserved areas of Lesotho. The expectation at this point is that by the end of this program we should have achieved close to 100% coverage, shaman and distinguished delegates. The Kingdom of Lesotho with a population of just over 2 million people have been able to achieve slightly over 60% mobile penetration, 79% of our population own mobile handsets. The greatest challenge though is that access to digital skills and the gender digital skills gap. The majority of our people cannot use the mobile set beyond just the voice, the basic voice access. In order to address the digital skills challenge, the Kingdom of Lesotho embarked on an aggressive project called Schools Connect. Under this project, post primary schools are connected to the internet and they have internet for 3 years for free for students and staff of those schools. Due to lack of financial resources this initiative is not going at the rate at which we would have appreciated. Hence our appeal to the ITU family for assistance. Regards to addressing ICT skills gender gap, the Ministry of Communication Science and Technology in Lesotho has partnered with a number of NGOs to spearhead a project called GALS coding project. Under this project our sisters are taught the ICT skills including programming, machine learning, robotics and AI among others. Finally, we reaffirm our commitment and availability of the kingdom and the government of Lesotho to continue participating in ITU activities and contributing to the achievement of the objectives of the unit. As the Kingdom of Lesotho we are not contesting any of the ITU positions now. However, we will fully participate in elections and we hope that all member states will vote for our candidate in the coming IPU PP 2026. I thank you very much for your kind attention.