© Distribution of this video is restricted by its owner
Transcript ×
Auto highlight
Font-size
00:00 Uh huh. Mhm. Okay. try to ask. Mhm.

00:47 Uh huh. Okay. Men itself questions on this 1? Yes.

01:04 yeah so we got a problem. the second problem you have the fights

01:10 the question. Uh huh. The are a platform on windows. You

01:21 easily do that by application for a city. There should be a I

01:32 to the doctor uh come back with . They're not actually going to the

01:44 . You should you should have your military there on the customer. Everyone

01:49 the second from that juicy. There not be any content about it.

01:54 she creates separate photos from its So I don't get it. Uh

02:00 we don't have access here on the . So the way it works is

02:06 you guys use the cluster earlier in dust and the assignment. Uh

02:12 But once you are done I don't for first assignment they need to submit

02:17 goals because it's just match monday I think you're giving the codes.

02:23 I think in the in the future consignments you need to modify those back

02:29 those ones we need to be mortified hundreds of years before this one you

02:38 need to submit screenshots will be uh this long. Oh so there are

02:50 was wondering if you guys found a hydro class on Tuesday last week

03:09 Yeah. Yeah so when you have modifier coats. And so yeah I

03:18 no pleasure or running your calls to that the results you report actually from

03:25 code and they can reproduce. So why we wanted to submit the calls

03:32 country and comment If you see obvious and gesture. And the other thing

03:45 think most, but I'm not sure has yet accounts. So can one

03:52 you here through our on the net not yet creating their own accounts.

04:01 flu shots so you can get But I think most of us so

04:10 you all have accounts. Okay. good. All right. So uh

04:17 will start to talk about what's relevant guess for the first assignment. So

04:27 supposed to from some clothes and it's about getting your familiar essentially first would

04:34 initiative environment and using the storm They have to some jobs accused and

04:40 what happens. And the other thing if you look at the assignment,

04:48 starting up in some ways from the and just trying to understand the behavior

04:54 the single friends or not being very is just focused because in general You

05:01 make up for four single core or processor performance by having a lot of

05:07 really just started first to use a thing well and then you go from

05:14 get more resources. So that's kind thinking behind you starting from and for

05:24 little complicated as possible just using the core read and try to see how

05:30 works. And then we go from hands. Thanks more complicated unfortunate.

05:38 the question I have like God for , Oh, that's all I don't

05:47 any particular books because the White out this class as usual. Maybe,

05:55 know, one chapter from one one chapter from another. So transpired

06:01 important to them give you the slides give you the recording. So we

06:05 talking to the sides and not just to figure out what was the fight

06:10 time. And most of the I hope conception it is not so

06:17 to remember and we don't do things are incredibly detained, I would say

06:24 my view, but maybe it is you. So, so josh comments

06:29 students and he knows how to speak for. Uh, but let's try

06:36 keep things that try to make intuitive you what's going on on the subway

06:42 of the kind of uh huh advocating uh maybe pushing you to try to

06:51 about what happens and tried to explain then we get the people out there

06:55 seem to make sense to us. in my house, not the right

07:01 models from what month. So or um, there was a few slides

07:11 Snapchat in seven of them do not to and I will talk to a

07:17 of them to know that. So a little bit about three cold serious

07:23 to run. I remember writing the . What Brett strumming these coats.

07:31 before then I'll talk about what I talk about last time and I'll come

07:38 and talk about this more detail but best three difficult for different purposes that

07:45 talk about developing and then sometime or of the functions together. So so

07:55 when you try to assess both good code is and a good new computer

08:01 is a number of different things that to focus on. Sometimes if you

08:07 aggregate in all this is an application has lots of stuff in. It's

08:11 idea, the thing that is relevant you. Um but many times you

08:16 try to understand the various ports on computer system and how it before.

08:24 The two parts that uh, you , the basic ones generally is so

08:30 the core and how the functional units . Um, and then also the

08:36 that's the code actually make efficient instagram that. And the other part that

08:42 the weakest part, certainly on a system laptop service but not is a

08:50 system. Yeah. Even with the connection networks and that conflict. So

08:58 just looked at the single thing, way the system is really the american

09:04 , but it's also good to understand they accept course for the process itself

09:12 . So the first benchmark, I'll about them a little bit is thing

09:17 shows up the number of times because so simple and making complication and trying

09:21 understand that. And the other two to be with other memories is report

09:28 I'll talk to them and a bit in detail. But first thing

09:33 So timing uh, seems to be trigger thing called the timer. And

09:37 know, in the start the program start section of the code and call

09:42 after this section is done. That's . That's the time it took.

09:49 it is unfortunately not quite that simple the various timers either the sort of

10:01 included all kinds of things. This the time of day kind of

10:06 Whatever they capri is when you start and whatever the clocks has done and

10:11 kinds of things that happened between these times down. So it's a really

10:16 too engineering code to perform well. not very helpful because really need to

10:25 at aware distance perhaps what are the . So then you need more detailed

10:31 on what actually happened. And for there is also a number of functions

10:36 are not so easy to figure out they actually. So here is kind

10:43 two of the kind of potential function that gets you some more detailed information

10:53 exclude things that affect the wall clock . So what other jobs are running

10:59 the same city at the same time even other processes for programs. It's

11:03 the one who are interested in, affects a challenging time kind of

11:09 So it? S delicious, monitors your code does and that's true for

11:14 timers quality and they get time type connection now. So all these timing

11:29 , they are essentially driven one way another and depends on the computer

11:36 how it's driven from crystal and computer is the basic source, you

11:46 the processor and various parts of the run for different clocks. Not the

11:52 thought by having caught multipliers and dividers whatnot. Whatever is useful for that

