Hi everyone, Joe for Jaspy. Oh boy, you should have heard what happened before I started this recording. Joe for Jaspy's casebraves.com. Gotta watch the show live, folks. 2020 Panini Spectra football four box. Pick your team number five. Half case from a fresh case. Big thanks everybody who got into the action one way or the other. I appreciate everybody getting their team straight up like these folks right here. Thank you. Thanks for spending a bit of your Friday night with us. I appreciate that. I also appreciate that people got into the number block as well. So it works just like all of our random number block breaks, R&B, but it only applies to those teams. And for this current break right here, pick your team number five. Doesn't matter how you got in. I'm glad that people got in. There's the fresh case right there. Let's pop this baby open. Let's see which four boxes we're gonna do. All right, so we'll, let me use that die right there. That looked like it wanted to be part of the action tonight. One, two, three for the left side. Four, five, six on the dice roll for the right side. And it's two. Two right here. And then let's mark these. Pick your team six right on here. Leave that right here. I'm sure we'll do the other half later tonight. Let's get this set up right here. And let's get this going. A Jalen Hurts RPA. Yeah, I feel like we're due, Aaron. Let me try to make that happen. But what's going on here? Why are the autographs on top? This is crazy talk. What's going on here? Rob Thomas? Smooth? I don't think they, I don't think that was a song. No, that's a different Santana song. We got Bobby Wagner. 43 out of 99. That'll go to the, oh, that goes to Seattle. Seattle three. That's gonna be for Chris Miller. Number block team. Tom Brady. Spectacular 25 out of 30. Get it? Spectacular. That's also a number block team. Tampa Bay five. Caden Mendoza with that. And we've got Max Impact. Michael Thomas. Kind of a weird Max Impact he gave to a team last week by getting in trouble. 13 out of 25. That goes to Chris with Saints three. And the autograph. Whoa, Joey B. Joe Burrow. Sean Matic with the Cincinnati Bengals gets the Joe Burrow RPA 33 out of 75. That might be, I don't know what that is in the middle. Is that, that might be a low number card right in the middle of stack right there. There is Warren Sapp. Nine out of 50. Can people identify the player right back there? Buckineers nine. That'll be for Eric J. There it is Sean Matic. There you go. Van Jefferson five out of 60. That girl five out of 60. Going to Caden. Do you remember when we used to sing? Where does this song come from? Van Jefferson. Get it? You got a E, right? Van Morrison, Van Jefferson. No? Is that a stretch? 18 out of 199. Just because it has Van in his name. Grant Delpade, Cleveland Brown. That's going to go to Glenn and Cleveland. And we've got building blocks. Triple relic, just kidding, Dobbins. Going to Aaron Billingsley and the Ravens. Remember the band, The Ravenettes? 84 out of 99 for the Purplebirds. And up front here we've got Raheem Moster. 41 out of 75. Making the most of it. Victor with the Niners. It's been a long week, folks. Anthony McFarlane Jr., I don't have anything for him. Monumental relic. That goes to Michael Gallucci and his Steelers. The Steel Curtain. Whoa. Actually, I gotta set this Joe Burrow aside so I can take a picture of it later. All right, and we've got four out of four Max Impact, Cliff Avril. Four out of four. This skater boy is going to go to Seattle. Travis Gomez with Seattle four. Cliff Avril Levine. And all aboard, the Big Hit Express. Woo-hoo. No, that didn't work? That's the worst one? Okay. Okay, we'll keep workshopping. Keep workshopping it. We got Mike Alstott. You're in good hands with Alstott. Huh? What about that one? That's a good one. Okay. 15 out of 30. Mike Alstott, autograph. Buccaneers five. That's going to be Kaden. There you go, Kaden. Mendoza with that one. And this is what I was looking at earlier. You see this? Tua, Tagal Viola. Two out of five. Love that pattern in the background there. Richard Faredes with the Miami Dolphins. That looks sharp. All aboard. Let's save that for picture time. We got Kirk Cousins. You like that? 75 out of 75. Brilliant, Srella. Patrick Cologne with the Vikings. You like that? Greedy Williams, Max Impact. Two color patch for Cleveland. Glenn Campbell with Cleveland. By the time I get to Cleveland, she'll be rising. You get that reference, Sean? I didn't. Cornelius Bennett, Glenn Campbell is also a singer-songwriter who sang that song. Cornelius Bennett, although I think the lyric is by the time I get to Phoenix, she'll be rising. 37 out of 75. Also a song that Al Pacino sings in the movie Heat. Cornelius Bennett goes to Ryan Harold and the Bills. Guys remember the movie Heat? He's like, no, so you see my brother Richard, he in Phoenix. And then Al Pacino goes, ah, Phoenix. By the time I get to Phoenix, she'll be rising. She'll leave a dope right on the door. Al Pacino? Sean, let me educate you here for a second. The backstory with Al Pacino is that he is in a cocaine addict, Vincent Hannah is. Therefore, he is prone to those outbursts. Come on, know your Michael Mann, man. Kyler Murray, Neon Green, 18 out of 35. That goes to Derek Molanton and the Cardinals. Arizona Football Cardinals, this is my guy Josh Jacobs, 46 out of 99, fireworks fabric. Las Vegas Raiders, Ark, look at that. Devonte Parker, six out of 10, nice low number, high voltage. Love that neon orange pattern right there, it's pretty sharp. Richard Ferrettis with the Dolphins. We got vested veterans, Austin Eckler, Sean Jaspie, what's wrong with Austin Eckler? What's he injured with?  Aaron Clark with the Austin Eckler, he might be back soon according to medical expert, Sean Jaspie. Juju Smith Schuster, 48 out of 99, he was on a bike. And Hamstring is fine, says Dr. Sean Jaspie. Steeler, riding hard, he was working up a leather. There's Peyton Manning, 2013 MVP for Denver, 28 out of 99, Denver is a number block team, so Denver, eight, Deborah. We've got fireworks fabric, Patrick Mahomes, he's pretty good, that is six out of 15. That goes to Matthew Shearer and the Kansas City Chiefs, last spot mojo. We got aspiring autographs, Deandre Taylor Swift. Who's shaking off this hit right here? 40 out of 60, Detroit zero. That's for you, Art, there you go. Detroit zero, just shaking it off. Cause an art's gonna hit, hit, hit, hit, hit. Inspector, inspector, inspector, inspector. That's how the song goes. We got Jalen Hertz, Aaron Salinas is looking for an RPA of his, maybe down there somewhere. 43 out of 99, Jalen Hertz so good. Drew Breesy, five out of 10. Saints, that's gonna go to number block. Five out of 10, so Saints five, that is gonna be Caden with that one. Nine out of 99, Jared Goff, Max Impact Relic for Rams nine, Eric J. And we've got a randomizer, Respectra. Put some Respectra on this card folks. Dalvin Cook on the left side and Ezekiel on the right side with a Jersey swap. Nice, one happy person, one sad person and the randomizer at the very end, 51 out of 75. Vikings, Patrick Cologne, Cowboys, Corey. Good luck guys at the end. And a redemption, the redemption is sky high signatures. Neon green, neon green can get you sky high I guess. Out of five, who's got greens? T, Y, Tyrod Taylor? No, Tyler, Tyler Higby? Tyler Boyd, is Tyler Boyd still on Cincinnati? Is it Tyler Eifford that's not still on? No, Tyler Eifford's still on Cincinnati. Is Tyler Eifford on the Jeb or is he out? Tyler Boyd's still on the Cincinnati Bengals ladies and gentlemen. So that goes to Sean Maddock and Cincinnati. We're on to Cincinnati. We're on to Cincinnati. What players wanna win? 4 out of 25, what are you talking about? J.K. Dobbins, Ravens. Is there a reference I haven't made in a while? Is it Playoffs? That reference? No. I'm a man, I'm Corey. What about, you play to win the game? No? I want winners. I want players that wanna win. Yeah, Mike Singletary. We have not seen Mike Singletary hits in a while. Denny Green, nice. R.I.P. Dennis Green. They are who we thought they were. And we let him off the hook. He was so mad. I've never, I think I watched that press conference live. There's Ravens Lamar Jackson going to Aaron. Well, he wants winners. He wants players that wanna win. Vernon Davis did not wanna be a winner. That's why he was so mad. He was mad at Vernon Davis. Mike Singletary is a big dude too. Pat Cologne. Getting the Kirk Cousins Relic. And we've got some Jets Denzel Mims. Three color patch and Neon Green, Anke Autograph for the J-E-T-S, Jets, Jets, Jets, Eric Leal. 32 out of 50 on that one. Our exam was just out on Vegas, flew over the Allegiant Stadium on a Maverick helicopter tour at night and looked awesome. Wow. It's a GD shame that there's no games there this year. Or at least not open to fans this year. They're gonna have so many events once things start opening up. I think they get the draft in the next year or two. Again, I think they get a Pro Bowl, not next year, but maybe the year after that. So there's all sorts of fun stuff happening. You know, I had a good excuse too. My sister lives out there, so I can just be like, hey, you wanna go and see a Raiders game? And I can see you too, and crash at your place. And no, it didn't work out. Miles Garrett, it's gonna go to Glenn and the Brown. It says 99. The die cut is boomerous size and for Cincinnati, nine out of 10 for Sean Maddock. I don't know, EJC tickets definitely needs events. There's Max Impact, David Montgomery for Da Bears, Rick Thomas with the Bears. Oh, are they getting the Super Bowl in 2024? Nice, I'll have to make my plans for that too. Monumental, Relic, Michael Pittman Jr. for the Blue Horseshoes. Colts, John Turner, 82 out of 99. Oh, and a Redemption. You guys see it? It's Vested Veterans Autographs Hyper. What's the Hyper parallel? Do I still have that checklist open? I do. Scroll down to Vested Veterans. That's Rookie, Aspiring, Champion, Illustrious, Radiant, Rookies, Signatures, Sky High, Hall of Fame, Tribute. Vested Veterans Hyper is 75 or less, in case you're one. It's causing me a little bit lower than that, but. 75 or less. K, Kyler, E, N, Ken, Kenny, Kenny, G. Kenny Gallade, going to Detroit. Detroit's a number of blog teams. That goes to you, Art. So Detroit zero for Art Hevner. Yeah, I think, yeah, I think, I think you're, oh, is the draft in 2022? I thought they were getting it next year, 2021. Either way, next couple of years there'll be a lot of events at Allegiant. Should be a lot of fun. There's Boomer, Asiason, 30 out of 60. Allegiant is an airline, you're welcome, Art. Allegiant is an airline and they've got a lot of flights from Oakland to Vegas, but I don't think they've started LA to Vegas service yet. There's Patrick Mahomes, 20 out of 30. Another nice die cut for the Chiefs, Matthew Shearer. We got a monumental relic, coal, Comet, Chicago Bears, Rick Thomas. I think Allegiant's like another one of those like spirit type budget airlines, are they not? I think they are, but I guess if I'm just popping over for a weekend, backpack trip. James Morgan, two color patch and neon green ink autograph for the Jets. That'll be for Eric Leal. What are you number two? 32 out of 50, bottom left right there. Next two pack out of this box. We got Antonio Gibson, 64 out of 75. Jerry with Washington, that's a catch, right? We got Max Impact, Leonard Fournette, going to Colton and the Jaguars, 41 out of 99. We got Rising Rookie, Jordan Love, dual relic for the go-pack go, Greg with the Packers. And this should be the autograph, it is, wow. Joe Nameth, illustrious legends, Joe Nameth. Looks like that's an on-card autograph right there. Joe Nameth held this card. That goes to Eric Leal and the New York Jets, Jets, Jets. Wow, it's two out of five as well. You guys remember that? There was a sports blog. Do you remember, it might still be around. Kissing Susie Colbert was like an early sports blog that came out of that. Illustrious legends, two out of five. Eric Leal, all aboard the Big Head Express, whoop whoop. Yeah, very solid break for the Jets. You know, I'll take a picture of that, yeah. Mahomes, Patrick Mahomes coming up right here, there he is. From Matthew Shearer and the Chiefs, 10 out of 99. We got Rookie Aura, Joey B, Joe Burrow, Neon Green, Shawn Matic, 11 out of 30. We got Brilliance, Carson Wentz, Relic. That's a one, two, three, four color patch in there. Train whistle hit maybe? Erin Salinas, it kind of looks like it. It is. Trendsetter, three out of four. Brilliance, Relic. All aboard the Big Head Express, whoop whoop. And there's Levisco, Chennault Jr. Radiant, two color patch, and autograph. That's a nice one for Colton Carver and the Jaguars. He's got some upside as well. 36 out of 50, kind of hard to catch in the light there, but there it is. All right, last box coming up, boys and girls. Good luck. Behind Ryan Fitzmagic, 33 out of 60 going to Richard Faredes and the Dolphins. We got Rukiora, Jake from State Farm. Going to Ryan Harold and the Bills, 60 out of 75. We got a one of one, K.J. Hamler, wow. NFL Shield, K.J. Hamler for my rivals, the Denver Broncos, and the Broncos are a number block team. Joshua H, with Denver one, gets the live one of ones. And there it is right there, that NFL Shield right there. One of one, K.J. Hamler, he's got some upside too, I feel like. That is awesome. Another train whistle from this break. All aboard the Big Head Express, whoop whoop. And then we've got Antonio Gibson, two-color passion autograph for the Washington football team. Jerry Bennington, 23 out of 99. Just a shield, monumental relic. Tot, Tom Brady, hot, hot, hot. 75 out of 99. Buccaneers five, that's going to go to Caden Mendoza. TV for TV. Hunter Renfrow, 65 out of 99. Do you like football, Hunter? You like football, Renfrow? Knock on wood if you're with me. Man, love John Gruden. God, I love football, Renfrow. Do you love football, Mike Lenon? 52 out of 75, C.D. Lamb, monumental relic. C.D. Lamb going to Corey and the Cowboys, C.D. Silence of the Lambs. Put the lotion on its skin or else it gets the hose again. Two-color passion autograph for the Michael P. Ryan, radiant relic, either Samaj P. Ryan's cousin or brother, or something like that, a relation. A relation, 17 out of 75. Nice, Jets having a great break here. Eric Lille with another one. Correct, Caden, yes. Picker team six will be the second half of this case that we popped. All right, I was, well, A, I was stunned that the Raiders even had a chance to beat the Chiefs and then I was very happy. In fact, NFL Network had the replay going on when I came in earlier today. And I re-watched it celebrating that Henry Rugs catch like I was seeing it for the first time. There's Ben D'Nushi to 75. That'll be for Dallas, Corey.  Broncos, zero, that goes to Eric.  We got monumental relic, 53 out of 99, Joshua Kelly. He went from a powder blue team to a powder blue team. That goes to the Bolts. That's gonna be for Aaron Clark. And we've got Quintez Cephas. Isn't that kind of like a baseball pitch? That's Cephas. 51 out of 99, Detroit won, Joshua. Nice. We got Denzel Mims. Wasn't there old movie called like The Secret of Mim or something like that? Animated cartoon feature length, something like that. Eight out of 35, Jets for Eric Leal. 42 out of 75, Jordan Poyer, Max Impact. Relic for the Bills, Ryan H. We got more Jets right here. Oh boy, Tyler, you gotta look at the schedule, buddy. That goes to the Jets, Eric Leal. It's only 830 Pacific. And back here is C.D. Lamb, Jersey and Autograph. That goes to America's team, the Cowboys.  That was a nice break. Pick your team number five. We gotta do a randomizer, the Respectrum. 51 out of 75 between the Vikings and the Cowboys. So let's go back to this screen right here. We got Minnesota and Dallas. And let's roll it and randomize it. Two and a three, five times, team on top, gets it. One, two, three, four, and fifth and final time. Stays with Minnesota after five and that's gonna go to Patrick Cologne. Put some Respectra on their names. There you go, that's for you. And that's that, everybody. What a great break. A lot of great hits, some train whistles out of here. That was pretty nice. We had the Carson Wentz train whistle in there too. So some pretty awesome stuff. Thanks for watching. Thanks for breaking with us. I'm Joe for jaskyscasebreaks.com. I'll see you next time for the next break. Bye-bye.


