I will look at the detail of the algorithm that we are discussing yesterday. So, this is the code snippet that we looked at yesterday, one iteration of the loop. I have also numbered the instructions as they will appear in the dynamic sequence. So, this is one iteration, the first one, this is second iteration, this third iteration and so on and so forth. Essentially, we are going to execute this on our model that we discussed yesterday. We have a single issue queue. So, this is my issue queue. So, I have not shown what it really contains. So, the idea is that instructions will be fetched in that order as numbered will be decoded in that order and will be allocated in the queue in that order. So, essentially instructions will sit in the queue exactly in that order, in the order of the instructions shown there and then from the queue will select instructions and execute. So, any question on yesterday's material or any doubt that you might have on this model? So, what I am going to do is, so each queue entry is going to have of course, it will have a slot ID which is the ID of the queue entry. It will have a bunch of source registers and at most one destination register. So, let us take the first instruction there. So, it is number one source dollar a 0 and destination dollar v 0. So, for execution purpose of course, I will have to also remember the opcode etcetera. Let any other argument like for example, the immediate argument also I will require. I am not showing them here. So, I will put the destination at the top. That is my first iteration. So, this is a source one, source two, dest etcetera. So, that is the order in which instructions will be allocated in the queue. Now, when you allocate an instruction and you know if the instruction can, so let me tell you the remaining pipeline stages. So, that might help you to visualize what is going to happen in future. So, next stage is called wake up and there is a select issue stage and then the usual execution, memory, write back. So, the wake up stage essentially wakes up any waiting instruction. That might be waiting for the operands. So, when I allocate an instruction, I need to know if the instruction can be selected in the next cycle. So, the instructions which are ready, they will actually skip this particular stage. There will not be any wake up stage for that. So, how do I know that? When I allocate a new instruction, how do I know if it can be, if it can participate in the selection in the next cycle? So, how do you figure this out? So, let us suppose that I am fetching in this order. The first instruction comes, queue is empty. So, nothing needs to be checked. So, I will actually put a ready bit here. So, in this case, the ready bit is going to be 1 meaning that next cycle it can execute, no constraint on this. So, this is a ready bit. So, this is about the second instruction. So, I take dollar a 0 and compare with, why is that? Because this instruction is currently sitting in the queue with the destination v 0. So, will that be a correct algorithm all the time? Should I compare with all the instructions before me, the registration of all of them? Does everybody see that? So, at any point in time, whenever I put an instruction in the queue, it needs to compare its sources with the stations of all the instructions before it. Is there any way to optimize this? This is a lot of search actually. For every instruction, you have to do a linear search and whatever way you want to implement it, there will be a linear number of comparisons. Any way to optimize it? Remember that we discussed last time that as soon as the instruction executes, I may not write it to the register file. I have to wait until its turn comes. For example, seventh instruction may execute now, but it will not be able to write it until everything else before it has written to the register file. No, no, no, it is not the question of bypass. I cannot write it to the file because there may be an exception that I may have to handle. The seventh instruction writes to the file, fifth one takes an exception. How do I recover the register file now? On a write back, I make the binary as 0. Yes, so what he has suggested is that I prepare a table. What is the table store? It tells me for each register. So, each entry contains, so let us suppose we have in MIPS, we have 32 registers. So, this is going to have 32 entries. Is that what you are saying? A particular entry, for example, let us suppose the entry for register 1 will tell me the slot ID in the queue for the instruction which generated this register for the last time, which was the last producer of this particular register. So, whenever an instruction shows up with this source register, I look up the table and immediately know who I depend on. Because all I care about is the last instruction to produce this value. I do not care about anybody else before it actually. Is that correct? So, for example, here, this instruction cares only about this particular instruction. It does not care about anybody else in this particular sequence. So, let us try to populate this register, this table. So, the first instruction comes, the entry for dollar v 0 will get populated with 1. And we will also have a valid bit. So, that is yes, no binary thing. So, this valid bit is normally 0. I will mark it 1. Whenever an instruction shows up with this particular, so I am assuming that this is the entry for dollar v 0, whatever that is. So, when I bring this instruction in, it looks up this table, goes to the entry for a 0, finds that it is actually invalid, which means I do not depend on anybody. So, essentially this instruction is also ready to execute. Next I bring in this one. So, also I establish dollar v 1's entry. So, let us suppose this is v 1. This becomes 2 valid. So, then this instruction comes. So, it is dollar a 1. It requires dollar a 1, produces dollar a 1, looks up the entry for dollar a 1. It is invalid, does not depend on anybody. So, it is ready to go. So, let us suppose this is my dollar a 1 entry. I mark it 3, make it valid, because it is also producing dollar a 1. Next instruction comes. It needs to look up 2 things, v 0 and v 1. It looks up v 0. So, it finds out it depends on 1. It looks up v 1. It depends on 2. So, that is what it marks here. So, it is not ready to execute and it has a dependence list. At most 2 things it can depend on a particular instruction, because it has 2 sources. What are the dependencies? 1 and 2. It depends on these 2 slots. So, this is my, I depend on these 2 things. What about the next one? It produces v 0. Now, something interesting is going to happen. So, it is going to override v 0. So, I am going to change this entry now, because the new incarnation of v 0 is actually 4. Then this one comes. It also needs 2 things, a 0 and v 0. So, it looks up a 0, a 0 is free, but v 0 comes from 4. So, this is also not ready to execute and it is a 0 is free, but v 0 has a dependence on 4. So, so on and so forth. As the instruction comes, you look up this table. So, store does not produce any value. So, I do not change this table on this instruction. You look up this table, find out who it depends on and that is how you fill up this queue. Is this step clear? What the allocate stage does exactly? It just picks up the next free entry in the queue and fills up these particular slots whatever it is and that is it. That is what the allocate stage is doing. Any question? So, we will come to this stage very soon. Let us keep over to the select stage. So, the select stage, what it does is that, it picks up the entries with the ready bit on and selects a subset of those for execution. It can select any subset for that matter. So, we discussed that also a couple of lectures ago that instructions which are ready can execute in any order. So, let us suppose that for this particular cycle, it selects these three instructions. So, it assumes few things. When you say that it selects these three instructions, that means I have. So, what are these three instructions? Two loads and one add. So, for these three instructions to execute together in this particular cycle, essentially they will move on to the execution stage in the next cycle. Sorry, I have missed one stage. So, in this stage essentially the selection hardware says that you can issue these three instructions in the next cycle, which means they will go and access the register file. So, these three instructions do not depend on anybody. So, they will go and access their source registers. So, in this case they need dollar A 0, dollar A 0 and dollar A 1. So, as soon as you say that you implicitly say something about the register file organization. You say that the register file is designed in such a way that it can source three operands in a cycle, because in this case you need three. And in fact, when you say that I can issue three instructions every cycle in the worst case, you should be prepared to source six operands. In this case it just happened that these three instructions did not have a second source. Is it clear to everybody this particular thing? So, essentially what I am saying is that how much you can issue in a cycle depends on number of available ports in your register file. How many source operands you can get in a cycle? So, that is about your register file. Now, we want to execute two loads and one add instruction in a cycle. So, that means what? What kind of functional units do I need to be able to do that? Sorry, louder? Three adders. Why three adders? Exactly. Two for generating the address of these two instructions and one for actually computing these instructions. So, I need three adders. So, that is another implicit assumption that we are making when you say that I can actually execute these three in a cycle. So, what this means is that it puts one more constraint on the selection hardware. It should be aware of what are the functional units that are available in the machine. It cannot just pick an arbitrary subset. So, gradually restricting the subset, you can see that. First we say that you depend on number of read ports in the register file, how much you can read in a cycle and then we are saying that what mix of functional units you have that also decides what subset you can actually issue. So, you need three adders. What else? What else do I need to execute those three instructions in a cycle? Yes, louder? Two memory ports. So, I should be able to do two load instructions in a cycle. So, I need two data memory ports. So, then if I have three adders and two data memory ports, then I am ready to send those three instructions to the execution unit and they can execute concurrently without any problem. So, what happens after they finish executing? So, essentially we are going to turn these bits to 0, ready bits because they have essentially executed. They are not eligible for participating in future selection. Now, the question arises that where do I put the values that these three instructions produce? I cannot send them to the register file, because it may not be time yet. So, we create one more entry here which is the value. So, here it will store the value of the load. So, the values will be filled up here, here and here. What else has to happen? You have to wake up the waiting instructions that are waiting on me. So, how do I achieve that? So, what happens is that whenever instruction finishes, it will broadcast its queue slot ID over all the entries. So, whenever this load instruction completes, it will essentially send this particular entry ID to everybody in this queue. And everybody else's job is to pick up this slot ID and compare with these two entries here. If there is a match, that means one dependence has been resolved. This particular operand is ready. So, for example, in this case, one will match this one and essentially this will go away. That means this is no longer dependent on this instruction. This instruction will complete, will broadcast to and this will also go away. And when both go away, this bit will become on. So, this is ready to execute now. So, in the next cycle, it will actually contain for selection. So, this is the wake up cycle that this instruction goes through. And you can see that an instruction can have at most two wake up cycles. In a particular cycle, one particular dependence may get resolved. In another cycle, another dependence may get resolved. Yeah, I am coming to that. So, where is it going to read the value? So, in this case, it needs v0 and v1. So, essentially, these two slots will give you the register value. So, it is not going to read from the register file, but it will actually going to read from the dependent queue slots. Remember that the values are stored here. Well, it was recording the dependents here. No, no, no, no, not yet. We read the value in this stage. Yeah, so I am coming to that. Yes. So, I am avoiding the hard corner cases. I am just trying to describe their basic algorithm. So, this is now ready to go. This is not yet ready to go. And there will be many other instructions which are ready to go. I have not shown actually. You can fill up the queue and see. So, in the next cycle, this instruction is now eligible to participate in selection. So, let us assume that the selection hardware selects this particular instruction. So, now, in the next cycle, this instruction has to read the register file. Now, the question arises, the value may not be in the register file. The value may be sitting here actually in these two slots. So, essentially now, you interpret these two entries in a different way. You figure out if these two entries essentially tell you where to get the value from. So, in this case, you will get the value from these two slots and go to the execution unit. Complete execution, broadcast your slot ID. Now, you will essentially going to wake up this one because this has four. So, four will match actually. So, and that instruction will issue and finally, time will come when you want to write back. And the write back will happen in this order exactly. For example, this instruction, the first one, is eligible for write back as soon as it completes because it is the head of the queue. So, when the time comes to write back, essentially what will happen is that it will pick up this destination ID, pick up the value, then it will register. And this queue entry will become free. So, if you design it as a circular queue, the pointer will move. That entry will become now eligible for allocation. All right. It is a basic algorithm clear. So, any question? So, one point we will notice is that we have implicitly done renaming. That is one point because essentially we are using these queue entries as an alternate name for the destination registers. For example, here I could execute two instructions with the same destination without any problem because they essentially hold the values in two different slots in the queue.  So, I can concurrently execute them. Of course, in this case there was a dependence which is why I could not concurrently execute them. But otherwise, if there was no dependence, I could actually. Also notice that I can also resolve memory dependence because the store value here. So, what happens is that when the store instruction executes this particular one, the value actually still remains here. It does not go to memory yet because it cannot. Only when the store comes to the head of the queue, this value will be moved to the memory. So, then the question arises, what does it mean to issue a store instruction then? So, in this particular model, it actually does nothing. You cannot do the store at this point. Why is that? Why? There might be a load before it, which what is the problem then? Yes, it should need to devalue, that is fine. So, that is one problem. So, for now let us assume that because of exception, I cannot send it to memory. So, I am coming to your point very soon. So, the store cannot really modify memory yet because there may be a chance that an instruction here may take an exception. Then you cannot modify memory until it transcomes. So, that also gives you memory renaming essentially because now I can have two store instructions in this queue going to the same address. They can see it in two different slots. So, when you introduce caches, we will see that actually it makes sense to issue a store early. There is some meaning, but for now there is no meaning. It does not do anything. It just sits there with the value. When it comes to the head, it will send it to memory. Now, what he has mentioned, we discussed this also yesterday that suppose, so this is a store instruction, this one here. This particular entry is a store instruction. It writes to some address, which is this and we do not know until the store instruction is issued and it executes. So, in this particular pipe stage, I actually get to know the address of the store. Now, let us suppose that, so here our ninth instruction is a load, this one. Ninth instruction is a load instruction. The address of which also we do not know until it issues and executes, but on the face of it, if we just look at it, I could have actually issued ninth instruction along with 1, 2 and 3, because it will be ready, because dollar A0 is, oh sorry, yes it cannot, because it depends on this actually. In this case, I have a dependence, so which is why it cannot, but if I did not have a dependence, then I could have issued actually, 9 with 1, 2, 3. Skipping over the store here, which may be a problem, which we discussed yesterday, because it may be a problem if these two addresses are same. Then the ninth, this load will take get a wrong value from the model. It should be getting the value from this store only. The problem is that, I cannot really resolve it until both of these are issued and executed, then only I get to know the address. So, that is a big problem and which is why often what you do is, you would not issue a load if it has a store before it. So, you wait until fifth instruction is gone from the queue, it is executed, so that you know its address. You can store the address in a slot in the queue and this instruction can compare and you can figure out, whether it can issue or it has to wait or whatever. It is a basic algorithm clear, what is happening. So, this is called Tomasulo's algorithm after the name of Robert Tomasulo, an IBM engineer who came up with this particular systematic way of maximizing ILP for the IBM 360 machine. It has many different descriptions. This is just one of those many. The book has a different description, which we will go through very soon. But the crux of it is this, that you keep track of dependencies. You have a table to know who you depend on and so on and so forth. Now, there are small issues that are left, which actually can be troublesome, which you have to think about. The first question is, let us suppose that the instruction that produces, so currently v0 is produced by 4. And for some reason, what happens is that, this instruction is not fetched. Nothing beyond it is fetched. So, this is the last instruction that produces v0 in a queue and everything onward is not fetched yet. So, eventually time will come when this instruction will write back. So, at that point essentially what it means is that v0 is no longer held by 4. It is in the register file. So, at that time, I actually turn this off. This bit goes to 0. So, that is what he has mentioned that when you write back to the register file, you can mark this entry as invalid. That means, v0 is not in the queue anymore. If you want to read v0, it is ready in the register file. You can get the value from there. Any question? All right. So, the second question is, it may happen that, so we said that when you allocate, you read this table to find out who you depend on, which slot is producing your sources. So, there may be a raise going on. It may happen that one of the sources that you require, the instruction currently being allocated requires is currently being written back in the same cycle. That can happen, because in the same cycle many things are happening. Something has been allocated, something has been executed, something has been written back. So, an instruction requires register r, which is being allocated in this cycle and the instruction that produced r, the last instruction to produce r is being written back in the same cycle. So, this instruction comes, looks up the table, finds that the entry is 1. Thinks that well, it depends on this particular slot and it goes there and waits forever, because it is never going to be opened up, because that instruction has been written back and so, how do you resolve this? Is the raise clear to everybody? Because in the next cycle, if you checked, of course, this entry would be 0. But in the cycle that you are getting allocated, there is a raise going on.  And you remember that the way a pipeline works is that, in a particular pipeline stage, it will sample all its inputs and then work on those inputs during the cycle and then make the modifications at the end of the cycle. So, at the beginning of the cycle, it will sample the table, find out that this entry is 1 and will think that it is supposed to get the value from 4. How do you solve this problem? Timeout, you have to be very careful if you rely on timeout, because there are the memory instructions have non deterministic delay. You do not know how long they are going to take. What if this register is being produced by a memory instruction, which may be a legitimate dependence actually. If you timeout too early, then, all right. So, yes, that works. So, you are saying that periodically you are going to check this particular entry. That makes you that will make forward progress eventually, but we may end up losing a lot of cycles. Any better solution? So, you are saying that you want to phase the execution. No, see, the wake up happens when an instruction completes execution. You want to modify that? So, before I go to his solution, what he suggested is that why do not you have a phased execution, that write back happens in the first half of the cycle and my allocation happens in the second half of the cycle. Then, the problem is solved, because by the time allocate works, the table is up to date with these cycles write back. So, I will always get a consistent state in the table. That is one solution, but if I want a very high frequency processor, I may not be able to accommodate my write back in half cycle. Yes, you want to wake up after this? Before after is very fuzzy in a cycle. When you are within a cycle, there is no meaning of before after. These are all concurrent. They can happen at any point in time. Yes, so this one works. So, what you do is you divide your write back essentially into two parts. You spread it over two cycles. In a first cycle, you update your table. So, you mark this entry to be 0. So, that is what this write back stage is doing. If you want, you can write the value also to the register file. In a second cycle, you broadcast this entry again over the queue. So, in case, in the previous cycle, somebody had a race, that guy will now wake up. This cycle, if somebody is being allocated, it will actually see a 0 value. So, it will not wait. So, that takes care of the problem actually. Is it clear? Splitting the write back into two cycles. There is only one broadcast per write back. So, when this particular v 0 is written back in the first cycle in the WB stage, it will reset this bit and it will write back the value also to the file. In the second cycle, it will broadcast 4. Actually, in this case, it will broadcast 4 along with the value. The value will also be needed. So, if anybody missed that bit in the last cycle, we will wake up now and pick up the value from the bypass and we will go. Clear, everybody? More problem. So, we said that this wake up stage is needed because this will wake up any waiting instruction, which are waiting on some dependence. So, that they can now participate in the selection in the next cycle. So, you can have the same race there between allocate and wake up. You are being allocated and your source register is also being generated in this very cycle. You are being woken up actually. So, what will be the downside if I miss this particular wake up? Because there is a chance that I may miss it because I am being allocated in this cycle. So, what will happen is that I will go and look up the table. Table will say 1 here, let us say. So, I pick up 4, but in this same cycle, 4 is being completed. But I will miss that wake up signal. So, what I am going to do? I am going to wait there until this is going to get written back, when I will be woken up because of that broadcast of the second broadcast that we have put there. Sorry, no, it will be reset only when it is written back. Yes, that is what I am saying. So, I am allocated an instruction in this particular cycle, which needs v 0. The instruction which is producing v 0 is also completing in this cycle and is broadcasting this particular slot ID. So, this instruction is going to miss this particular signal because there is a race going on. In the same cycle, you are being allocated and you are being woken up. 2 cycles. No, the point is that. So, maybe I should clarify. So, let us go back to this. So, these are ready to go and this is not it ready. So, assume that this instruction is not it allocated. So, now, what is going to happen is that let us see. So, v 0 is being produced by 1, v 1 is 2. So, 1, 2, 3 are issued, they are executing. They go through the memory stage, they are done executing. So, now they complete. So, essentially I am going to broadcast 1, 2 and 3, they are complete now. So, when this broadcast happens in the same cycle, 4 is being allocated in the queue. 4 looks of this table, finds that it depends on 1 and 2. So, it goes in there, sits there waiting for 1 and 2, which will never happen because 1, 2 and 3 have been broadcast in this cycle. So, this instruction which could have executed in the next cycle will now wait until these two are written back, when they will be opened up. Is a problem clear to everybody or you still do not see it. So, what I am saying is that you are now depending on this particular wake up to know that you are ready instead of this one because you miss this signal. In the same cycle, you are broadcasting 1, 2 and 3, which all the instructions are supposed to compare against their dependence list, but this instruction is not yet here to compare anything against. It is still being allocated in this particular cycle. So, we will look up the table, we will get to know its dependence correctly, it will mark 1 and 2, it will mark itself as not ready and it will wait there until these two are written back, when they will be again broadcast and now they will pick up based on this. So, there will be some lost cycles, which we actually do not need. Is it clear? How do you solve this? One more bit in the table, in the table, you want a ready bit, you are ready bit. All right, how does it help? When is this modified? As soon as it issues or when it completes execution, which very same cycle? While execution may not be one cycle, multiple cycles, last cycle. So, then what is the difference? I mean that point I broadcast, the wake up also goes out. Okay, I see. Yes. So, you want to do this one cycle early. So, we will actually do the same solution, we are going to split up the wake up in two cycles. So, we are going to change the table entry here. So, it is a ready bit, which says that whether this particular value is ready or not. It may not be ready in the register file, but whether it is ready in this particular slots or not. So, whenever the instruction executes, I may not be able to do it in the same cycle, may be the next cycle. Okay. I will first change this table entry to say that, yes, this register is now ready. Okay, meaning that the value is ready. All right. And then in the next cycle, I will do the wake up. So, what will happen is that in this cycle, if somebody misses this, will be opened up in the next cycle. All right. And in the next cycle, if anybody comes, we will actually get the correct value from the table. Okay. And all of them can now participate in selection in the next cycle. So, essentially what I have done is that, I have introduced one more cycle here. So, I will just call it wake up one and wake up two. Okay. So, essentially what I am doing is that, I am essentially splitting the wake up into two state changes. Okay. There are two states associated with the wake up now or associated with the write back. All right. So, that gives you essentially what? An 11th stage pipeline. Okay. So, these are pretty much a functional design. This is going to work. And the only limited to your ILP is the length of the queue. How many instructions you can see at any point in time? If you have more, you will discover more independent ready instructions, which can participate in the selection. Okay. And of course, you are limited by your register file ports. You are limited by your number of functional units. How much can be issued? Also, we haven't discussed one thing. That is, you are limited by the rate at which the queue can drain. Okay. And that depends on what? Write ports. The number of write ports in the register file. Because if I want to drain three entries every cycle, I better have three write ports in my register file. Okay. All right. Because I may have to send three values to register file. So, if you have an unbounded queue, you will be limited. And if you have unbounded register file ports, if you have an unbounded functional units, you will be limited only by flow dependence. Nothing else. Only data flow will be the limiter. Okay. You will get all other ILPs possible in your program. And to notice what is going to happen with this particular piece of code, your queue will actually fill up, even though the seventh instruction is a branch instruction. Assuming that this branch predictor here, which will be looked up here, actually. Okay. Whenever the seventh instruction is fetched. And if it tells you the right thing, it will actually keep on filling the queue in the right direction with right instructions. Okay. And then your selection hardware will actually, in this case, although it may not be possible because of this dependence, these two loads will depend on this particular one. And then you have various other dependence instructions. Okay. But otherwise, nothing stops you from picking up ready instructions from different iterations. Okay. All right. Okay. Any question? So your book gives a slightly different description of this. It has a different organization of this queue. And it also maintains this particular table in a slightly different way. And we'll actually, so by the way, so this is actually not implemented in any processor in this way. Never. Okay. Can anybody guess what is the problem? So here I have a single queue, right? Length of queue. Yes. I want a very large queue. So what? Can't I have one large queue? No, it will be bounded to some length. Let's say 200 entries. Broadcast. How many comparisons? Yes. Right. So how many comparisons? How can, yeah, how many? Why? Is it? Two into number of entries, right? So per entry, I can do at most two comparisons. That's the worst case. Multiplied by number of entries. So in the worst case, every cycle in a 200 queue design, 200 entry queue design, I'll be making 400 comparisons every cycle. Right? And possibly to accommodate these 400 comparisons in my short cycle time, I'll be doing all of them in parallel. Right? I have to do them, which means I need 400 comparators, okay, in my particular design, which is probably out of question. Yes. Right, but per entry can make only two comparisons, right? Compare with every broadcast ID. Yeah, exactly. So yes. So what is the number? Suppose I can write W entries in a cycle. W into N into 2. So does everybody see why is that? Whenever I broadcast one entry, that will be compared against both of these for every entry. Okay, right? So N into W into 2. Okay. So that's pretty large, actually. Very large. So how do I solve this? I cannot get rid of the broadcast. That's fundamental to this design, actually. But everybody needs to compare. That cannot be taken away. So number of comparators, can it be reduced? There is more. Other than this wake up, there are other comparisons involving load store operations. I've just mentioned, right? So suppose that I have a constraint that load instructions will not issue until all the stores before it have completed. All right? So I have this particular constraint. Okay. So whenever a store is issued, what it does is that, it doesn't write the value to memory, but it computes the address. Okay. It goes to the execution stage, computes the address and stores it in a separate field in this particular entry. Okay. So whenever a load instruction wants to issue, it first checks that all the stores have been completed before it. That's the first constraint. And let's suppose that, yes, they have all completed. But there are a bunch of stores before it actually, which haven't yet written to memory. All right? So what it will do is, it will issue, compute its address, and then broadcast the address over all the queue entries for comparing against the stores which have completed. And if anybody matches, the load has to be called back. Okay. All right? Load has to be called back. It will take the value from the store's entry. It cannot take the value from the memory. Is that clear to everybody? Okay. Because the load is supposed to consume this value, not something that is in the memory. So that actually increases your number of comparators even further. You need address comparators. So these are QID comparators. So these are dependence comparators. In addition to that, you need address comparators. So what do you do? How do you reduce this overhead? This, the storage is not a problem. A 200 entry queue is okay actually. Okay. So you want a list of dependence here, as opposed to storing who I depend on, you want to store who I need to source. Okay. All right? But this list may be unbounded, right? So how do I size it then? Because this has to be done in the silicon, which will be fixed at design time. You cannot increase it at runtime saying that oh, I need more. Yeah, which is gigantic, right? Yes, hash table. Will that reduce your number of comparisons? It will reduce W. How? What is the organization of a table? Now, what is my hash key? IDs. Okay. All right? No, no, no. Tell me the organization of one entry. What does it contain? All these things? Same. So then what is the difference? Okay. So we will continue from here next time. So I will stop here today. Okay. Based on the? Means? Can you, little bit more? Okay. So you want to attach a list of dependence with a register. But the list of dependence is unbounded. I am not unbounded, but it's. So that still is large, right? Even so many fields. Not too many. This is, this is, see I am saying storage is not a problem actually. Okay. The problem is the operation that you are doing on this storage. That is the problem. You have gigantic caches on chip. That's not a problem there. The problem is the kind of operations you are doing. So we'll continue from here next time. We'll see how today's processors actually handle this problem. But keep in mind that this is the model. Okay. This is, now essentially we'll do small tweaks on this to make sure that this is, this becomes implementable. Okay. All right?