11:58 of the software. So there are different talks but essentially that's kind of

12:03 source of time unlike the phone and know, check with the network and

12:07 get some global time from some reference and yes, if the curious and

12:14 network could potentially do that. But think that these times even if it's

12:19 sitting by itself and it's based on . Now, the other thing is

12:27 course when they want to, you , start a timer or oclock

12:34 it basically is intrusive. So if want a high resolution, it affects

12:43 running time of the courts have tried the time. So there's kind of

12:47 trade off on the resolution on the that use and mm the inclusion on

12:58 so most of this then have a of setting. How often you kind

13:07 read the car. So those and you look at the indian express and

13:15 Russia has done a few times over years it's trying to figure out what

13:20 come of the deformed from each one those function calls and how do you

13:25 control But generally do not even And clocks that's on the sporty.

13:35 can get the notion of maturity instructions context but it isn't really coptics so

13:42 can be fooled by the furbish that being used to describe these functions.

13:48 it's something that again that gets Uh huh. After a given interval

13:54 is either predefined or you have somewhere you can define something. I want

13:58 have a middle section. I want have a second and it counts how

14:02 times it's been updated without in kabul then the earth. So it reports

14:07 the number of times that function call been variable but corresponding to the function

14:13 has been updated. And then you it to time the design into want

14:17 set it up after this. That I think that's what dyslexia is.

14:27 water. Yeah. Oh yeah no . So here is just the start

14:37 one of this clock. It's called . And that has the predefined but

14:44 can also set everybody's variable. This but again and then it means that

14:49 corresponding variable or counter it's updated with frequency. So then tells you how

14:55 updates there were and then when you the period and figure out what the

14:59 was. Yeah. Um so here the one thing to do, but

15:06 want about and I used to be that some issue define your own variables

15:11 keep stuffing that you need to have bits in the variable because in front

15:16 the critical corporate sauce, so this of maybe on this side are but

15:24 , I know this is a so but this basic and that's not

15:27 mistake, that is often done when asked at the time and coat you

15:33 and that's fine. You know, want something that doesn't run forever,

15:39 if it's made responsible again, you , Maybe 100 500 matrix or something

15:46 smaller. And so I kind of members, you know that and then

15:52 the operation, So it's 100, basically hundreds of the third power.

15:59 if there's not familiar and these processes are during millions of instructions per

16:08 So if that code runs well, know, it may be is finished

16:14 you get an update on your function at the clock, so your best

16:20 , but so you need to be of, you know, the workloads

16:26 trying to time and ensure that the of the updates are sufficiently small,

16:35 at least you have probably at least updates for so on the class before

16:41 job is finished. Otherwise would be inaccurate. So that's kind of a

16:47 mistake takes a small problem and there have actually done before the clock gets

16:55 . Yeah. Um, so other things is now the in terms

17:09 time you get the resolution according to if you want things up till every

17:17 . Yes, that is the You get the report. Now trying

17:22 figure out ultimately it may be of and to figure out the efficiency,

17:29 many psychos did it take? Because you know what can be done in

17:33 single instruction and you know, I to work to be done, you

17:37 figure out how many cycles should Of course nothing is 100% efficient.

17:44 at least that's the starting point. converting it this time that the primaries

17:50 two cycles is not entirely trivial because most systems today the cop is not

17:56 unless you're forced to be thanks. because the clock rate is controlled by

18:06 that senses the temperature on the various of silicon and if it seems to

18:12 a little bit getting about to be hot when they're trying to predict a

18:17 bit ahead of time, then the will stop. You have no

18:22 Normally that's you're forced to call the of things will not go on.

18:27 that's one said things are variable and also have to make sure you know

18:31 her particles in the otherwise. So may decide that there's enough headroom in

18:36 of cooling and temperature and I think up the clock so it does it

18:40 a period of time and then slows down and that happens during the execution

18:44 the job. So clocks are not kids for the duration of so that's

18:51 of things to be well and I this is the other good time and

18:56 think that so you guys were used get time showing a little bit

19:03 So I think that was about how deal with timing of course and

19:12 depending on what to do in class one thing but domains related life.

19:17 also want to use that kind of about how to use this part

19:21 You can get close to what you to. So now on to trying

19:27 understand both are useful. The processor for whatever he wants to run or

19:34 well they're cold. Does this is have to measure and really johan needs

19:40 have the system do something in order measure sitting there either. Probably doesn't

19:45 you much if I want to So that this matrix multiply is one

19:50 is very afraid contributes to figure out good how much or what fraction of

20:00 to be honest. That's what people . You know how much you can

20:04 at suspect for a processors as the . Credit for getting incarcerated.

20:10 It has what's typically say No one fused multiply hair arithmetic units. That

20:18 it doesn't have and multiplying the single as a minimum and then they have

20:25 sort of factor instruction sets or seeing instruction set. So that means in

20:29 single market act it was a bunch these few months. So that's the

20:34 you can figure out what is the performance of this step. And then

20:39 take your cold. In this case multiplying you run it and then try

20:43 figure out how far off or you he treats her cold and figure out

20:49 close can you get to this peak . Yeah. So no demand responsive

20:57 again is something. So yes functional and how well our close you can

21:05 and the other two that is kind uh red box around are Thanks for

21:10 memory system and I'll talk about those codes that you were used in their

21:17 . Then there's the industry they tend use so called spec tank marks.

21:22 those are Uh huh complex but they physical brands are typical usage of the

21:34 . They're trying to sell some. to give you a representative number for

21:38 the market is for that particular We don't do some because they are

21:45 free. That's the one thing. it costs money but for these purposes

21:51 perfectly finest right here help you understand core performance and the memory system performance