So the parallel programming or parallel running in Triton, like there were many questions already in the HackMD, like I was given the impression that stuff will run faster in Triton and it's busy clusters, like why doesn't it run faster and the answer is usually like you need to reserve the resources, what your code will use and you need to know what your code can use and then it will run faster. So when we talk about parallel running, like this kind of like parallel running where we have multiple CPUs or multiple workers, there's basically two ways, there are two different paradigms, there's like this shared memory paradigm, which means that basically you get a computer, like let's say your laptop, the laptop has four CPUs or maybe six CPUs or eight CPUs nowadays. It's all in the same system, so you're in one system and they share the same memory, so they're in a shared memory system, so they share the same like, well, same physical layout, physical machine, they're all there. And you can run programs so that they utilize the multiple CPUs in your laptop. Let's say for example the zoom that we are talking into right now, it is probably using multiple CPUs to do like different things at the same time. And this is nowadays really common for all kinds of computations. So when you're running, let's say Matlab, when you're running ARRA, when you're running Python, when you are like doing all kinds of stuff, underneath it all, the program will recognize how many CPUs you have and it will try to utilize all of them. It will try to usually run with all of the CPUs. And like sometimes if you're running some CPU, like you notice that your laptop pan starts rolling or like you get this kind of feeling, you know that okay, it's now most likely utilizing all of the resources available in the system. And it does it usually without like even you know to sing it. But it's noticeable by the programmer. So the user may not notice, but these are all written exactly with the programmer saying, okay, here's how you can divide this. There are many ways of doing this. So most comments are like multi-threaded or multi-processing. So basically it means that like, let's say you start in Matlab, you might start the parallel pool. So multiple workers work together or in Python you might use Python multi-processing or in ARRA you might use the parallel packets or the futures packets or something like that. Or you might use multi-threading for example like if you are using NumPy like in Python, underneath they test these libraries or linear algebra libraries and stuff like that. And those have been written in a way that they can utilize multiple CPUs to do the like matrix inversions and matrix calculations and stuff like that. For example, NumPy can use these multiple processors and this is implemented in the C level in there. And the important here is to know that like okay, you're asking for multiple CPUs, you're asking for multiple processors on the same machine. So you're asking when you're running programs such as these, you're asking for multiple CPUs. In Slurm there's two of these different requests, there's multiple CPUs and there's multiple tasks. And the task is related to the other paradigm, like the same memory you ask for multiple CPUs. But then there's this MPI or message-passing interface paradigm. And this is used for like these supercomputers, like when you want to run thousands of computers at the same time, they need to be able to communicate to each other like what is that. They usually like let's say you have a physics program and then you split the program into smaller pieces and each piece is given to a separate processors and then separate tasks. And each of these communicate with each other to solve the bigger problem. So in this case they use this MPI or this message-passing interface to like do the communication from node to node from task to task. And this is like the massively parallel stuff. But this is like not something you usually, like you need to, actually the program does need to support it. Like this is not something that is like supported everywhere like compared to the shared memory thing. This is something that the program needs to say at its manual page basically that MPI is working. Otherwise it's not going to work with this. So it needs to be said on the team that like this is MPI, like MPI working program. You can work with MPI. And if it does work like this, then you can run these like you can ask for multiple tasks and they can be then put into like multiple computers, these individual tasks and then you get like multiple, like you get like really big simulations. I guess like it says here for example 10 or 20 years ago computers were not so powerful. So you had to use more MPI in order to use 10 or 100 nodes to do something. But now there's a larger percentage of work which can't possibly fit on one node with 10 or 20 CPUs. So like that's enough for most people. Yeah. So how do you actually like then call these? So how do you do these? Yeah. And should you do these? Like that's a good question. So should you make it yourself? Yeah like make certain like when you're running these make certain that you actually like the program knows what you're trying to like how many CPUs you're trying to use and stuff like that. Because like if your program doesn't know about like that it's supposed to use multiple CPUs or if it assumes that it can use multiple CPUs when it's not been reserved multiple CPUs, you might get into trouble and SKF is the best tool of monitoring this kind of behavior. Like a common thing that might happen is someone uses say our Python multi processing or Paralybe and they run it and say okay let's give the program for CPUs and then the program starts running on a node and says oh I'm here on this node with 20 CPUs so let's run 20 things at once but the node constricts it to using only four. So basically you have all these things all these 20 things trying to use the same four processors and it's much more slower. Yeah so basically it's like with slurm you tell the slurm like if you scroll all the beat up in the documentation like about running multi-traduit applications over here. Bit down. Was I already there? Yeah yeah no. Just in the middle. Yeah bit of a... Oh here we go. Yeah. Then like you need to think there's two things here happening. So first the program needs to know how many processors it needs to use or wants to use and then you need to reserve from the slurm NEPs for the program. These two need to match.  And if you ever make your own program that can use multiple things do everyone a favor and in the documentation in the read me wherever. Write down this is how it uses multiple CPUs and this is how it's configured. Otherwise you get people who will try to run it on a cluster and they won't know how to and we basically have to go reverse engineer it and well you can tell we've done that a bit too many times. So yeah. For these shared memory programs it's as simple like getting multiple CPUs like we already had it in the example that you basically say the CPUs per task and then you just say how many CPUs you want and then you get those CPUs but of course it doesn't mean that the code actually uses those so you need to use the SF to monitor whether it actually utilizes the CPUs but basically the reserving part is very easy. It's just specified the CPUs per task. In some cases like in most cases you just want to specify some like hard limit for the memory like for the whole program but in some cases you might have this kind of like a like increasing the number of CPUs might increase the memory requirement so let's say if you start separate processes or something like that so in those cases it might be useful to use this memory.core memory requirement but usually you want to just set this memory requirement so basically adding one line this CPUs per task into your program allows it to use multiple CPUs then when it uses them that depends on the program there are like in the documentation there's many examples of like how to run Python programs in parallel how to run Matlab programs in parallel how to run R programs in parallel like with this flag but you need to check that documentation for your specific program and we're at about half our time now so should we go to some demos? Yeah let's do for example this very simple OpenMP program OpenMP is this kind of a standard where you can like if you're coding like C program or something like that you can use OpenMP to do like a for loop in parallel or something like that so here it's also in the example's repository oh okay this is in HBC examples master okay should I change to that directory? okay so here I am well this work on other sites might be a different CCC then so there you can see like usually when you run this OpenMP program programs you want to set this block bind through in your script as well what does this do? so basically this program runs well it just says hello world from multiple CPUs so in this case it runs on four CPUs for five minutes and it just brings the different threads should I run it like this or like run it like that? I guess we can run it like this but if you run it with S run you can like see it like that oh okay and if you run it with like a slow script you see below like you just add this one line it's like one line for the OpenMP block bind if your code is OpenMP like it depends on the code which do you need to set this environment variable but the CPUs per task that's the important part add this one line you get four CPUs there is a question in the chat that like the maximum number of CPUs is it 40 and usually yes like it's actual the actual maximum number of cores in the computer so the biggest computers we have usually is like like we have two sockets so two physical like CPUs and those have like 20 cores each so we get like 40 CPUs per node so that is the actual limit you can get if you're using this element in parallel so the amount of physical CPUs on the machine okay so now what should we do as the next example maybe let's yeah but there's I think we could well maybe we could should we look down towards exercises or something I think we might in our limited time so there's a question yeah so what in this course we're not learning how to make your own multiprocessing or threaded programs well it's not the most complicated thing in some models it's more than we can possibly cover in this course so we're assuming that you have such a thing and you can run it okay so MPI yeah like it's a whole kind of worms like it depends really on the program how do you do it so for the MPI part like if your code supports shed memory if your program supports shed memory things use the memory CPUs per task that's all you need you don't need to think about CPUs per node sorry CPUs per task you don't need to think about like anything else if you are using MPI code you need to instead of using the CPUs per task you use the number of tasks so if you're using MPI code you're usually using some physics code or something like that and you typically load some MPI library like we have like this MPI libraries they need to be installed by us because they are very like finicky and they need to be optimized for the networking infrastructure so that the communication between the nodes is as fast as possible yeah and how do you usually work with them is that you load the module you compile whatever code you have so if Richard you want to do the example over there so this one yes so this is like the open MPI example okay if you run the let's see where it's in the HPC examples open MPI folder or MPI folder sorry okay hello MPI yes okay so let's load some modules this is already loaded this needs loading yeah and usually you let's say you have MPI code that you don't need that but below there you can see the let's say compile the C version of the MPI program yeah okay so with MPI usually you need to compile programs you need to do stuff like for the specific MPI version that you have like it's very you need to have the specific version of MPI for the code to work so whenever you're running the code you need to load the same MPI version that you have and this MPI is much more complicated than normal like shared process set memory like parallelism to code user but you can of course like then run with hundreds of computers so here we see that we got well they ended up in the same computer but we got four of these processes running four tasks they're independent tasks and they communicate with each other through the MPI and this is how like if you're using MPI then use the end tasks if you're using like shared memory use the CPUs per task and don't mix like if you're you kind of mix and match them if you're using so-called hybrid codes but those are specialized stuff and you like if you don't know what they are then I wouldn't recommend mixing and matching them so if you so this one like if with MPI you can scale up to hundreds of nodes or something like that like in our cluster the limit is I can't remember how many nodes it currently is but in theory like in let's say CSE you can use hundreds of nodes so it's like we're talking about thousands of CPUs but it's only when you have this kind of MPI enabled code that can scale to these lengths yeah in the examples there's like if you look at the first example in the exercises that is very good exercise so what is the difference between yeah what is the difference between these four lines CPUs per task okay so we see it printed it once so what it means that it runs like in this case we run the command hostname and we give the command access to four CPUs so this is the shared memory situation then what happens if we put the end tasks so here we see that we run four separate programs so if your code understands MPI these programs will recognize that they're MPI programs and they start to communicate with each other but if your code is not MPI program then you will run the same program multiple times the same identical program and that's not what you want because then you will like you will get output errors and all kinds of that and you will basically do the same calculation four times and waste resources and you don't need that so if your code doesn't use MPI don't use end tasks ever let's try the number of nodes again so if you're running MPI tasks you can specify you can get multiple nodes as well and how many processors would this be using with four nodes in this case it would use four because you haven't specified enough tasks so you need to also specify usually like number of tasks per node or something like that in order to get multiple is there a task per node? end tasks per node but these are like if you're using MPI programs that's too many but you're running MPI programs these are something that you need to worry if you're not then don't worry about these and we should emphasize this is really not the good case here you would prefer all the tasks to run on the same node because communication will be as fast as possible so first you have to scale to one node then start going to other nodes but really a few people these days make it that far because it's not necessary okay here we go so we see now there's it ran eight times on four different nodes twice per node and our time for parallel is almost up so what's the summary here yeah I'd say like there's a few things that you need to like I would emphasize so after this we can talk about aggregate jobs and for most vast majority of cases the aggregate jobs are better option than actually using parallel parallel sounds fancy it sounds like really nice that you have like as an example let's say we're going to our cottage somewhere and we want to take stuff with us there we can take a really fancy Tesla and put that up to a brim of stuff so much that we can't even bring our stuff with us so we have to drive a fast Tesla to the cottage just drop our stuff there go back to our home take more stuff and take that to the cottage as well so we have to do two rounds with a really fast car or you can like get a really like two cars that are not as fancy but you can fill those up and then you can drive the two cars and do everything in like one go so basically sometimes the speed isn't everything it's about like how how much you can bring with you maybe the analogy isn't that clear but basically sometimes it's not worth optimizing the speed it's more important to optimize the truth how many like jobs you can do and in that case like usually with parallelization you have this kind of limits of how fast you can do stuff and how much you can parallelize stuff and usually it's not worth the effort of doing too much parallelization of course in some cases you have big problems that can't be run on a single machine or they take too long in those cases parallelization is the only option but in many cases it's better to run individual jobs that are like individual jobs that are take longer but you get more of them done and it causes less headache with the CPUs reservation and stuff like that so of our remaining time what should we do? I think we should move like should we have a small break and then go to the arrays and GPUs yeah okay should we make the break until 6 or something? slightly less than 10 minutes okay so let's see okay yeah and you can use this time to mess with some of these examples or and if you're doing these kind of things it's okay to come to our garage and ask us for advice before you start because really maybe it's better to have someone help you get started rather than try to understand everything because there's so many traps yes yeah I highly recommend joining the garage when you think you need to do something in parallel yeah okay so see you in a bit


