1 00:00:07,919 --> 00:00:10,719 Hello, and welcome to the Physics World weekly 2 00:00:10,719 --> 00:00:12,740 podcast. I'm Hamish Johnston. 3 00:00:13,294 --> 00:00:15,695 In this episode, I'm joined by my colleague 4 00:00:15,695 --> 00:00:16,835 Margaret Harris, 5 00:00:17,135 --> 00:00:19,934 who's recorded a series of interviews for the 6 00:00:19,934 --> 00:00:20,434 podcast 7 00:00:20,734 --> 00:00:22,435 at this year's Heidelberg 8 00:00:22,894 --> 00:00:24,114 Laureate Forum. 9 00:00:24,574 --> 00:00:26,675 We're going to hear two of those conversations 10 00:00:27,054 --> 00:00:27,554 shortly, 11 00:00:27,969 --> 00:00:30,869 which both focus on the challenges of designing 12 00:00:31,089 --> 00:00:31,910 and developing 13 00:00:32,450 --> 00:00:33,509 computer chips. 14 00:00:34,049 --> 00:00:36,229 Hi, Margaret. Welcome to the podcast. 15 00:00:36,770 --> 00:00:37,590 Hi, Hamish. 16 00:00:38,289 --> 00:00:40,530 Margaret, before we hear those interviews, can you 17 00:00:40,530 --> 00:00:42,869 tell us a little bit about the Heidelberg 18 00:00:43,090 --> 00:00:44,075 Laureate Forum? 19 00:00:44,935 --> 00:00:47,094 Yeah. So the Heidelberg Laureate Forum is a 20 00:00:47,094 --> 00:00:49,435 scientific meeting that's held every year in Heidelberg, 21 00:00:49,575 --> 00:00:52,375 Germany, hence the name. And its aim is 22 00:00:52,375 --> 00:00:55,354 to foster connections between notable figures in computer 23 00:00:55,414 --> 00:00:56,554 science and mathematics, 24 00:00:57,469 --> 00:00:59,630 and then with early career researchers from around 25 00:00:59,630 --> 00:01:00,289 the world. 26 00:01:00,750 --> 00:01:03,229 It's modeled on the Lindau Nobel Laureate meeting, 27 00:01:03,229 --> 00:01:05,390 which does something similar for the Nobel Prize 28 00:01:05,390 --> 00:01:07,810 granting fields of medicine, physics, and chemistry, 29 00:01:08,269 --> 00:01:10,750 but there's no Nobel Prize for computer science 30 00:01:10,750 --> 00:01:13,185 or for mathematics. So instead, the laureates who 31 00:01:13,185 --> 00:01:16,064 come to Heidelberg have won major awards such 32 00:01:16,064 --> 00:01:18,224 as the Abel Prize and the Fields Medal 33 00:01:18,224 --> 00:01:18,804 in Mathematics 34 00:01:19,424 --> 00:01:22,144 or the ACM AM Turing Award for computer 35 00:01:22,144 --> 00:01:22,644 science. 36 00:01:23,504 --> 00:01:25,024 I I have to say, Margaret, I'm a 37 00:01:25,024 --> 00:01:27,379 bit ignorant of of both mathematics 38 00:01:27,840 --> 00:01:31,539 and computer science as sort of academic fields. 39 00:01:31,920 --> 00:01:34,159 Is is there a lot of crossover between 40 00:01:34,159 --> 00:01:35,759 those two? I mean I mean, I would 41 00:01:35,759 --> 00:01:38,974 have assumed so, but, I could be wrong. 42 00:01:38,974 --> 00:01:40,655 Yeah. I mean, you know, obviously, these are 43 00:01:40,655 --> 00:01:42,814 two fields that are very closely related to 44 00:01:42,814 --> 00:01:43,775 physics, and, 45 00:01:44,174 --> 00:01:46,194 so I would say that there is simultaneously 46 00:01:47,375 --> 00:01:49,534 less and more overlap between the two and 47 00:01:49,534 --> 00:01:51,155 with physics than you might think. 48 00:01:52,010 --> 00:01:54,010 So several of the computer scientists I spoke 49 00:01:54,010 --> 00:01:56,010 to during the format, which I attended back 50 00:01:56,010 --> 00:01:56,750 in September, 51 00:01:57,290 --> 00:01:59,129 they said that that being there and talking 52 00:01:59,129 --> 00:01:59,790 to mathematicians 53 00:02:00,250 --> 00:02:01,770 had actually convinced them that they need to 54 00:02:01,770 --> 00:02:02,750 learn more math 55 00:02:03,049 --> 00:02:05,290 before they can make a useful contribution to 56 00:02:05,290 --> 00:02:05,790 future 57 00:02:06,484 --> 00:02:07,844 discussions. And I would sort of back that 58 00:02:07,844 --> 00:02:08,965 up. You know, I spoke to a couple 59 00:02:08,965 --> 00:02:11,284 of pure mathematicians there who told me what 60 00:02:11,284 --> 00:02:12,645 they're working on, and I was like, I 61 00:02:12,645 --> 00:02:14,985 understand one word and three of those things. 62 00:02:15,284 --> 00:02:17,145 So, you know, you can't have 63 00:02:17,444 --> 00:02:18,724 much of a discussion if you don't have 64 00:02:18,724 --> 00:02:20,645 a common vocabulary. So I think there is 65 00:02:20,645 --> 00:02:21,509 some work there. And 66 00:02:22,229 --> 00:02:22,949 And I'm sure, you know, there are mathematicians 67 00:02:22,949 --> 00:02:24,870 who felt the same way about computer scientists. 68 00:02:24,870 --> 00:02:26,069 You know, it's not as if it's a 69 00:02:26,069 --> 00:02:27,289 one way street there. 70 00:02:27,829 --> 00:02:29,189 But that said, a lot of talks at 71 00:02:29,189 --> 00:02:31,509 this year's forum focused on machine learning and 72 00:02:31,509 --> 00:02:32,409 artificial intelligence 73 00:02:32,709 --> 00:02:33,530 or AI, 74 00:02:34,165 --> 00:02:36,645 which is having major impacts on so many 75 00:02:36,645 --> 00:02:38,805 areas of science, including physics as well as 76 00:02:38,805 --> 00:02:41,925 mathematics and computer science. And there's definitely some 77 00:02:41,925 --> 00:02:43,145 common ground there. 78 00:02:43,444 --> 00:02:44,885 And then, of course, there's a whole branch 79 00:02:44,885 --> 00:02:48,449 of mathematics specifically dedicated to computer science. You 80 00:02:48,610 --> 00:02:49,729 know, if you think back to the middle 81 00:02:49,729 --> 00:02:52,610 of the twentieth century when computer science was 82 00:02:52,610 --> 00:02:53,509 getting its start, 83 00:02:54,050 --> 00:02:56,129 you had work by scientists like John von 84 00:02:56,129 --> 00:02:58,229 Neumann and, of course, Alan Turing himself, 85 00:02:58,530 --> 00:03:00,209 you know, really laying the foundations of the 86 00:03:00,209 --> 00:03:01,989 field. So it's definitely a lot of crossover 87 00:03:02,050 --> 00:03:03,830 even if it's not complete overlap. 88 00:03:04,465 --> 00:03:06,245 So you you mentioned the Lindau 89 00:03:06,544 --> 00:03:07,044 meetings. 90 00:03:07,504 --> 00:03:10,064 I I went to one many years ago, 91 00:03:10,064 --> 00:03:12,385 and and I thought it was fantastic. And 92 00:03:12,385 --> 00:03:14,544 it was fantastic because of the people who 93 00:03:14,544 --> 00:03:16,724 were there. You had Nobel laureates, 94 00:03:17,185 --> 00:03:19,490 on one hand, and then you had lots 95 00:03:19,490 --> 00:03:22,710 of, well, students and early career people there 96 00:03:22,770 --> 00:03:25,170 sort of mixing and chatting. And, you know, 97 00:03:25,170 --> 00:03:26,849 I thought it was a really it was 98 00:03:26,849 --> 00:03:27,830 a really dynamic 99 00:03:28,129 --> 00:03:28,629 event. 100 00:03:29,170 --> 00:03:31,170 So so who is in in Heidelberg? Is 101 00:03:31,170 --> 00:03:32,930 it the the sort of same idea of 102 00:03:33,615 --> 00:03:35,615 Yeah. Very much so. So the laureates of 103 00:03:35,615 --> 00:03:38,254 this year's forum included, Vint Cerf, who's known 104 00:03:38,254 --> 00:03:40,094 as the father of the Internet, with his 105 00:03:40,094 --> 00:03:42,655 role in developing the TCP ISP system used 106 00:03:42,655 --> 00:03:43,395 in email. 107 00:03:44,094 --> 00:03:45,854 I wrote a blog post for Physics World 108 00:03:45,854 --> 00:03:48,700 about Cerf's talk at the forum on the 109 00:03:49,000 --> 00:03:51,240 on the longevity of digital information, and you 110 00:03:51,240 --> 00:03:52,939 can read it on the Physics World website. 111 00:03:53,879 --> 00:03:55,659 Other people I met there were the cryptographers, 112 00:03:55,879 --> 00:03:58,439 Whitfield Diffie and Martin Hellman, who pioneered the 113 00:03:58,439 --> 00:04:01,305 public key cryptography method that's used to keep 114 00:04:01,444 --> 00:04:03,844 all your data secure online, especially actually, there 115 00:04:03,924 --> 00:04:05,685 there's also the RSA algorithm, which is a 116 00:04:05,685 --> 00:04:07,525 big part of it. But Whitfield, Diffie, and 117 00:04:07,525 --> 00:04:08,884 Martin Hellman were the ones who were at 118 00:04:08,884 --> 00:04:09,944 this particular conference. 119 00:04:10,724 --> 00:04:12,164 And then as you said, there's the early 120 00:04:12,164 --> 00:04:15,050 career researchers. And at the Heidelberg Laureate Forum, 121 00:04:15,050 --> 00:04:17,129 they were a hugely diverse bunch. You know, 122 00:04:17,129 --> 00:04:19,290 they came from all over the world and 123 00:04:19,290 --> 00:04:21,310 ranging from undergraduate students to postdocs. 124 00:04:22,250 --> 00:04:24,009 They have to apply to attend, and it 125 00:04:24,009 --> 00:04:26,750 must be a pretty rigorous application process because 126 00:04:27,375 --> 00:04:29,774 everyone I met was just great fun to 127 00:04:29,774 --> 00:04:32,435 talk to. They're really impressive in their enthusiasm 128 00:04:32,654 --> 00:04:34,974 for the research and actually very good explain 129 00:04:35,055 --> 00:04:37,375 at explaining it, even to a physicist like 130 00:04:37,375 --> 00:04:39,134 me who doesn't come from a really strong 131 00:04:39,134 --> 00:04:41,074 computational or mathematical background. 132 00:04:41,910 --> 00:04:44,889 And Margaret, we've got two, of your conversations, 133 00:04:45,670 --> 00:04:47,529 queued up and ready to go, 134 00:04:48,389 --> 00:04:49,610 later in the podcast. 135 00:04:49,990 --> 00:04:51,769 Who who did you speak to? 136 00:04:52,230 --> 00:04:54,470 So my goal at the Heidelberg Laureate Forum 137 00:04:54,470 --> 00:04:56,224 was to find out more about the aspects 138 00:04:56,224 --> 00:04:58,704 of computer science and mathematics that relate most 139 00:04:58,704 --> 00:05:00,404 closely to physics or, 140 00:05:00,865 --> 00:05:02,224 to put it in a slightly different way, 141 00:05:02,224 --> 00:05:03,745 the ones that are of most interest to 142 00:05:03,745 --> 00:05:04,245 physicists. 143 00:05:04,784 --> 00:05:06,224 And with that in mind, I spoke to 144 00:05:06,224 --> 00:05:09,425 two PhD students whose research focuses in different 145 00:05:09,425 --> 00:05:09,925 ways 146 00:05:10,579 --> 00:05:12,339 on kind of the nitty gritty factors that 147 00:05:12,339 --> 00:05:14,680 go in designing and developing computer chips. 148 00:05:15,220 --> 00:05:17,939 And these computer chips obviously play hugely important 149 00:05:17,939 --> 00:05:20,740 roles in many aspects of physicists' lives, whether 150 00:05:20,740 --> 00:05:22,500 that's making your own chips as part of 151 00:05:22,500 --> 00:05:25,375 a scientific prototyping process or even just, you 152 00:05:25,375 --> 00:05:27,154 know, owning consumer electronics. 153 00:05:27,694 --> 00:05:29,475 It goes the whole gamut there. 154 00:05:30,415 --> 00:05:31,855 And so who who are we going to 155 00:05:31,855 --> 00:05:32,834 hear from first? 156 00:05:33,375 --> 00:05:35,055 Okay. So first up, we'll be hearing from 157 00:05:35,055 --> 00:05:37,855 Maryam Elgamal, who's doing a PhD at Harvard 158 00:05:37,855 --> 00:05:39,154 University in The US. 159 00:05:39,569 --> 00:05:42,149 She's working on the design of environmentally sustainable 160 00:05:42,210 --> 00:05:43,189 computing systems, 161 00:05:43,649 --> 00:05:45,569 and I began by asking her what got 162 00:05:45,569 --> 00:05:47,029 her interested in this field. 163 00:05:55,384 --> 00:05:57,004 First, thank you for having me. 164 00:05:57,464 --> 00:05:58,985 I think what really got me into the 165 00:05:58,985 --> 00:06:01,485 field, I was I came into my PhD 166 00:06:01,785 --> 00:06:03,544 not really knowing what I wanted to work 167 00:06:03,544 --> 00:06:05,384 on. I just knew that I really liked 168 00:06:05,384 --> 00:06:05,884 computing, 169 00:06:06,264 --> 00:06:08,264 and I was just exploring different kind of 170 00:06:08,264 --> 00:06:11,089 projects. And I was lucky, I guess, because 171 00:06:11,089 --> 00:06:13,250 my advisers were just, like, giving me all 172 00:06:13,250 --> 00:06:15,009 of these different kind of projects that are 173 00:06:15,009 --> 00:06:17,329 available. And one of them really stuck out 174 00:06:17,329 --> 00:06:19,729 to me, which was the looking at, like, 175 00:06:19,729 --> 00:06:22,529 environmentally sustainable computing systems and and the the 176 00:06:22,529 --> 00:06:24,310 environmental impact. And I 177 00:06:24,714 --> 00:06:27,375 have always had an interest in environmental sustainability, 178 00:06:28,235 --> 00:06:30,095 even, like, prior to my undergraduate 179 00:06:30,555 --> 00:06:31,055 degree. 180 00:06:31,435 --> 00:06:33,834 And it was just this one project stuck 181 00:06:33,834 --> 00:06:35,194 out to me, and I started working on 182 00:06:35,194 --> 00:06:36,175 it with a senior 183 00:06:36,714 --> 00:06:38,714 student at the time. I was currently a 184 00:06:38,714 --> 00:06:39,214 professor, 185 00:06:40,020 --> 00:06:40,759 at Cornell, 186 00:06:41,220 --> 00:06:41,960 Udut Gupta. 187 00:06:42,660 --> 00:06:44,180 And so I started working with him and 188 00:06:44,180 --> 00:06:46,360 I really enjoyed that project and then just 189 00:06:46,660 --> 00:06:48,500 decided to continue in that area for the 190 00:06:48,500 --> 00:06:50,100 rest of my PhD. And now I'm in 191 00:06:50,100 --> 00:06:52,899 my fifth year still working on designing computing 192 00:06:52,899 --> 00:06:54,600 systems for environmental sustainability. 193 00:06:55,134 --> 00:06:57,134 I think what's really also exciting about this 194 00:06:57,134 --> 00:07:00,334 area is how it's an emerging research area. 195 00:07:00,334 --> 00:07:02,895 So it's pretty new compared to other areas 196 00:07:02,895 --> 00:07:05,154 in like hardware design or computer architecture. 197 00:07:05,615 --> 00:07:07,615 And so that also gets me really excited 198 00:07:07,615 --> 00:07:09,600 to just like, there's so much potential, so 199 00:07:09,839 --> 00:07:10,959 many things that we can do and so 200 00:07:10,959 --> 00:07:12,420 many things that we need to explore. 201 00:07:12,800 --> 00:07:16,000 What does sustainability mean for computing systems? What 202 00:07:16,000 --> 00:07:17,520 are the main things you need to consider 203 00:07:17,520 --> 00:07:20,420 when you're evaluating how sustainable a computer system 204 00:07:20,480 --> 00:07:20,980 is? 205 00:07:21,600 --> 00:07:23,060 So when it comes to 206 00:07:23,495 --> 00:07:26,134 sustainability for computing, there are multiple aspects for 207 00:07:26,134 --> 00:07:26,634 it. 208 00:07:27,334 --> 00:07:27,834 Traditionally, 209 00:07:28,214 --> 00:07:29,914 when we design computing systems, 210 00:07:30,774 --> 00:07:32,935 it has always been like the primary metrics 211 00:07:32,935 --> 00:07:34,694 that we would look at are like power, 212 00:07:34,694 --> 00:07:35,914 performance area. 213 00:07:36,329 --> 00:07:37,930 And, like, in the past two decades, there 214 00:07:37,930 --> 00:07:39,069 has been so much 215 00:07:39,449 --> 00:07:40,669 work and so much 216 00:07:40,970 --> 00:07:42,970 progress when it comes to the energy efficiency 217 00:07:42,970 --> 00:07:44,810 of computing systems. So how can we design 218 00:07:44,810 --> 00:07:46,110 computing systems that 219 00:07:46,410 --> 00:07:48,410 deliver the most work or the highest performance 220 00:07:48,410 --> 00:07:50,569 with the minimal energy possible? So there has 221 00:07:50,569 --> 00:07:52,029 been a lot of work in the area. 222 00:07:52,144 --> 00:07:53,985 But when it comes to the actual, like, 223 00:07:53,985 --> 00:07:56,785 sustainability of a computing system, it's not only 224 00:07:56,785 --> 00:07:58,004 about energy efficiency. 225 00:07:58,384 --> 00:08:00,225 It's also about, like, looking at the total 226 00:08:00,225 --> 00:08:02,064 carbon of the computing system. And what that 227 00:08:02,064 --> 00:08:04,705 means is that we're looking at the carbon 228 00:08:04,705 --> 00:08:07,019 footprint due to the use. So you can 229 00:08:07,019 --> 00:08:08,939 think that energy efficiency is a subset of 230 00:08:08,939 --> 00:08:10,779 that, but also we want to look at 231 00:08:10,779 --> 00:08:12,779 the carbon footprint due to the manufacturing of 232 00:08:12,779 --> 00:08:14,939 the system itself. And what we're finding is 233 00:08:14,939 --> 00:08:17,279 that the carbon footprint of computing systems 234 00:08:17,740 --> 00:08:20,220 from a manufacturing perspective can actually be a 235 00:08:20,220 --> 00:08:21,919 huge portion of the carbon footprint. 236 00:08:22,404 --> 00:08:23,925 It up it depends on the domain. So 237 00:08:23,925 --> 00:08:25,285 if you're looking at a data center, it 238 00:08:25,285 --> 00:08:27,544 could look like 50% of the carbon footprint 239 00:08:27,604 --> 00:08:31,125 is due to, like, the operational carbon, so 240 00:08:31,125 --> 00:08:34,289 use. And the other 50%, around 50% is 241 00:08:34,370 --> 00:08:36,629 going to be due to the actual manufacturing 242 00:08:36,690 --> 00:08:38,769 and the infrastructure of the data center. When 243 00:08:38,769 --> 00:08:41,169 you're looking at something like mobile devices or, 244 00:08:41,169 --> 00:08:44,129 like, more broad like, more broadly speaking, consumer 245 00:08:44,129 --> 00:08:47,350 devices, that would more look like 75% 246 00:08:47,735 --> 00:08:48,475 being manufacturing. 247 00:08:49,254 --> 00:08:52,294 And so that's something that hardware designers and 248 00:08:52,294 --> 00:08:55,574 computer engineers haven't typically looked at. And we're 249 00:08:55,574 --> 00:08:58,235 really trying to see how we can consider 250 00:08:58,454 --> 00:09:01,009 this total carbon and trade that off with 251 00:09:01,009 --> 00:09:03,409 all of these other conventional metrics of power, 252 00:09:03,409 --> 00:09:04,549 performance, area, 253 00:09:04,929 --> 00:09:07,429 and costs that have been traditionally done. So, 254 00:09:07,970 --> 00:09:09,830 this is how we're looking at the sustainability. 255 00:09:09,970 --> 00:09:12,529 And there are other aspects of sustainability beyond 256 00:09:12,529 --> 00:09:14,690 carbon footprint that some people had that we're 257 00:09:14,690 --> 00:09:16,664 starting to explore. And some people have also 258 00:09:16,985 --> 00:09:19,704 explored in other places, which is, like, water 259 00:09:19,704 --> 00:09:22,504 consumption, whether that's in the fabrication or, like, 260 00:09:22,504 --> 00:09:24,264 if you're using that for, like, cooling a 261 00:09:24,264 --> 00:09:26,985 data center. Another thing that I'm also looking 262 00:09:26,985 --> 00:09:29,644 at is, like, the forever chemicals, 263 00:09:30,480 --> 00:09:31,539 more like colloquially 264 00:09:32,159 --> 00:09:34,320 would be called forever chemicals, but it's also 265 00:09:34,320 --> 00:09:36,419 called PFAS, which is the pro and polyfluorocal 266 00:09:36,720 --> 00:09:37,220 substances. 267 00:09:38,399 --> 00:09:40,320 So the problem with these chemicals is that 268 00:09:40,320 --> 00:09:41,139 they're synthetic 269 00:09:41,519 --> 00:09:42,019 and 270 00:09:42,559 --> 00:09:44,445 that makes them very bioaccumulative. 271 00:09:45,544 --> 00:09:47,945 Sometimes toxic, sometimes not. And it's a very 272 00:09:47,945 --> 00:09:49,164 broad class of chemicals. 273 00:09:49,625 --> 00:09:51,804 And they're very much widely used in semiconductor 274 00:09:52,024 --> 00:09:54,745 manufacturing. They're pretty much almost in every like, 275 00:09:54,745 --> 00:09:57,779 used for every single integrated circuit manufacturing and 276 00:09:57,779 --> 00:09:58,839 fabrication process. 277 00:09:59,299 --> 00:10:00,899 Not in every single process, but it is 278 00:10:00,899 --> 00:10:03,559 used to make the actual integrated circuit. 279 00:10:03,940 --> 00:10:05,940 And so we're looking at how we can 280 00:10:05,940 --> 00:10:08,339 quantify that, which turns out to be even 281 00:10:08,339 --> 00:10:10,199 harder than cover for carbon footprint. 282 00:10:10,535 --> 00:10:12,295 And then also how we can start, like, 283 00:10:12,295 --> 00:10:14,695 looking at techniques to start optimizing that and 284 00:10:14,695 --> 00:10:15,674 reducing it. 285 00:10:15,975 --> 00:10:17,355 So that's like sustainability 286 00:10:17,735 --> 00:10:19,894 from a high level perspective when it comes 287 00:10:19,894 --> 00:10:20,554 to computing. 288 00:10:21,335 --> 00:10:23,915 You talk about making computing systems more sustainable. 289 00:10:24,295 --> 00:10:26,154 What would that actually look like in practice? 290 00:10:26,549 --> 00:10:28,789 What are some things that manufacturers or people 291 00:10:28,789 --> 00:10:31,350 who run data centers, even consumers who have 292 00:10:31,350 --> 00:10:33,190 phones, what are some of the things we 293 00:10:33,190 --> 00:10:35,370 could do to make that more sustainable? 294 00:10:36,389 --> 00:10:38,570 So I like to think about sustainability 295 00:10:39,029 --> 00:10:39,750 from two 296 00:10:40,504 --> 00:10:42,345 I like to classify it in two separate 297 00:10:42,345 --> 00:10:42,845 ways. 298 00:10:43,225 --> 00:10:45,464 One is the quantification aspect and one is 299 00:10:45,464 --> 00:10:47,644 the optimization aspect. So 300 00:10:47,945 --> 00:10:49,625 first tip for us to be able to 301 00:10:49,625 --> 00:10:51,625 know how much we need to reduce or 302 00:10:51,625 --> 00:10:53,544 optimize something, we need to measure it and 303 00:10:53,544 --> 00:10:55,559 we need to quantify it. So a lot 304 00:10:55,559 --> 00:10:57,480 of work has been happening in the past 305 00:10:57,480 --> 00:10:59,879 few years on, like, how can we quantify 306 00:10:59,879 --> 00:11:01,820 the carbon footprint of computing systems? 307 00:11:02,120 --> 00:11:03,720 So talking about what is like, what is 308 00:11:03,800 --> 00:11:05,639 how much is like going to manufacturing? How 309 00:11:05,639 --> 00:11:06,940 much is going to operational? 310 00:11:07,240 --> 00:11:09,240 And then the next part is, okay, how 311 00:11:09,240 --> 00:11:10,620 can we also optimize 312 00:11:11,215 --> 00:11:13,774 these systems? So maybe, like, should we be 313 00:11:13,774 --> 00:11:14,514 using, like, 314 00:11:14,894 --> 00:11:16,894 GPUs or should we be using CPUs in 315 00:11:16,894 --> 00:11:18,335 a data center and, like, in a more 316 00:11:18,335 --> 00:11:20,414 nuanced kind of context and depending obviously on 317 00:11:20,414 --> 00:11:22,254 the applications that you're running in your data 318 00:11:22,254 --> 00:11:22,754 center? 319 00:11:23,269 --> 00:11:26,070 Something, for example, for, like, PFAS, it could 320 00:11:26,070 --> 00:11:28,570 be more, can we reduce the number of 321 00:11:29,110 --> 00:11:31,210 metal layers that you're using to manufacture 322 00:11:31,669 --> 00:11:33,529 an integrated circuit? So 323 00:11:33,910 --> 00:11:36,054 that's, like, just for context, it's like you 324 00:11:36,295 --> 00:11:37,654 when you make a chip, you have your 325 00:11:37,654 --> 00:11:40,134 transistors, and then you start manufacturing, like, mental 326 00:11:40,134 --> 00:11:41,995 layers where you start doing the routing, 327 00:11:42,695 --> 00:11:44,855 to connect these transistors together so that you 328 00:11:44,855 --> 00:11:48,315 can your chip can actually work. And so, 329 00:11:48,375 --> 00:11:51,389 typically, like, these PFAS are included almost in 330 00:11:51,389 --> 00:11:53,470 every single step to do, like, the what 331 00:11:53,470 --> 00:11:54,450 is called the photolithography. 332 00:11:54,909 --> 00:11:57,389 So the patterning of the actual, like, routing 333 00:11:57,389 --> 00:12:00,589 in the circuit on the, chip. And so 334 00:12:00,589 --> 00:12:02,350 if we can reduce this number of metal 335 00:12:02,350 --> 00:12:04,269 layers, maybe that's one thing that we can 336 00:12:04,269 --> 00:12:07,184 also reduce the forever chemicals or PFAS with 337 00:12:07,184 --> 00:12:08,485 that are used in manufacturing. 338 00:12:09,264 --> 00:12:12,004 Fabrication facilities have started looking into 339 00:12:12,625 --> 00:12:15,264 how they can reduce, like, recycle maybe some 340 00:12:15,264 --> 00:12:17,345 of the water that they're using. Some have 341 00:12:17,345 --> 00:12:19,184 looked into recycling some of the metals that 342 00:12:19,184 --> 00:12:19,679 they 343 00:12:20,000 --> 00:12:22,820 use. So for example, I think, Taiwan Semiconductor 344 00:12:23,039 --> 00:12:23,539 Manufacturing, 345 00:12:24,320 --> 00:12:24,820 TSMC, 346 00:12:25,440 --> 00:12:28,639 they have worked in on basically recycling the 347 00:12:28,639 --> 00:12:30,899 copper that they're using in the manufacturing 348 00:12:31,440 --> 00:12:34,565 and then taking it, recycling it, not necessarily 349 00:12:34,705 --> 00:12:37,985 into electronic grade copper, which is a challenge 350 00:12:37,985 --> 00:12:41,125 because the materials that you typically use for 351 00:12:41,745 --> 00:12:44,144 electronics or semiconductor manufacturing need to be very 352 00:12:44,144 --> 00:12:44,884 high purity. 353 00:12:45,330 --> 00:12:47,410 But instead of having to recycle it back 354 00:12:47,410 --> 00:12:49,170 into the same fab like, to use it 355 00:12:49,170 --> 00:12:51,090 in the same fabrication facility, you can recycle 356 00:12:51,090 --> 00:12:52,850 it and then give it to some other 357 00:12:52,850 --> 00:12:54,450 industry that may not need that kind of 358 00:12:54,450 --> 00:12:57,269 higher purity copper that you may need. 359 00:12:57,730 --> 00:13:00,394 It can also be utilized elsewhere and still 360 00:13:00,695 --> 00:13:02,634 benefit the whole sustainable sustainability 361 00:13:02,935 --> 00:13:05,975 aspect. Making copper wires or copper roofs or 362 00:13:05,975 --> 00:13:08,535 something like that. Exactly. Yeah. And so these 363 00:13:08,535 --> 00:13:09,355 kind of things. 364 00:13:11,415 --> 00:13:13,370 I guess any change is going to involve 365 00:13:13,370 --> 00:13:15,370 some level of cost in terms of going 366 00:13:15,370 --> 00:13:17,230 from old technologies to new ones. 367 00:13:17,610 --> 00:13:20,809 And traditionally in engineering, you can basically there's 368 00:13:20,809 --> 00:13:23,470 this three way trade off between being cheap, 369 00:13:23,769 --> 00:13:26,009 being fast, and being high quality, you know, 370 00:13:26,009 --> 00:13:27,629 and you get to pick only two. 371 00:13:28,375 --> 00:13:30,134 Are those kinds of trade offs also going 372 00:13:30,134 --> 00:13:30,954 on in the sustainability 373 00:13:31,334 --> 00:13:34,534 sector? Like, is sustainability maybe one of those 374 00:13:34,534 --> 00:13:35,894 criteria that you have to pick just a 375 00:13:35,894 --> 00:13:38,294 limited number of them? It really depends on 376 00:13:38,294 --> 00:13:40,394 the domain and really depends on the application. 377 00:13:41,009 --> 00:13:43,730 There are cases when you find computing systems 378 00:13:43,730 --> 00:13:45,269 that like, the 379 00:13:45,649 --> 00:13:48,529 energy efficient and the highest performing system could 380 00:13:48,529 --> 00:13:50,309 also be the carbon efficient system. 381 00:13:51,009 --> 00:13:53,250 But in other cases, you may find that, 382 00:13:53,250 --> 00:13:54,309 oh, it's actually 383 00:13:54,690 --> 00:13:56,975 the opposite. So it's like, pick which one 384 00:13:56,975 --> 00:13:58,894 you want. And so this whole trade off 385 00:13:58,894 --> 00:14:00,815 space is something that is very exciting to 386 00:14:00,815 --> 00:14:02,654 me in in in my research area, which 387 00:14:02,654 --> 00:14:04,815 is how can we trade this off? And 388 00:14:04,815 --> 00:14:06,975 that really depends on what your target is 389 00:14:06,975 --> 00:14:07,714 as a designer. 390 00:14:08,654 --> 00:14:10,980 So for example, if you if as if 391 00:14:10,980 --> 00:14:13,860 you're designing something that, say, you just need 392 00:14:13,860 --> 00:14:15,879 to meet a specific performance criteria, 393 00:14:16,419 --> 00:14:18,259 once you meet that performance, you probably just 394 00:14:18,259 --> 00:14:20,179 want to lower the carbon footprint. But if 395 00:14:20,179 --> 00:14:22,259 you're trying to design a system that you 396 00:14:22,259 --> 00:14:24,019 want to make sure that you reach the 397 00:14:24,019 --> 00:14:25,879 highest speed and performance possible, 398 00:14:26,445 --> 00:14:26,945 then 399 00:14:27,404 --> 00:14:27,904 probably 400 00:14:28,365 --> 00:14:30,045 you want to figure out a trade off 401 00:14:30,045 --> 00:14:31,825 that would still give you a good performance, 402 00:14:32,045 --> 00:14:33,965 but is not too bad when it comes 403 00:14:33,965 --> 00:14:34,945 to sustainability. 404 00:14:35,565 --> 00:14:37,884 So that trade off definitely makes it I 405 00:14:37,884 --> 00:14:39,804 think it's an extra dimension that we need 406 00:14:39,804 --> 00:14:41,450 to account for now when it comes to 407 00:14:41,450 --> 00:14:44,169 a sustainable design compared to just, like, energy 408 00:14:44,169 --> 00:14:46,409 efficient design or high performing design as it 409 00:14:46,409 --> 00:14:47,789 traditionally is. So 410 00:14:48,250 --> 00:14:50,089 In your research so far, what would you 411 00:14:50,089 --> 00:14:52,329 say has been something that's really surprised you? 412 00:14:52,329 --> 00:14:54,190 Something you didn't expect to find? 413 00:14:54,934 --> 00:14:57,115 Something you didn't expect to find. I 414 00:14:57,975 --> 00:15:00,475 was very surprised to see how 415 00:15:01,014 --> 00:15:04,714 the PFAS used in semiconductor manufacturing are actually 416 00:15:05,254 --> 00:15:06,235 they're pretty essential 417 00:15:06,909 --> 00:15:09,950 in many ways. And, the most surprising part 418 00:15:09,950 --> 00:15:11,870 to me was most of the PFAS used 419 00:15:11,870 --> 00:15:13,330 in semiconductor manufacturing 420 00:15:14,029 --> 00:15:16,750 do not actually stay on chip. They mostly 421 00:15:16,750 --> 00:15:17,570 go to wastewater, 422 00:15:18,029 --> 00:15:20,269 but it's something that you absolutely need to 423 00:15:20,269 --> 00:15:23,044 make that integrated circuit, and yet it's not 424 00:15:23,044 --> 00:15:24,264 on the actual chip. 425 00:15:24,644 --> 00:15:27,044 This whole PFAS thing makes it makes me 426 00:15:27,044 --> 00:15:28,105 realize that 427 00:15:28,804 --> 00:15:29,945 some of the sustainability 428 00:15:30,325 --> 00:15:32,325 things that we really need to think about 429 00:15:32,325 --> 00:15:34,169 in computing is not just 430 00:15:35,209 --> 00:15:36,029 what actually 431 00:15:36,809 --> 00:15:38,829 remains in the end product of computing, 432 00:15:39,289 --> 00:15:41,690 but the process itself, if we start looking 433 00:15:41,690 --> 00:15:42,970 into it, we might find that there are 434 00:15:42,970 --> 00:15:44,809 so many things that we that there are 435 00:15:44,809 --> 00:15:46,970 so many opportunities that we can do to 436 00:15:46,970 --> 00:15:49,470 improve the sustainability of computing in general. 437 00:15:50,294 --> 00:15:52,054 What's the next stage for this project? What 438 00:15:52,054 --> 00:15:53,414 are you working on now? What do you 439 00:15:53,414 --> 00:15:55,674 hope to achieve before you finish your PhD? 440 00:15:56,375 --> 00:15:58,534 So one of the things that really excite 441 00:15:58,534 --> 00:16:00,934 me and interest me in the sustainability space 442 00:16:00,934 --> 00:16:03,735 right now is thinking about what are better 443 00:16:03,735 --> 00:16:06,709 optimization techniques that we can do to actually 444 00:16:07,649 --> 00:16:09,350 help designers start 445 00:16:09,889 --> 00:16:11,029 doing actual 446 00:16:11,409 --> 00:16:12,949 sustainability aware design. 447 00:16:13,329 --> 00:16:15,089 And one of the main challenges in the 448 00:16:15,089 --> 00:16:17,649 sustainability area is that there's so much uncertainty 449 00:16:17,649 --> 00:16:20,004 in the data. And this uncertainty comes from 450 00:16:20,004 --> 00:16:22,004 so many, like, different shapes and forms. One 451 00:16:22,004 --> 00:16:24,085 of them is, like, one, there's lack of 452 00:16:24,085 --> 00:16:26,004 data. And two, there's just a lot of 453 00:16:26,004 --> 00:16:28,185 variability in the data that you have. Because 454 00:16:28,325 --> 00:16:30,644 as you can imagine, the semiconductor supply chain 455 00:16:30,644 --> 00:16:33,889 is so vast, and it's just so across 456 00:16:33,889 --> 00:16:36,289 so many countries, across so many grids, there's 457 00:16:36,289 --> 00:16:38,529 just so much happening in there that there's 458 00:16:38,529 --> 00:16:40,450 so much variability in it. And so I'm 459 00:16:40,450 --> 00:16:42,950 looking at optimization techniques that 460 00:16:43,554 --> 00:16:46,274 would still, despite all of this uncertainty, would 461 00:16:46,274 --> 00:16:48,514 still enable the designer to figure out what 462 00:16:48,514 --> 00:16:50,855 is the optimal design and what is, like, 463 00:16:50,915 --> 00:16:52,514 this is the design that you should be 464 00:16:52,514 --> 00:16:55,409 thinking about to have a more sustainable computing 465 00:16:55,409 --> 00:16:57,569 system, but also meet all of your other 466 00:16:57,569 --> 00:17:00,370 power performance area criteria that you need and 467 00:17:00,370 --> 00:17:01,809 what kind of trade offs that they can 468 00:17:01,809 --> 00:17:03,970 make. So that's that's the most exciting part 469 00:17:03,970 --> 00:17:05,829 for me right now in my project. 470 00:17:06,130 --> 00:17:07,650 Well, I look forward to hearing how that 471 00:17:07,650 --> 00:17:08,869 pans out in the future. 472 00:17:09,315 --> 00:17:11,315 Mariam Elgamel, thank you so much for appearing 473 00:17:11,315 --> 00:17:13,014 on the podcast. Thank you. 474 00:17:20,755 --> 00:17:23,075 Well, that was a really interesting discussion, Margaret. 475 00:17:23,075 --> 00:17:24,830 I mean, one thing that sort of struck 476 00:17:24,830 --> 00:17:25,970 me almost immediately 477 00:17:26,269 --> 00:17:26,769 is 478 00:17:27,309 --> 00:17:29,470 the, you know, the I I suppose the 479 00:17:29,470 --> 00:17:32,109 sort of pure economics of this. I mean, 480 00:17:32,109 --> 00:17:33,490 I can see if you 481 00:17:34,349 --> 00:17:35,950 you want to make a better chip, a 482 00:17:35,950 --> 00:17:36,930 chip that's more 483 00:17:37,294 --> 00:17:37,794 deficient, 484 00:17:38,095 --> 00:17:38,994 energy efficient, 485 00:17:39,454 --> 00:17:40,275 lower cost, 486 00:17:41,054 --> 00:17:42,575 you know, so I can see why you 487 00:17:42,654 --> 00:17:44,755 why a designer would want to do that. 488 00:17:44,894 --> 00:17:46,815 I can also understand why you'd want to 489 00:17:46,815 --> 00:17:47,315 eliminate, 490 00:17:48,654 --> 00:17:50,674 other sort of energy costs 491 00:17:51,109 --> 00:17:51,590 from, 492 00:17:51,910 --> 00:17:53,130 you know, from the process. 493 00:17:53,590 --> 00:17:54,090 But 494 00:17:54,549 --> 00:17:55,049 what, 495 00:17:56,070 --> 00:17:59,350 what are their economics that are driving things 496 00:17:59,350 --> 00:18:00,250 on the environmental 497 00:18:00,630 --> 00:18:02,809 side? I mean, particularly now, 498 00:18:03,350 --> 00:18:05,670 you know, when the the the tide almost 499 00:18:05,670 --> 00:18:08,384 seems to be going in a different direction, 500 00:18:08,605 --> 00:18:09,105 unfortunately, 501 00:18:09,884 --> 00:18:12,924 for making, well, just about anything greener. Did, 502 00:18:15,644 --> 00:18:17,484 was there any sort of talk about that 503 00:18:17,484 --> 00:18:19,825 at the conference, or did Maryam have any 504 00:18:20,045 --> 00:18:21,904 further insights into that? 505 00:18:22,330 --> 00:18:24,170 Yeah. Maryam, I didn't really get into that, 506 00:18:24,170 --> 00:18:25,529 but, you know, there was a little bit 507 00:18:25,529 --> 00:18:26,650 of a a talk or a lot of 508 00:18:26,650 --> 00:18:28,970 think people, sort of interested in in the 509 00:18:28,970 --> 00:18:31,850 environmental effects of AI, which you know are 510 00:18:31,850 --> 00:18:33,610 are quite severe in terms of how much 511 00:18:33,610 --> 00:18:36,430 energy is being used to create and run, 512 00:18:36,765 --> 00:18:39,484 the large language models that underlie things like 513 00:18:39,484 --> 00:18:42,464 chat GBT, Copilot, and various other AI systems. 514 00:18:43,404 --> 00:18:45,164 I think one of the the factors in 515 00:18:45,164 --> 00:18:48,305 terms of of computer chip design specifically and 516 00:18:48,649 --> 00:18:50,569 some of the chemicals that she talked about, 517 00:18:50,569 --> 00:18:51,230 you know, 518 00:18:51,609 --> 00:18:53,690 they are quite expensive and using less of 519 00:18:53,690 --> 00:18:55,849 them would be, you know, good, like, economically 520 00:18:55,849 --> 00:18:56,349 speaking 521 00:18:56,730 --> 00:18:58,730 as well as environmentally. And then I suppose 522 00:18:58,730 --> 00:19:00,349 if you want another economic perspective, 523 00:19:00,970 --> 00:19:03,904 if you end up dumping these chemicals into 524 00:19:03,904 --> 00:19:05,984 waterways, you can, in principle, get fined for 525 00:19:05,984 --> 00:19:07,424 that depending on where you are in the 526 00:19:07,424 --> 00:19:09,365 in in the world and how the local 527 00:19:09,904 --> 00:19:10,404 enforcement 528 00:19:10,865 --> 00:19:13,345 regime works. So I think that there are 529 00:19:13,345 --> 00:19:14,805 some some sort of cold 530 00:19:15,184 --> 00:19:16,085 cold hearted 531 00:19:16,464 --> 00:19:17,525 economic factors 532 00:19:18,200 --> 00:19:20,680 going towards making things greener, not just sort 533 00:19:20,680 --> 00:19:22,200 of, oh, well, it would be better for 534 00:19:22,200 --> 00:19:24,119 the environment. But, I mean, I'm not trying 535 00:19:24,119 --> 00:19:25,720 to sort of diminish the it would be 536 00:19:25,720 --> 00:19:28,119 better for the environment arguments because that's obviously 537 00:19:28,119 --> 00:19:29,640 important. We all live on this planet. We've 538 00:19:29,640 --> 00:19:31,000 all got to keep living on this planet. 539 00:19:31,000 --> 00:19:33,684 There's not really another option, is there? No. 540 00:19:33,684 --> 00:19:35,444 That that that's right. Yeah. And I suppose 541 00:19:35,444 --> 00:19:37,444 if, you know, if your factory is working 542 00:19:37,444 --> 00:19:38,424 to very high, 543 00:19:39,284 --> 00:19:42,085 environmental and health and safety standards, then if 544 00:19:42,085 --> 00:19:44,345 you can eliminate as many dangerous, 545 00:19:45,210 --> 00:19:48,509 nasty chemicals and materials from that process, 546 00:19:48,890 --> 00:19:50,650 you can you can save a lot of 547 00:19:50,650 --> 00:19:53,289 money, can't you? And, you know, sort of, 548 00:19:54,329 --> 00:19:56,569 make your employees happier because they don't have 549 00:19:56,569 --> 00:19:59,375 to work with these, you know, particularly nasty 550 00:19:59,375 --> 00:20:01,375 materials. So Yeah. Yeah. You you have health 551 00:20:01,375 --> 00:20:03,214 effects also for the people working with it. 552 00:20:03,214 --> 00:20:04,974 That's true. And I think it's a little 553 00:20:04,974 --> 00:20:06,595 bit like, other sort 554 00:20:07,134 --> 00:20:09,875 of economic, environmental configurations. I mean, 555 00:20:10,200 --> 00:20:11,500 not flying to conferences 556 00:20:12,119 --> 00:20:14,140 as much as we used to, perhaps, 557 00:20:14,679 --> 00:20:16,599 is good for the environment, but it's also 558 00:20:16,599 --> 00:20:17,659 good for organizations' 559 00:20:18,039 --> 00:20:20,359 bottom line. You know, not sending researchers around 560 00:20:20,359 --> 00:20:22,214 the world quite as much is, you know, 561 00:20:22,214 --> 00:20:24,214 beneficial for that, which I guess is is 562 00:20:24,214 --> 00:20:25,894 one problem with the things like the Heidelberg 563 00:20:25,894 --> 00:20:27,575 Laurier form, because people do come from all 564 00:20:27,575 --> 00:20:29,734 over the world. But I met some people 565 00:20:29,734 --> 00:20:31,414 there who said, you know, we the reason 566 00:20:31,414 --> 00:20:33,974 we're here, particularly some of the there's a 567 00:20:33,974 --> 00:20:35,815 group of alumni who can kind of come 568 00:20:35,815 --> 00:20:36,634 to the conference, 569 00:20:37,095 --> 00:20:37,595 occasionally. 570 00:20:38,289 --> 00:20:40,630 And they said, well, we have a collaboration 571 00:20:40,769 --> 00:20:42,369 going, and we're we're having it at the 572 00:20:42,369 --> 00:20:44,450 Heidelberg Laureate Forum because it saves us sort 573 00:20:44,450 --> 00:20:46,849 of travelling around various different places. So it 574 00:20:46,849 --> 00:20:48,609 saves us in that respect. So I think 575 00:20:48,609 --> 00:20:50,950 there are these sort of kind of parallel 576 00:20:51,009 --> 00:20:52,630 concerns that can feed into, 577 00:20:53,255 --> 00:20:55,835 things becoming greener in a slightly indirect way. 578 00:20:56,134 --> 00:20:57,914 Yeah. And I I suppose, you know, 579 00:20:58,295 --> 00:21:00,934 solar panels are a classic example of something 580 00:21:00,934 --> 00:21:01,434 where, 581 00:21:01,975 --> 00:21:03,894 yeah, I suppose they were brought in to 582 00:21:03,894 --> 00:21:06,875 reduce carbon emissions, but it turns out that, 583 00:21:07,420 --> 00:21:08,880 you know, you can produce electricity 584 00:21:09,259 --> 00:21:10,779 really cheaply with them. Yeah. 585 00:21:11,339 --> 00:21:13,599 You know, much cheaper than with fossil fuels. 586 00:21:14,059 --> 00:21:15,980 And so who's the, the second person that 587 00:21:15,980 --> 00:21:17,820 we're gonna hear from, Margaret? I have a 588 00:21:17,820 --> 00:21:20,460 funny feeling it's a fellow Canadian. We love 589 00:21:20,460 --> 00:21:22,934 to have Canadians on the podcast. Actually, Mariam's 590 00:21:22,934 --> 00:21:25,095 Canadian as well. Although although she's doing her 591 00:21:25,095 --> 00:21:27,575 PhD at Harvard, she is Canadian. So yeah. 592 00:21:27,575 --> 00:21:29,734 That's interesting because I was listening to her, 593 00:21:29,734 --> 00:21:30,554 and I thought 594 00:21:30,934 --> 00:21:33,174 she she sounds like she's from Montreal. Do 595 00:21:33,174 --> 00:21:34,990 you know if she's from Montreal? I don't 596 00:21:34,990 --> 00:21:36,509 think so. No. I think I think she's 597 00:21:36,509 --> 00:21:38,829 more more more Toronto, probably from near your 598 00:21:38,829 --> 00:21:41,230 area. But, she's she's sort of lived between 599 00:21:41,230 --> 00:21:43,069 Canada and Egypt and The US, so it's, 600 00:21:43,069 --> 00:21:44,289 you know Wow. 601 00:21:44,589 --> 00:21:47,309 So both Canadians. Both Canadians. Yeah. Yeah. Well, 602 00:21:47,309 --> 00:21:48,990 well done, Margaret. I should say that I 603 00:21:48,990 --> 00:21:50,204 had nothing to do with, 604 00:21:50,765 --> 00:21:53,085 with this. That's great. Well, let let let's 605 00:21:53,085 --> 00:21:55,024 move on to, to the next Canadian. 606 00:21:55,325 --> 00:21:57,484 What what's his name? So he's Andrew Gunter. 607 00:21:57,484 --> 00:21:59,644 He's finishing his PhD at the University of 608 00:21:59,644 --> 00:22:02,125 British Columbia in Canada, and he works in 609 00:22:02,125 --> 00:22:04,065 designing circuits for computer chips. 610 00:22:04,390 --> 00:22:06,230 And I asked him to start by explaining 611 00:22:06,230 --> 00:22:09,130 what that design process usually looks like. 612 00:22:18,549 --> 00:22:19,609 Designing chips 613 00:22:20,035 --> 00:22:22,855 and creating chips, let's say, has three aspects. 614 00:22:23,154 --> 00:22:25,714 First, there's the design entry, where you determine 615 00:22:25,714 --> 00:22:26,454 the functionality 616 00:22:26,994 --> 00:22:28,914 of the chip that you want. But you 617 00:22:28,914 --> 00:22:30,434 don't know anything about how it's going to 618 00:22:30,434 --> 00:22:31,095 be implemented. 619 00:22:31,809 --> 00:22:33,170 You don't know what it's going to look 620 00:22:33,170 --> 00:22:35,330 like, how well it's going to perform. You 621 00:22:35,330 --> 00:22:37,269 just know the functions. That's step one. 622 00:22:38,130 --> 00:22:39,109 Step two 623 00:22:39,410 --> 00:22:42,609 is converting that functional description of the chip 624 00:22:42,609 --> 00:22:43,990 to a physical description. 625 00:22:44,664 --> 00:22:47,464 That physical description now, it tells you where 626 00:22:47,464 --> 00:22:50,204 the components go, where the wires are laid, 627 00:22:50,265 --> 00:22:51,644 how it's going to be manufactured. 628 00:22:52,505 --> 00:22:53,944 Once you have that, then you go to 629 00:22:53,944 --> 00:22:54,444 fabrication. 630 00:22:55,545 --> 00:22:56,045 You 631 00:22:56,505 --> 00:22:59,325 ship your design off to TSMC in Taiwan. 632 00:22:59,710 --> 00:23:01,549 They do a whole bunch of very complicated 633 00:23:01,549 --> 00:23:04,430 things, and the output is a physical chip. 634 00:23:04,430 --> 00:23:06,509 And you would have this regardless of whether 635 00:23:06,509 --> 00:23:08,269 you're ordering a couple of chips for a 636 00:23:08,269 --> 00:23:09,650 very specialist application 637 00:23:10,430 --> 00:23:12,750 all the way through mass manufacturing. Is that 638 00:23:12,750 --> 00:23:13,970 right? Yeah. So 639 00:23:14,315 --> 00:23:15,835 for what we'd say the high end tech 640 00:23:15,835 --> 00:23:17,855 nodes are, those are very expensive. 641 00:23:18,795 --> 00:23:21,035 You really only want to use high end 642 00:23:21,035 --> 00:23:22,815 technology if it's mass market 643 00:23:23,595 --> 00:23:25,694 production. If there's a lower volume, 644 00:23:26,154 --> 00:23:29,295 you might use an older technology, cheaper and 645 00:23:29,619 --> 00:23:30,119 more 646 00:23:30,579 --> 00:23:32,519 reliable. A big issue with chip fabrication 647 00:23:32,899 --> 00:23:35,480 is errors in the fabrication process. 648 00:23:35,940 --> 00:23:37,880 The newer and more complex the processes, 649 00:23:38,259 --> 00:23:40,179 the more errors you have, the lower your 650 00:23:40,179 --> 00:23:41,799 yield rate is. So maybe 651 00:23:42,419 --> 00:23:44,339 you try to manufacture, let's just say, a 652 00:23:44,339 --> 00:23:47,184 100 chips on a new technology node, maybe 653 00:23:47,184 --> 00:23:49,365 you only get 80 out of the 100. 654 00:23:49,664 --> 00:23:50,804 That drives up cost. 655 00:23:51,585 --> 00:23:53,525 If you have really low, 656 00:23:53,904 --> 00:23:55,904 let's say, volume requirements for how many chips 657 00:23:55,904 --> 00:23:58,085 you need, you might look at field programmable 658 00:23:58,224 --> 00:24:00,630 gateways, a form of reconfigurable chip, which is 659 00:24:00,630 --> 00:24:01,769 actually my expertise. 660 00:24:02,630 --> 00:24:04,069 And we can talk about that more if 661 00:24:04,069 --> 00:24:05,609 you want, but that's the spectrum. 662 00:24:05,990 --> 00:24:08,089 Okay. So tell me what a field programmable 663 00:24:08,230 --> 00:24:09,289 gate array is. 664 00:24:09,669 --> 00:24:10,169 Yes. 665 00:24:10,470 --> 00:24:10,970 So 666 00:24:11,515 --> 00:24:13,595 as opposed to what we call an ASIC, 667 00:24:13,595 --> 00:24:16,015 an application specific integrated circuit, 668 00:24:16,954 --> 00:24:19,054 where so for the ASIC, you 669 00:24:19,515 --> 00:24:21,035 determine the design that you want and you 670 00:24:21,035 --> 00:24:22,575 go off and you manufacture it. 671 00:24:23,434 --> 00:24:26,335 An FPGA, a Field Programmable Gate Array, 672 00:24:26,700 --> 00:24:28,799 is a chip with fixed resources 673 00:24:29,500 --> 00:24:31,279 which has already been manufactured, 674 00:24:31,819 --> 00:24:33,440 and after the manufacturing 675 00:24:33,740 --> 00:24:35,679 process, you then determine 676 00:24:36,539 --> 00:24:38,859 the design that you want to implement in 677 00:24:38,859 --> 00:24:39,599 the FPGA. 678 00:24:40,174 --> 00:24:42,654 So let me clarify what that means. Let's 679 00:24:42,654 --> 00:24:44,034 say you're creating a CPU. 680 00:24:44,734 --> 00:24:47,454 Right? You could design the CPU and manufacture 681 00:24:47,454 --> 00:24:48,815 it, and that will cost a bunch of 682 00:24:48,815 --> 00:24:49,315 money. 683 00:24:49,934 --> 00:24:52,755 Or you design the CPU and you implement 684 00:24:52,815 --> 00:24:54,595 the design on an FPGA. 685 00:24:55,099 --> 00:24:56,559 And now this FPGA 686 00:24:57,580 --> 00:24:59,119 implements the functionality 687 00:24:59,580 --> 00:25:01,440 of the CPU that you specified. 688 00:25:02,140 --> 00:25:04,299 So the FPGA has a fixed set of 689 00:25:04,299 --> 00:25:04,799 resources. 690 00:25:05,500 --> 00:25:07,359 If the CPU you've designed 691 00:25:07,785 --> 00:25:08,525 only requires 692 00:25:09,144 --> 00:25:11,884 less than those resources, you can't implement it. 693 00:25:11,945 --> 00:25:13,785 If it requires more, either you get a 694 00:25:13,785 --> 00:25:15,884 bigger FPGA or you go to an ASIC. 695 00:25:16,585 --> 00:25:18,105 That sounds a little bit like it's a 696 00:25:18,105 --> 00:25:20,025 breadboard type of stage. If you're thinking about 697 00:25:20,025 --> 00:25:22,125 traditional physically wiring circuits, 698 00:25:22,549 --> 00:25:24,150 you put something on the breadboard, then you 699 00:25:24,150 --> 00:25:25,669 see if it works, and then only then 700 00:25:25,669 --> 00:25:27,269 do you go off and solder the real 701 00:25:27,269 --> 00:25:27,769 thing. 702 00:25:28,470 --> 00:25:30,950 Exactly. So a breadboard would be useful for 703 00:25:30,950 --> 00:25:33,190 a lot of analog circuitry or very simple 704 00:25:33,190 --> 00:25:33,690 circuits. 705 00:25:34,150 --> 00:25:36,950 Once you get to complicated digital circuitry and 706 00:25:36,950 --> 00:25:38,169 you want to do prototyping, 707 00:25:38,524 --> 00:25:39,825 then you go to an FPGA. 708 00:25:40,204 --> 00:25:42,605 In fact, and I'm not an industry person, 709 00:25:42,605 --> 00:25:44,065 but from what I've been told, 710 00:25:44,605 --> 00:25:46,684 one of the big revenue drivers for the 711 00:25:46,684 --> 00:25:49,184 FPGA industry is prototyping 712 00:25:49,484 --> 00:25:49,984 ASICs. 713 00:25:50,845 --> 00:25:52,944 So they do get used in that production 714 00:25:53,005 --> 00:25:55,730 loop as well. What specific problem with this 715 00:25:55,730 --> 00:25:57,409 process have you been trying to solve in 716 00:25:57,409 --> 00:25:58,150 your PhD? 717 00:25:58,529 --> 00:26:01,569 Yeah. So maybe multiple problems, but I will 718 00:26:01,569 --> 00:26:02,069 give 719 00:26:02,529 --> 00:26:04,710 the let's say, kind of the big picture 720 00:26:04,769 --> 00:26:05,269 problem. 721 00:26:05,809 --> 00:26:07,569 So I told you step one, step two, 722 00:26:07,569 --> 00:26:08,710 and step three previously. 723 00:26:09,184 --> 00:26:10,644 Step one is design entry. 724 00:26:11,105 --> 00:26:14,085 Step two is the conversion from a functional 725 00:26:14,224 --> 00:26:16,384 to a physical design, and we refer to 726 00:26:16,384 --> 00:26:19,424 that as electronic design automation, and step three 727 00:26:19,424 --> 00:26:20,325 is the fabrication. 728 00:26:21,105 --> 00:26:23,444 So my research deals with step two primarily, 729 00:26:24,000 --> 00:26:27,039 electronic design automation. We have the functional design. 730 00:26:27,039 --> 00:26:28,980 We want to produce a physical design. 731 00:26:29,680 --> 00:26:31,519 Now the way that we do this is 732 00:26:31,519 --> 00:26:33,839 in several stages and we'll say that at 733 00:26:33,839 --> 00:26:36,400 each stage, we have usually an NP hard 734 00:26:36,400 --> 00:26:38,480 problem to solve and we use a heuristic 735 00:26:38,480 --> 00:26:39,734 algorithm to solve it. 736 00:26:40,214 --> 00:26:41,194 So stage 737 00:26:41,654 --> 00:26:43,974 one within this, then stage two, stage three, 738 00:26:43,974 --> 00:26:45,595 it's a sequential process. 739 00:26:46,454 --> 00:26:47,755 At each stage, 740 00:26:48,454 --> 00:26:49,595 things can go wrong. 741 00:26:49,894 --> 00:26:51,434 We're using heuristic algorithms. 742 00:26:52,069 --> 00:26:52,569 So 743 00:26:52,950 --> 00:26:55,529 they can fail to produce a viable solution. 744 00:26:56,390 --> 00:26:57,529 If they succeed, 745 00:26:58,069 --> 00:26:59,369 they can take an unexpectedly 746 00:26:59,750 --> 00:27:00,490 long time 747 00:27:00,789 --> 00:27:02,410 to succeed and produce a solution, 748 00:27:02,869 --> 00:27:04,630 and the solution may be of a low 749 00:27:04,630 --> 00:27:05,130 quality. 750 00:27:05,775 --> 00:27:08,595 So my research deals with predicting in advance 751 00:27:09,055 --> 00:27:10,434 before you run the algorithms 752 00:27:11,134 --> 00:27:12,894 if any of those three things will become 753 00:27:12,894 --> 00:27:13,555 an issue. 754 00:27:14,095 --> 00:27:14,595 So 755 00:27:15,535 --> 00:27:16,755 prior to this research, 756 00:27:17,295 --> 00:27:20,355 that electronic design automation process, it's very uncertain, 757 00:27:20,849 --> 00:27:22,289 and I like to say that my research 758 00:27:22,289 --> 00:27:25,029 is adding certainty to electronic design automation. 759 00:27:25,650 --> 00:27:27,730 That sounds like the equivalent of if you're 760 00:27:27,730 --> 00:27:29,490 having a software update, you might want to 761 00:27:29,490 --> 00:27:31,589 know that the software update is gonna take, 762 00:27:31,650 --> 00:27:33,410 I don't know, three hours and forty five 763 00:27:33,410 --> 00:27:35,554 minutes to run that thing over time as 764 00:27:35,554 --> 00:27:37,654 opposed to taking, you know, two minutes. 765 00:27:38,035 --> 00:27:39,954 Yeah. So I normally don't market this way, 766 00:27:39,954 --> 00:27:41,714 but when I talk to others in the 767 00:27:41,714 --> 00:27:44,914 domain, they say, oh, you're creating a progress 768 00:27:44,914 --> 00:27:47,315 bar for electronic design automation. And I go, 769 00:27:47,315 --> 00:27:48,595 yeah. You know what? You can think of 770 00:27:48,595 --> 00:27:50,275 it that way. There's a little bit more, 771 00:27:50,275 --> 00:27:52,369 but you could create a progress bar with 772 00:27:52,369 --> 00:27:55,089 this. Whereas today, there's nothing. You just kind 773 00:27:55,089 --> 00:27:56,369 of sit there and you wait and you 774 00:27:56,369 --> 00:27:58,369 see what happens. I want to get a 775 00:27:58,369 --> 00:28:00,210 little bit into the mathematics of this. You 776 00:28:00,210 --> 00:28:03,029 mentioned something as being an NP hard process. 777 00:28:03,650 --> 00:28:04,549 Yeah. So 778 00:28:05,484 --> 00:28:07,804 without going into the technical details of what 779 00:28:07,804 --> 00:28:10,785 NP hardness is, I think the important intuition 780 00:28:11,565 --> 00:28:14,065 is that we're looking at optimization problems, 781 00:28:14,845 --> 00:28:15,345 and 782 00:28:16,044 --> 00:28:19,565 there are many, many different possible solutions to 783 00:28:19,565 --> 00:28:21,500 this. So we would typically speak to the 784 00:28:21,500 --> 00:28:22,799 complexity of the problem, 785 00:28:23,339 --> 00:28:23,839 and 786 00:28:24,220 --> 00:28:26,400 the problems that we're dealing with have combinatorial 787 00:28:26,859 --> 00:28:27,359 complexity, 788 00:28:28,059 --> 00:28:28,559 where 789 00:28:28,940 --> 00:28:29,839 for every 790 00:28:30,380 --> 00:28:32,480 element of the output solution, 791 00:28:33,045 --> 00:28:35,365 you can choose from, let's say, a set 792 00:28:35,365 --> 00:28:36,025 of possibilities. 793 00:28:37,125 --> 00:28:38,184 And for each 794 00:28:38,725 --> 00:28:39,225 possibility 795 00:28:39,684 --> 00:28:41,465 for a given element of the solution, 796 00:28:42,325 --> 00:28:44,664 any combination of those is 797 00:28:45,380 --> 00:28:47,380 viable in the output space. So we say 798 00:28:47,380 --> 00:28:48,120 it's combinatorially 799 00:28:48,500 --> 00:28:51,080 hard, and those combinatorially hard problems 800 00:28:51,620 --> 00:28:54,019 are they fall into the complexity class of 801 00:28:54,019 --> 00:28:55,799 NP hardness in computer science. 802 00:28:56,580 --> 00:28:58,279 So very, very hard stuff. 803 00:28:59,275 --> 00:29:01,115 And what was the outcome of your process? 804 00:29:01,115 --> 00:29:03,615 What stage is this business project at currently? 805 00:29:03,994 --> 00:29:06,075 Yeah. So I'm toward the end of my 806 00:29:06,075 --> 00:29:06,575 PhD. 807 00:29:06,875 --> 00:29:09,355 Many years have gone into it, and I've 808 00:29:09,355 --> 00:29:10,954 completed a lot, but there's a lot more 809 00:29:10,954 --> 00:29:13,259 to go. So what I've done so far 810 00:29:13,400 --> 00:29:15,019 is I've looked at the 811 00:29:15,320 --> 00:29:15,820 hardest 812 00:29:16,279 --> 00:29:16,779 problem 813 00:29:17,160 --> 00:29:19,799 within electronic design automation, which is a routing 814 00:29:19,799 --> 00:29:20,299 problem. 815 00:29:21,000 --> 00:29:21,500 Now 816 00:29:22,200 --> 00:29:25,080 routing is hard, not just because of the 817 00:29:25,080 --> 00:29:27,194 complexity of the task, but the scale at 818 00:29:27,194 --> 00:29:28,255 which we do it. 819 00:29:28,875 --> 00:29:29,375 So 820 00:29:30,154 --> 00:29:33,275 for routing, we typically think of the chip 821 00:29:33,275 --> 00:29:35,115 as a graph. And when I say graph, 822 00:29:35,115 --> 00:29:37,755 I mean in the computer science domain where 823 00:29:37,755 --> 00:29:39,054 the graph has nodes 824 00:29:39,434 --> 00:29:40,734 and nodes have edges. 825 00:29:41,359 --> 00:29:42,580 The nodes represent 826 00:29:43,119 --> 00:29:45,840 wiring resources in the chip and the edges 827 00:29:45,840 --> 00:29:46,900 represent the connectivity 828 00:29:47,440 --> 00:29:49,539 between the wires in the chip. 829 00:29:50,240 --> 00:29:51,539 Now, the routing problem 830 00:29:52,240 --> 00:29:53,460 involves connecting, 831 00:29:54,825 --> 00:29:55,325 communicating 832 00:29:55,785 --> 00:29:58,105 components in the design. So if I have 833 00:29:58,105 --> 00:30:00,585 component a in the chip and component b 834 00:30:00,585 --> 00:30:02,904 and my functional design says these two things 835 00:30:02,904 --> 00:30:04,585 need to talk to each other, we need 836 00:30:04,585 --> 00:30:06,904 to lay a wire that communicate that connects 837 00:30:06,904 --> 00:30:07,884 the two of them. 838 00:30:08,265 --> 00:30:09,980 Now, that's really simple. 839 00:30:10,519 --> 00:30:12,839 However, it's not usually just component a and 840 00:30:12,839 --> 00:30:14,460 b. There's not normally two. 841 00:30:14,839 --> 00:30:17,500 The typical order of magnitude in my work 842 00:30:17,640 --> 00:30:18,460 is about 843 00:30:19,799 --> 00:30:21,079 10,000,000 844 00:30:21,079 --> 00:30:21,579 components, 845 00:30:23,054 --> 00:30:25,315 and the typical number of wires 846 00:30:25,934 --> 00:30:27,154 is about a billion. 847 00:30:28,014 --> 00:30:31,794 And so this graph then has about 10,000,000 848 00:30:31,855 --> 00:30:33,875 nodes and a billion edges. 849 00:30:34,734 --> 00:30:37,054 And so we have to use algorithms to 850 00:30:37,054 --> 00:30:37,554 solve 851 00:30:38,089 --> 00:30:39,549 this NP hard problem 852 00:30:40,410 --> 00:30:42,830 on a billion scale chip. 853 00:30:43,930 --> 00:30:46,490 And so my research is predicting whether the 854 00:30:46,490 --> 00:30:49,630 algorithms can do that for a specific problem, 855 00:30:49,930 --> 00:30:51,914 predict how long it's going to take, and 856 00:30:51,914 --> 00:30:53,695 predict the quality of the final solution. 857 00:30:54,315 --> 00:30:56,315 But if your process said, actually, this is 858 00:30:56,315 --> 00:30:58,075 going to either take a very long time 859 00:30:58,075 --> 00:30:59,515 or it might take a long time, might 860 00:30:59,515 --> 00:31:01,515 take a short time, but the solution it's 861 00:31:01,515 --> 00:31:02,795 going to come up with is not gonna 862 00:31:02,795 --> 00:31:03,695 be very good, 863 00:31:04,315 --> 00:31:05,375 what happens then? 864 00:31:06,075 --> 00:31:08,730 Yep. So a few different things can happen. 865 00:31:09,349 --> 00:31:11,670 It depends on exactly how your design flow 866 00:31:11,670 --> 00:31:14,089 looks, but I'll give you two examples. 867 00:31:15,029 --> 00:31:15,849 One example 868 00:31:16,630 --> 00:31:18,309 that is a state of the art for 869 00:31:18,309 --> 00:31:19,625 many people is 870 00:31:20,805 --> 00:31:21,305 they 871 00:31:22,325 --> 00:31:22,825 perform 872 00:31:23,125 --> 00:31:25,605 what we call the placement task, which happens 873 00:31:25,605 --> 00:31:26,505 before routing, 874 00:31:27,285 --> 00:31:28,825 with multiple different instances. 875 00:31:29,125 --> 00:31:31,125 So what this means is that in placement, 876 00:31:31,125 --> 00:31:32,565 we have components of the chip, and we 877 00:31:32,565 --> 00:31:34,259 need to figure out where they go. We 878 00:31:34,259 --> 00:31:36,119 have to place them at fixed locations. 879 00:31:36,980 --> 00:31:40,200 We use pseudo random algorithms for this, which 880 00:31:40,580 --> 00:31:43,320 give different outputs based on a different random 881 00:31:43,700 --> 00:31:46,065 number generator seed. So So let's say we'll 882 00:31:46,065 --> 00:31:48,304 do 10 different placements with 10 different random 883 00:31:48,304 --> 00:31:48,804 seeds. 884 00:31:49,184 --> 00:31:51,125 And then now we have 10 different inputs 885 00:31:51,184 --> 00:31:52,325 to the routing problem. 886 00:31:53,025 --> 00:31:55,825 We will then run 10 different instances of 887 00:31:55,825 --> 00:31:56,804 the routing problem, 888 00:31:57,345 --> 00:32:00,325 and we can use my research to predict 889 00:32:00,470 --> 00:32:03,450 which of those is most likely to succeed, 890 00:32:03,910 --> 00:32:05,910 take a short amount of time, and then 891 00:32:05,910 --> 00:32:07,529 give you a good result at the end. 892 00:32:07,670 --> 00:32:09,349 And so you would kill nine of the 893 00:32:09,349 --> 00:32:11,910 instances and keep just one. So that's one 894 00:32:11,910 --> 00:32:14,045 way it could be used. Another way that 895 00:32:14,045 --> 00:32:14,944 it could be used 896 00:32:15,644 --> 00:32:17,184 in tandem with that actually 897 00:32:17,644 --> 00:32:19,265 is you have a routing problem 898 00:32:19,805 --> 00:32:20,704 and you predict 899 00:32:21,085 --> 00:32:22,684 it's not going to work out or it's 900 00:32:22,765 --> 00:32:24,765 there's a low probability that is going to 901 00:32:24,765 --> 00:32:26,625 work out and give a successful solution. 902 00:32:27,130 --> 00:32:27,630 You 903 00:32:28,169 --> 00:32:30,589 can kill the routing run early, 904 00:32:31,289 --> 00:32:33,289 go to an earlier stage of the design 905 00:32:33,289 --> 00:32:33,789 process, 906 00:32:34,250 --> 00:32:36,829 make some tweaks based on your engineering expertise 907 00:32:37,289 --> 00:32:39,950 that you believe are going to improve the 908 00:32:40,434 --> 00:32:43,555 likelihood that the chip will be routable, as 909 00:32:43,555 --> 00:32:44,695 we like to say it. 910 00:32:45,075 --> 00:32:46,674 You've worked out that you can't get from 911 00:32:46,674 --> 00:32:48,434 point a to point b by subway, and 912 00:32:48,434 --> 00:32:49,715 you've got to work out how to do 913 00:32:49,715 --> 00:32:50,775 it on foot instead. 914 00:32:51,154 --> 00:32:53,970 Exactly. Right? During this project, was there anything 915 00:32:53,970 --> 00:32:55,570 that you thought would be hard that turned 916 00:32:55,570 --> 00:32:56,549 out to be easy 917 00:32:56,930 --> 00:32:59,490 or vice versa? Anything you thought that would 918 00:32:59,490 --> 00:33:01,330 be easy turned out to be really, really 919 00:33:01,330 --> 00:33:01,830 difficult? 920 00:33:02,369 --> 00:33:04,210 I can't say anything that I thought was 921 00:33:04,210 --> 00:33:05,650 going to be hard turned out to be 922 00:33:05,650 --> 00:33:07,045 easy, but but I can say that there 923 00:33:07,045 --> 00:33:08,244 are things which I thought was going to 924 00:33:08,244 --> 00:33:09,945 be easy that turned out to be hard. 925 00:33:10,484 --> 00:33:13,144 I'll give you one example of that. So 926 00:33:14,164 --> 00:33:16,404 something which I've personally tried to look at, 927 00:33:16,404 --> 00:33:18,744 which prior research hasn't really, is 928 00:33:19,125 --> 00:33:20,184 the the probabilities 929 00:33:20,644 --> 00:33:21,945 of what's going to happen. 930 00:33:22,289 --> 00:33:22,789 So 931 00:33:23,090 --> 00:33:25,190 I apply machine learning to do these predictions. 932 00:33:26,130 --> 00:33:28,049 There's been prior work on using machine learning 933 00:33:28,049 --> 00:33:30,710 for similar aspects of electronic design automation 934 00:33:31,330 --> 00:33:34,789 and they typically predict the expected outcome. 935 00:33:35,250 --> 00:33:36,230 So for example, 936 00:33:37,414 --> 00:33:38,795 we could say that 937 00:33:39,255 --> 00:33:41,174 we expect that the chip is going to 938 00:33:41,174 --> 00:33:44,375 come out with an operating frequency of 500 939 00:33:44,375 --> 00:33:44,875 megahertz. 940 00:33:45,734 --> 00:33:46,234 Sure. 941 00:33:47,255 --> 00:33:49,494 You can take a more nuanced view to 942 00:33:49,494 --> 00:33:50,795 this. You could say 943 00:33:51,734 --> 00:33:55,170 our average expected result is 500 megahertz, 944 00:33:55,549 --> 00:33:57,230 but within a 5% 945 00:33:57,230 --> 00:33:58,509 to 95% 946 00:33:58,509 --> 00:33:59,650 confidence interval, 947 00:34:00,029 --> 00:34:02,049 we expect it to be be between 948 00:34:02,750 --> 00:34:05,089 400 megahertz and 600 megahertz. 949 00:34:06,109 --> 00:34:08,655 As it turns out, this is very useful 950 00:34:08,655 --> 00:34:09,954 to do, but it's not 951 00:34:10,335 --> 00:34:10,835 straightforward 952 00:34:11,295 --> 00:34:13,795 to do that. Why is that so useful? 953 00:34:14,255 --> 00:34:14,755 So 954 00:34:15,375 --> 00:34:17,474 it ends up being useful because 955 00:34:17,855 --> 00:34:18,994 we often have, 956 00:34:19,860 --> 00:34:20,360 let's 957 00:34:20,820 --> 00:34:21,320 say, 958 00:34:22,980 --> 00:34:24,680 some room for tolerance 959 00:34:25,140 --> 00:34:26,200 in these things. 960 00:34:26,740 --> 00:34:28,820 Right? So it it's nice to know that 961 00:34:28,820 --> 00:34:30,920 we expect a 500 megahertz chip, 962 00:34:31,220 --> 00:34:34,755 but maybe we don't actually need that. Maybe 963 00:34:34,755 --> 00:34:35,635 450 964 00:34:35,635 --> 00:34:36,934 megahertz would be enough. 965 00:34:38,034 --> 00:34:38,534 So 966 00:34:39,074 --> 00:34:41,155 only knowing that we expect 500 is nice. 967 00:34:41,155 --> 00:34:42,755 That kind of tells us most likely we'll 968 00:34:42,755 --> 00:34:44,934 get what we want. But what if 969 00:34:45,315 --> 00:34:47,355 there's a a significant probability of it going 970 00:34:47,355 --> 00:34:48,835 to be below 450 971 00:34:48,835 --> 00:34:49,335 megahertz? 972 00:34:49,719 --> 00:34:52,760 Then that single prediction of just 500 doesn't 973 00:34:52,760 --> 00:34:54,539 give you any information about that. 974 00:34:55,160 --> 00:34:55,660 Now 975 00:34:56,199 --> 00:34:57,660 if you don't have that information, 976 00:34:58,599 --> 00:34:59,820 how do you make a decision? 977 00:35:00,119 --> 00:35:01,559 How do you know whether this is going 978 00:35:01,559 --> 00:35:02,460 to be good enough? 979 00:35:02,835 --> 00:35:04,275 You don't, and so you have to guess, 980 00:35:04,275 --> 00:35:06,675 and that's what people have done. People have 981 00:35:06,675 --> 00:35:08,375 guessed in the face of uncertainty. 982 00:35:08,914 --> 00:35:11,394 But now I'm giving you a probabilistic view 983 00:35:11,394 --> 00:35:12,855 of this. I can tell you 984 00:35:13,234 --> 00:35:14,054 the probability 985 00:35:14,675 --> 00:35:16,934 based on prior data that we've collected 986 00:35:18,219 --> 00:35:20,780 indicates that there's an x percent chance that 987 00:35:20,780 --> 00:35:22,940 the frequency of the chip will be greater 988 00:35:22,940 --> 00:35:25,739 than your minimum threshold of 450 989 00:35:25,739 --> 00:35:26,239 megahertz. 990 00:35:26,860 --> 00:35:29,260 Are there any implications of these results beyond 991 00:35:29,260 --> 00:35:30,940 chip design? I mean, I can imagine that 992 00:35:30,940 --> 00:35:32,719 other industries will also have routing 993 00:35:33,974 --> 00:35:35,974 problems and will also be using the algorithms 994 00:35:35,974 --> 00:35:37,894 to try to solve them. Yes. So I 995 00:35:37,894 --> 00:35:38,554 think this 996 00:35:39,094 --> 00:35:39,674 is an 997 00:35:40,135 --> 00:35:40,635 early 998 00:35:41,414 --> 00:35:45,599 but fertile area for research. So thinking thinking 999 00:35:45,599 --> 00:35:47,920 more fundamentally about what my research is doing, 1000 00:35:47,920 --> 00:35:48,900 yes, we're predicting 1001 00:35:49,440 --> 00:35:50,820 outcomes in chip design, 1002 00:35:51,360 --> 00:35:53,780 but we're really predicting the outcomes of algorithms. 1003 00:35:54,320 --> 00:35:57,135 Algorithms get used beyond the chip design world. 1004 00:35:57,375 --> 00:35:58,815 They get used in more places than I 1005 00:35:58,815 --> 00:36:00,114 could ever imagine counting. 1006 00:36:00,655 --> 00:36:01,394 And so 1007 00:36:02,175 --> 00:36:04,815 researching the outcomes of algorithms has a more 1008 00:36:04,815 --> 00:36:05,875 global implication, 1009 00:36:06,255 --> 00:36:07,775 an implication that I think a lot of 1010 00:36:07,775 --> 00:36:09,235 other researchers and practitioners 1011 00:36:09,775 --> 00:36:11,074 should pay attention to 1012 00:36:11,460 --> 00:36:11,960 because 1013 00:36:12,340 --> 00:36:14,199 it it gives us new applications 1014 00:36:14,500 --> 00:36:16,500 for this research, but I think it also 1015 00:36:16,500 --> 00:36:18,519 drives new research areas. So 1016 00:36:19,219 --> 00:36:21,059 one of the hot topics in machine learning 1017 00:36:21,059 --> 00:36:22,840 these days is foundation models. 1018 00:36:23,775 --> 00:36:24,275 Now 1019 00:36:25,534 --> 00:36:26,914 I'm telling you that 1020 00:36:27,295 --> 00:36:29,534 there are many different algorithms that we could 1021 00:36:29,534 --> 00:36:30,514 apply this to. 1022 00:36:30,974 --> 00:36:31,954 Here's an idea. 1023 00:36:32,414 --> 00:36:34,275 What if we collected data 1024 00:36:34,815 --> 00:36:35,315 from 1025 00:36:35,614 --> 00:36:36,835 several different algorithms 1026 00:36:37,329 --> 00:36:40,449 to train one foundation model, which is used 1027 00:36:40,449 --> 00:36:43,670 to predict the outcomes of many different algorithms, 1028 00:36:44,210 --> 00:36:45,730 and then we fine tune this as we 1029 00:36:45,730 --> 00:36:46,230 want. 1030 00:36:46,530 --> 00:36:48,369 This is a paradigm that we've seen successful 1031 00:36:48,369 --> 00:36:50,769 in other areas of machine learning, but not 1032 00:36:50,769 --> 00:36:52,389 really in the algorithms world. 1033 00:36:52,704 --> 00:36:55,025 And something that's really key to note here 1034 00:36:55,025 --> 00:36:57,424 is that we can collect high quality data 1035 00:36:57,424 --> 00:37:00,644 from algorithms. It's really easy to extract information 1036 00:37:01,184 --> 00:37:04,085 because we're not dealing with physical processes with 1037 00:37:04,385 --> 00:37:06,704 noisy sensor data that you might have in, 1038 00:37:06,704 --> 00:37:08,579 say, the physics world. We're in the world 1039 00:37:08,579 --> 00:37:10,760 of software. And in the world of software, 1040 00:37:10,900 --> 00:37:13,220 we can collect near perfect information to train 1041 00:37:13,220 --> 00:37:15,480 our models. That does sound exciting. 1042 00:37:16,420 --> 00:37:18,739 Okay. Final question. What are you planning to 1043 00:37:18,739 --> 00:37:19,400 do next? 1044 00:37:19,700 --> 00:37:21,160 That's a good question. So 1045 00:37:22,464 --> 00:37:24,304 I do everything that I said in my 1046 00:37:24,304 --> 00:37:25,925 academic life, in my PhD. 1047 00:37:26,385 --> 00:37:28,224 I also have an industry life on the 1048 00:37:28,224 --> 00:37:30,385 side. So I work at part time at 1049 00:37:30,385 --> 00:37:33,284 a startup called Singulos Research in Vancouver, Canada, 1050 00:37:33,905 --> 00:37:36,065 where we do nothing related to anything I 1051 00:37:36,065 --> 00:37:38,199 just said. We are looking at 1052 00:37:38,819 --> 00:37:39,719 mixed reality 1053 00:37:40,019 --> 00:37:43,639 experiences using computer vision for real time applications 1054 00:37:43,859 --> 00:37:44,920 on mobile devices. 1055 00:37:45,859 --> 00:37:46,359 And 1056 00:37:46,659 --> 00:37:47,159 I'm 1057 00:37:47,539 --> 00:37:49,400 hoping that things go well with the start 1058 00:37:49,460 --> 00:37:51,139 up, and if they do, I'm planning to 1059 00:37:51,139 --> 00:37:53,984 continue research there. Maybe I'll go between that 1060 00:37:53,984 --> 00:37:56,224 and the chip design world. I have several 1061 00:37:56,224 --> 00:37:56,724 interests. 1062 00:37:57,105 --> 00:37:58,724 So it's up in there at the moment. 1063 00:37:59,105 --> 00:38:00,085 Well, good luck. 1064 00:38:00,385 --> 00:38:01,664 Thank you very much for appearing on the 1065 00:38:01,664 --> 00:38:03,184 podcast. It's been good to talk to you. 1066 00:38:03,184 --> 00:38:04,724 Thank you. It's been lovely, Margaret. 1067 00:38:12,800 --> 00:38:15,860 That was Andrew Gunther speaking to Margaret Harris 1068 00:38:16,000 --> 00:38:20,099 at the Heidelberg Laureate Forum in Heidelberg, Germany. 1069 00:38:20,894 --> 00:38:23,954 Thanks to Andrew and our other guest, Mariam 1070 00:38:24,094 --> 00:38:24,594 Elgemel, 1071 00:38:25,135 --> 00:38:28,195 for enlightening us about what goes into designing 1072 00:38:28,335 --> 00:38:29,315 computer chips, 1073 00:38:29,695 --> 00:38:32,255 the chips that we all use just about 1074 00:38:32,255 --> 00:38:34,355 every hour of every day. 1075 00:38:35,070 --> 00:38:37,329 And, Margaret, thanks for coming on the podcast. 1076 00:38:37,469 --> 00:38:39,230 And, can can you give us a little 1077 00:38:39,230 --> 00:38:41,630 preview of some other interviews that you've got 1078 00:38:41,630 --> 00:38:43,469 from Heidelberg that are coming up? I think 1079 00:38:43,469 --> 00:38:45,550 we've got two more, don't we? Yeah. I 1080 00:38:45,550 --> 00:38:47,965 spoke to two laureates at the Huddlberg Laureate 1081 00:38:47,965 --> 00:38:49,804 Forum who both have a background in physics 1082 00:38:49,804 --> 00:38:51,965 before they went into computer science, which is 1083 00:38:51,965 --> 00:38:53,644 where they've made their names and and won 1084 00:38:53,644 --> 00:38:54,304 their prizes. 1085 00:38:55,005 --> 00:38:57,885 Patrick Hanrahan is now best known for, 1086 00:38:58,684 --> 00:39:01,425 his work on at Pixar on computer animation. 1087 00:39:02,059 --> 00:39:05,260 And Amanda Randalls is working on computational sort 1088 00:39:05,260 --> 00:39:06,639 of health health science, 1089 00:39:07,099 --> 00:39:09,500 in the engineering department at Duke University. We 1090 00:39:09,500 --> 00:39:10,320 actually overlapped 1091 00:39:10,940 --> 00:39:12,780 there as physics students, so it was nice 1092 00:39:12,780 --> 00:39:14,219 to talk to her for that reason as 1093 00:39:14,219 --> 00:39:15,954 well. And so, yeah, they'll be coming up 1094 00:39:15,954 --> 00:39:17,635 on the podcast over the next couple of 1095 00:39:17,635 --> 00:39:19,394 months. We don't want to have all computer 1096 00:39:19,394 --> 00:39:21,394 science all the time, but, back to our 1097 00:39:21,394 --> 00:39:23,875 regular scheduled physics next week, I think. That's 1098 00:39:23,875 --> 00:39:26,195 right. Well, I look forward to, to, to 1099 00:39:26,195 --> 00:39:28,614 getting those, interviews onto the podcast. 1100 00:39:29,170 --> 00:39:31,889 Thanks, Margaret, for, coming on the podcast and 1101 00:39:31,889 --> 00:39:33,190 for doing those interviews, 1102 00:39:33,650 --> 00:39:36,050 and a special thanks to our producer, Fred 1103 00:39:36,050 --> 00:39:36,550 Isles. 1104 00:39:36,929 --> 00:39:39,349 We'll be back again next week. Bye.