21:59 decided perfectly fine for that purpose and think that and then you can do

22:06 society more complete application performance step. they're sort of higher level things in

22:14 this is called and asked french part once and for those tend to have

22:20 some of the equation systems are distorting something more perhaps useful. Then just

22:26 very core pieces like might provide a of matrices. So here's kind of

22:35 of the so called D jam for position, you know, maybe smart

22:41 and this is a very standard So the public domain or open source

22:46 of it. Most computer vendors like I do have an AMG the ones

22:53 the processors, they make their own optimized for their own processes. So

22:58 is a very common function you will in both commercial libraries as well as

23:03 source libraries and this is kind of general formulation what it does um the

23:12 thing, necessary performance and other comments . That this also useful but because

23:19 optimized code can get very close to theoretical peak performance that's produced pretty much

23:26 cycle that is available. It also to be to dissipate the heat.

23:35 it's also stress test persistence to figure if with the cooling system and this

23:42 system also and uh that's a little to the side storage. So once

23:50 a time years ago I was involved bulletin Larger cluster at the time was

23:56 votes. And you specify because the was significant so you and you need

24:05 make sure that you have enough power the computer and uh, mm then

24:14 where this benchmark and it's slightly different and it's under our stuff. We've

24:22 the campus circuit breakfast for the whole trip. So, and because engineers

24:30 quite figured out, they told us , you know, that these fire

24:34 was supposed to be And that was 50%. So if it's for

24:42 you plug it into a world Nothing happens presented it personal megawatts that

24:47 don't necessarily have enough professor. So a good test for two things.

24:53 out how well you can use the unit. But also stressed this for

24:59 car. And this I think is the same much, I think.

25:04 don't know if you plan to say about it and they're more or

25:08 Okay, so here's um, just , old table by now, but

25:15 one of the two greenish Collins going the Dijon and there's such efficiencies that's

25:21 fraction of peak on whatever systems less the left column. So if you

25:27 at the numbers, they're typically And some of them are even

25:34 So how can you get more than mistakes. No, so the way

25:46 usually figures their sufficiency, thanks a cartridges and the nominal clock frequencies below

25:57 for the term of trump is if happens usually insist when they figure out

26:02 the maximum is used in armor But then the system is itself actually

26:07 at the higher top frequency than assumes votes. So that's why they get

26:11 performance, 50 accidents. That's why end up with sometimes these folk numbers

26:17 looks like use the base as well the right face. The other thing

26:27 another green columns such as people in States stands for performance and impact and

26:35 come back to that later in the . And another side today too.

26:39 what that is is based solely Gaussian if you remember you're solving systems of

26:46 . So it turns out to be of the benchmarks has been used for

26:52 to rank computer systems because they just to play after all turns out to

26:56 useful in so many applications of people . That's the risk and the point

27:03 this and they will come back to later. Not too many problems but

27:08 the way you do guys in the core routine and getting it done

27:13 job done is make it hard to . So that's and you can see

27:18 high performance, low impact numbers are or less similar to the responsibility.

27:23 bit of simple specific but predominant. makes responsible. Okay. And I

27:32 about and this multiplication and the Mhm So um the next thing that

27:42 so called stream benchmarks has been around years and it's intended to test the

27:49 system in particular the main so and if you very simple operation, I

28:03 I should comment and that's what the are. That's the showing that processes

28:10 got contrast invested but memories in fact get much faster increase has been increasing

28:18 for many, many years and that's testing the memory system is important because

28:24 turns out that I would say most are LTD violent capabilities of the memory

28:33 . Coming back to the matrix multiply , sort of matrix multiply. They

28:37 of agreed that number of operations is of on those columns. So thank

28:44 . But the matrices are in square . Right? So on average

28:50 And operations for Ellen Yeah, that's decision can benefit from fascism. Memory

28:57 of because you have used data. applications don't and then they become limited

29:04 the nervous system. Mhm So here what extreme thing is it's festival.

29:11 simplest thing is coffee. Just made from memory. Right. And it

29:17 be a little bit more in this of variables if you're multiplying and the

29:24 one is doing an advance of some then the trial trial and then something

29:30 was used or still is used in application causes one of the core instruction

29:37 dealing with the right so this is a very simple process it seems,

29:44 it comes up to get performance. started not I don't think so.

29:50 come? It's not simple. Well huh Part of the reason there is

29:57 data review so you cannot get any from fascists. In fact cashes tends

30:05 get in the white and make things . So that so pretty much all

30:12 out there has ways to bypass caches you have operations of this type.

30:23 that's one um Oh now the other is that memory main memory since the

30:32 was supposed to testify member system. main memory system is very far away

30:40 from the functional units in the court maybe hundreds or even thousands of cycles

30:46 way. So if you discover that don't have the data and so read

30:53 story is a little odd. Daniel have to wait until the cycles before

30:57 get the data. So that's the part shows stream is very late and

31:04 sensitive so that's right. Yes, a both pre fetching doesn't work too

31:09 Then they get caught five this statement you have to wait because it's not

31:14 fetching works well may still be in cash maybe but it doesn't oh come

31:22 and the other books have on the I guess is something that definitely maybe

31:28 super right advocate policy if you have fashion system. So memory, you

31:36 what I recently but that's just have called cash funds and this is something

31:41 everybody. This for instance collection of item or other systems luxury business,

31:48 atomic unit when leading remember system. I may be 64 values or something

31:56 upon But it may be a two 64 and 1285 or something that chunk

32:02 read. And the way the caches something is that you can't just Write

32:09 memory say one word of the cash , you have to write the whole

32:14 . So in order to do that you want to update the fashion in

32:19 that had to read the whole cash from memory then updated directed back.