Welcome to Eurocrypt in the age of the coronavirus. So you might have noticed that things aren't completely normal. But look on the bright side. So via zoom, we get to see how people live when they're at home. We get a lovely sampling of bad haircuts either self inflicted or otherwise. And we're stressed out. But, and sometimes it seems as if we're barely keeping our heads above water. But it's important to remember that our health should always be our highest priority. Well, what's the use of a book thought Alice without pictures or conversations. I usually translate into what's the use of a talk without pictures or examples. So today I'll mostly try to entertain you with some stories. And I hope that they're not only entertaining, but perhaps also sometimes useful. Mostly these stories are about lessons I've learned that I wish I had learned sooner. And one theme of this talk will be working well together. So the talk is entitled, mathematics and cryptography, a marriage of convenience. And one of my collaborators said, well, maybe it's a menage a tour since quantum and post quantum cryptography have brought physicists into the relationship. And another collaborator thought it really should be an open relationship since it should include lawyers and politicians. And I think he liked the idea of an open relationship. And there's a need for technical people and policymakers to learn how to communicate with each other and build mutually beneficial relationships. So as we're seeing, we're living in an interdependent world where everyone relies on everyone else. And we're more likely to survive and thrive if we can learn good ways to live and work together. So one good reason for mathematicians and cryptographers to learn to work well together is to make sure that we have good computer security and cryptography. So if a system security is based on the presumed difficulty of some problem from number theory, it would be reassuring if the right number theorists in the right field first know about the problem and second try hard to solve it so that we have reason to believe that it might actually be a hard problem. So for the sake of both good science and computer security, it's important to have good communication between the people who build a cryptography and the crypt analysts and mathematicians who can test security. So for most things that I do or that happened to me, I try to ask myself, what can I learn from this? So if you want to ask yourself that about this talk, I'll just point out some of the recurring themes that you might notice. They're going to be communication, community, curiosity in being open to opportunities and doing the right thing. So I don't seem to have gotten very far down the alphabet, but maybe there'll be some later talk someday and I'll be able to do the rest of the alphabet. Okay, well, my parents didn't graduate from college, but they believed in the value of a good education. And I did manage to get a good education at New York City public schools, despite the fact that the city was on the verge of bankruptcy at the time. So this was fourth grade. But the story I'm going to tell you is I think from first or second grade but I didn't like the photo for that. So you get fourth grade. So I missed a few days of class and when I returned the teacher was talking about something called rational numbers. And the students all knew what that was, but I'd never heard of rational numbers and I got really worried. Didn't know how I was going to figure out how I was going to catch up and figure out what this was. So my friend Janet was sitting near me and I whispered to her, what are rational numbers. And she whispered back fractions. Well, this was clearly completely implausible. So fractions was a perfectly good word. Why would you come up with some new phrase to mean exactly the same thing so this couldn't be. So she had to be wrong. I was sure I'd never find out what rational numbers were. I would fall hopelessly behind in math and never be able to recover. Well, that didn't happen. But since then I've been wary of unnecessary jargon. So I was on my high schools math team, which was an early experience that taught me the importance of community. And the other kids, including Stuart Haber, who some of you may know, told me about something called the Ross program. So that was a summer program for high school students. And it taught exactly the elementary number three that the cryptographers need even use notation familiar to cryptographers like ZP instead of Z mod PZ. And to this day, I'm still friends with many people that I met in that program. Some have even been helpful in my career and some are very important in my life. Some of the students went on to become mathematicians or computer scientists. Others became lawyers or doctors or went into other fields. Al Jean became one of the original writers for the television show The Simpsons. And in this program, I learned the importance of correcting clear proofs and good communication. And I went from being as I went from being a student to a counselor to a seminar instructor. So as students, we pride ourselves in getting only four hours of sleep at night and working the rest of the time. And later on when I taught a problem session in the program, one day my students showed up and something was clearly different. And it turned out they had a test earlier that morning and had pulled an old night or the night before and hadn't gotten any sleep. So they're all falling asleep in the seminar. So I asked them, which do you need most a problem session or sleep. And they all said sleep. So I turned out the lights and that made it pitch black because there were no windows. They put their heads down on the table some of them even lay down on the floor, and they went to sleep. And that was what they really needed. So I'm glad I listened to what the students told me. Sometimes you just have to stop everything and take care of your health and the best advice I can give students and more generally everyone is your highest priorities your health get plenty of sleep and eat well and maybe listen to other people find out their needs. Well, my undergraduate college did not have a computer science department at that time. I had a high powered programming course in the applied math department, but since I didn't have any background I decided I'd better first cross register for a course at MIT, and there I learned Fortran using punch cards. So then I took the high powered course or among other things I learned to program the PDP eight and PDP 11 in machine language and assembly language, which has been completely useless for me and I don't remember any of it. What I do remember is that we had really annoying quizzes where the idea was to write down a short program in 10 minutes, but we were allowed some what seemed to me ridiculously large number of mistakes and I remember it was three or five. Now I could write down a completely correct program in 12 minutes which meant 10 minutes to think and plan and two minutes to write it down. It was terribly unfair that there was no reward for taking that extra two minutes to get it right. So after 10 minutes, I didn't I hadn't written anything, and the test was over. So, you know, for our homework assignments the other students would spend maybe half an hour writing the program and maybe 16 hours debugging it well I can write it in, you know, twice the time in an hour, but I spent considerably less time debugging. So I did have this idea that fast and dirty is better than slow and careful. When I think of publishing and competitive conference proceedings versus publishing in journals. So I think of it as the tortoise in the hair. So I think better work gets done when there's time for referees to fully check the work and for some back and forth between the referees and the authors to make sure papers are correct and well written. And, you know, the output might be better than research is done under tight deadlines with page limits and short timeframes for reviewing. And I'm also a great believer in using experts sending preference to the experts putting preference online and getting feedback before publishing. So it might make sense to cut down on the number of conferences, especially given we might not be able to go to conferences for a while, and cut back on the number of competitive proceedings volumes and instead encourage more journal publication. And of course we might have to change the reward system so that good editors and reviewers are appropriately rewarded for reviewing. That's both good and timely. Okay, I went on to do number theory in particular elliptic curves and a billion varieties, which are the higher dimensional generalizations of elliptic curves you don't need to know what they are for this talk. They say that elliptic curves are useful for cryptography because they're defined by a simple polynomial equation. So they're easy for a computer to handle and they have a useful addition law. Okay, so I went on did number theory. When a proof of Fermat's last theorem was first announced by Andrew Wiles, a reporter for the San Francisco Chronicle came to the mathematical sciences Research Institute in Berkeley, and interviewed a group of us. Now one of the mathematicians explained from Oslo's theorem by saying that certain equations have no non trivial solutions that are rational numbers. And he kept using the phrase rational numbers. So I looked over at the journalist and saw that his eyes had glazed over and he'd stopped listening. So I leaned over and whispered, when he says rational numbers he means fractions. And the reporter breathed the sigh of relief and said, thank you. So, again, it's important to keep in mind that people from other communities might have a different vocabulary. Well, as most of this audience knows in the mid 1970s, with Diffie Marty and Marty Hellman came up with the idea of public key cryptography and used it to create shared secrets. And in the mid 1980s, Victor Miller and Neil coblets independently realized that elliptic curves can be used to do cryptography they can be used to do things like Diffie Hellman key agreement which I'll talk a little more about later. So soon after that I had the opportunity to spend a year at IBM so that was in the late 1980s. And the people I interacted with the most there were Victor Miller who you saw in the last slide he was my mentor that year, and Don Copper Smith seen here. And my first cryptography talk was actually a survey talk I gave at IBM and elliptic curve cryptography with Victor Miller in the audience which I'm really embarrassed to think about now. Since he was the expert and certainly knew a whole lot more than I did. So why do I call this slide they knew the law and obeyed it well there are a number of stories I can give out to give just one of them. So before I started IBM they asked me what type of computer I used and I told IBM that I used a Macintosh. So IBM bought me an Apple computer and they bought all the software that I plan to use, even though I already had a lot of the software. They were real sticklers for the rules, both in pain for software and also in a lot of other ways. And I would tell people that the difference I saw between IBM and academia was that IBM knew the law and obeyed it. And in fact when I was in Silicon Valley a decade or so later I noticed that not all companies were so good about knowing the law and obeying it so by the turn of the century. Silicon Valley was starting to look like the TV show Silicon Valley. Don Coppersmith's extraordinary abilities as a cryptographer I think are well known. So sometime later I was talking with a mathematician about a crypto system that person had published, which soon got broken. And I asked well why didn't you run it past Don Coppersmith before publishing it and he replied well of course I wasn't going to do that he would have just broken it. I wouldn't have gotten a paper. Well, so it'd be nice of getting things right were more important to publish in a paper. One more IBM story. A computer scientist there had solved a problem by doing an immensely complicated brute force computation. And he asked me if I knew a better way to solve it. So I thought about it and realized that what he wanted falls out immediately from something called the structure theorem for modules over principle ideal domain. You don't have to know what that means. He was happy, and it shortened the paper considerably, and he wanted to meet he wanted me to be a co author on the paper. Now I was completely horrified, because all I had contributed was something that I had learned when I was an undergraduate. So as far as I was concerned it wasn't at all deep and it would be embarrassing to put my name on the paper. Now in retrospect that was a clear mistake on my part. So the result had applications it was useful. And by working with people in other fields I hope that I've learned to become more open minded. In fact my most cited papers one of my least mathematically deep papers. So for mathematicians working with other cryptographers it can be helpful to know that being deep can be very different from being useful and being useful can be a good thing. Having a supportive community can be very important. So when I first moved into cryptography research, the cryptography community was very very supportive and a number of people helped me to make that transition. And I found that particularly young female computer scientists were especially supportive so in particular Jessica Staden invited me to be a visitor at the research labs where she worked and she came up with a problem for us to work on together and trader tracing. And we soon realized it would be helpful to have an expert in algebraic coding theory in the project and we were joined by Judy Walker. So I'm a great believer again in bringing in experts when we need specialized expertise. Okay, be curious and open to opportunities. So in the fall of 1995 I was visiting the Institute for Advanced Study in Princeton, New Jersey. And I felt like Cinderella, because they put me in a hard dark room in the attic of full hall with no air conditioning, and I arrived in a sweltering summer. I remember that the cord on the lamp was frayed and I was worried that I was going to get electrocuted.  And the room was almost impossible to find. So I was startled when one day, when I was feeling particularly sorry for myself, there was a knock on the door. So I felt like, you know, as Edgar Allen Poe said in the raven, who's that knocking at my door? I figured it must be someone who was lost. Well it turned out to be a grad student in computer science who trekked over from Princeton University and tracked me down to ask me questions about abelian varieties. So this was someone who was curious, open to opportunities and knew that it's worthwhile to talk with a specialist in the field. And that's how I met Dan Bonnet. So I want to use Diffie-Hillman key agreement as a starting point. Now if you don't want to hear anything technical, feel free to skip ahead maybe 10 or 15 minutes, 10 minutes, let's say in this talk. That's fine. Now at this point, you have a right to complain to me and say jargon, you're using jargon. So this slide starts with, let little G be a generator of a finite cyclic group capital G. Okay, if you don't know about finite cyclic groups, that's fine. I give you permission to think of little G as an integer. And when I say G to the A, that means take G to the power A and take its remainder and division by a large prime number. Or you can skip ahead and in the slide, in that talk. Okay, so Bob and I want to create a shared secret. So we have our own secrets. I have little A, Bob has little B, some numbers, integers. I broadcast or send G to the A, Bob sends or broadcast G to the B, and we share G to the A, B, which we can each compute by taking the broadcast that we've seen and raising to our secret number. We both get G to the A, B that way. So we share that value. And I claim that nobody else knows that value. So why can't the adversary compute G to the A, B? Well, the adversary in this case, the Jabberwock can't compute G to the A, B, as long as the Diffie-Hellman problem is hard. So the Diffie-Hellman problem is the problem, find G to the A, B, given G, G to the A, and G to the B for random unknown integers A and B in a certain interval. Okay. In a paper in 1999 that appeared in Asia Crip called Doing More with Fewer Bits, Broward, Pelican and Verhuil gave a variant of Diffie-Hellman that did more with fewer bits. The number of bits exchanged was a third of what happened in classical Diffie-Hellman for the same security. And shortly after that, Arjen Lenzter and Eric Verhuil came up with the XTR cryptosystem, which was an improvement on Broward, Pelican, Verhuil. So here is XTR, it flies, and they used a magpie. So why a magpie? Well, the X, of course, is short for ECS. So this is now XTR. XTR is the Dutch word for magpie. And XTR stands for Efficient Compact Subgroup Trace Representation, or does it? So their joke version was that it stands for elliptic curves still too risky, which as an elliptic curves person, I found, well, interesting. Well, a few years later, Carl Rubin and I came up with the Cayley cryptosystem, which we named after my cat Cayley. Now if you have a cat named Cayley, now I use the Scott's Gaelic spelling for Cayley. If I use the Irish spelling, it wouldn't have had the DH. So it wouldn't have had the Diffie-Hellman at the end. But if you have the DH at the end, it's crying out to be an acronym for something with Diffie-Hellman in it. So the Cayley cryptosystem is compact efficient, improves on loop, so loop can be viewed as a forerunner of XTR. It was a luca-based cryptosystem and improves on Diffie-Hellman. And I was a consultant for the television show Numbers. It's a wonderful thing about being cryptography. You can come up with these cute names and acronyms. And in one episode, they had something on cryptography and they asked me for something to put on the blackboard to have in the background of the scene. So I gave them the equations for the Cayley cryptosystem. And here you can see the word Cayley in the middle of this slide and the equations for the Cayley cryptosystem are all around it. So when that aired, over 12 million viewers saw the name of my cat Cayley flash across their TV screens, which is probably about maybe 12 million times the number of people who would ordinarily read one of my math papers. Okay, well, we also came up with a mathematical explanation for what was really behind the luca-based cryptosystems in XTR and Cayley. And we called that tourist-based cryptography because it relied on the mathematics of something called algebraic tori, not to be confused with complex tori that some of you know from elliptic curve theory. So Luke XTR and Cayley can be viewed as compression and decompression algorithms. So you might say that they do more with fewer bits. Now, what a couple of people pointed out to me is that there's a flip side to that, which is that if you're not, if you're only using some of the bits, then those other bits weren't really giving you security. So in some sense, it's telling you that maybe the security that you thought you had, you didn't really have, the security wasn't as good as we thought. Now, this doesn't have an effect on the security of Diffie-Hellman over prime fields, but it's somewhat relevant for Diffie-Hellman over extension fields of composite degree. And interestingly, usually in public cryptography, if you have something over finite fields, then there's an analog for elliptic curves that usually comes later. In this case, actually, the elliptic curve version came first. So the finite field version is the tourist-based cryptography. We had an elliptic curve or a billion varieties version that was inspired by a paper of Stephen Galbraith on super singular or a billion varieties in cryptography. Okay, what if three parties want to create a shared secret? Well, that was solved by Antoine Jou in a paper in the year 2000. So the three of us each have our own private secrets. We have our broadcasts. And if we have a map that takes two inputs and has this bilinearity property, so if we take two elements of our group G to the A and G to the B, and those are our two inputs into the function, then if what we get is the same as what you get when you input G and G, take the output and raise it to the power AB. So I'm going to call that the bilinearity property. If you have that bilinearity property, then Bob, the Cheshire Cat, and I have something that we can all compute. We have a shared secret. And it's this thing, what happens when you input G and G, and then take the output, raise it to the power ABC, and then we can each compute by taking the two broadcasts that we receive inputting those into the function and raising to our secret power. And that's because of the bilinearity property, which says that you can pull out the exponents and get this. Okay, so we share this value. Why can't the JavaWalk compute it? The JavaWalk cannot compute it if the bilinear Diffy-Hellman problem is hard, and that's where the bilinear Diffy-Hellman problem says, find the supposed secret information given the public information. So it's basically a tautology that the security depends on the bilinear Diffy-Hellman problem. And Antoine Jou, when he proposed this, proposed using taking the group to be the group of points on elliptic curve and taking the bilinear map to be a map coming from a vape herring or a tape herring on elliptic curve. And it's believed the bilinear Diffy-Hellman problem is hard in that setting. And I'll say that vape herrings had been around for a long time and were well known to number theorists in the field, number theorists who look at elliptic curves. And perhaps if more mathematicians had been involved more heavily in cryptography, some of this might have happened sooner. I will say that a decade earlier, parings on elliptic curves were used in a destructive way. The MOV attack due to Manez's Okamoto and Van Stone was a way to attack the decisional Diffy-Hellman problem. But then it took another 10 years to use it in that constructive way. And at the same time, also in 2000, Sakai Ogishi and Kasahara came up independently with a method to do identity-based key agreement with no interaction, also using parings on elliptic curves. So actually no broadcasts. And so that was the origins of paring-based cryptography can be viewed as those two papers from the year 2000. Sakai Ogishi, Kasahara and Antoine Jou's paper. Now, after that, there were many new cryptosystems that were created using parings on elliptic curves. Their security was often based on new hard problems. So in addition to bilinear Diffy-Hellman, often one had to come up with other problems that were presumed to be hard. The security of the new systems were based on them. So it's important for mathematicians to scrutinize these new hard problems because they're basically number three problems in some sense and try to solve them so that we have a better idea of whether these cryptosystems are actually secure. Okay, what if four parties want to create a shared secret with one round of broadcast? Open question. So Dan Bonnet and I considered that question in a paper that appeared in 2003. We said that if you have a function where instead of the bilinearity property and instead of having two inputs, you have N inputs. And you have this, you replace bilinearity with multi-linearity. So it's a direct generalization. So you have your N inputs coming from your group. Your inputs are G to the power a1 up to G to the power aN. And you want the value that you get when you input those to be the same as if you inputted G N times, took the output and raised it to this product, product of a1 up through aN. So that's the multi-linearity property. So if you had such a function, then N plus one parties could create a shared secret key. So we have our secrets, we have our broadcasts. And I claim we share this value. The way we each compute it is we take the N broadcast that we see. Those are our N inputs to our N valued function. To our function with N inputs. We take the output, we raise it to our own secret. And by the multi-linearity property, we all get the same value. And the reason it's secure, the reason the Jabberwock doesn't know this value. Well, it's secure if the multi-linear Diffie-Hellman problem is a hard problem. So what's the multi-linear Diffie-Hellman problem saying? Well, surprise, surprise. It says that it's a problem of finding the secret information, the shared information, given the public information. So assuming the existence of such multi-linear maps, which we didn't know how to construct if you have more than two inputs, we could construct all sorts of nice things. But we might have, we had to add some other hard problems, some other problems that we hoped are hard problems in some cases, not just the multi-linear Diffie-Hellman problem. But there's a dark side to our paper. And the dark side is, well, the vape herring has lots of lovely properties, lovely from a mathematician's point of view. So it has these very natural properties.  So in the case when n equals 1, you have the identity map. That's classical Diffie-Hellman. When you have two inputs, you have parings on elliptic curves or a billion varieties. That's paring-based cryptography. And that would be basically all you would get. But the good news is that as people were doing paring-based cryptography, they came up with more and more parings that were useful to use, that were efficient and seemed to work well. And they didn't necessarily have mathematically natural properties. So they may have made mathematicians cringe in some cases, but they were useful. So being mathematically beautiful isn't necessarily the right criterion to use. Being useful is perhaps more important. And another good sign was that in 2013, Garn, Gentry, and Halevi constructed what they called candidate multi-linear maps. And I think of it as approximate multi-linear maps. So they didn't fall strictly within the framework that Dan and I had envisioned. But they, you know, they're useful. They seemed like they would be useful. And they were constructed using lattices that come from number three. And since then they've alternately been attacks and new constructions. And there are a number of, well, I'd say it's still an open problem to come up with multi-linear maps when you have more than two inputs. And one, you know, there are a number of groups working on this. One group consists of me and Dan Bonnet, Ted Chinberg, Akshay Venkatesh, where we're trying to use ideas from algebraic geometry. Finding a solution might involve bringing together diverse groups of people, like in our group, from far-flung communities that mathematicians, computer scientists, engineers, and helping them to play well together. So working with others. Well, so I mentioned community. Now, the first semester long programs and cryptography that I remember were in the fall of 2006. There were two competing programs, one at IPAM in Los Angeles and one at the Fields Institute in Toronto. And I think they happened at the same time because of the failure of communication. And in the end, most of the mathematicians went to the Fields Institute and most of the computer scientists went to IPAM. And I went to IPAM partly because it was near home, but also mostly because I wanted to interact with computer scientists. But I did find that many days it felt as if I was the only one there. So it was quiet and peaceful, especially in the evenings, but there wasn't the sense of community that I had experienced at math programs at other research institutes. So it used to be the case that if you were, say, a senior mathematician who was given funding to attend a math conference, you felt an obligation to attend the entire conference and interact with junior colleagues and make yourself generally useful and available. And if you were invited to a semester long program, you tried to come for as much as you could of the semester long program and show up at lectures. Now, for cryptography conferences, and I think increasingly at math conferences, it's accepted that people might fly in just before their own talk and leave soon after it and only talk with their collaborators. Now, I think that maybe the people who say, we have too many conferences and it's better for the environment if we didn't travel so much have a point, not to mention that we may not be able to travel for a while. So maybe fewer conferences, but once we start having them again, stay at them longer, build a sense of community. So I think it's useful to have semester long programs with week-long workshops as a lot of these institutes have so that people who can't stay for the full program can still attend some of the workshops. Now, things have changed over time. So this semester, I was visiting the Simons Institute for the Theory of Computing in Berkeley where I'm supposed to be for the whole semester. And I would say there truly was a sense of community there. And in fact, when the Bay Area went on lockdown halfway through the semester and everything closed down, it was kind of amazing that that sense of community has continued. So not only did the lectures and workshops go online, which is something the Simons Institute was already very good at doing, but so did the board game night. And new social activities sprang up, like an online cooking class of all things. And I wanted to thank Shafi Goldwasser and the staff for creating and maintaining that really good sense of community. So I've been running a series of conferences and workshops to bring together computer scientists and mathematicians to work on cryptography problems of common interest and especially questions on fully homomorphic encryption and questions about multi-linear maps. And I've learned a lot about how to get people from different communities to work together well and to be able to solve problems together. And that's partly the things that I'm telling you here are often things I've learned from that. I wanted to tell you the story about how I started working on lattice-based cryptography. So in the spring of 2011, I learned about a DARPA initiative on fully homomorphic encryption. Now, the DARPA program had already started and there were all sorts of interesting and fun people who were on board already. Now, I looked up the call for proposals and it had strongly emphasized the mathematical foundations. And I asked around and it turned out that there were no mathematicians on the project who were working on the mathematics. So I thought, well, I'm someone with a strong math background and I have experience working with photographers. So I thought to myself, I should be on this project. But then it dawned on me that the mathematics of fully homomorphic encryption is lattices. And at that time, I didn't know a lot about lattices. But remember, I'm someone who believes in bringing in the experts and I was visiting the Mathematical Sciences Research Institute in Berkeley and Hendrick Lenster was also there and he's an expert on lattices. So I started bugging Hendrick with questions and we made progress in some problems and I ended up being added to the DARPA project. So they'd actually run out of money, but mathematicians are cheap. It's easy to add another mathematician or add a mathematician. And it also had the nice advantage that the meetings were often in very nice locations. So Hendrick and I proposed using certain lattices with newly orthogonal bases for fully homomorphic encryption in order to get more efficient decryption. And at some point, Daniela Michiencio reminded us about an algorithm of Craig Gentry and Mike Zidlo. And that led us to the cryptanalytic aspects of lattices of symmetry, which led to a long and interesting collaboration with Hendrick Lenster on lattices. So it's kind of, I kind of feel that my life has been like Alice in Wonderland, sort of hopping from one adventure to another. Okay, communication. So let me tell you a story. Dan Bonnet, Carl Rubin and I were working on a paper which was about composite order groups to use in pairing-based cryptography. Now, Dan wasn't being as responsive as I wanted him to be. And eventually he explained to me that his highest priority is always the paper with the next deadline. So if I wanted him to work on something, I had to give him a deadline. Well, I think a few years later, Victor Miller and Neil Koblitz asked me to contribute an article to a special issue of the Journal of Number Theory. I think it was on the occasion of the 25th anniversary of elliptic curve cryptography. Now they said there wasn't really a precise deadline yet, maybe late spring or summer. And then later on they said, well, you know, the earliest would be in the fall. So these were not strict computer science deadlines. They were flaky mathematician deadlines. So in October, I asked Neil for a firm deadline that I could tell to Dan. Neil said, well, we could say the end of October, but that's clearly too soon. So let's say something big like in a few weeks. Well, I didn't think that would work on Dan. So I told Dan we have a deadline of October 31st. Well, he worked really, really hard on that paper. Now, on October 31st, we ran into a small obstacle for which we needed a little bit more time if we wanted to deal with it in the right way. But Dan said, look, we have a deadline. The paper's good enough. Submit, submit. Well, knowing that we didn't really have an October 31st deadline, I told Dan that I had asked the editors for an extension and they gave us an extra 24 hours. Well, in those 24 hours, we easily fixed the problem and we were able to submit a polished paper. So I must admit to this day, I felt terribly guilty for misleading Dan. Now, he doesn't know this story, so please don't tell him. But the point of the story is that different cultures have different ways of doing things and it's important to communicate clearly and understand where the other person is coming from. So relationships are negotiations. Now, over the years, I've observed a number of disagreements in the cryptography community. Now, I'm a problem solver. I like to try to solve problems. That's one reason I like doing cryptography and computer science and things. So I tried to understand where everyone was coming from, what went wrong, what people could have done to either avoid the conflict or make things better. And I realized that many of the conflicts came from reading other people's minds and ascribing bad motives to them. And from assuming that others could read your mind and know what you're thinking and why you're angry with them. So when I was first asked to review a cryptography paper for a conference proceeding, I refereed it the way I would in math paper. And when I sent my report to the person who had asked me to review the paper, he said, oh, that deadline already passed a long time ago. Your review is too late to be helpful. So at that time, I didn't realize that in his field, reviews need to be quick and there are deadlines for the reviews. And it occurred to him that I didn't know that and that he should tell me what the deadline was. So he thought, you know, everybody knew that. Everyone knew what conferences was and knew when the deadline was. So clear communication is important, especially with people in a different field or a different culture. So I've talked about being curious and open to opportunities. In particular, be curious and not furious. And here I should credit Dorothy Hellman and Martin Hellman. Their wording was actually get curious, not furious. And I highly recommend their book, A New Map for Relationships, Creating True Love at Home and Peace on the Planet, in which they say that by getting curious and not furious, you can not only improve your personal relationships and your work relationships, but you can also have peace on earth. So I believe you can still download this free online. So relationships and negotiations not ultimatums, as I said, it's a useful thing to keep in mind. Now I would like to emphasize the importance of listening. And I can't really emphasize this enough. I think the world would be a lot better if people talked less and listened more. So you learn a lot more by listening than by talking. So a lot of us have been on committees where we kind of wish that people would talk less, listen more and learn from the other people around them. So in particular, listen to advice with an open mind. You don't necessarily have to follow it. But you can ask yourself, what can I learn from this? So for everything that happens, good or bad, I find it constructive to ask myself, what can I learn from this? Everything I read on the internet, rather than getting furious, getting angry with it, I think, but is there something useful I can take away from it? So sometimes people ask me for advice. Sometimes they give advice I'm not asked for and I'm trying to learn not to do that. But when you're invited for an hour talk, I figure, okay, I can give you some advice. So the advice I give when people ask me for it is, well, many problems could be avoided if people simply behave professionally. So we like to think of our colleagues as being our friends. But it's important to remember that we have a professional relationship with our coworkers and we have an obligation to behave professionally. So sometimes it's useful to think, am I behaving professionally? Is this a professional way to behave? Put in place good practices and policies. Hold people accountable. Train people and best practices. So this includes for hiring and promotion, for teaching, for choosing students, for choosing interns. And something that I find very important is make the rules of the game clear. Don't change the rules in the middle of the game and ensure that everyone has an equal opportunity to play the game and win. So an example of this is in hiring, where the public criteria given in the job ad can sometimes be quite different from the secret criteria or the real criteria for the job. And the people in the right circles know the real criteria and have an advantage. So I've actually seen this a lot. And if you want more stories about this, I would send you to my Alice's Adventures in Numberland website, in which I tell some more stories. So in general, what I advise people is to keep in mind that people need to see problems getting fixed so that they can trust that if they bring these problems to the attention of people in authority, the things will get better rather than getting worse. And also, senior people need to step in when there's a problem. So when the leaders in the field don't step in to do the right thing, everyone sees that and it can be demoralizing, especially for the junior people. So I'm glad that various communities, including the IACR, are thinking about a number of these issues. Given the stress that everyone is under now, it's especially important to be kind. So a friend and colleague of mine, Shahed Sharif, pointed out to me that kindness is a superpower. I was on a campus-wide committee that read large numbers of teaching evaluations and I learned that what students think of their teachers depends a lot on how kind the teachers are. Now, as a teacher, I'm very strict and I wondered why the students didn't seem to appreciate it. And didn't they know I was doing it for their own good and this showed how much I cared? But I found that if I walked into the classroom having made a conscious commitment to be kind, magically, the students were happy. Now, I was just as strict as before. Being kind did not mean letting them get away with something or being less strict or giving higher grades. But the students could tell that I wanted them to meet high standards because I cared about them. Anything we can do to make our communities more humane will make us happier and healthier. So we're all in the same boat. It's a small world. We're all dependent on each other. And I really like pictures of boats and I do hope we'll be allowed to go to the ocean again someday soon. So remember to eat well, get enough sleep, and stay healthy and safe. And many thanks to my current funders. And I look forward to seeing many of you at the live streaming session for the Q&A. Thanks very much.