Good morning everybody. Happy new release day. I'm Joe for jaspercasebrakes.com, and that's the brand new 2020-2021 panini obsidian basketball four box random team break number one Some pretty good stuff 30 spots everyone gets a RAM team in the NBA all card ship every box is a couple autographs and really Nice stuff. I people are familiar with the obsidian. Thanks everybody here for getting into the RAM team break I appreciate it and There are all the teams right there all 30 teams are in let's roll it randomize it one and a four five times for names and teams one two three four and five For five we've got Bennett down to Ryan one and a four five times for the basketball teams one two three four And a one-fifth and final time after five we got Charlotte Down to the pistons All right Bennett with the Charlotte Hornets TJ with the Raptors Ethan with the magic Anthony with the heat Robert with the Hawks Brian with the Suns David B with the Mavs Brian W with the Timberwolves Brian G Grizzlies Robert with the Celtics Bennett with the Pelicans Sean M with the Blazers Enoch with the Nets Almost said Mets Nets Ben with the Clippers Leo with the Pacers Robert with the Wizards Sean with the Bulls Anthony with the Sixers David with the Cavs and Bucks Ben with the Nuggets Tony with the Jazz Robert with the Thunder David with the Warriors Bennett with the Kings Brian H with the Spurs Rosario with the Lakers Robert with the Knicks Brian W with the Rockets and Ryan with the Pistons A lot of teams getting their media days out of the way pre-season starting training camp starting It's gonna be exciting time of the sports calendar. Let's alphabetize that by team. I'm gonna pause the video when we come back We're gonna see if there's any trades And then we will have the break so stick around be our beat All right. Hi everyone while people are considering trades Let's pop open this fresh case of the brand new obsidian basketball just dropped today and let's see which four boxes We're gonna need a knife See what which four boxes we're going to do the next random team break is already on the site So four boxes is a third of a case So one two three Is from a case Sorry, they're four box breaks, so there's four There's four There's four We're gonna select a die. Let's select that one right there, and we'll go one two three four five six on the dice roll And it's one so these we're gonna save for next time Some Sharpie on here, but I think it should reflect enough on the Packaging here So we'll put RT right there. You can see on the left side and kind of see it Just so we know that they're from the same case Kind of see RT right there as well. We'll set those back there because I'm sure another one will will fill pretty shortly Okay, we're gonna pause once more when we come back. We'll see if there's any trades and they'll have the break be right back All right, welcome back everybody No deals were done here on a Wednesday the 29th. Thanks everyone for joining us and making this part of your new release day Appreciate it. Nice Thanks everybody obsidian basketball two autographs per box Look for rookie Jersey autographs All sorts of great stuff. Thanks everybody for getting in appreciate it plenty in the store So go and get it on jasmicecasebreaks.com Traditionally there are a couple base cards on the bottom. Yes All right, we'll use this playing card right here to Slow play some of the hits a little bit. All right Derek Rose to 50 Tim Hardaway Jr To 99 Derek Rose for the Knicks Robert Tim Hardaway Jr. For Dallas. That's gonna be for David Moses Brown rookie For the Thunder Robert LeBron James Lakers city in card that's gonna be for Rosario My Lakers nice and a James Weissman rookie card Solid that goes to David and the Golden State Warriors We've got a 26 out of 50 ties your own lightning strike autograph That looks pretty cool. Look at the lightning bolt on the side right there. I like that So that will be for Robert Flores and the Oklahoma State Thunder and back here is Isaiah Stewart nice rookie Jersey and autograph. I Like the little window that they built right here. I dig that Nice Isaiah Stewart. He's pretty solid to Detroit Ryan Kasin with the pistons There's a number three out of 49. All right, good start Next box. All right, we've got a cool looking die cut here. Oh, and that's Ion Williamson Supernova second-year Zion I'm not sure how short printed this parallel is but still pretty cool for Bennett and the Pelicans That's 94 out of 99 Okay, so it's out of 99 got Aaron Gordon 42 out of 99 buddy healed For the Kings Cassius Stanley for the Pacers Zach Levine for the Bulls Next is oh nice three color jersey and autograph obi toppen For the New York Knicks That's gonna go to Robert Flores 14 out of 25 Got a lot of upside Knicks were ahead of schedule last year. That's good and there's ish Smith Galaxy autograph For the Wizards you're a wizard Robert Robert Flores again with the Washington Wizards nice 70 out of 75 Got another random team break in the store already to ask these case breaks.com. We can run this back pretty quickly I think brand new release And a quick little four box break pick your teams are half case break six boxes Watch out die cut. All right, so that die cut sliding around all the places KD Kevin Durant 49 out of 90 90 everyone see the press conference, but Nets media day Brooklyn Nets media day David Letterman asking some questions did see that Fun times There's that too Enoch with the Brooklyn Nets RJ Hampton to 99 Orlando magic Ethan. We got Emmanuel quickly Had a great season last year Robert and the Knicks Kelly O'bray, Jr. For the Warriors And Josh Green for the Mavs and now you're your two hits We got Mitch Richmond lightning strike autograph That is for Bennett and the Sacramento Kings 39 out of 50 Yeah, Reveille he was David Letterman. Definitely a bit There's Joachim Noah Matrix Jersey an autograph Well, I think I think Oliver's interested in that Mitch Richmond Bennett Joachim Noah 27 out of 49 Going to Sean Maddock and the Chicago Bulls. All right final box quick little four box break Plenty in the store pick your teams random teams Number blocks to fill a pick your team a lot of hoops on the site today Chronicles draft picks by Panini another new release You want to check that out? All right fourth and final box Good luck Darren. What's going on? Four out of 25 Paul George for the clip show. It'll be for Ben Christian Wood rockets 96 out of 99 There's your number one overall pick Anthony Edwards Nice rookie card for the T Wolves. That'll be for Brian Watford Daddy's young for the Bulls Dylan Brooks and we've got Tyrese Maxie rookie Jersey and autograph nice one for the Sixers three-color Jersey and auto a great Three and D guy as they say Needs Ben Simmons play play play Tyrese some more That'll be for Anthony and the Sixers I'm not sure what's gonna happen with on that front, but five out of 25 and back here is Brad Wanamaker galaxy autograph For Charlotte and that's gonna be for Bennett and the Charlotte Hornets. There you go gang 72 I 75 on that one Bennett. There you have it ladies gentlemen our first look First live look for me anyway for a obsidian basketball brand new release get into more in the store Jaspy's case rakes comm do not miss out. I'll see you next time for the next one