32:23 when you want to just to write you're actually in for the read to

32:27 the thing and frank is back. in that case that's what you pay

32:33 extra penalty penalty in terms there's a operation didn't want to happen. So

32:41 number of things that makes it difficult get very good performance of something that

32:46 input a stranger. Uh, it's old data but it's not still a

32:54 devastation of that. Even computer companies have large staff knows that this is

33:00 important type of operation and they want get it to work well but so

33:07 you know, two generations back new , unfortunately. But as they start

33:13 empire seven that is kind of the of the line process and not just

33:17 medium from anybody. A very important is very expensive. But for this

33:24 benchmark, the basement and execute was using 30% of the memory that after

33:30 the optimizations. So let's just point that it's hard. It's not just

33:37 for any one of us. It's also in a good education.

33:43 And then I had another side from of these things we played around when

33:47 main point is uh in terms of Steam, you make sure that you

33:52 on the race are large enough that are actually in maine memories, you

33:58 around and do things bunch of frantic statistics. And if you need to

34:03 sure that the race are large So after the first look,

34:09 everything is not in cash. It has to be a member. So

34:14 why the typical says that you want raise that about after memory size just

34:19 be sure. But there's Representative, ? That's just an eight member

34:26 And so you're just a little example small processes. You know, it

34:32 be very small enough that the or the first wave of cash. So

34:36 you run things, you basically see long past before so you can use

34:40 for that good. It's the next after I figure out what it is

34:45 give it what is this trip and on. This is future And this

34:57 I guess just the grandfather suggest Okay, Now after then there was

35:06 other one that's not us comes and stands for he got up this process

35:16 stream uh huh very gentle benchmark for nose member assistance are designed to do

35:29 well, Appeative speaking as well as if you access data in successive memory

35:40 . So there's an increment for That's one thing should go up.

35:47 not typical in most applications. So you have an agenda, certain soaring

35:54 problems or parts problems you and no well defined memory access planning. So

36:03 that reason I'm use call that's benchmark is randomized access, read, write

36:12 memory, there's a totally different access so on. Is kind of showing

36:18 memory system at best and gaps in sense shows more of a typical member

36:26 performance. So and then I have human size here's something you'll never get

36:34 same thing. Again, we need make sure that the data array that

36:39 working on the start enough that this in memory and things always goes to

36:43 memory. Now to flash access and it's a little bit just hardly do

36:48 reorganization in terms of accessing it. don't get to do it for the

36:52 interested If you go to the link the client describing them in detail or

36:59 can take a look at power. could do the random organization of

37:04 Perfect. Yeah. And there's so you pretty much sent already. Just

37:14 large enough. So it's basically randomly works to memory a very long

37:23 . Okay. We also show that , I had one what I want

37:28 point out so what to, we'll out when you do this to.

37:33 more. Thanks. So the stream codes, it's nice enough that tells

37:42 the access rate to memory in terms gigabytes per second. And remember that

37:49 suggestions last time. Okay. A insensible kind of memory. It is

37:54 the user using its memory channels. is. So from that you can

37:59 out with the pitch memory boundaries. typically I think on 19 2 is

38:08 about 100 megabytes per second. But it's in that order. So

38:15 with and tell you, you know , I'm in a big eyes per

38:18 to get for running these benchmarks and you can see your little traction or

38:23 that you got the gaps. Doesn't do that. The number of updates

38:31 second. And then you need to it bandwidths given the data type and

38:36 by cities for access. You have do a little bit of that in

38:39 to make the numbers comparable. Yeah. So this side but then

38:46 not strictly stream and guts but this from this top times under this based

38:56 it's the only guy in this Some regulation on possibly enormous dense

39:01 the best of matrices that all of numbers and the S P C B

39:06 G is an intuitive solver for what's difficult to use for what bars making

39:17 . So what I wanted to get focus on Is based on the percent

39:22 tea in the % Tea 2 Calling for Other verses the S P C G

39:29 so you can see this. They co they got 75, 85% of

39:36 . Again. It's like nature's not because that's court. What's being done

39:42 look at a specific comment That far and it's 123% of people. So

39:50 tells you it's essentially and the memory is being supported something the right thing

39:56 kind of the guts comin and there a total estimated public or syncope.

40:05 that's why it's important. And that's of the things I wanted. I

40:09 you to do both of these benchmarks be in the sea Important. The

40:14 access patent is it's not that So factor 30 factor 100.

40:25 Mm. Okay. So that was the three benchmarks and the questions on

40:36 of this strength catholic. So mhm has it. Believe this.

40:48 64 access to state of But it how the precious works of these are

41:01 cash but it might be that you get all the data that the fashion

41:08 not just imagining the question so an that's why we have sizes for the

41:14 list you can play out and the over and just see how much more

41:22 . Yeah it is likely that once pass you cannot think that size.

41:26 smart was not enough most of the . Yes. Uh huh. Uh

41:37 . Right. So this one it never visit the former just very much

41:41 enough actually one and just be great in Rwanda or Some messages that have

41:54 listen to that performance doesn't do that And then the door one. This

42:01 a fact. That's okay the Children is a fact. So and it's

42:12 same that's and a little bit considering question that's right element the various of

42:25 . Yeah yeah yeah. Okay so interesting for your own said the other

42:36 benchmarks to the test is caches and on that screen is the most common

42:41 it's a simple one. And that my perspective is most real applications are

42:49 So small that the 15 caches so main memory performance is really what's relevant

42:54 most applications then you can tweet things this and try to understand the architecture

42:59 then you want to play out smaller You can use strength for that.

43:10 . The other question. So then next thing I want to talk about

43:16 shit simple models that try to characterize performance and systems so as known as

43:27 rope line model. I was the or a model of things that start