Ukraine reaches Russia's last defence line in Zaporizhia Oblast. The Institute for the Study of War ISW has reported that Ukrainian armoured vehicles are already operating beyond the last line of Russian defence fortifications, which Ukrainian forces are currently breaking through in the west of Zaporizhia Oblast, although it is too early to claim that Ukraine's armed forces have completely broken through this Russian defence layer. Geolocated footage posted on September 21 indicates that Ukrainian armoured vehicles advanced south of the Russian anti-tank ditches and dragon's teeth obstacles that are part of a tri-layered defence and engaged in limited combat immediately west of Verbov. It is unclear if Ukrainian forces retained these positions. However, the ISW said. The ISW reported that they saw for the first time that Ukrainian forces are using armoured vehicles outside of Russia's three-layer defence. The ISW emphasises that the presence of Ukrainian armoured vehicles beyond the last line of the current Russian defence layer indicates that the Ukrainians have sufficiently breached the first two lines of this layer to move their vehicles forward. The Ukrainian ability to bring armoured vehicles to and through the most formidable Russian defences intended to stop them and to operate these vehicles near prepared Russian defence positions are important signs of progress in the Ukrainian counter-offensive. The ISW noted. The ISW noted that Ukrainian forces have also advanced to the west and southwest of the settlement of Verbov. Thus, the Russian troops currently defending in the western part of Zaporizia Oblast didn't have an ability to prevent the Ukrainian troops from advancing gradually but confidently since mid-August. The ISW wrote that it constantly observes the slow but regular advance of Ukrainian troops in this area despite the fact that the Russian military is transferring parts of relatively elite units here to strengthen its defensive operations.