I haven't seen any of these photos in ages. Alright, you'll be surprised. Look at this. So I started playing guitar when I was about 10 years old. I remember getting my first guitar from like a classified advert website. Four years later I picked up the bass. I think music helps make me a lot more confident as a person. I was in several bands throughout college and university. I spent quite a lot of time playing music. I have a condition that runs in my family called Retinitis pigmentosa. And that essentially leads to tunnel vision. My grandmother had it and my mum has it. My family's condition really got me started thinking about the things that I might have missed out on if I didn't have that music stuck in place. And that started to get me thinking about what other people might miss out on. For example, the confidence boost. That was a huge thing for me growing up. Everyone should be able to experience that. I want to take my learnings and the things that I'm building and be able to give that to people. So last year I built a guitar called Cord Assist. And the aim of this guitar is to make learning guitar more accessible for more people. Specifically for blind, deaf and mute people. And the way that this guitar works is that you essentially have a conversation with the guitar. So you can say to the guitar, tell me how to play the C chord. And then it will take that information and it will tell you how to play the chord using either the Braille reader, the speaker or the screen. So in the guitar there's a Raspberry Pi. It's like a mini computer and what that has is software which I've written which contains all the logic for the conversational aspect which is powered by the actions on Google SDK. So when you talk to the guitar and the actions on Google SDK handles all the conversation it will receive a response from the Dialogflow API and it will use that response to output how to play the chord to the different components. Tell me how to play the D chord. So we have the Braille reader and which are the pins which pop up and down. It will also have HDMI display which will display the chord diagrams which are fetched from Firebase Storage. And it will also have a speaker which will speak out the chord pattern which is translated from the textual output from the actions of Google SDK using the cloud text-to-speech API. Tell me how to play the F chord. So when it comes to my career I'm definitely most passionate about helping others and creating things which make our day-to-day tasks more accessible to everyone. There's so much we can do with the tools and technologies that we have to create accessible products that make the world a much more inclusive place. I just want to share everything that I do with others and inspire other people to do those same things.