43:32 people came up with a bunch of ago uh basically tried to capture both

43:41 system performance and when is safety you versus member system limited. Uh and

43:49 to also then characterize applications. What's is it likely to be emitted by

43:55 member system or by the CPU or court performance? So that's what's called

44:04 flying that is you know islam tip and then there's the roof that the

44:11 line is kind of things from the system and it was on the line

44:17 the possible performance. Of course the . Yes. Thanks. And what

44:25 on the horizontal exercise I think that with after how many operations with a

44:32 of so seeing this kind of Uh huh. So here is this

44:47 of a contemporary as I said that to starting up trying to figure out

44:53 better reuse does the cold. You potentially have questions for you to write

44:59 code operated. Take advantage about because because make this multiple instances when average

45:07 operation that they like doesn't mean that pays in cash. So you can

45:12 from a hurricane if they have a you still have to go to memory

45:17 technology. But this sounds in sort inherent in whatever the code is is

45:24 attached. So you're a bunch of . Person don't even the best whether

45:33 very well are you from? I'm arrested. Uh huh. And there

45:46 . Yeah. So that's a useful to try to set expectations for what

45:54 conceive by the department of systems. now and talk through this model and

46:00 bit and on how the different system attacked trying to what you can

46:07 This kind of picturing of thank Probably tell the system relative to expectation

46:14 and other typical facing measured in these . So this is a simple tenure

46:23 the theoretical peak performance Tpp sometimes to that you just do the way I

46:31 a little while they go inside and at the heart frequency. You can

46:35 out how many operations cough it can . I mean of course you're not

46:42 possible number that's the system. Um I guess this is what I already

46:51 . So and typically the first stop to buy something. Everybody has that

46:58 it down. So it's to do same bed front and established.

47:07 And about that. So what so I mentioned that before that there was

47:17 system today that you use and they refuse multiply add instructions. So they

47:24 multiplying at a single construction or too carrots on them as you have a

47:31 but each functional unit. Ege it's kind of mask quite terrible physical new

47:38 and that works great. It makes want to find an even number of

47:42 a bunch of places. Perfect. not everything is like that. So

47:48 it has an unbalanced non balance between a multiplier, you're never going to

47:53 that performance. So that's what the line here now. Uh Yeah.

48:00 huh. You don't have an equal of as a multiples. You can

48:04 get the peak. So you have stay down a little bit from what

48:08 possible is for that and then the one here. So that and many

48:17 system today to have these factors in instructions that a bunch of them.

48:22 that factors into the guarantee. But you cannot use those um the possible

48:31 also seeing the Earth's core, there no reliable because this feed in terms

48:39 nothing worried about the memory system of how much things about the function.

48:46 today there was many of the modern have What's known to say the x

48:55 similar name. five throws. So can do 16 Operations were 32 operations

49:02 a single destruction. So if you're doesn't characterize then I'll get one.

49:10 you get 1 16 Less than 10% the performance. It's a dewdrop relative

49:16 the peak if you can use seeing instructions of such as Oh, what's

49:23 ? The next thing is what some level colonels and that is that if

49:30 can't concurrently at the same time president slow the load, store operations and

49:38 operations, then you have to wait those that sort of thing. Place

49:43 you use the function. So you have this instruction level parallelism performance

49:49 Again, that's a good problem for . So the very big performance that

49:58 start to look at and understand your , the real peak number may be

50:04 lower based on the code. And part of the thing that I want

50:12 to be become aware of and learn this course to figure out when they

50:17 at the cause I just got this and I think about it, you

50:22 , what could have of these various could have defected to perform. Mhm

50:29 , no, we can also So hope here and as I mentioned talked

50:35 struggling if briefing thing doesn't work out way. So the foundations LTD so

50:42 produces That performance and next one is . So it's a little bit more

50:51 . Um Mhm This new my familiar anyone or all and not no assistance

51:02 non uniform memory access. So the particularly on the servers you typically and

51:15 bridges to step up to the two service as we call it. So

51:21 memory in the service is associated a subject. So it doesn't mean that

51:29 course and one socket cannot access the on the other socket. Yeah,

51:37 it's further away so the time to the an item defense among other

51:49 the relative rate or replacement of the and that I died whether it's in

51:54 memory on the same stock belonging to same socket or the other side.

52:00 so systems nowadays they have also features they always try to help you to

52:08 placements and excess pattern. So predominantly on at least the frequent access is

52:14 local stuff that's supposed to what's on other side. So that's what the

52:19 features is that there is ways troubling ends up in popular system. So

52:27 again, if you failed to exploit performance was down and let's see what

52:34 things. Yes. So uh, you have stuff like things, things

52:44 to consider so if you don't have one access but some other for arbitrary

52:50 parents remember violence is considerably okay. huh. Then the animals to be

52:59 . That screen isn't feeling the performance is used as the member of

53:06 But the big performance is really just at the Corporates of the memory models

53:14 a number of its second read or and the single cycles and that is

53:18 pete memory that the state what's actually of the street that is used

53:26 So this is kind of just seeing aspects oh, the call almost can

53:34 you a more realistic do once achieved then use cancer rate your home full

53:44 against. They sort of scaled down depending on the properties of the uh

53:55 . Just a sign. I already it on the other side, but

53:58 just going after the specifications of memory , CPU's and multiply numbers are Oh

54:10 and so there's things taking watch. why don't I think just to them

54:19 then they haven't been successful, but to get to that or not.

54:26 problem is useful. All right. easy if I share my strip.

54:44 . Okay. Yeah. Uh it's using to shut out footsteps.

54:51 yeah. So any questions on those and what it's very frequently used to

54:58 it person. It's a simple modern , it helps you sort of