What is the kindest thing you've been told? The kindest thing that I've been told? Oh, I've been told too many kind things. Someone once told me that I'm their favorite person and that me being around them makes them happy and that was very kind to me. That meant a lot to me because people don't typically openly say things like that.  That's a good thing. I'm happy that I was able to change my friend's life for the better and help her. Someone really told me something really nice about myself that was good to be validated. They said that I'm good at talking to people contrary to what this video will probably show.  The kindest thing I've been told is... Thank you.


I think you need to go up a bit. I have to. It's S. Welcome back to my channel, I hope you're doing really, really well. Today we have a very special guest here with us, this is my mum. Hi! So if you saw my last video then you'll probably know that I am in the Lake District for a week at the moment. So we thought that while I am here we would get a mum to debut on my channel. I'm very nervous. She's very nervous. Be nice to her down below, say hello, give her a little wave in the comments. I'm sure she'll appreciate that. I will. What we're going to do today is we're just going to talk about mum's favourite books. Everyone will be interested to know what kind of books you like to read so... Yeah. We'll go through them. And she's called Vicky by the way. Oh I'm called Vicky. Yes. Pleased to meet you. Yes. These are kind of an arbitrary five favourite books. I told her to pick five but they're way more than this really aren't they? There are lots and lots and lots. Do you want me to hold them up as we go? Yes. The first books. I say books that mum is going to talk about. Terry Pratchett. Anything to do with Terry Pratchett. And this one's Terry Pratchett, Weird Sisters. So Terry Pratchett is your favourite author? Yes I would say he is one of my very favourite, favourite authors. Yeah and Grandma's. And Grandma's. Both of them. Yeah. Nobody else in the family seems to get his sense of humour apart from me and Grandma. Yeah that's true. I think I tried to read We Free Men when I was younger. But because too young. And then I read Good Omens earlier this year. Yeah. Which didn't quite go to plan. No I just don't get why your sense of humour is not the same of mine. Yeah I know it is. It's very different. But Terry Pratchett you've loved him for a very long time. I have loved Terry Pratchett since just about the beginning of his writing. And this is one of your favourites? It is one of my favourites. I mean Terry Pratchett is broken into different characters. You have the witch characters, you have the city watch characters, you have death as a character and then you have the We Free Men. And I love them all for different reasons. But the witches, which this is one of the witches books are just brilliant. Cracking as we say in Cumbria. I like them because they are so funny. You have Granny Weatherwax who is the chief witch, the hag. And then you have Nanny Og who is the mother. And their sense of humour is just brilliant. And I think he's particularly good for his world building as well isn't he Terry Pratchett? He's the disc world. How he imagined that place, I just do not know. I wish I could have spent a day inside of his head. He'd be your answer. You know when they always say things like if you could take one of your favourite authors to tea, who would you take? Oh Terry Pratchett. Oh it would have been wonderful. And to have sort of like Granny Weatherwax sat there and Deaths sat there and Samuel Vimes sat there. It would have been a brilliant, brilliant tea party. Well I hope you say so. So the next book which is one of Mum's favourites which she's going to talk about is The Little White Horse by Elizabeth Goody. I've got it, was it by then? It is The Little White Horse by Elizabeth Goody. This book has been with me, not this particular copy, I have another copy of it, has been with me for many years. The first time I heard this story was when I was about nine years old and your grandma read it to me and it was one of her favourite books. I think I've got her original copy. I think I've seen it. Yeah but she's actually managed to pick up her first edition of it now which I'm hoping for. So it's a children's fantasy novel. It is a children's fantasy novel. Yeah. And it's about a girl called Maria Merryweather who is orphaned and she goes to live with her cousin in the valley of Moonacre which is a magical place. Yeah I wouldn't say anymore or Cameron will be telling you off for spoilers. Oh will he? Yeah he thinks that anything about books are spoilers. What I would like to say though is the place where it's set. There are places around here where I live that remind me of it with the trees and the rolling hills. Yeah we live in the Lake District. Well mum lives in Lake Strict, I'm from the Lake Strict. And he's just lovely. This might be the only one on this list that I've read. It is now. Mum was going to mention Little Women but I've talked about it so much that she's now not going to. This is the only one that I've read and I also love this. Yes. I think I read it. I probably wasn't as young as you when I first read it but I read it when I was quite young. I've read it a couple of times. It's a go-to comfort book. Yeah it is. It is really really good. I think I recommended it actually. I think in one of my children's book recommendations. You did. Or fantasy recommendations one of the two. You did. Basically nobody had heard of it. Apart from a couple of people who commented on it saying that they were so pleased that I was mentioning it because it's a book that they loved from when they were younger. Yes. And that no one ever seemed to talk about it so. No it's quite nice here. It should be on everybody's reading list because the description is wonderful. It should be on everybody's reading list. It should be on everybody's reading list. You heard it. Two down, three to go. It's like a talk show host. So the next book that Mum's going to talk about is. Is Lady of Hay by Barbara Erskine. Now it's quite a while since I've read this one. Have you reread this? I have reread it several times. This again is a new copy because my other one fell to pieces. It's about a lady called Jo who goes for hypnosis. And she ends up regressing into a past life where she was a lady of hay and in a very unhappy marriage. She ends up going back for hypnosis time and time again to see what happened in her past life. I've heard you talk about this before. I've always thought this sounded quite good. There are several books that follow the same vein. You don't have to read them together. You can read them separately from each other. But I believe that we've been born before. I know, I was going to say this is quite into your path lies. I believe that we've been here before. The way it goes from this life to her past life. I just think it's brilliantly done and I haven't. It sounds like a good story. So it's historical fiction. It's historical fiction. So I think there'd be quite a lot of people on Booktube to be honest. Who'd be interested in that? I've never heard anyone talk about it. I would be interested to know if there are any other books out there like it because I would certainly pick them up and read them. I do like my historical fiction. Yes. I do like my historical fiction. Maybe we should have said this at the beginning. What kind of books do you like to read? Well I certainly like fantasy. I certainly like historical fiction. I think that's it. They're the main two. Children's fiction. But children's fiction kind of crosses over with historical and fantasy doesn't it? I love lots and lots of children's literature. And I think it's very important. And I also like books that are set in places that I know. So the penultimate book on mum's list is... Which one is this? Heaven's Net is Wide by Leanne Hearn. I would say historical fantasy. I don't know whether it is such a genre. This is the first book in a set of five. And it's set in, for want of a better place, Japan. And it's about the Atari clan. And the lives through three generations. And they have some magical powers. It is so well written. And again the description. This is another one that's pretty big. You do like a chunky? I do like a chunky. Now the first book and the last book in this series were written after the middle three books were written. You can read one at the beginning, then the middle three and then the last one. And the first and the last one are chunky and the middle three are thinner books. They all follow the same family and what they get up to and Cameron read these. Cam would like them? Yes, I think Cam would like them. Yeah, I do. But I thought he might like Good Omens, but that's another story. No, he didn't. I've just recently listened to them on Audible. Oh, yeah. Was that good? Yes. Sometimes an audio book, make or break a book, can't it, depending on who's narrated it? Yes, it can. There are actually two people narrating these ones and it works really, really well. Not too bad. This is it. Final book. The one I'm going to talk about today is The Hollow Land by Jane Gardham. This book has been, again, with me for a long time. I think I'm going to read the back bit if that's all right to you. That's all right. Inside the copy of this book, in the back, there is a message. No chance. And this message was written to me by my gran, Jasmine's great-grand. It says, to Vicki, from gran, or mum, because that's what I called her. In memory of grandpa, that was my grandad, whose name was Kendall. This book is based on fact, but turned into fiction for entertainment. It was televised for children in the Giaconore series 1985. So basically, this book, The Lady Jane Gardham, used to visit Kirby Stephen where I was born and brought up at. And she researched the area and the characters from the area. And she wrote this book based on the people that lived in and around Kirby Stephen. And she used to stop up there with her family.  And my grandparents owned a vision chip shop. And there is a chapter in this book entitled Sweep. My grandad was a chimney sweep. And he is in this book. She's written about him and my gran, but mainly my grandad, Grampy. And how he once went and called for them on a wet, blustery, horrible day and took them fishing. And that really happened. So she's, you know, taken fact and put it into fiction. And I recognise so many of these places and so many of these people in here. And it tells the story from the perspective of a boy called Beltiesdale. Oh, that's a good one. Yes, that's a good one to end on. And it won the Whitbread Literate Award in 1981. And we've all got a copy of it in our family. No, I don't. Well, the people that matter. They are mum's, well, some of mum's favourite books. They're very, very, very, very small. So perhaps in the future mum will come back onto my channel again, depending on... You can be honest with me about how he's gone after the camera. Well, I have to see what room my reviews are, won't we? Yeah. I'm not going to read them, I don't think. No, you really will have run up in time. I know. I'll block them if they're not. Do. So that's going to be it for this video. I think we are done. Was it as scary as you thought it was going to be? Yeah, it was. No, right? It was really, really scary. So thank you very much for watching, everyone. I hope you're doing really well. Hopefully next time I see you, I will be in the new flat. That's the plan. That's exciting. And then I'll be back into full flow with filming. I've got lots of good video I did. And I want to get back into the routine of doing it when everything settles down. And hopefully we'll have one of yours and Cam's arguments going on. Oh, sorry. Discussions. Discussions. Discussions. A few people have requested that video now. I've heard you. They need to see it. Who do you think could win? Oh, you always. Sorry, Cam. He's pretty good. He holds his own. Oh, he does hold his own. Thank you very much for watching, everyone, again. I hope you're all doing well. I hope you're having really nice weeks. Remember to say hi to Mum down below. And I'll talk to you in the comments as always. And I'll see you soon with another video. Bye, everyone. Bye. I'm gonna fall off my cushion. I think the sun's gone away now. For good, do you? Maria wet. Just say what you said about the lady and she wakes up. Oh, she was a past life or something. I don't know. What? I just forgot what I was saying. You forget what you were saying.