Yeah, yeah, yeah Drinking in combat you can trade with me if you need to PSing sitting blind, okay? Sheeping me off. They're gonna go you watch it. I'm gonna reshoot me We got clothes.  CS me CS me I'm seeing major major. No CS deaf sheep pushing road I'll shrink it kidney nice CS me. It's useless They're broke to beat me here. I'm lying. He really wants it Blinks. Yes, Blinks. Yes. Take care. Take care. Take care. Take care Maybe just did I just playing major spilling much. Oh Glorious still hard match up though I'm gonna look for a rez if they go away. Okay. Okay. I'm definitely not looking for it Cleaning, huh? If he disengages away, I'm gonna look for the rez. Okay? Priest is pushing I think I'm trying to get the field Silent that's got me into trap He's gonna fear me. Okay huge. See me Yes, okay.  That's done.  Yeah CS me CS me careful My no need to Okay, okay PS Trinketting as well theory Garret me during that Miss kick Disarm Okay spam healing Kidney full if I don't die in kidney ronka miss kick Fearing after


Welcome to Tovi TV, to Everton News Daily. Everton's new under-21 manager has spoken about Everton's new under-80s manager Layton Baines. He says, Layton is such a professional and has got such high standards. And I'm sure he's going to carry that over into his new role now. He is meta-lutious in his planning. That's a word I've never held off before, but there you go. He is very detailed for someone who hasn't coached very long. He obviously carried that over from his fantastic playing career. And most importantly, he is also really a good guy. He's humble and he knows every day is an opportunity for him to learn. I think that's how he sees it when he comes into Finch Farm. Obviously worked together when Paul Tate was under-80s manager and Baines was his assistant. So I'm sure Paul Tate knows that Baines is going to do a very good job under-80s and hopefully he does. Paul Tate is also spoken about Anthony Gordon and an example he sets. He says, in terms of Anthony, where he is now, it's phenomenal. He said, it gives us a massive lift and gives the boys in particular that vision that they can see there is some pathway into the first team. That's obviously really important because I don't think a lot or enough for youngsters have been getting into our Everton's first team or at least making a decent career for themselves elsewhere, so that's really important. Hopefully our academy can improve over the next few years. Today, Toffees have been linked with Watford's forward Emmanuel Dennis. We've been linked with him throughout the summer. He's obviously played for Watford in the Championship now, but the Express have stated that Watford's £20 million asking price is about to be cut down to entertain bids from clubs. Other reports have said also that Emmanuel Dennis has refused to rule out a move away. Obviously he played the other night, I don't think he scored. But I imagine he's Premier League proven, let's be honest. He came in last season, scored 10 goals, got six assists, which is pretty good. To be honest, I personally think Everton needs to add more goals to the side. We've brought McNeill in, he's only forward. We've brought in since Richard Ellison leaving and McNeill's not like a known goal scorer. He may have scored some goals this season, but I'd be lucky to bring in another forward who's more of a guaranteed goal scorer. I'm not saying Dennis is, but he scored 10 goals in the Premier League last season and sort of a Richard Ellison. In terms of other forwards, Everton have been continuing to be linked with Birmingham and Maxwell Cornet. Apparently West Dam were also linked with him and prefer alone. He's got a 17.5 million release clause. I imagine he might be able to get him a bit cheaper, but I think Everton really wanted him or could get him the structure to deal by now and it would have been sorted, but we've got right McNeill and not really any sign of getting Cornet. We've been linked with him for a while and nothing's really happened, so we'll have to wait and see. Finally, Kenzie Weir has signed her first professional contract with Everton Women's. She's had a three-year deal. She was an academy graduate. She's only 18 years of age and she is the daughter of David Weir, a former Everton player, so a good look to her. She has a really good career and hopefully that career is with Everton. So there you go. That's all the news for today. Let me know your thoughts on Emmanuel Dennis' links and the Maxwell Cornet links. Would you like to see them play for Everton? You never know before the end of the month if you could see them in an Everton shirt. Who knows? Thanks for watching. Make sure you like and subscribe. If you've got more videos, including live, daily videos and other exclusive videos, then join us on Tobi TV Premier. See you later.