55:05 first order of business trying to figure that this member about replication. I

55:13 to focus on those students. okay. Oh, I'm prepared

55:23 you know, putting it over there they can see it as well.

55:29 , right. So again, we the yeah, the timers in the

55:41 , but just quickly. How, you can use them in your in

55:45 goals. So the first one the time of day 1? Uh

55:55 Okay. Okay. Yeah. That Yeah, yeah. For uh,

56:09 at this time of day one again has a microsecond level uh resolution here

56:17 when you can use and then forget . Okay it's it reports the world

56:23 time. Uh so you need to careful uh in case you have an

56:29 that will be using uh we have idle media started waiting for I.

56:34 . To be finished. So and is the third time of they may

56:37 be may not be the best one use. There is a successor to

56:43 time off day which is called the . Get time. And that allows

56:47 to use a different type of cloth I'm just showing your two of

56:51 But if you go to the documentation I'll let you she was at least

56:55 or six different class that that you use. Uh When is this called

57:00 ? Manana ethnic? Uh It reports the wall at that time. But

57:05 good thing about it is that it implementing every time. So it doesn't

57:10 on if the man has changed any already, huh? Has messed up

57:15 the with the system. So it's that two successive all the time.

57:21 please be larger than the first And with uh if you use the

57:30 process, if you time I. flog this one here uh that will

57:35 will give you the city your time your processes. So if you're if

57:40 call a function lets you sleep it's gonna be sleeping for uh for

57:44 one second periods, it's not doing anything. So when you use

57:50 c p time I got here, was it will report a little bit

57:54 time because there's a little overhead and the sleep function. But if you

57:59 a large function that uh maybe maybe waiting in car, I ought to

58:05 finished and you're you're only interested in amount of time that it was actually

58:11 something. And then uh you might uh will be the one to go

58:18 , right? The 3rd 1 that saw is the law under 40.

58:24 this one actually, again, it you the CPU time again, but

58:30 was a little bit, little bit . Yeah. And it actually doesn't

58:37 at the same frequency as the CPU . So there's uh it uses this

58:43 for second. Valuable. That's implementation on every system. And the way

58:49 works, is it the collateral second usually uh on the on the assembly

58:56 is one microsecond. So everyone Microsoft the uh increases. And that's why

59:02 you compute that, compute the difference blue balls for the clock function,

59:08 it's not going to represent the actual frequency clock cycles, it's gonna be

59:12 gonna be a multiple of the philosopher second. And just quickly show how

59:17 Alberta was for them so far as uh don't look at that time.

59:22 here I only said sleep function for seconds. So when I use the

59:27 clock it gives you uh these many seconds which is over five seconds

59:34 And as you can see the city basically did nothing. But it was

59:38 but in a lot of the clock computer the whole five seconds. But

59:43 you use process CPU line club, a slide overhead involving the sleep function

59:48 then coming back from the sleep So it only uh computer that much

59:53 of time when the function was actually and not a leap period there.

59:58 that if you use another dog with at that time, that's the real

60:03 time on a trip to the whole second period for which the process was

60:09 . Yeah. Uh And then the uh again these texts, they are

60:16 representative of the C. D. . Or pregnancy. Uh the multiples

60:22 uh this 102nd resolution here. And when when you try to computer,

60:28 using the start and end with floppy divided with uh proper second um

60:36 And that gives you the structural alignment . Just stimulating the difference between these

60:41 is not representative of the people of here. Um The other one other

60:50 was so again it represents the walk time. And this is just basically

60:56 Um 1 1 million something operations are . That was in the code and

61:02 , so that represents the world of . So again, if you have

61:05 line in your uh uh don't try use that any questions about the alzheimer's

61:16 a very kind and wonderful. Mhm my next one is uh that guarantees

61:23 it's gonna be consistently increasing. So so many times that uh huh or

61:34 admin uh the administrator of the clark the time. So they uh consecutive

61:43 and then it's likely that the uh 2nd maybe maybe less than less than

61:49 question one is something that the crop without monotonic it doesn't it doesn't get

61:54 by such factors. So it's going be always increasing. Oh goodness.

62:04 it doesn't really depend on actually you know that you are on the

62:16 program and so as I don't know . So at the same time

62:24 for for two to diversity is very like uh cause for both trends may

62:31 different values because the the execution beginning each track may be different. So

62:37 starting point and and union point will different for each the uh I do

62:43 believe they share the share that if remember correctly. So you can see

62:51 of the for time from the impacts the for this process of your time

62:58 . I think uh that's what I all the shots and in the process

63:04 another club called thread CPU time that is safe and if run if used

63:10 a single thread it will uh return reliable time for each particular threat that

63:17 that function. All right. Uh time. Yeah. I'm not very

63:33 right. I'm working. No, goes on in the system in this

63:39 . Fine. Are they all the ? It's always wonderful to five

63:49 Mhm. Usually are very well connected something. And the other naked find

64:02 . That's the early calls. There one I would say it's all about

64:11 experience and I think there are more committed on the basis for it's supposed

64:18 be an or because one of them a democracy helps unless just always hold

64:27 off. Oh there you are property markets are very often that's oh get

64:44 here. Yeah. So you can the parliament by using the article but

64:54 enough. I'm also a particular Yeah. Usually yeah. Yeah.

65:04 huh respect. Uh huh. Oh yeah. When they're doing that

65:13 truly have exclusive. All right. . Yeah. Following off. But

65:26 don't I don't believe there uh either the sites are giving exclusive access is

65:31 days I don't think either of the they are giving exclusive access is I

65:35 to I tried to go through their license from confederation all Yeah, They

65:47 to go on Bridges one. But the registry. Yeah. Yeah on

65:55 bridges is used to work but now bridges to and stamp it to

65:58 None of them. Mm Okay. let me go through the first

66:13 So yeah so you can hear the of scream. I'm sure uh any

66:20 you may have already uh done it few times just to give an idea

66:26 . Um when combined for using one elements for for each of the each

66:33 the areas of stream, it declares areas in the world. And so

66:39 total memory required here as you can is uh close to 23 MB which

66:44 still less than the year. Uh recently took a bite on this uh

66:52 these notes. So as you can here the data is that you get

66:56 all the four functions Uh close to device for a second to 22 device

67:03 a second. And this is why you're in the big uh regions.

67:09 let's say when you go 200 million and that's obviously quite large than the

67:18 the LP gas. And it's very that most of your accesses will come

67:22 leader from the main memory. And you can see uh a huge drop

67:27 the uh in the in the band here. So for try and it

67:33 from 22 MB/s to Down to 13 . You can see the difference you're

67:42 to access most of the real compassion the main memory. Mhm. And

68:01 that's the that's the largest one I at least. But yes the first

68:06 is actually busy so I already learned schools may not get access to the

68:10 quickly dot com. Mhm. Um then just quickly with God's here,

68:18 drops Uh here takes three Parameters. first uh So the first one is

68:26 size of the table. So if live 30 that's to cover 30 side

68:30 . Uh uh Look at nuclear elements the in the table and the

68:35 Uh I'm interested to find how many these are performed on was uh enabled

68:40 each process. Yeah a second and you need a banquet per second.

68:52 with the two billion elements which are likely that will be accessed mainly from

68:57 main memory. You have to give the per second rate uh those 2.06

69:03 . But if you come down to just uh one megabyte elements between our

69:10 here that right Uh increases the updates 2nd A 2.32 again. So uh

69:20 accessing data from past versus the time again if you don't bear stream end

69:25 stream accesses data manner again doesn't have access to china stride one manner.

69:34 that's okay. Okay these I I remember but I think these are 64

69:48 numbers. And so they sent, out there is a reason, right

69:55 apologised. I heard this name also . The 1%. Uh huh.

70:22 . And so Dije here uh little and I'm going to talk about is

70:29 we thought uh it stresses the computer ability of uh of any system

70:36 So in that case what you get the flow rate and that represents the

70:42 the president of the components of the course here. So for this year

70:47 I used uh anti vitamin K elements are again double precision. And so

70:53 you uh compute the total number of that do and you and divided by

70:59 amount of time taken for the whole of the islam. Uh I'm close

71:05 95 years or less per second. again if you go with smaller smaller

71:10 are slightly that they will fit in past and then you see the performance

71:15 increase uh at least a few hundreds times. So again there's a difference

71:21 uh these 33 benchmarks screaming upstairs just memory systems and uh this is the

71:29 with the ability of the of the there. And again when you when

71:35 profoundly experiments the different sizes of committees you see the difference in the

71:44 So he won't talk about you looking uh you want just uh oh

71:58 sorry about it. Right, Yeah so I guess Want Children to

72:17 top 3000? Yeah, convincing. that way yes. Mhm. So

72:32 a cover on uh on this, went on the left here. So

72:38 anybody see any problems with this uh court before I get into the

72:53 Mhm. How many? Uh What okay if anyone doesn't see any

73:17 ? Let's see if when we come , what happens? So they refuse

73:23 gcc come by right here. So the school does it it uh allocate

73:29 memory for this offer and then stores string that you enter from the console

73:35 the city and into the end of buffer. And finally Princess, so

73:42 see what happens when we run So they said if I just entered

73:45 string, just Uh huh It actually given recommendation for and now just by

73:53 looking at the score, I don't anyone can uh say that. What

73:58 might be the problem with it? the way to deliver is uh in

74:03 on violet with a flag gcc. and then uh she and then again

74:11 simply where you would uh compile Yeah. And what having the minor

74:19 that does it it actually preserves the tables that when the compiler compiles the

74:25 so that the people can use it uh to see through what might be

74:29 on in the cold once your combined the minus the flag, what you

74:35 do is use the command GDP. uh just run your um executed with

74:41 GDP to cover and that happened that a GDP council here. So is

74:49 The last one is Mhm. Natural look. Yeah. Okay so

75:09 you once you're in the GDP console you can use the command run uh

75:16 on the run the program with the there, that's okay, three sides

75:22 it over more. I was just . Okay. Yeah. Okay so

75:36 let's hear let's hear around the program in the report earlier again when we

75:42 this uh it tells you that it examination here, how everyone coming

75:50 Oh that's why one. Mhm. there we go. Okay so in

76:15 this debug responsible here. So we the program, you know we can

76:20 that you were also turns with this whatever now inside the console. Before

76:25 get into the debugging uh part of part of the demo. Yeah you

76:30 use that on on health and you and you can use all sorts of

76:34 command categories that are available for you use insight as you begin to

76:39 So it allows a break mine uh a program checking the back another program

76:45 other uh different features are there that might use when you're doing much more

76:51 because look in here. Well it's simple even in here, the first

76:55 that you can use is that's called batteries once you once your program is

77:02 and what the mattress programme does, shows you the stack trace of your

77:07 . So it basically tells with their functions or call there will be uh

77:13 . Now these uh whatever this in and I guess these are in the

77:19 for uh percy libraries. The function many got a call from our source

77:25 was the main function. Now these here on the left, they represented

77:33 frame as a reliever because it and we use frame command with the number

77:41 with your with the function that you're in art is the main function.

77:46 tells you that we're exactly in the the cold the record. now,

77:52 tells you that it happened online. here, which is this one here