Fel pob, ddweud i am ymddangos. Fe wnaeth eich bod yn ddod i'r ffridag yn y ddweud o'r Llyfrgell Llyfrgell. Mae'r ddweud o'r ysgwrth yma yn ymddangos ar y cyflogion. Mae'r ysgwrth, os yw oedd yn y pwyng ysgwrth yma, o'i'r rhaid i'n gweithio ymddangos yma yn 2009. I did an update in 2013 and here is a second update and actually I think as you see some of the points I'm making this presentation, the journey has been an interesting one but an astonishing one in what we have achieved in a relatively short time and that's a very positive message to take from this. There are two emblems on the screen. The first one is Blue Shield and Blue Shield International in particular. The emblem in the middle of the circle is the emblem of the 1954 convention. The circle around it turned into the logo of the organisation and it's that organisation that I will be talking quite a lot about later in the presentation. But the other and perhaps in many ways more important one is this logo on the side which is the personal logo of the UNESCO chair at Newcastle University and I'd just like to take this opportunity to thank the university publicly for the effort it has put in, the resource it has put in and most especially the finance it has put in to underwrite this work. Much of the work that you hear about today and certainly that from Paul Fox and Emma Cungliff and much of what I've done and you'll hear about in a moment would not have been possible without financial contribution from one university in the UK. That university is leading the way in what we do and it's an astonishing accolade to two vice-chancelors who have identified not only that this is something that is good to do in terms of academic reputation in terms of profile for the university but it's good to do because it is what we should be doing and both of them have committed to that process and I thank them publicly for that. This is a very if not extraordinarily topical issue and I'm not going to go through all of this but if you had told me in 2003 that the protection of cultural property would be part of five UN Security Council resolutions while I first got involved in this I would have just simply laughed at you and said you're barking mad. If you would have told me that in 2013 the protection of cultural property was an explicit element of a UN peacekeeping deployment in Mali I would have said that you were start raving bonkers. That may have been a step too far in many instances but it shows the international commitment to this sort of activity. Much of which, as the President has just said, prompted by the actions of the so-called Islamic State, Dayesh, Boko Haram and many others, and of course there are a wide range of UNESCO initiatives relating to this sort of work, not least in many ways the establishment of the UNESCO chair at Newcastle. So it's very topical, it's on lots of people's minds, it gets into the newspapers on a frequent basis. I am however constantly reminded by friends and people I sort of talk to over glass of wine somewhere but come on it's war, get real, things get blown up and damaged in war, there is nothing you could do about it. So the question I always ask is do things have to get damaged, can't we do anything? One of the things that I find some reassurance in is that for the last 2,500 years military theorists and practitioners have all said that the destruction of cultural property during conflict is a bad thing to allow it to happen. Simply, and I haven't got time to go through all of these characters, but from Sun Shao top left as you look at the screen, Polybius, the Greek philosopher and historian, Hugo Grotus on the other side, the Dutch 17th century academic writing on war and peace, on Classwitch writing in the 19th century and later in the 19th century Francis Lieber, all make the point that if you allow cultural property to be damaged during a conflict or worse if you do the damage you are starting to identify the first reason for the next conflict and if you are in an occupation area then you are making that occupation more difficult and there are sadly unfortunately as we all know probably more examples of failing to follow that theory than practice. But a couple of good things, so one person who springs to mind, if that can be said, is Theodoric the Great, occasionally referred to as Theodoric the Barbarian who was in charge of Italy at Ostrogath but who set up the title and the office of Keeper of Monuments in Rome all that time ago and the Keeper had to preserve all that is ancient and whatever you may add will conform to it in style but that filed a similar to quite a lot of relatively recent in the last 150 years legislation in the UK. But Theodoric went one stage further and started to actually restore properties that had been damaged during conflict and joined action there. So an early example of cultural property protection actually having a positive impact because the Rome that we all go to and visit today simply would not be there without this work from Theodoric. Something again glossed over ignored in many instances are ordinances written specifically for particular campaigns for English and other medieval armies and this one, the 1385 Durham ordinances is the first existing ordinance that actually identifies the protection of conflict. Theodoric is a cultural property as a responsibility of English forces under Richard II as they attack Scotland. I haven't got time to go into that but if some are interested I'll be happy to talk over Christmas or coffee or lunch or possibly Christmas if you can get me out of Christmas. The person who most people go to in terms of the first codification of cultural property protection certainly in the West is this gentleman Francis Lieber who wrote General Order 100 for the Federal Forces in the American Civil War and article 35 in that identifying classical works of art, libraries, scientific elections, presset instruments as well as hospitals must be secured against all avoidable injury even when they're contained in a fortified place while being besieged or bombarded. The first codification for a Western armed force perhaps since the medieval period to make sure that we try and protect this stuff. I'm glossing through and jumping over all sorts of things but then came along a somewhat catastrophic event let's say the First World War. Unlike any previous war the unprecedented use of new legal technology just enabled massive destruction on a scale hitherto unforeseen or unrealised and an appalling impact on cultural property. However there are a few gems that you can pick out of the First World War not necessarily on the Western Front that lead to having some sense of hope. So in 1917 the British Empire's Egypt Expeditionary Force, wonderful title, commanded by Phil Marshall Allenby took, liberated, occupied, depending on which way you look at it, Jerusalem. Allenby, to make a point, walked into Jerusalem to show that he was not conquering but liberating Jerusalem, whether that PR exercise worked very much we simply don't know. However what we do know is that the next day Allenby made a declaration saying every sacred building, monument, holy spot, shrine, traditional site of the three league religions that he maintained and protected. Very clear, very precise the next day that this happened. Somebody on Allenby's staff however was thinking to the next stage and the next level because here you have an image in fact taken from the defunct Northumberland Gazette showing British soldiers protecting them and in this instance protecting a mosque in Jerusalem but the caption goes on to say, you probably can't read it, that the British troops deployed were actually not British troops but Muslim troops of the Indian army. So somebody on Allenby's staff was thinking about the fact that let's do this properly and let's have Christian troops protecting the Christian and Jewish sites but Muslim troops who we've got, they need something to do protecting the Islamic sites and as a result of that there was no damage done to any of those monuments during that Allied or British occupation. Then we go to the Second World War, we're going to hear much more about this later in the day so I'm not going to talk about it in any detail but just to flag the fact that the monuments men, if any of you have had the misfortune to see the awful film of George Clooney of that name, why did he save his worst film for his most important topic? But that area both created in the US and the UK for very different reasons but again too much detail to go into but you'll hear more of that. However in the Second World War the Supreme Allied Commander picked up on this and for a number of amphibious landings made the point in memos to the officers involved in those landings that inevitably in the advance were going to be things historic monuments and cultural centres which symbolised to the world what we are fighting to preserve. So there's a senior military voice understanding exactly what should be happening but then the next bit is a really important bit, it is the responsibility of every commander to protect and respect these symbols wherever possible. So in that sentence you've got two things, it is military responsibility but also wherever possible which introduces an interesting concept of military necessity. If this is the only way of achieving a military aid then we may be able to or we may have to blow something up that we don't necessarily want to but that again is an issue to detail to go into in any detail here. Immediately following the Second World War effectively all of those monuments made on both sides of the Atlantic and from Europe as well had been conscripted into the armed forces and as they would demobilise the last one out simplistically turned off the lights and closed the door behind them and there was very little relationship between the armed forces and heritage sector over the next 40, 50, 60 years and again extraordinarily simplistically that was because as the military became slightly more right wing the academia became extensively more left wing and never twain would talk. There was as the President has already said some limited work before the Yugoslavia and again time to gloss over that but I'm happy to discuss later but that idea that Eisenhower brought in in terms of responsibility was then encapsulated in three key bits of international humanitarian law legislation. You've heard already about the 54 convention and you'll hear more about that through the day. Also in the 1977 additional protocols to the Geneva Conventions protection of cultural property established as part of those conventions and then in 1998 the establishment of the Roman Statute which set up the international criminal court in the Hague. Interestingly the primary piece of legislation the Hague Convention has never been used in real activity to convict anybody or to push anything and one of the problems of the Hague Convention is it hasn't been implemented properly probably by any country or state party to the convention although there are notable exceptions to some good word that's gone on there. The most recent current prosecution for war crimes against cultural property is happening at the Hague in the moment under the Roman Statute and the most recent major conviction for destruction of cultural property was through the Roman Statute in the ICC about three years ago now when Mr. Almadi, who had been responsible for the destruction of Nile, Morsyria and the Mosque in Timbuktu was sentenced to nine years imprisonment specifically for that destruction. And there is also a current initiative from the UN Special Rapporteur for Cultural Rights to establish access to cultural heritage as an explicit cultural right. It's sort of mentioned off to the side in the 48 convention but not explicitly there. So there's a lot of legal responsibility around there. Very briefly the Hague Convention you've heard its title is two protocols the first one mainly about reparation of materials if they've been removed joint conflict and the second one about so called enhanced protection and the potential for criminal liability. All of that part of international humanitarian law or what those in uniform tend to refer to as the laws of armed conflict but also now legally speaking morthing into international customary law so even if a country hasn't ratified the convention formally itself under customary law it is expected to abide by the rules of that convention. Most of Hague, a lot of Hague is about what countries state parties should do before a conflict, produce lists of cultural property, if appropriate identify so there are three levels there is cultural property being protected under general, category of special protection and then the second protocol brings in this category of enhanced protection. To put in place emergency plans to either protect in situ or remove to these designate competent authorities if appropriate to mark with the blue shield and then the military obligations which you'll hear more about from Tim in a moment are all identified under article 7 of the convention. I don't want to dwell on Iraq but it's a good benchmark for where we were and where we've come from. So in Iraq in 2003, in fact in America in 2002 the Americans set up six so-called think tanks to plan for the invasion and post-sadam Iraq. One of those had a subcommittee on culture which never met. As a result, partly as a result of that, no coalition combat troops had any orders to protect any of the heritage buildings or organisations. They weren't even marked on combat maps. There was an extraordinary limited expertise within the coalition, much of which was still stateside because the coalition were planning for a six month, possibly chemical war and the Iraqi army essentially disappeared in front of their eyes and so there the Americans were within three weeks in Baghdad. And of course neither the US at the time nor the UK had ratified the convention or either of the protocols. So what went wrong? Well again, all of this is the content of more than another lecture but there weren't enough troops deployed. There was a complete utter failure on those planners to understand the possible post-conflict scenarios in Iraq. There was a failure to understand the importance of cultural heritage and historical relationships in Iraq between some of the coalition partners but probably most critically there had been a complete utter failure until a few months before the event of the heritage community to maintain a relationship with those in uniform. And we cannot complain if we do not have that liaison and build that relationship and develop that trust between the two sides if we want the military to take CPP seriously and I think we would all agree we do. And that's part of the result of our failure to integrate and to be involved and build that relationship. So if you go back to 1917 Alan would be saying everything is going to be protected and we'll look after this because they knew in 1917 the importance of religious and cultural science. Wide forward to 2006, no planning for culture, no planning for protection of sites and the second bombing of the Al-Aqshiri mosque in Samara, which you see the results of on the screen, is identified by most commentators as the tipping point from a population getting increasingly brassed off with the fact that the coalition was still there three years after the invasion and the toppling of Saddam into a full scale sectarian civil war which caused the coalition to have to stick around for most of the number six years. Six years worth of casualties, many fatalities and a losing essentially of the war, a disdain rising of the Middle East into the chaos that we see at the moment. I'm not saying that had all mosques and in particular such important mosques as the Al-Aqshiri mosque would have averted all of that but it would have been a nice thing to see if it might have done and it might well have contributed to some of that. So another question I am constantly asked is are historic objects as important today as people? And the answer to that is simple, absolutely not, of course. People first, every time nobody should be asked to put their life at risk protecting cultural property. And yet the German playwright not writing about any Islamic extremism but in fact writing about Christian extremism in Spain under the Inquisition where they burn books they will in the end burn people too. People first 100% but cultural heritage is about people, the two are completely indivisible. I want to talk briefly now about some of the work of the Blue Shield. Many of you will have heard of it, I hope, I won't embarrass people by asking if they heard of the Blue Shield or not but it's an NGO dedicated to the protection of heritage from conflicts and disasters. It comprises an international board and committee, the secretariat, as funded through the moment at the Castle University and is the emblem identified in the 54th Convention. But emblem there turned into a logo of bottom left. A very brief history just for some of you who may have heard of parts of this, the international committee of the Blue Shield was established in 1996 by the four primary heritage NGOs from museums, sites and buildings, libraries and archives. ICBS had the potential to have national committees. 2008 the association of national committees of the Blue Shield was created. Those two were simply amalgamated in 2016 to become the Blue Shield and they are no longer used. So if you are responsible for any website that still has ICBS or ANCBS on it, please remove them and just put links to the current websites of the Blue Shield. That's us. 25 registered committees at the moment. I think that may now be 26, I'm not sure. A number under construction, a number of others being planned and from 1996 not a bad coverage in the world but I'm not going to be happy until that whole map is blue and that is part of our agenda. The Blue Shield mission committed to the protection of the world's cultural property and is concerned with the protection of cultural and natural heritage, tangible and intangible in the event of armed conflict but also natural or human-made disaster. The reason that's expanded away from the very focused work of the 54 convention is that the first responders in most natural and human-made disasters are of course the military. So if you're training them to do one thing in armed conflict it is relatively simple to train them to do something similar in following natural disaster and armed conflict. So this is members of the Argentinian Blue Shield National Committee who have produced a series of 6 TV programmes about their work. Blue Shield, our primary context is 54 convention, as I've said, underpinned by UN of UNESCO and supported by something we call the Blue Shield approach. Here you've got Paul who you'll see later on doing some of that specific training for NATO. We identify as part of that approach four times when people like us need to interact with people in uniform. And again we haven't got time to go through this in a detailed but long term immediately pre-deployment that's proactive protection getting it right in the mindset before something happens. Getting it right immediately pre-deployment about a specific set of cultural property during conflict and post conflict stabilisation. We have identified six areas of activity that we want all national committees to prioritise themselves and work under. And you'll see and we haven't again got time to go through these but these areas of activity overlap and activity could be put in one or possibly another. That really doesn't matter. Part of the rationale behind this is to create a structured organisation that is immediately recognisable as the same organisation whether you are in Australia, Argentina or Iceland and that essentially becomes a fundable organisation. And there you've got training for UN peacekeepers in Lebanon. It's a responsibility. Eisenhower flagged out very clearly and others have done since. But it's also just simply good practice for the military. It's about the people. If military occupiers or during conflict unnecessarily kill civilians, unnecessarily force internal migration, displacement, etc. That is not good practice for the military point of view. They've got that one completely. It's a legal responsibility. They need to understand the political uses of cultural property during conflict. The fact that it might provide looting and pillage might provide funding for the opposition. If you destabilise a country's economy where much of that economy may be based on tourism, which may be and is frequently in the Middle East based on cultural tourism, you destabilise that country for a longer period. That brings in the economic value of CP and whether you actually protect cultural property as what the military call a force multiplier making their job, if not easier, not more difficult, or whether you allow the out-of-sharing mosque to be blown up without trying to protect it, thereby perhaps making their job significantly more difficult, those sorts of things. Of course, mission first, I understand that. It's taken me a long time to understand that, but I've got that message, but we need to work with the military to try and embed CPP as part of their mission delivery. We have identified not one the fact that it's war and it's things that are going to get blown up, collateral damage, as a risk to cultural property. But Blue Shield have identified eight different risks, all of which could be mitigated if you begin to work long term with those in uniform and also their political masters. And we have to work on that basis. Again, no time to go through that and you'll see Emma talking later on this afternoon. We've had some success to date. Both the US and UK national committees of the Blue Shield were heavily involved in pressurising their governments, respectively, to ratify the 54 convention. The US did that in 2009. Only the convention, neither of protocols. The UK did the full path in 2017, as we've heard earlier. One that I still see as a great success, others less so, is the publication of a book, Cultural Property Protection Makes Sense, by the Civilian Military Centre of Excellence based in the Netherlands affiliated to NATO. The reason I see that as a great success is you've got a 78-page booklet written by somebody in uniform for those in uniform as one of the first commitments that CPP is an important thing to deliver. It's not a brilliant document. It desperately needs updating and changing, not least because of other successes that we've had and that the military have had. And the centre in the Netherlands is in the process of redoing that. There's the merging of ICBS and ANCBS creating an effective, we hope, force in the future. There's a development of the approach and a lot of that, and the implementation of that, is Emma Cungliff's hard work working with the National Committees to try and bring that together. It's building the relationship with NATO. I first worked with NATO in 2009. We were sort of working on a very slow upward trajectory there. 2017, when Paul Fox was pointing, that slow upward trajectory just went vertical and Paul's work has been astonishing in building that relationship and proving to the armed forces in the alliance the value of CPP. In 2012 is the result of some work primarily done by the US National Committee identifying cultural property in Libya that we would prefer not to be destroyed if possible. The result of some protection, and in particular of one site, got NATO to creating their own internal inquiry. And that reported in December 2012 with its primary recommendation that NATO should have its own CPP doctrine. The creation that we'll hear much more about in a moment of the CPP unit in the UK, we'll hear from Colonel Tim. And the first training of that, mainly orchestrated by input from Paul Fox, led by Paul Fox, but obviously very closely connected with military training. So again, if I've been standing here, when I was standing here in 2009 and 13, almost none of that had been achieved. We are doing an awful lot, currently, to try and build on that and move forward. So we're working on NATO about the template for targeting information. You'll hear more about that from Emma later. With NATO, you'll hear again more about that from Paul. Building capacity of the National Committees, that's the Blue Shield approach, and we have a general assembly of the Blue Shield National Committees next November in the Czech Republic. Started developing, working for UN peacekeeping deployments, which is a similar basis, but a slightly different approach to the approach for armed conflict deployment. And we have trained twice now the Fijians who only deploy as UN peacekeepers, and about three weeks ago the Irish Defence Forces, again, who only deployed overseas as UN peacekeepers. We're going to be developing that with other peacekeeping organisations over the next 12 months or so. We're developing a working relationship with the humanitarian sector, predominantly based in Geneva, and we're on the back of that discussing MOUs with the International Committee of the Red Cross, the final version of which is going around back and forth, and I hope will be finalised next week, with NATO and UNESCO and with all or two other organisations. We are actively now looking for funding for a central office for Blue Shield International, and Newcastle University has committed to looking for funding for a university centre to research the whole breadth and scope of CPP. The future, along this, earlier I had on one of my slides, which I didn't prompt, that many people call the Blue Shield a cultural equivalent of the Red Cross. Well, yes, but not yet. But if we don't build the foundations now, it won't be in 50 or 100 years time. And what you've got on that screen is sort of my aspirational agenda for where we will get to, quite possibly not in my lifetime, but where we need to start now if we're going to get there in 50 or more years time. So an essential office, yes, I want that in the next couple of years, influencing politicians across the board, etc. An annual training programme, I would like to instigate that next year, continuing to support national committees, continuing the message with the military that it's not a distraction, a responsibility and an opportunity. I want all state parties to the Convention to have a National Committee of the Blue Shield. I want all UN countries to ratify the Convention. I want the integrated approach with those in uniform, and I want to be the cultural equivalent of the Red Cross. Absolutely, but as I say, that may take a little bit of time. I talked at the beginning and said people first in every instance, and nobody should put their lives on the line for that, for the protection of cultural property. And I still abide by that. We're not doing this alone. There are a plethora of other organisations involved. The niche, the difference with what we do and what most of these on here and others work for is that those organisations are essentially coming from a very heritage perspective. We are the one who is clearly accepting and agreeing and taking on that role of liaison with the military. Lots of work there, lots going on, and obviously lots going on around the Middle East, and I'd like to end just on a somewhat sobering thought and slide, which is now very sadly significantly out of date. But I say people first, nobody should risk their lives. Here are nine colleagues from the Syrian Director General of Antiquities who have actually made that final supreme sacrifice. Six killed by sniper fire, two by IED, one by torture and beheading. These are the guys who are living this work on a daily basis and in these instances giving their lives for it. It's lovely to have a meeting about this in the calm, refined environment in which we sit. It's a different thing when you're trying to do it on the ground during a conflict area. And all of the work that we're trying to do, all of the work at Blue Shield, is trying to support characters like this on the ground delivering it. Thank you very much for listening.