77:57 the afghans function. Now. Generally going to learn that the uh see

78:05 bed functions like f gas or any uh in the way it was like

78:10 syria and they're uh they should not any problems. So the likely reason

78:17 is one of the variables that media offered and what buffer should um should

78:24 had but many years maddog with It should have had uh memory

78:31 So how do we check what's inside her here? So for that we

78:35 use the command here and get the of the variable that we want to

78:41 the contents of. And when we that We can see the buffer actually

78:48 a 0X. You know, has small value which is just basically another

78:51 here. So what happened wrong Ramada should have given it a memory

78:58 right from the and in England. . So let's see. So first

79:06 union capital program here and what we now do is make sure that my

79:13 is working correctly or not and to that. You can use a great

79:18 . Yeah. Uh simply great here provide the source code Violin as well

79:28 the line number on which you wanted set a break fine. And what

79:34 going to do is it's going to a breakpoint on that line. And

79:38 next time you run the program in quality control it's going to cause the

79:43 of that that line in the cold now uh what's what's the above?

79:52 able is getting inside from the mouth function and you can check here

79:57 you can see it as um as value which is an old value.

80:01 there's something wrong going on going on the with the malfunction. Now,

80:06 you can go injecting malfunctions documentation, know that when malfunction cannot, I

80:13 get the space that you requested it generally returns a null value. So

80:18 one last year of 31 a period for too big a commitment from the

80:27 , which is very large and it's that the system and I gave

80:32 So let's see what we can Let's see if we try to reduce

80:36 amount of money. So let us it magnifies are open to advice.

80:42 save it and I'm out of the uncle here using the command q use

80:50 could uh in the uh GDP Both uh my baby. If you

80:57 buy the goal here again Now without uh 65 because we don't want to

81:02 it right now innocent engaged here that . And then and it works just

81:12 . So this is just a simple flow workflow, pinpoint the problem

81:18 your goals. And so and one the assignments will be providing couple of

81:22 where you need to find where the is. It's not going to be

81:25 complex. But this is just one you can try to pinpoint where the

81:29 is in your good and rather than to print us every place, see

81:34 in the innovative alarm on and that's the people are maybe very useful for

81:40 in that. So this is not my debate to do it. Just

81:46 of the way to do it. , sir. Yeah. Unfolding

82:05 I don't think this was it. . Questions. Scientists are our

82:27 But that's that's good. Soften Very point okay. Yeah. If

82:43 have a 2009 code you don't want be doing print us and that we

82:49 be really helpful. Yeah. Uh Right. That's like the compliment.

83:03 sit down. Yeah. Yeah. . Oh, any other questions otherwise

83:21 finished controversy. Very good. Oh . I want to ask you one

83:27 the best part of code for hard you may already have multiple expectations so

83:34 have to run again. How awful ? Yeah. Oh, terrible.

83:46 . So I don't, uh, don't remember what it looks like.

83:51 has already looked at your parameters. number of times that runs away after

83:55 looked around. No. So at if you want to try different sizes

84:01 the race. Yeah. Then then need to read them violet every

84:06 It doesn't have a loop around. . Right. Our system.

84:12 but and you need to pass the every time for the data sizes.

84:19 , Unions are running three times for same parameters. I just have to

84:25 friends. Yes. Also before his question. So I don't think this

84:47 going to really quick. This wouldn't for most part it's just a few

84:53 of execution for the society correct? might say something encouraging. Islamic mystery

85:04 , preferably five times as long as it's just a second. You

85:13 the drums are more or less this tests. You know, hopefully

85:26 you will kind of be lucky in sense that it reported times and

85:33 Very little variation but it could also outside and then I guess it's

85:42 you know, that can happen in principle that should be much wanted.

86:05 there's not anything once is and then risk in the transit. No,

86:13 really does some times. Again, else happens in the system in particular

86:21 to show at the moment, it be awfully significant. Long term.

86:27 totally are. Yes. So another all got accounts have tried use the

86:55 and life. Oh, up to , I've noticed that not from

87:06 but over the last, so this two systems, the sun is relatively

87:13 to the half years old. Unfortunately messages that it's down, everything didn't

87:24 trouble with it. So on the hand, stand please in something very

87:29 . It's an older system and that's . Good to start this campaign.

87:37 things have stabilised roses too. They're a pretty good and bring it back

87:43 again. Quite clear by this guy something more. That means an office

87:51 and a few times usually answer one back is not good. I'm sorry

88:00 that good system. It's not stable stampede even though it's stable but the

88:09 times have long. Yes. Again popular. Yeah. Coming back to

88:16 question for trying to get multiple It's a good, good thing if

88:21 get practice to writing scripts, although of that was that ultra wide.

88:25 already have scripts but try to write that automate your jobs. Jobs and

88:31 and getting all the outfits. Because you don't want to be sitting

88:36 , we didn't get a chance to . But as you eat these simple

88:41 are identified. They don't have to complicated but just enough to get your

88:53 . Yeah. And also I think this for this first exercise but trying

89:02 maturity generate outputs in the format that can also processed by machine and all

89:07 of everything. Yeah, there's some . The tables, tables trace some

89:21 unto themselves. It is for me graphing, make things stand up more

89:30 you want to take it off. want. The difference is probably numbers

89:35 was asking shows it's very clear what something is anomalous and mm mm we're

89:44 transit checked instance. Someone thinks it's good to try to also things about

89:52 and on process for trying to use help extract kind of real information without

90:08 , okay. Yeah that is And this time phenomenal tools you want

90:20 use analyzing what things that actually Oh, that's what's doctor talking?

90:46 mm Okay. Yeah. Uh Yeah. Well, I think shoes

91:12 . Oh that's uh no.

-
+