perhaps tell us about what is your a finance you know effectively is I know that complexes can also you know tap into it what exactly is this option that conferences in the states are able to find themselves so to be able to at least solve this problem in the event where they find themselves in it okay so Zama you know that idiom you pay I pay we grow so that's like the basic principle right the foundation upon which and of course the composition this evening is one that you're following social media I know you have already seen it because a lot of us get affected by it in the way we find ourselves living in the complex state looking at all you need to know about home earners association finance when I look at what it is what you need to watch out for before as a new age or a also there's a good corporate you approach different financiers going to be looking at how to also make sure you don't get yourselves to a position where you're insolvent and all the things that you need to know about what happens if you do find yourself in that position and who else to help us make sense of there's been some of the group deals with this very regularly just before we came on a was actually called somebody from one of the estate managers talking about this very thing and their services are not to be closed and they need to make sure that they negotiate with the municipality to make sure that that doesn't happen and that is it will probably because a real estate principal at properties and drug crime ever good evening and thank you so much good evening Zama and it's always a pleasure to be on this show thank you it's such a pleasure to have you with us it will I mean this this topic is is one that certainly been trending if we have to be honest in training because we saw when we started this COJ also then followed suit for closing different services with the big buildings right and and so many of us were like oh well you're not affected really but then they started going for the complexes they states we find that we're you know services weren't paid for for an extended period of time before we get to how we can avoid that what to do if we find ourselves in those positions perhaps tell us about what is your a finance you know effectively is I know that complexes can also you know tap into it what exactly is this option that companies in the states are able to find themselves certainly being able to at least solve this problem in the event where they find themselves in it okay so Zama you know that idiom you pay I pay we grow so that's like the basic principle right the foundation upon which community schemes and now for this topic home owners association finances actually all built around because at the end of the day we all living together and we've got a common interest we've got a common interest of making sure that our assets value grows now for us to be able to do that and to have some of the privileges that comes with living in a secure estate like security proper garden services we need to collect money together and to get this done and that's basically the principle that find or basically starts you guys collected money together to find their state I think that the big thing there becomes a we we've appointed a managing agent as the members of if it's a community of corporate members of the H8 you're paying your monthly levies but then for some other reason the money doesn't get to the municipality and I'm seeing an increasing number of these across different you know types of schemes and and I think it's it's it's quite the red flag because it's also you know demonstrating that it's either there is you know the directors or certainly that the trustees aren't doing their job or as far as they are concerned payments are being made but they've not been made and so the HLA or certainly the community scheme then runs itself in the raid so in the event where you're a member of the community scheme or you live in this particular state and you get the notice because they have been putting up notices you know in the various schemes what what can you do as a member because you're not a trustee and you're just thinking well I pay every month so you're up to date but then somehow these these seems to be issuing the system but the money is not getting to the municipality so so you know how how do we put this remember when you started earning your first bucks right the first thing that you got when you got maybe that 10 grand was here go buy sweets but don't spend it all well for me that was how it started my relationship with money it's the same thing within the estate the problem has been that unfortunately within the estate most of the time people have focused on the prestige of the estate more than the basic budgeting and the day-to-day living expenses so we are very quick to maybe put a big sign that you know when you're coming into the gate it's it speaks prominence it's great it adds value but it's repercussions if you cannot pay your basic see OJ slash a cruel any bills and your lights are off to what the vet what is the real value so bottom line proper budgeting is something that has been missing in in community schemes HOA specifically and the reason we have found is that the managing agents placed in these community schemes do not necessarily come from a finance background and oftentimes even when they claim to do your administrative in the financial side do not really understand the day-to-day running or the management of a value of around so that's where community schemes need to be starting from how do you budget properly how do you manage the money properly because if your budget is done properly and you make provision for eventualities you should not have your lights being turned off but now it's happened your estate is in a bad state and the lights are currently going off we found that the biggest thing I mean we we pride ourselves if you've listened to any of the shows we've been on we pride ourselves on picking up distress properties and actually managing them better it's like I breathe with excitement every single time I see a distressed community scheme because it says that you can put a footprint on getting things right so first things first phase the reality you don't have what you have it's okay now ours taught that when you don't have something the first way of starting off is going to wherever you owe and saying hey I'm sorry I owe you can we talk and be honest about it show your books right so there's a community scheme we just took over now in October and literally the managing agent there for 14 years and ran this estate into the ground and they could not even afford a hundred thousand per month whereas their basic expenses is 350 what did we do sit down with a crew lady and let a crew lady know you collect in a hundred thousand every single month and yet your expenses are 300 so therefore you make a commitment of 30% to come into them on a consistent basis with the view of adjusting as you're going along when you do that these people listen because now they are able to get a consistent inflow of income that's the first part then now that you have that you need to be honest and say as honest where can we really look at adjusting the actual levy bill and helping ourselves out and and then having that conversation and but then of course most of the time you also find that there's that somebody that's just basically never pays so we need to be honest about these people and say when you pay and I pay we grow so when I pay you don't pay we sink so therefore we need to really talk about you do you really need to love you and if you don't how do we ship you out and if you don't need to be shipped out how do we help you manage your finances better so it doesn't hurt the community as a whole I am in conversation this evening with a requirement is a real estate principle at properties.com looking at all you need to know about home earners association finance that's of course in the event that you find yourselves in that same situation as a woman's association where you do fall into financial trouble you want to look at what to avoid how to get out of it and of course how to budget properly and efficiently so that you don't have to get back into those troubling times and also want to find out from your at home if you've ever actually found yourself in a situation where your particular estate falls behind on its bills and you know whether that was an issue that ultimately got resolved and if so what did you do as the members because I think it's it's one thing where you are one of the members that is paying every month and you're always on top of your bills only to find that the people that you live in with are not doing the same all of course the other scenario is where the managing agent is not doing so and what I want us to look at the two scenarios but let's start with this is something that you mentioned that you might just find that somebody that lives in the same community or you know a state as you they're just certain people who don't pay it may be relatively easier to absorb this particular default when you're in a bigger state but we know that it's not a small alliance that is simply not possible the budget is so tight and when one person doesn't pay it is found what are the steps that can be taken for members who do not pay whether of course we're in a big you know community or a smaller one okay so so the first part is the managing agent if they weren't there so the first thing they would actually do is to engage this person on the personal level it starts off with that little message basically saying hey gents you've defaulted on this date and you need to catch up and following up with that phone call to say hey why did he not why did you not pay how can we help you resolve this issue if you started from there you able to really know what the problem is and when the person gives you stories I mean in the bank the first thing we ask for is your financial statement right so you need to ask for the bank statement sit down with the president look is he lying as he has lost his job if his losses job it's already indicating that he would never be able to pay going forward unless something drastically changes in their life so how do you then assist them to even sell the property if they must at proceeds you know sometimes we hold on and we think oh like we let you fall and because you have you were living in a grand estate and you had to move out no sometimes these things happen so you can actually reset your life and actually have more sometimes it's a smaller house that actually gives you that what do you call it that spring right to actually create better wealth so these things happen I think earlier on we're talking about school fees they happen so that you can learn how to we set yourself financially and move on from there so that's the first part and then of course it fails some people just don't listen to all these soft things and they just they just get entrenched in the law allows that basically if one doesn't pay their ladies that their their properties right can actually get attached that in the long run so if you follow the steps you make sure that they got the notices your you follow the articles of incorporation it said after 90 days for example that it that count needs to be handed over you handed it over you followed up with the lawyers you would be able to get it all the way to the must to the magistrate court and actually be able to do an attachment and once they had done it means that the property gets auctioned off and new people come in now there's the common view to say okay but wait are you not really creating or getting people to go backwards it all starts from the conversation letting people know the real consequences of the actions they make because if you get all the way to the point where your property gets attached it's not just the property that is getting attached it's your name that's getting attached because you're going to have a listing against your name having a listing against your name means that financially you actually fall out of this whole economic community that we are all in so you need to then at some point be able to lend yourself to reason so that you can be rehabilitated and I think that's such a great start important right that you especially right now we're living in the era of COVID where there are so many different circumstances that do have a financial effect and you know does impact your ability to make some of those payments and make them on time so starting it with the conversation in the event where somebody is in a race and in the event where they're not you know forthcoming and don't make the necessary arrangements then of course we do need to follow the necessary steps because the reality is you don't want somebody who isn't paying and also isn't being truthful about you know their inability to pay to ages enjoy the the services that everybody else is paying for but also I think this is probably the more alarming part to be jeopardizing those because the reality of a member not paying is that it does jeopardize everybody else and compromises your ability to be able to make certain payments but then we know that these the other side where the managing agent maybe the one that is at fault and I want us to address that one because in the slightly bigger you know communities or schemes you will find that yes there will be people who defaults but their collection rate is actually relatively high and even with the usual suspects who sometimes are maybe a month or two months late they still collected more than enough to even have you know put certain funds in the reserve fund but it's that the fault is with the with the managing agent how can we'll say unscrupulous or unprofessional or incompetent managing agents be dealt with I'm hearing so many stories of this and people are struggling to get their managing agents out and I think more than anything they don't know what the processes are they don't know what the law says and they sometimes just feel very disempowered because the managing agent has all this data doesn't want to hand over any files and doesn't essentially want to give up power sometimes even go to the extent of finding another managing agent that you actually want to take over your your estate but the one that is currently in power doesn't want to let go so how do they then at home deal with managing agents who are like that so I think it's part three of the search now title schemes management act the prescribed management rules right it speaks to finances within a community scheme and oftentimes I don't know but for some odd reason most managing agents I don't know whether they don't read or what but they hide behind like this new puppy thing that has come up and then everybody's hiding behind puppy you you sharing the financial information to the community members it's not disclosing anything about another person it is their right to know because the sectional title schemes management at the prescribed management rules does actually stipulate that you should have for each specific unit all their finances and when requested by the member in writing should be availed to them so the first part demand that they open the books if they don't write to me write to me I will deal with them for you you there's no managing agent that can hide behind puppy to not give you financial information when you're asking for it that's number one and now if you open the books you know sometimes financial and all financial statements are really great to read but reality most of us don't understand accounting we looking at assets non-current assets we don't really know what all these things mean but put a bank statement in front of anyone and one can see that's money in that's money out what's this money about so demand the raw data the managing agents are supposed to be keeping the bank statement in itself also as part of the books on a on a man-to-man basis as part of the general ledger so when you're asking for all these documents they're supposed to give it now when you're able to look through those if they be non-scrupulous you'll be able to pick it up now the section title schemes act right also speaks to the fact that the directors or in well it covers mainly the trustees but most of the time because the HOA's are being basically applying some of the sectional title schemes management rules most of those rules also then apply to them so if you looking at the directors and stuff the first thing is that they should be able to pass resolutions on core expenses I'm not talking about the day-to-day pay the gardener Tom that those are covered in contracts they they but if there's any contractual work that has been happening because that's actually where most of the money gets siphoned off it's Tom the Tom the director partnering up with Peter the managing agent and deciding to go and hire Tom's brother to come and do the garden which John would have charged 30,000 Rand but now because it's Tom's brother he charges 60 and then the 30,000 is being put off some way you need to ask them on what basis they have these contracts in place and and see if they cannot be reviewed as a first place and you find how much money you can save I mean on that's one estate that we took for example would that had 350,000 Rand worth of its cost but only collecting a hundred thousand these are some of the ways we've been able to shave off cost to the point that they are able to slowly now come to a point where they paying more on the outstanding's and getting better so rule number one open the books rule number two they can't hide open the books demanded demanded demanded rule number three once you've seen the books if everything is on point as owners come together decide how to negotiate negotiate negotiate and cut your bills down now if the managing agents is found wanting all managing agents are supposed to be covered by the another fidelity fund certificate of the now property practitioners act right so you need to of course report them people talk about managing agents and we get the question do you belong to Nama Nama is not by force you don't have to belong to it by force as per the act what you need to what everybody needs to belong to is the property practitioners regulatory authority that issues the fidelity fund certificates so request for that complaint against that and from there put in place measures to actually dismiss them because if I take one rent from you that is not mine I will take a hundred thousand rent from you very easily so do not compromise do not say oh shame they didn't know if they take what is not deers they need to go so get rid of them and move on find better managing agents who will basically take your funds into in as if it's their own and utilize it for your benefits without stealing from you and I think I want to echo what it was saying that reach out to to him especially in the event where the managing agent is giving you stories and I know that a lot of that happens I get to messages all the time that talk about the different stories that managing agents are giving people who live in different communities where they're struggling to get rid of their managing agents and that's something that we need to deal with effectively because you are able to put a managing agent on notice so if you have a one-year contract you are able to put them on notice just make sure that you understand the terms of their contract and you know follow of course you know what that content says and leave it where you want to change them well for myself I want to welcome Anna and the rest of the private property podcast team that's it from us this evening we'll be back on your screens tomorrow at 7 p.m. until then hoping you're staying home and staying safe