<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8058748219327537881</id><updated>2026-10-08T22:25:51.110-07:00</updated><category term="ComputerNetworks"/><category term="Data warehouse"/><category term="Effects of Congestion"/><category term="NOTES"/><title type='text'>shareengineer</title><subtitle type='html'>BE/ME/B.TECH/M.TECH ENGINEERING &amp;amp; LECTURER NOTES &amp;amp; QUESTION PAPERS,&#xa;GENERAL TOPICS,INTERVIEW QUESTIONS,APTITUDE PAPERS,MODEL PAPERS,PLACEMENT PAPERS,&#xa;EXAM RESULTS,ANNA UNIVERSITY REVALUATION RESULTS 2012 &amp;amp; MANY MORE....</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://shareengineer.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8058748219327537881/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://shareengineer.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/8058748219327537881/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/17002818406074312384</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>231</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8058748219327537881.post-7165594449221459233</id><published>2014-03-08T01:42:00.000-08:00</published><updated>2014-03-08T01:42:23.332-08:00</updated><title type='text'>GODS IN VEDA</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div class=&quot;column content_column content prepend-1&quot; style=&quot;background-color: #cafa94; float: left; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 20px; margin: 10px 10px 0px 0px; padding: 0px 0px 0px 40px; position: relative; top: -80px; width: 500px;&quot;&gt;
&lt;div class=&quot;main section&quot; id=&quot;main&quot; style=&quot;margin: 0px; padding: 0px;&quot;&gt;
&lt;div class=&quot;widget Blog&quot; id=&quot;Blog1&quot; style=&quot;margin: 0px; padding: 0px;&quot;&gt;
&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;
&lt;div class=&quot;post&quot; style=&quot;background-position: 0% 0%; margin: 0px; padding: 10px 20px;&quot;&gt;
&lt;h2 style=&quot;font-size: 1.2em; margin: 0px; padding: 0px;&quot;&gt;
&lt;a href=&quot;http://jesus-vedas.blogspot.in/2009/02/vedas-really-say-this.html&quot; rel=&quot;bookmark&quot; style=&quot;color: #336600; font-size: 1.5em; margin: 0px; padding: 0px; text-decoration: none;&quot; title=&quot;Permanent Link toVedas really say this...&quot;&gt;Vedas really say this...&lt;/a&gt;&lt;/h2&gt;
&lt;small style=&quot;margin: 0px; padding: 0px;&quot;&gt;4:37 PM&amp;nbsp;&lt;span class=&quot;edit&quot; style=&quot;background-image: url(http://img441.imageshack.us/img441/7583/editvu7.gif); background-repeat: no-repeat no-repeat; height: 10px; margin: 0px; padding: 0px; width: 10px;&quot;&gt;&lt;a href=&quot;http://www.blogger.com/post-edit.g?blogID=8893655445899538850&amp;amp;postID=8521531748086147791&amp;amp;from=pencil&quot; style=&quot;color: #336600; margin: 0px; padding: 0px 0px 0px 15px; text-decoration: none;&quot; title=&quot;Edit Post&quot;&gt;Edit This&amp;nbsp;&lt;/a&gt;&lt;/span&gt;&lt;span class=&quot;comment&quot; style=&quot;height: 10px; margin: 0px; padding: 0px; width: 10px;&quot;&gt;&lt;a class=&quot;comment-link&quot; href=&quot;http://jesus-vedas.blogspot.in/2009/02/vedas-really-say-this.html#comment-form&quot; style=&quot;background-image: url(http://img212.imageshack.us/img212/9411/commentfc3.gif); background-repeat: no-repeat no-repeat; color: #336600; margin: 0px; padding: 0px 0px 0px 15px; text-decoration: none; white-space: nowrap;&quot;&gt;2 Comments »&lt;/a&gt;&lt;/span&gt;&lt;/small&gt;&lt;div class=&quot;entry&quot; style=&quot;margin: 15px 0px 0px; padding: 0px;&quot;&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;Now this is what really amazed me. &lt;span style=&quot;color: red; margin: 0px; padding: 0px;&quot;&gt;Vedas&lt;/span&gt;, which belongs to the history of the Hindus,&amp;nbsp;&lt;span style=&quot;color: red; margin: 0px; padding: 0px;&quot;&gt;really speaks directly about Jesus being the only Lord and Savior of this world&lt;/span&gt;. It also gives all the signs and wonders accompanying the Messiah of this World, Jesus. Just read on.&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 12pt 0in 0.0001pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;&lt;span style=&quot;font-size: 26.66666603088379px; margin: 0px; padding: 0px;&quot;&gt;&lt;b style=&quot;margin: 0px; padding: 0px;&quot;&gt;BACK TO VEDAS&lt;/b&gt;&lt;/span&gt;&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;All true seekers of God will desire for truth and welcome truth that leads them to the Living, Loving, Almighty and the All-powerful Creator. It is not just about religions, or sects, or faiths, nor is it a mere collection of some facts, but it is the driving force behind all sincere seekers to the ultimate hope of experiencing God.&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;It is in this pursuit that men for ages have been looking towards nature, ancestors, heroes and even to unknown spirits for help. In the course of time, they had started worshiping them as well. It is this longing that resulted in the birth of Vedas.&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;&lt;b style=&quot;margin: 0px; padding: 0px;&quot;&gt;VEDAS:&lt;/b&gt;&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;Veda means, sacred scriptural knowledge. This knowledge was obtained through dedication, devotion and meditation, by several hundred Sages for years.&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;These scriptures are divided into two parts. One in Shruti (which is revealed) and the other one is Smruti (which is believed). Shruti contains Vedas (which gives light or knowledge); Smruti contains Ithihasas (parables like Maha Bharat, Ramayana and Bhagavat Gita) and Puranas. These Ithihasas and Puranas were written at latter date to explain the morals of these Vedas.&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;There are few classes of Vedas. The first one is called the Samhitaas or Mantras, the second one is Aagamas (Commandments), the third one is Bhramanas (this contains the meanings for Samhitaas) and the fourth one is the Aranyakas and Upanishads (which contains philosophies and meditations).&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;Again the Samhitaas are of four different types. The first one is the Rig Veda Samhitaa (which is a collection of Hymns). The second one is the Yazur Veda Samhitaa (a collection of sacrificial formulas). The third one is Sama Veda Samhitaa (again a collection of songs). The fourth one is the Atharva Veda Samhitaa (a collection of spells and charms).&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;&lt;b style=&quot;margin: 0px; padding: 0px;&quot;&gt;GODS IN VEDA:&lt;/b&gt;&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;Vedas begin with the worship of gods of nature, namely;&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;The terrestrial gods- Prithvi (earth), Agni (fire), Bruhaspati and Soma (plants).&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;The atmospheric gods- Indra, Rudra, Maruts, Vayu and Parjanya (storm, thunder and rain).&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;The celestial gods- Dyaus (heaven), Varuna, Ushas &amp;amp; Asvins (twilight morning stars) and Surya, Mitra, Savitri, Ka, Vishnu (all associated with the sun).&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;As we have already seen, these gods were the result of man’s search for the truth, which finally culminated in Prajapati the Creator. The 10&lt;sup style=&quot;margin: 0px; padding: 0px;&quot;&gt;th&lt;/sup&gt;&amp;nbsp;mandala of Rig Veda chapter 121 verse 10 says, Prajapati Lord of life, Lord of Creatures and Lord of Creations. This understanding of the Creator, made man to cry to Him, as it is written in Bhruhat Aranyaka Upanishad (1.3.28) saying,&amp;nbsp;&lt;b style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;i style=&quot;margin: 0px; padding: 0px;&quot;&gt;Asatoma sat gamaya, Tamasoma Jyotir gamaya, Mruthyoma amrutham gamaya&lt;/i&gt;&lt;/b&gt;, which means, from untruth lead me to truth, from darkness lead me to light, from death lead me to eternal life.&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;After having reached this stage of knowing the truth, the next step is obviously to follow the truth, which will ultimately help mankind to attain mukti. It is at this stage, that man comes across the major hurdle, which is very well described in Prartha Snana Mantra,&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;&lt;b style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;i style=&quot;margin: 0px; padding: 0px;&quot;&gt;Papokam, papa kanmokam, papathma papa samphava; thrahimam Pundarikaksha sarva papa hari hare…&lt;/i&gt;&lt;/b&gt;&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;Which means, I am born in sin, doer of sin, and a sinful self; I am the worst of all sinners, Lord save me from all my sins. Why sin is a hurdle? Because, it is an offense against God (Rig Veda 7.86.3). Sin has many names in Sanskrit Scriptures namely&amp;nbsp;&lt;b style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;i style=&quot;margin: 0px; padding: 0px;&quot;&gt;pap&lt;/i&gt;&lt;/b&gt;&amp;nbsp;(sin),&lt;b style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;i style=&quot;margin: 0px; padding: 0px;&quot;&gt;&amp;nbsp;aagg&lt;/i&gt;&lt;/b&gt;&amp;nbsp;(fire),&lt;b style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;i style=&quot;margin: 0px; padding: 0px;&quot;&gt;&amp;nbsp;dushkrit&lt;/i&gt;&lt;/b&gt;&amp;nbsp;(evil deeds),&amp;nbsp;&lt;b style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;i style=&quot;margin: 0px; padding: 0px;&quot;&gt;thamas&lt;/i&gt;&lt;/b&gt;(darkness),&lt;b style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;i style=&quot;margin: 0px; padding: 0px;&quot;&gt;&amp;nbsp;prakrit&lt;/i&gt;&lt;/b&gt;&amp;nbsp;(inborn nature),&lt;b style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;i style=&quot;margin: 0px; padding: 0px;&quot;&gt;&amp;nbsp;asathya&lt;/i&gt;&lt;/b&gt;&amp;nbsp;(untruth) etc.&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;Dr. S. Radhakrishnan says, we have sin with us from the beginning of history. The Bruhad Aranyaka Upanishad says, that the&amp;nbsp;&lt;b style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;i style=&quot;margin: 0px; padding: 0px;&quot;&gt;Jeeva&lt;/i&gt;&lt;/b&gt;&amp;nbsp;(soul) acquires evil, right at birth (4.3.8).&amp;nbsp;&lt;b style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;i style=&quot;margin: 0px; padding: 0px;&quot;&gt;Rog Sog Dhuk Paritab Bhandan Vyasnanicha, Aatma aparatha Vrukshanam phalarh edhani dehinam,&lt;/i&gt;&lt;/b&gt;&amp;nbsp;is a common saying which means, “what are the fruits of this sinful tree which is our body? Sickness, sorrow, pain, bondage and many other kinds of sins”. No man is free from this bondage of sin.&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;&lt;b style=&quot;margin: 0px; padding: 0px;&quot;&gt;HOW TO GET RID OF THIS BONDAGE:&lt;/b&gt;&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;Man out of his own wisdom and knowledge, invented many ways such as&lt;b style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;i style=&quot;margin: 0px; padding: 0px;&quot;&gt;Karma marga&lt;/i&gt;&lt;/b&gt;&amp;nbsp;(way of works),&amp;nbsp;&lt;b style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;i style=&quot;margin: 0px; padding: 0px;&quot;&gt;Gnana marga&lt;/i&gt;&lt;/b&gt;&amp;nbsp;(way of knowledge),&amp;nbsp;&lt;b style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;i style=&quot;margin: 0px; padding: 0px;&quot;&gt;Yoga marga&lt;/i&gt;&lt;/b&gt;&amp;nbsp;(way of concentrating mind) and&amp;nbsp;&lt;b style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;i style=&quot;margin: 0px; padding: 0px;&quot;&gt;Bhakti marga&lt;/i&gt;&lt;/b&gt;&amp;nbsp;(way of devotion), to get rid of this bondage of sin.&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;The word Karma means several things. (a) It may mean the deed or deeds of the individual human being. These deeds are (i)&amp;nbsp;&lt;b style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;i style=&quot;margin: 0px; padding: 0px;&quot;&gt;Satvik&lt;/i&gt;&lt;/b&gt;- virtuous, (ii)&amp;nbsp;&lt;b style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;i style=&quot;margin: 0px; padding: 0px;&quot;&gt;Rajasik&lt;/i&gt;&lt;/b&gt;- pride, (iii)&amp;nbsp;&lt;b style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;i style=&quot;margin: 0px; padding: 0px;&quot;&gt;Tamasik&lt;/i&gt;&lt;/b&gt;- evil. These three are known&amp;nbsp;&lt;b style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;i style=&quot;margin: 0px; padding: 0px;&quot;&gt;Triguna&lt;/i&gt;&lt;/b&gt;&amp;nbsp;or triple nature. (b) It may mean the Cycle of karma,&amp;nbsp;&lt;b style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;i style=&quot;margin: 0px; padding: 0px;&quot;&gt;karma samsara&lt;/i&gt;&lt;/b&gt;&amp;nbsp;or&amp;nbsp;&lt;b style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;i style=&quot;margin: 0px; padding: 0px;&quot;&gt;karma chakra&lt;/i&gt;&lt;/b&gt;. (c) It may also mean&amp;nbsp;&lt;b style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;i style=&quot;margin: 0px; padding: 0px;&quot;&gt;karma yoga&lt;/i&gt;&lt;/b&gt;&amp;nbsp;or&amp;nbsp;&lt;b style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;i style=&quot;margin: 0px; padding: 0px;&quot;&gt;nishkarma&lt;/i&gt;&lt;/b&gt;, or a deed or deeds done without any desire for reward.&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;An individual’s karma can be classified as follows:&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;&lt;b style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;i style=&quot;margin: 0px; padding: 0px;&quot;&gt;Sanchit karma&lt;/i&gt;&lt;/b&gt;- the accumulated deeds of all previous births, which gets attached to the soul automatically at the time of each birth, in the rebirth cycle.&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;&lt;b style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;i style=&quot;margin: 0px; padding: 0px;&quot;&gt;Kriymana karma&lt;/i&gt;&lt;/b&gt;- good or bad deeds that the soul may further accumulate.&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;&lt;b style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;i style=&quot;margin: 0px; padding: 0px;&quot;&gt;Prarabdha karma&lt;/i&gt;&lt;/b&gt;- deeds which decides the destiny of the soul.&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;The main purpose of this rebirth cycle is, that the soul in each birth may reap the good or bad of all its karma of the past and present.&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;As per this doctrine, no one can ever know about his or her accumulated deeds, thereby not having any opportunity to correct his or her past, resulting in a hopeless uncertainty. In other words, karma is being stamped on the forehead of every human being, and the destiny of the soul is ceaselessly determined without the control of the individual. This has made Shri Shankaracharya to say in Bajagovindam,&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;&lt;b style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;i style=&quot;margin: 0px; padding: 0px;&quot;&gt;Punarapi janana punarapi marana; Punarapi janani jadarey sayana;&lt;/i&gt;&lt;/b&gt;&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;&lt;b style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;i style=&quot;margin: 0px; padding: 0px;&quot;&gt;Ih sansarey wah dustarey; Krupya parey pahi muararey,&lt;/i&gt;&lt;/b&gt;&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;which means, repeated birth, repeated death, and repeated lying in mother’s womb, is a difficult process to go through. Oh destroyer of death, save me by your grace.&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;&lt;b style=&quot;margin: 0px; padding: 0px;&quot;&gt;MUKTI (Deliverance from sin) IS NOT BY KARMA OR DHARMA:&lt;/b&gt;&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;According to Bhagavat Gita, God does not accept karma either good or bad, as far as redemption of the soul is concerned (B.G 2.50). Viveka Chudamani verse 147 says that, “neither weapons, nor wind, nor fire, nor millions of deeds can remove this bondage. Only the wonderful sword of knowledge that comes out of discrimination sharpened by the grace of God can destroy it”. Again verse 6 says;&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;&lt;b style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;i style=&quot;margin: 0px; padding: 0px;&quot;&gt;Vadhanthu shastrani yadhanthu devane, Kurvanthu karmanibajanthu devata,&lt;/i&gt;&lt;/b&gt;&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;&lt;b style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;i style=&quot;margin: 0px; padding: 0px;&quot;&gt;Aatmaikayodena vinabpi mukitha, na chityathi bhramma shathanthrashpi.&lt;/i&gt;&lt;/b&gt;&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;Let them quote scriptures and sacrifice to gods; let them observe rituals and worship devatas (gods); but there is no liberation at all; no, not even in a hundred lifespans of Brahma put together, until the identity of one’s self with the Divine Self is realized.&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;&lt;b style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;i style=&quot;margin: 0px; padding: 0px;&quot;&gt;Naham vedair na danena na ejyaya&lt;/i&gt;&lt;/b&gt;&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;&lt;b style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;i style=&quot;margin: 0px; padding: 0px;&quot;&gt;sakya evamvidho drstavan asi mam yatha (Gita 11:53),&lt;/i&gt;&lt;/b&gt;&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;which means, neither by Vedic study, nor by austerities, nor by charities, nor by sacrifices can one behold Me. Nor by any works that you have done.&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;Regarding the rebirth cycle the Poet Shiva Vakkiar says; Once milked, the same milk cannot enter into the breast. Once the butter is taken out of the milk, the same butter cannot mix with the same milk. Neither the flower that falls, can become a flower again. Then how can a man or woman be born in this world several times?&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;Regarding Gnana marga, the Vedas and Upanishads say, that we have to know the Purusha (for He is the knowledge) who has sacrificed His life for mankind.&lt;b style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;i style=&quot;margin: 0px; padding: 0px;&quot;&gt;Gurureva paraa vidya&lt;/i&gt;&lt;/b&gt;&amp;nbsp;(God himself is the knowledge) is a good verse to know.&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;Regarding the Yoga marga or concentration of the mind, there is only one answer in the Vedas and Upanishads as to whom we should concentrate on. It is Purusha the Almighty again. Mind concentration contains three important steps.&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;&lt;b style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;i style=&quot;margin: 0px; padding: 0px;&quot;&gt;Shravana&lt;/i&gt;&lt;/b&gt;&amp;nbsp;(Hearing about God from the Guru),&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;&lt;b style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;i style=&quot;margin: 0px; padding: 0px;&quot;&gt;Manana&lt;/i&gt;&lt;/b&gt;&amp;nbsp;(Keep on thinking about what we have heard),&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;&lt;b style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;i style=&quot;margin: 0px; padding: 0px;&quot;&gt;Nididhyaasana&lt;/i&gt;&lt;/b&gt;&amp;nbsp;(profound and repeated meditation on the word of God and dwelling in Him).&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;Yoga simply means, “to unite with”. Whom to unite with should be obvious. It is the Supreme Lord or Purusha. Shankara the ancient sage admitted that union with God is attained by the grace of God (Viveka Chudamani 3). Also verse 56 says,&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;&lt;b style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;i style=&quot;margin: 0px; padding: 0px;&quot;&gt;Na yogena na sankhyena karmanano na vidhya&lt;/i&gt;&lt;/b&gt;&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;&lt;b style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;i style=&quot;margin: 0px; padding: 0px;&quot;&gt;Bhrahmathmaikkathva bodhena moksha; sidhyathey nanyatha,&lt;/i&gt;&lt;/b&gt;&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;which means, neither by yoga, nor by knowing self, nor by karma, nor by learning, but by the realization of one’s own identity with God, is liberation possible.&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;Bhakti marga (way of devotion) according to scholars means spiritual love. The only God whom we can love is Purusha. If we can concentrate on this Purusha, then we will find Him and love Him as well. The Rig Veda says, “whom shall we worship other than Prajapati (Purusha)”. Svetasvataara Upanishad (3.8) says, “By knowing Purusha, death is transcended. There is no other way”.&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;&lt;b style=&quot;margin: 0px; padding: 0px;&quot;&gt;ATONEMENT FOR SINS:&lt;/b&gt;&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;Thertiriya Aranyaka verse 3 says,&amp;nbsp;&lt;b style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;i style=&quot;margin: 0px; padding: 0px;&quot;&gt;“Sarvapapa pariharo raktha prokshna mavasyam”&lt;/i&gt;&lt;/b&gt;&amp;nbsp;which means, that the redemption is through shedding of blood only. For this purpose God allowed mankind to sacrifice animals, in order to make them realize that there is a penalty for everyone’s sins. Though the animal’s blood is not a substitute, it was expected that man would repent and turn away from his sinful ways, by seeing the blood of the animal which is being shed on his behalf. But mankind started practicing it just as a ritual, and thus came into condemnation.&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;If mankind were to be saved from this predicament, as Thertiriya Aranyaka 3&lt;sup style=&quot;margin: 0px; padding: 0px;&quot;&gt;rd&lt;/sup&gt;&amp;nbsp;verse says again,&amp;nbsp;&lt;b style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;i style=&quot;margin: 0px; padding: 0px;&quot;&gt;“…thad raktham Paranatmena punyadena baliyagam”&lt;/i&gt;&lt;/b&gt;&amp;nbsp;which means, that blood has to be through the sacrifice of God himself. The Purusha Sukta says, there is no other way other than the sacrifice of Purusha Prajapati.&amp;nbsp;&lt;b style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;i style=&quot;margin: 0px; padding: 0px;&quot;&gt;Purushao vava yagna&lt;/i&gt;&lt;/b&gt;&amp;nbsp;(Chandokya Upanishad 3.16.1), God, the Purusha is the sacrifice. Sama Veda Dandiya Mahabhramanam says,&lt;b style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;i style=&quot;margin: 0px; padding: 0px;&quot;&gt;“Prajapathi devapyam aathmanam yagnam kruthva prayachita”&lt;/i&gt;&lt;/b&gt;&amp;nbsp;which means, God will offer himself as a sacrifice for the redemption of mankind. Sathpatha Bhramanam says,&amp;nbsp;&lt;b style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;i style=&quot;margin: 0px; padding: 0px;&quot;&gt;“Prajapathi yagnayaga”&lt;/i&gt;&lt;/b&gt;.&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;&lt;b style=&quot;margin: 0px; padding: 0px;&quot;&gt;VEDIC REQUIREMENTS FOR THE SACRIFICIAL PURUSHA:&lt;/b&gt;&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;The Rig Veda specifies ten important requirements for the sacrificial Purusha.&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;SHOULD BE WITHOUT A BLEMISH (NISHKALANGA PURUSHA):&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;Kaatyaayana Srautasootram describes in chapter six, that water and fire were to be used for the purification of the animals, since blameless (defectless) animals are not available in this world.&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;THE PURUSHA HAS TO BE SEPARATED FROM OTHERS:&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;While sacrificing the horse, the sacrificial horse is always separated from other horses. A bush of thorns is usually placed on the head of the horse to inform the people that this horse is separated for the sacrifice. Also the head of the horse is considered to represent the Purusha (Sathapatha Brahmana 13&lt;sup style=&quot;margin: 0px; padding: 0px;&quot;&gt;th&lt;/sup&gt;kanda, 6.2.2).&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;THE PURUSHA HAS TO BE REJECTED BY HIS OWN PEOPLE:&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;In Itareya Brahmana it is written that the sacrificial animal should be rejected by its father, mother, brother, sister and friends (2.16).&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;THE YAGNA PURUSHA HAS TO SUFFER SILENTLY:&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;Rig Veda 5.46.1 says, “Like a horse I have yoked myself, well knowing to the pole. I seek neither release nor turning back”.&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;THE PURUSHA HAS TO BE TIED TO A POST:&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;In Satapata Brahmana it is written, never do they immolate an animal without tying it to a pole.&amp;nbsp;&lt;b style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;i style=&quot;margin: 0px; padding: 0px;&quot;&gt;“Na varute yapaat pasum alabhate kadachana&lt;/i&gt;&lt;/b&gt;&amp;nbsp;(III-7.3.1)”. It is important to tie the animal to a sacrificial pillar before it is sacrificed. This pillar is called “Yupastampa (sacrificial pillar)”, which has now become a flag mast.&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;THE BLOOD OF THE SACRIFICIAL MAN SHOULD BE SHED:&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;Bruhat Aranyaka Upanishad (3.9.28.2) says,&amp;nbsp;&lt;b style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;i style=&quot;margin: 0px; padding: 0px;&quot;&gt;“Tvacha evasya rudhiram, prasyandi tvacha utpatah, Tasmaattadarunnaat praiti, raso vrukshadi vahataat”&lt;/i&gt;&lt;/b&gt;. As the sap comes of the cut tree, blood comes out of the Purusha who is cut.&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;THE SACRIFICED ANIMAL’S BONES SHOULD NOT BE BROKEN:&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;In Itareya Brahmana 2.6 it is stated that the sacrifice separates the twenty-six ribs of the animal without breaking them.&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;THE SACRIFICED PURUSHA SHOULD RETURN TO LIFE:&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;The Bruhat Aranyaka Upanishad says,&amp;nbsp;&lt;b style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;i style=&quot;margin: 0px; padding: 0px;&quot;&gt;“Yad Vruksho vrukshano rohati, mulannavatharah punah, martyah svinmrutyuna vruknah, kasmaanmulaat prarohati, Retasa iti maavocata, jivatastat praja yate, dhanaruh a iva val crau vruksho, anjasaa pretya sammbhava”&lt;/i&gt;&lt;/b&gt;, which means, if the tree is cut, it will grow again from its root. But after the man (martyah) was cut off by death, from which root does he come forth? Do not say that he is from the ratas (seed or semen) because ratas comes from the one who lives. Remember this man is dead. But this man (Purusha) comes alive on his own.&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;THE FLESH OF THE PURUSHA SHOULD BE EATEN BY HIS SAINTS:&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;In Satapata Brahmana (5.1.1.1,2) we find that Prajapati gave Himself up to them, thus the sacrifice became theirs, and indeed the sacrifice is the food of the gods (saints).&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;THE SACRIFICE IS FOR ALL:&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;Verse 8 in Purusha Sukta explains,&amp;nbsp;&lt;b style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;i style=&quot;margin: 0px; padding: 0px;&quot;&gt;Tasmaad yagnatsarvahutah, pasuntamscakre voayaryaa, naananyaan gramyaasca ye&lt;/i&gt;&lt;/b&gt;. By that sacrifice, all these originated: sprinkled ghee and all kinds of animals of the sky, forest and country. The significance of sprinkled ghee represents the original sacrifice.&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;Verse 9 of Purusha Sukta says:&amp;nbsp;&lt;b style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;i style=&quot;margin: 0px; padding: 0px;&quot;&gt;Tasmaad yagnat sarvahuta, nucha samaari jagnire, Chandaamsi jagnine, tasmaad yajustas naada jaayatah&lt;/i&gt;&lt;/b&gt;. From that sacrifice, Purusha offered everything that he had, including the Rig, Sama, Yazur Vedas and the Chandas (sacred writings).&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;&lt;b style=&quot;margin: 0px; padding: 0px;&quot;&gt;HOW METICULOUSLY THESE VEDIC REQUIREMENTS HAVE BEEN FULFILLED IN JESUS CHRIST OF NAZARETH:&lt;/b&gt;&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;JESUS CHRIST WAS WITHOUT ANY BLEMISH:&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;In the Bible it is written, “Do not bring anything with a defect, because it will not be accepted on your behalf” (Leviticus 22:20). “Whether male or female, present before the Lord an animal without defect” (Leviticus 3:1). “In Him (Jesus Christ) there was no sin” (1 John 3:5).&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;JESUS CHRIST WAS SEPARATED FROM OTHERS:&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;The Bible says, “the soldiers platted a crown of thorns, and put it on his head, and they put on him a purple robe” John 19:2, thus separating Him from others.&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;JESUS CHRIST WAS REJECTED BY HIS OWN PEOPLE:&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;The Prophet Isaiah wrote, “He (Jesus Christ) was despised and rejected and they shouted to crucify him”. Jesus said on the cross, “Eloi, Eloi, lama sabachthani”, which means, “My God, My God, why have you forsaken me?” (Matthew 27:46).&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;JESUS CHRIST SUFFERED SILENTLY:&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;“He was oppressed and afflicted, yet He did not open his mouth. He was led like a lamb to the slaughter and as a sheep before the shearers is silent” (Isaiah 53:7).&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;JESUS CHRIST WAS TIED:&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;Psalms 118:27 says, “bind the sacrifice with cords, even unto the horns of the altar”.&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;JESUS CHRIST’S BLOOD WAS SHED:&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;This was fulfilled in Jesus Christ when he was nailed to the cross. “He did not enter by means of the blood of goats and calves; but entered the most holy place once for all by His own blood, having obtained eternal redemption. Without shedding of blood there is no redemption” (Hebrews 9:12,22).&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;JESUS CHRIST’S BONES WERE NOT BROKEN:&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;In the Bible, Exodus 12:46 says that the bones of the animal should not be broken. Nine hours after crucifixion, “when they (soldiers) came to Jesus, and saw that he was dead already, they broke not his legs” (John 19:33).&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;JESUS CHRIST ROSE AGAIN FROM THE DEAD:&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;“Him (Jesus Christ) God raised up the third day, and showed him openly” (Acts 10:40). “But now is Christ risen from the dead, and become the firstfruits of them that slept” (1 Corinthians 15:20).&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;JESUS CHRIST GAVE HIS BODY TO BE EATEN:&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;At the last supper Jesus took the bread, gave thanks and gave it to his disciples saying, “Take and eat; this is my body. Then He took the cup, gave thanks, and offered it to them, saying, Drink from it, all of you. This is my blood of the new covenant, which is shed for many, for the forgiveness of sins” (Matthew 26:26,27).&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;JESUS CHRIST WAS GIVEN TO ALL:&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;“He who did not spare His own son, but gave him up for us all, how will he not also, along with him graciously give us all things?” (Romans 8:32).&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;&lt;b style=&quot;margin: 0px; padding: 0px;&quot;&gt;GOD’S PLAN FOR MOKSHA (ETERNAL LIFE):&lt;/b&gt;&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;For all have sinned, and come short of the glory of God. Romans 3:23.&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;All we like sheep have gone astray; we have turned everyone to his own way; and the LORD has laid on him the iniquity of us all. Isaiah 53:6.&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;For the wages of sin is death; but the gift of God is eternal life through Jesus Christ our Lord. Romans 6:23.&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;And according to the law almost all things are purged with the blood, and without shedding of blood there is no remission. Hebrews 9:22.&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;But God commended his love toward us, in that, while we were yet sinners, Christ died for us. Romans 5:8.&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;For He has made him to be sin for us, who knew no sin; that we might be made the righteousness of God in him. 2 Corinthians 5:21.&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;The blood of Jesus Christ, His Son cleanses us from all sin. 1 John 1:7.&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;For God so loved the world that He gave His only begotten son, that whosoever believes in him should not perish, but have everlasting life. John 3:16.&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;Herein is love, not that we loved God, but that he loved us, and sent His Son to be the propitiation for our sins. 1 John 4:10.&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;That if you shall confess with your mouth the Lord Jesus, and shall believe in your heart that God has raised him from the dead, you will be saved. Romans 10:9.&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;Or do you underestimate His wealth of kindness and tolerance and enduring patience, unmindful that God’s kindness is meant to lead you toward repentance?. But in line with your obstinacy and impenitence of heart you are treasuring up for yourself anger for the day of anger and the revealing of the righteous judgment of God, who will reward each person according to his deeds. Romans 2:4-6.&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;For there is no partiality with God. Romans 2:11.&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;Neither is there salvation in any other: for there is none other name under heaven given among men, whereby we must be saved. Acts 4:12.&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;So today if you hear His voice, harden not your heart, but come boldly unto the throne of grace, that you may obtain mercy, pardon and&amp;nbsp;&lt;b style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;i style=&quot;margin: 0px; padding: 0px;&quot;&gt;ETERNAL LIFE (MOKSHA)&lt;/i&gt;&lt;/b&gt;.&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;Come unto Me, all ye that labor and are heavy laden, and I will give you rest. Matthew 11:28.&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;Behold, I stand at the door, and knock; if any man hear my voice, and open the door, I will come in to him, and will sup with him, and he with Me. Revelation 3:20.&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;I am the way, the truth and life; no one comes to the Father except through Me. John 14:6.&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;Verily, verily, I say unto you, he that hears My word, and believes in Him that sent Me, has everlasting life, and shall not come into condemnation; but is passed from death unto life. John 5:24.&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;For what shall it profit a man, if he shall gain the whole world, and lose his own soul? Mark 8:36.&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;&lt;b style=&quot;margin: 0px; padding: 0px;&quot;&gt;SAHASRANAMAVALI ACKNOWLEDGES JESUS CHRIST:&lt;/b&gt;&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;&lt;b style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;i style=&quot;margin: 0px; padding: 0px;&quot;&gt;Ohm Shri Brahmaputraya namaha:&amp;nbsp;&lt;/i&gt;&lt;/b&gt;Oh Lord, The Son of God, we praise you.&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;&lt;b style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;i style=&quot;margin: 0px; padding: 0px;&quot;&gt;Ohm Shri Umathyaya namaha:&amp;nbsp;&lt;/i&gt;&lt;/b&gt;Oh Lord who is born of the Spirit, we praise you.&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;&lt;b style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;i style=&quot;margin: 0px; padding: 0px;&quot;&gt;Ohm Shri kanni sudhaya namaha:&lt;/i&gt;&lt;/b&gt;&amp;nbsp;Oh Lord who is born of a virgin, we praise you.&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;&lt;b style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;i style=&quot;margin: 0px; padding: 0px;&quot;&gt;Ohm Shri tharithra narayanaya namaha:&lt;/i&gt;&lt;/b&gt;&amp;nbsp;Oh Lord who became poor for our sake, we praise you.&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;&lt;b style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;i style=&quot;margin: 0px; padding: 0px;&quot;&gt;Ohm Shri vidhiristaya namaha:&amp;nbsp;&lt;/i&gt;&lt;/b&gt;Oh Lord who is circumcised, we praise you.&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;&lt;b style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;i style=&quot;margin: 0px; padding: 0px;&quot;&gt;Ohm Shri panchagayaya namaha:&lt;/i&gt;&lt;/b&gt;&amp;nbsp;Oh Lord who bore five wounds on your body, we praise you.&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;&lt;b style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;i style=&quot;margin: 0px; padding: 0px;&quot;&gt;Ohm Shri vruksha shul aruthaya namaha:&lt;/i&gt;&lt;/b&gt;&amp;nbsp;Oh Lord who offered yourself as a sacrifice on a trishool like tree (three headed spear), we praise you.&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;&lt;b style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;i style=&quot;margin: 0px; padding: 0px;&quot;&gt;Ohm Shri mruthyam jaya namaha:&lt;/i&gt;&lt;/b&gt;&amp;nbsp;Oh Lord who got victory over death, we praise you.&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;&lt;b style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;i style=&quot;margin: 0px; padding: 0px;&quot;&gt;Ohm Shri shibilistaya namaha:&lt;/i&gt;&lt;/b&gt;&amp;nbsp;Oh Lord who willingly offered your flesh to be eaten by your saints, we praise you.&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;&lt;b style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;i style=&quot;margin: 0px; padding: 0px;&quot;&gt;Ohm Shri thatchina moorthyaya namaha:&amp;nbsp;&lt;/i&gt;&lt;/b&gt;Oh Lord who is seated by the side of the Father, we praise you.&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;&lt;b style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;i style=&quot;margin: 0px; padding: 0px;&quot;&gt;Ohm Shri maha devayaya namaha:&lt;/i&gt;&lt;/b&gt;&amp;nbsp;Oh Lord who is Lord of lords, we praise you.&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;&lt;b style=&quot;margin: 0px; padding: 0px;&quot;&gt;JESUS CHRIST IN BHAVISHYA MAHAPURANA:&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;Bhavishya Mahapurana, book three, chapter two, verse 34 says,&amp;nbsp;&lt;b style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;i style=&quot;margin: 0px; padding: 0px;&quot;&gt;“Ko bhavaanithi tham praaha Sobhovaachamudaanwitha: Eshaputhram cha maam vidhi Kumaaree garbha sambahavam Aham Eesa Maseeha nama:”&lt;/i&gt;&lt;/b&gt;which means, (king Saka asks) “May I know who you are? That man replied happily, I am the Son of God, born to a virgin. My name is Eesa Maseeha.”.&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;&lt;b style=&quot;margin: 0px; padding: 0px;&quot;&gt;CULTURAL AND THEOLOGICAL IDENTITY:&lt;/b&gt;&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;The festival of Shivarathri is celebrated by keeping a vigil throughout that night to thank god who had saved a hunter, who lost his way in the jungle.&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;The Bible says that the Lord kept a vigil on the day of Passover and delivered the people of Israel from Egypt. In remembrance of this day and to honor the Lord, the Israelites in turn keep a vigil on this night every year.&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;On this day, God instructed Moses to mark the main doors of their houses and the top and two side posts with the blood of the lamb, which was to be sacrificed by each family, as a mark of identification for the purpose of protection. These same markings with the red powder can be seen in every Indian house, even today.&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;While on a journey, Jacob slept for the night by keeping a stone as a pillow and dreamt, seeing angels of God ascending and descending on a ladder set between earth and heaven, and the Lord stood above it. Next morning he took the stone, and set it up as a pillar, and poured oil over it, and he named that place as Bethel (house of God). In India also one can see the stone with oil, which has become “Shivalinga”.&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;In the Bible, God told Moses to bring a red heifer without spot and kill it as a sacrifice for the Lord. Her skin, her flesh, blood and dung shall be burnt. A clean man shall gather up the ashes of the heifer and keep it in the holy place. This ash will be mixed with water and will be sprinkled on the body of the people, for the purpose of purification from their sins (Numbers 19:1-9).&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;During the Vedic period, three different kinds of sacrifices were in practice. 1.&lt;b style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;i style=&quot;margin: 0px; padding: 0px;&quot;&gt;Nara&lt;/i&gt;&lt;/b&gt;&amp;nbsp;(human)&amp;nbsp;&lt;b style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;i style=&quot;margin: 0px; padding: 0px;&quot;&gt;medhya&lt;/i&gt;&amp;nbsp;&lt;/b&gt;(body)&amp;nbsp;&lt;b style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;i style=&quot;margin: 0px; padding: 0px;&quot;&gt;yagna&lt;/i&gt;&lt;/b&gt;&amp;nbsp;(sacrifice), 2.&amp;nbsp;&lt;b style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;i style=&quot;margin: 0px; padding: 0px;&quot;&gt;Ko&lt;/i&gt;&lt;/b&gt;&amp;nbsp;(cow)&amp;nbsp;&lt;b style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;i style=&quot;margin: 0px; padding: 0px;&quot;&gt;medhya yagna&lt;/i&gt;&lt;/b&gt;, 3.&amp;nbsp;&lt;b style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;i style=&quot;margin: 0px; padding: 0px;&quot;&gt;Aswa medhya yagna&lt;/i&gt;&lt;/b&gt;. For&amp;nbsp;&lt;b style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;i style=&quot;margin: 0px; padding: 0px;&quot;&gt;Ko medhya yagna&lt;/i&gt;&lt;/b&gt;, the cow should be a red one. Even today, if a Brahmin wants to do some ceremonial duty in his house, he will look for a red cow and do pooja before it. The sacrificial cow has now become a sacred cow, because cow is no longer sacrificed by law. Therefore, people burn only the cow’s dung and they collect these ashes and mix it with water and apply it on their body or generally on their forehead as “Vibhooti”.&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;Since the sacrificed cow was to be positioned upside down on the altar before burning, a long three headed fork like tool was used. In addition, to collect and store these ashes, several types of vessels were used. In the Bible the Lord told, “you shall make its pans to receive its ashes, and its shovels and its basins and its forks and its fire pans; you shall make all its utensils of bronze” (Exodus 27:3).&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;Similarly in the Indian temples also, all these vessels are made out of bronze. Ever since the sacrifices have been stopped, the meat fork with three-headed spear is kept near the altar in front of the temple. This has now become “Trishool”.&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;In the Bible, the priest, while he is inside the holy of the holiest part of the temple, should make a sound with the bells, as well as while coming out of it. He should have his undergarments from the waist to the knee. The sacrificial animal should have a small string, bearing the name of the family. The priest should mention the name of the family and then sacrifice. He should wear an engraved plate on his turban saying, “Holy to the Lord” (Exodus 28:34-37,42).&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;In the Indian temples also, when the priest goes inside the holy of the holiest place for prayer, he makes the noise of the bell and comes out with the noise of the bell. He wears a piece of cloth from his hip to the knee over his clothing. When the people bring their offerings to God, he always asks them on whose name should it be offered?&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;As the Bible says, that “God is a Spirit, and they that worship him must worship him in spirit and in truth (John 4:24)”, the Yazur Veda also says,&lt;i style=&quot;margin: 0px; padding: 0px;&quot;&gt;“Nathasya prathima asityasya nammahastha&lt;/i&gt;&amp;nbsp;(32:3)&lt;i style=&quot;margin: 0px; padding: 0px;&quot;&gt;”&lt;/i&gt;, God has no image and His name is Holy.&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;The Bruhat Aranyaka Upanishad says,&amp;nbsp;&lt;i style=&quot;margin: 0px; padding: 0px;&quot;&gt;“Vagya vai Brahmma”&lt;/i&gt;, the word is Brahmma (creator). Brahmmavindu Upanishad says,&amp;nbsp;&lt;i style=&quot;margin: 0px; padding: 0px;&quot;&gt;“Shabdo vai Brahmma”&lt;/i&gt;, the voice is Brahmma and&amp;nbsp;&lt;i style=&quot;margin: 0px; padding: 0px;&quot;&gt;“Shabdaksharam Param Brahmma”&lt;/i&gt;, the voice and word became absolute God.&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;The Bible says, “In the beginning was the Word, and the Word was with God, and the Word was God … and the Word was made flesh (Jesus)” (John 1:1,14).&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;At His Service,&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 0.0001pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;Nimmathi Nilayam,&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 0.0001pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;P.O. Box- 8659,&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 0.0001pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;Chennai- 600041.&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: normal; margin: 0in 0in 0.0001pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;the_word_of_truth_ministries@yahoo.com&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: &#39;times new roman&#39;; font-size: 11pt; line-height: 16.866666793823242px; margin: 0in 0in 10pt; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 14.666666984558105px; margin: 0px; padding: 0px;&quot;&gt;&lt;o:p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;navigation&quot; style=&quot;margin: 0px; padding: 10px 20px;&quot;&gt;
&lt;div class=&quot;alignleft&quot; style=&quot;margin: 0px; padding: 0px;&quot;&gt;
&lt;a class=&quot;blog-pager-newer-link&quot; href=&quot;http://jesus-vedas.blogspot.in/&quot; id=&quot;Blog1_blog-pager-newer-link&quot; style=&quot;color: #336600; margin: 0px; padding: 0px; text-decoration: none;&quot; title=&quot;&quot;&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;alignright&quot; style=&quot;margin: 0px; padding: 0px;&quot;&gt;
&lt;a class=&quot;blog-pager-older-link&quot; href=&quot;http://jesus-vedas.blogspot.in/&quot; id=&quot;Blog1_blog-pager-older-link&quot; style=&quot;color: #336600; margin: 0px; padding: 0px; text-decoration: none;&quot; title=&quot;&quot;&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;clear&quot; style=&quot;clear: both; margin: 0px; padding: 0px;&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;column  sidebar_right prepend-1&quot; style=&quot;background-color: #cafa94; color: #666666; float: left; font-family: Arial, Helvetica, sans-serif; font-size: 12px; margin: 30px auto; padding: 0px 0px 0px 40px; width: 175px;&quot;&gt;
&lt;ul style=&quot;list-style: none; margin: 0px 0px 10px; padding: 10px;&quot;&gt;&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://shareengineer.blogspot.com/feeds/7165594449221459233/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shareengineer.blogspot.com/2014/03/gods-in-veda.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8058748219327537881/posts/default/7165594449221459233'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8058748219327537881/posts/default/7165594449221459233'/><link rel='alternate' type='text/html' href='http://shareengineer.blogspot.com/2014/03/gods-in-veda.html' title='GODS IN VEDA'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/17002818406074312384</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8058748219327537881.post-9123451293445401909</id><published>2013-01-06T22:04:00.001-08:00</published><updated>2013-01-06T22:04:07.543-08:00</updated><title type='text'>MODELING AND DESIGN IN OODBMS</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoBodyTextIndent&quot; style=&quot;margin-left: 0cm; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-layout-grid-align: none; text-align: justify; text-autospace: none; text-indent: 36.0pt;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;Basically,
an OODBMS is an object database that provides DBMS capabilities to objects
thathave been created using an object-oriented programming language (OOPL). The
basic principle is to add persistence to objects and to make objects
persistent. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-layout-grid-align: none; text-align: justify; text-autospace: none; text-indent: 36.0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-layout-grid-align: none; text-align: justify; text-autospace: none; text-indent: 36.0pt;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;Consequently
application programmers who use OODBMSs typically write programs in a native
OOPL such as Java, C++ or Smalltalk, and the language has some kind of
Persistent class, Database class, Database Interface, or Database API that
provides DBMS functionality as, effectively, an extension of the OOPL.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-layout-grid-align: none; text-align: justify; text-autospace: none; text-indent: 36.0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-layout-grid-align: none; text-align: justify; text-autospace: none; text-indent: 36.0pt;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;Object-oriented
DBMSs, however, go much beyond simply adding persistence to any one object-oriented
programming language. This is because, historically, many object-oriented DBMSs
were built to serve the market for computer-aided design/computer-aided manufacturing
(CAD/CAM) applications in which features like fast navigational access,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-layout-grid-align: none; text-align: justify; text-autospace: none;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;versions, and
long transactions are extremely important. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-layout-grid-align: none; text-align: justify; text-autospace: none;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-layout-grid-align: none; text-align: justify; text-autospace: none; text-indent: 36.0pt;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;Object-oriented
DBMSs, therefore, support advanced object-oriented database applications with
features like support for persistent objects from more than one programming
language, distribution of data, advanced transaction models, versions, schema
evolution, and dynamic generation of new types.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-layout-grid-align: none; text-align: justify; text-autospace: none; text-indent: 36.0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-layout-grid-align: none; text-align: justify; text-autospace: none;&quot;&gt;
&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;Object data
modeling&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-layout-grid-align: none; text-align: justify; text-autospace: none;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;An object
consists of three parts: structure (attribute, and relationship to other
objects like aggregation, and association), behavior (a set of operations) and
characteristic of types (generalization/serialization). An object is similar to
an entity in ER model; therefore we begin with an example to demonstrate the
structure and relationship.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTBhmV0z3Xd1oExVmNnUJrp7TeD6t_xmCkXUgPaEbgHGEI1ucnDZqggyBhyphenhyphenQjLgtzMTIhExBv-eCJEmGfHbrGFdZ6QTWKqhxpM66EIIgj8DRh-keqOyDfDL1HflIppeq_xayZNPdtPKQg/s1600/11.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;155&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTBhmV0z3Xd1oExVmNnUJrp7TeD6t_xmCkXUgPaEbgHGEI1ucnDZqggyBhyphenhyphenQjLgtzMTIhExBv-eCJEmGfHbrGFdZ6QTWKqhxpM66EIIgj8DRh-keqOyDfDL1HflIppeq_xayZNPdtPKQg/s320/11.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&amp;nbsp; &amp;nbsp;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial\,Bold&amp;quot;; font-size: 11.0pt; mso-bidi-font-family: &amp;quot;Arial\,Bold&amp;quot;;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;

&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-layout-grid-align: none; text-align: justify; text-autospace: none; text-indent: 36.0pt;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEil9i4hBclHpaO2pFuFrdhhc2R_j2uslj_OW3i70wY6_DWi7TMzdk398ExqFO97_C1L7p8cHN_t7H6hNxV_XqpEwMPc5ElZsGfX3ZUkxYtWL8CiIkgqStQxmS5gZtsjP8cyyE9VK04WiOY/s1600/22.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em; text-align: center; text-indent: 0px;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;193&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEil9i4hBclHpaO2pFuFrdhhc2R_j2uslj_OW3i70wY6_DWi7TMzdk398ExqFO97_C1L7p8cHN_t7H6hNxV_XqpEwMPc5ElZsGfX3ZUkxYtWL8CiIkgqStQxmS5gZtsjP8cyyE9VK04WiOY/s320/22.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-layout-grid-align: none; text-align: justify; text-autospace: none; text-indent: 36.0pt;&quot;&gt;
&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;Attributes
&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;are like the fields in a
relational model. However in the Book example we have,for attributes
publishedBy and writtenBy, complex types Publisher and Author,which are also
objects. Attributes with complex objects, in RDNS, are usually other
tableslinked by keys to the employee table.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-layout-grid-align: none; text-align: justify; text-autospace: none; text-indent: 36.0pt;&quot;&gt;
&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;Relationships&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;: publish and writtenBy are associations
with I:N and 1:1 relationship; composed_of is an aggregation (a Book is
composed of chapters). The 1:N relationship is usually realized as attributes
through complex types and at the behavioral level. For example,&lt;b&gt;&lt;u&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwyc9lOL5I4RReZ8daUdesgevinotNNg5NOvZXpWpX2niQPccp1zQWWmZGf7EE7_cZNz4mwymMDJPqx_LOeabqK_Lmm-4hPn36iFzfwjallk10wD75E-9yq-8tzImrgOrBbqjPcmSv9kk/s1600/33.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;100&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwyc9lOL5I4RReZ8daUdesgevinotNNg5NOvZXpWpX2niQPccp1zQWWmZGf7EE7_cZNz4mwymMDJPqx_LOeabqK_Lmm-4hPn36iFzfwjallk10wD75E-9yq-8tzImrgOrBbqjPcmSv9kk/s320/33.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-layout-grid-align: none; text-align: justify; text-autospace: none; text-indent: 36.0pt;&quot;&gt;
&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;Generalization/Serialization
&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;is the is_a relationship,
which is supported in OODB through class hierarchy. An ArtBook is a Book,
therefore the ArtBook class is a subclass of Book class. A subclass inherits
all the attribute and method of its superclass.&lt;b&gt;&lt;u&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-layout-grid-align: none; text-align: justify; text-autospace: none;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKfPUG5z_l863t54PaNQHavv4UkmpF1Tepb_gMOoQ1EmjrkP7hZlG4zf5CE8AlIHCRvkVGqdLB8pEtBdREzFRXoExW4xKEwQHYBKH0UiQ3nPd6R9vqkJpa2AytvfSleU0Zvz4IET5A3ko/s1600/KK.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKfPUG5z_l863t54PaNQHavv4UkmpF1Tepb_gMOoQ1EmjrkP7hZlG4zf5CE8AlIHCRvkVGqdLB8pEtBdREzFRXoExW4xKEwQHYBKH0UiQ3nPd6R9vqkJpa2AytvfSleU0Zvz4IET5A3ko/s1600/KK.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-layout-grid-align: none; text-autospace: none; text-indent: 36.0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-layout-grid-align: none; text-align: justify; text-autospace: none; text-indent: 36.0pt;&quot;&gt;
&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;Message:
&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;means by which objects
communicate, and it is a request from one object to another to execute one of
its methods. For example:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-layout-grid-align: none; text-align: justify; text-autospace: none;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;Publisher_object.insert
(”Rose”, 123,…) &amp;nbsp;i.e. request to execute
the insert method on a Publisher object &lt;b&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-layout-grid-align: none; text-align: justify; text-autospace: none; text-indent: 36.0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-layout-grid-align: none; text-align: justify; text-autospace: none; text-indent: 36.0pt;&quot;&gt;
&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;Method: &lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;defines the behavior of an object. Methods
can be used&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-layout-grid-align: none; text-align: justify; text-autospace: none;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;. to change
state by modifying its attribute values . to query the value of selected
attributes The method that responds to the message example is the method insert
defied in the Publisher class.&lt;b&gt;&lt;u&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-layout-grid-align: none; text-autospace: none; text-indent: 36.0pt;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;The main
differences between relational database design and object oriented database
design include: &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-layout-grid-align: none; text-autospace: none; text-indent: 36.0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-layout-grid-align: none; text-autospace: none; text-indent: 36.0pt;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;• Many-to-many
relationships must be removed before entities can&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;be translated into relations. Many-to-many
relationships can be implemented directly in an object-oriented database.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-layout-grid-align: none; text-autospace: none; text-indent: 36.0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-layout-grid-align: none; text-autospace: none; text-indent: 36.0pt;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;• Operations are
not represented in the relational data model.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;Operations are one of the main components
in an object-oriented&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;database.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-layout-grid-align: none; text-autospace: none; text-indent: 36.0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-layout-grid-align: none; text-autospace: none; text-indent: 36.0pt;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;• In the
relational data model relationships are implemented by&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;primary and foreign keys. In the object
model objects communicate through their &lt;i&gt;interfaces&lt;/i&gt;. The interface
describes the data (attributes) and operations (methods) that are visible to
other objects&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;.&lt;/span&gt;&lt;b&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0B7H1zfNRG5IDigIBcQaJYxabUGN4PvhgVBa1LOaMZ-0aoL4R8svzb3TdCcuuK81CfakCzfNAf8kxSe7PWnKUsK6tGlzNUFruNbLMz9-k4OKl8MAFh73SCLkO5vffqJ_VXFwKdWM2R5w/s1600/55.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em; text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;192&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0B7H1zfNRG5IDigIBcQaJYxabUGN4PvhgVBa1LOaMZ-0aoL4R8svzb3TdCcuuK81CfakCzfNAf8kxSe7PWnKUsK6tGlzNUFruNbLMz9-k4OKl8MAFh73SCLkO5vffqJ_VXFwKdWM2R5w/s320/55.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://shareengineer.blogspot.com/feeds/9123451293445401909/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shareengineer.blogspot.com/2013/01/modeling-and-design-in-oodbms.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8058748219327537881/posts/default/9123451293445401909'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8058748219327537881/posts/default/9123451293445401909'/><link rel='alternate' type='text/html' href='http://shareengineer.blogspot.com/2013/01/modeling-and-design-in-oodbms.html' title='MODELING AND DESIGN IN OODBMS'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/17002818406074312384</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTBhmV0z3Xd1oExVmNnUJrp7TeD6t_xmCkXUgPaEbgHGEI1ucnDZqggyBhyphenhyphenQjLgtzMTIhExBv-eCJEmGfHbrGFdZ6QTWKqhxpM66EIIgj8DRh-keqOyDfDL1HflIppeq_xayZNPdtPKQg/s72-c/11.png" height="72" width="72"/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8058748219327537881.post-385594629303082311</id><published>2013-01-06T21:55:00.003-08:00</published><updated>2013-01-06T21:55:56.497-08:00</updated><title type='text'>OBJECT ORIENTED DATA BASE OODB&amp; RELATIONAL DB</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgs4dQD2i4X67YW4jdgVuIw53BPbM49RjqJzY8CHMWvinUoA5ynr4Hcx5yHWK3Uk8NCTE6Zg69ARinKqwEMQa2ms3Dz00X4NELrDooo0Z8aAsSVNRO7XXcfpxa0w73DwoSDbbnKQPOGT3A/s1600/5.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;240&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgs4dQD2i4X67YW4jdgVuIw53BPbM49RjqJzY8CHMWvinUoA5ynr4Hcx5yHWK3Uk8NCTE6Zg69ARinKqwEMQa2ms3Dz00X4NELrDooo0Z8aAsSVNRO7XXcfpxa0w73DwoSDbbnKQPOGT3A/s320/5.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiny1wMlCUZcJrsPrvgvZNvw_DvpjAbqY7-7uukP8iX-9I3RWC1ymJwTci39nZT0O08OZYqCCuVLa9ye19RnVSTuyaUw0BEtnKbbId90bA7HVRQplY4YRGOfF_tplRNWDuD9kgU8FS_M4A/s1600/9.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;240&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiny1wMlCUZcJrsPrvgvZNvw_DvpjAbqY7-7uukP8iX-9I3RWC1ymJwTci39nZT0O08OZYqCCuVLa9ye19RnVSTuyaUw0BEtnKbbId90bA7HVRQplY4YRGOfF_tplRNWDuD9kgU8FS_M4A/s320/9.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://shareengineer.blogspot.com/feeds/385594629303082311/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shareengineer.blogspot.com/2013/01/object-oriented-data-base-oodb.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8058748219327537881/posts/default/385594629303082311'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8058748219327537881/posts/default/385594629303082311'/><link rel='alternate' type='text/html' href='http://shareengineer.blogspot.com/2013/01/object-oriented-data-base-oodb.html' title='OBJECT ORIENTED DATA BASE OODB&amp; RELATIONAL DB'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/17002818406074312384</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgs4dQD2i4X67YW4jdgVuIw53BPbM49RjqJzY8CHMWvinUoA5ynr4Hcx5yHWK3Uk8NCTE6Zg69ARinKqwEMQa2ms3Dz00X4NELrDooo0Z8aAsSVNRO7XXcfpxa0w73DwoSDbbnKQPOGT3A/s72-c/5.png" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8058748219327537881.post-5782299461535318130</id><published>2013-01-06T21:49:00.001-08:00</published><updated>2013-01-06T21:49:18.830-08:00</updated><title type='text'>TRANSACTION PROCESSING</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;Transaction&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;A transaction is a
collection of actions that make consistent transformations of system states
while preserving system consistency.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l0 level2 lfo1; tab-stops: list 72.0pt; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Monotype Sorts&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 14.0pt; mso-bidi-font-family: &amp;quot;Monotype Sorts&amp;quot;; mso-fareast-font-family: &amp;quot;Monotype Sorts&amp;quot;;&quot;&gt;à&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;concurrency
transparency&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l0 level2 lfo1; tab-stops: list 72.0pt; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Monotype Sorts&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 14.0pt; mso-bidi-font-family: &amp;quot;Monotype Sorts&amp;quot;; mso-fareast-font-family: &amp;quot;Monotype Sorts&amp;quot;;&quot;&gt;à&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;failure
transparency&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://shareengineer.blogspot.com/feeds/5782299461535318130/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shareengineer.blogspot.com/2013/01/transaction-processing.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8058748219327537881/posts/default/5782299461535318130'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8058748219327537881/posts/default/5782299461535318130'/><link rel='alternate' type='text/html' href='http://shareengineer.blogspot.com/2013/01/transaction-processing.html' title='TRANSACTION PROCESSING'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/17002818406074312384</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8058748219327537881.post-754090789128318875</id><published>2013-01-06T21:48:00.001-08:00</published><updated>2013-01-06T21:48:43.005-08:00</updated><title type='text'>INTRODUCTION TO OBJECT ORIENTED DATA BASES</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;Object Databases&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l4 level1 lfo3; tab-stops: list 36.0pt left 121.0pt; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-bidi-font-family: Wingdings; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;Became commercially popular in mid 1990’s&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l4 level1 lfo3; tab-stops: list 36.0pt left 121.0pt; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-bidi-font-family: Wingdings; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;You can store the data in the same format
as you use it. No paradigm shift.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l4 level1 lfo3; tab-stops: list 36.0pt left 121.0pt; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-bidi-font-family: Wingdings; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;Did not reach full potential till the
classes they store were decoupled from the database schema.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l4 level1 lfo3; tab-stops: list 36.0pt left 121.0pt; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-bidi-font-family: Wingdings; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;Open source implementation available – low
cost solution now exists.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; tab-stops: 121.0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;What is Object Oriented
Database? (OODB)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l2 level1 lfo2; tab-stops: 121.0pt; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-bidi-font-family: Wingdings; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;A
database system that incorporates all the important object-oriented concepts&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l2 level1 lfo2; tab-stops: 121.0pt; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-bidi-font-family: Wingdings; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;Some
additional features&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l2 level2 lfo2; tab-stops: 121.0pt; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 14.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;Unique
Object identifiers&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l2 level2 lfo2; tab-stops: 121.0pt; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 14.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;Persistent
object handling &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l0 level1 lfo5; tab-stops: 121.0pt; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-bidi-font-family: Wingdings; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;Is the
coupling of Object Oriented (OOP) Programming principles with Database
Management System (DBMS) principles&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l2 level2 lfo2; tab-stops: 121.0pt; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 14.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;Provides
access to persisted objects using the same OO-programming language&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;Advantages of OODBS&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l1 level1 lfo1; tab-stops: list 36.0pt left 121.0pt; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-bidi-font-family: Wingdings; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;Designer can specify the structure of
objects and their behavior (methods)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l1 level1 lfo1; tab-stops: list 36.0pt left 121.0pt; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-bidi-font-family: Wingdings; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;Better interaction with object-oriented
languages such as Java and C++&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l1 level1 lfo1; tab-stops: list 36.0pt left 121.0pt; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-bidi-font-family: Wingdings; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;Definition of complex and user-defined
types&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l1 level1 lfo1; tab-stops: list 36.0pt left 121.0pt; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-bidi-font-family: Wingdings; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;Encapsulation of operations and
user-defined methods&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;Object Database Vendors&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 54.0pt; mso-list: l3 level1 lfo4; tab-stops: 121.0pt; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-bidi-font-family: Wingdings; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;Matisse
Software Inc., &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 54.0pt; mso-list: l3 level1 lfo4; tab-stops: 121.0pt; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-bidi-font-family: Wingdings; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;Objectivity
Inc., &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 54.0pt; mso-list: l3 level1 lfo4; tab-stops: 121.0pt; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-bidi-font-family: Wingdings; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;Poet&#39;s
FastObjects, &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 54.0pt; mso-list: l3 level1 lfo4; tab-stops: 121.0pt; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-bidi-font-family: Wingdings; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;Computer
Associates, &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 54.0pt; mso-list: l3 level1 lfo4; tab-stops: 121.0pt; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-bidi-font-family: Wingdings; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;eXcelon
Corporation&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 54.0pt; mso-list: l3 level1 lfo4; tab-stops: 121.0pt; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-bidi-font-family: Wingdings; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;Db4o&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://shareengineer.blogspot.com/feeds/754090789128318875/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shareengineer.blogspot.com/2013/01/introduction-to-object-oriented-data.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8058748219327537881/posts/default/754090789128318875'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8058748219327537881/posts/default/754090789128318875'/><link rel='alternate' type='text/html' href='http://shareengineer.blogspot.com/2013/01/introduction-to-object-oriented-data.html' title='INTRODUCTION TO OBJECT ORIENTED DATA BASES'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/17002818406074312384</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8058748219327537881.post-3354197736057345936</id><published>2013-01-06T21:45:00.000-08:00</published><updated>2013-01-06T21:45:03.741-08:00</updated><title type='text'>1.4 QUERY PROCESSING</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l1 level1 lfo1; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-ansi-language: EN-GB; mso-bidi-font-family: Wingdings; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 14.0pt; mso-ansi-language: EN-GB;&quot;&gt;using client-server
architecture&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l1 level1 lfo1; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-ansi-language: EN-GB; mso-bidi-font-family: Wingdings; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 14.0pt; mso-ansi-language: EN-GB;&quot;&gt;user creates query&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l1 level1 lfo1; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-ansi-language: EN-GB; mso-bidi-font-family: Wingdings; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 14.0pt; mso-ansi-language: EN-GB;&quot;&gt;client parses and
sends to server(s) (SQL?)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l1 level1 lfo1; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-ansi-language: EN-GB; mso-bidi-font-family: Wingdings; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 14.0pt; mso-ansi-language: EN-GB;&quot;&gt;servers return
appropriate Tables&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l1 level1 lfo1; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-ansi-language: EN-GB; mso-bidi-font-family: Wingdings; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 14.0pt; mso-ansi-language: EN-GB;&quot;&gt;client combines
into one Table&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l1 level1 lfo1; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-ansi-language: EN-GB; mso-bidi-font-family: Wingdings; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 14.0pt; mso-ansi-language: EN-GB;&quot;&gt;Issue of data
transfer cost over a network&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l1 level2 lfo1; tab-stops: list 72.0pt; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 14.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 14.0pt; mso-ansi-language: EN-GB;&quot;&gt;optimise the query to transfer the least amount &lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;Query
Processing Components&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l5 level1 lfo3; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-weight: bold; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;Query language
that is used&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l5 level2 lfo3; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 14.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;SQL:
“intergalactic dataspeak”&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l5 level1 lfo3; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-weight: bold; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;Query execution
methodology&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l5 level2 lfo3; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 14.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;The steps that
one goes through in executing high-level (declarative) user queries.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l5 level1 lfo3; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-weight: bold; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;Query
optimization&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l5 level2 lfo3; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 14.0pt; mso-ansi-language: EN-GB; mso-bidi-font-weight: bold; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;How do we determine the “best” execution plan?&lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 14.0pt; mso-ansi-language: EN-GB;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&amp;nbsp;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;Query
Optimization Objectives&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 14.0pt; mso-ansi-language: EN-GB;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l6 level1 lfo4; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-weight: bold; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;Minimize a cost
function&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 108.0pt; mso-list: l6 level3 lfo4; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-weight: bold; mso-fareast-font-family: Wingdings;&quot;&gt;§&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;I/O cost + CPU
cost + communication cost&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l6 level1 lfo4; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-weight: bold; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;These might have
different weights in different distributed environments&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l6 level1 lfo4; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-weight: bold; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;Wide area
networks &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l6 level2 lfo4; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 14.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;communication
cost will dominate&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 108.0pt; mso-list: l6 level3 lfo4; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-weight: bold; mso-fareast-font-family: Wingdings;&quot;&gt;§&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;low bandwidth&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 108.0pt; mso-list: l6 level3 lfo4; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-weight: bold; mso-fareast-font-family: Wingdings;&quot;&gt;§&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;low speed&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 108.0pt; mso-list: l6 level3 lfo4; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-weight: bold; mso-fareast-font-family: Wingdings;&quot;&gt;§&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;high protocol
overhead&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l6 level2 lfo4; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 14.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;most algorithms
ignore all other cost components&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l6 level1 lfo4; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-weight: bold; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;Local area
networks&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l6 level2 lfo4; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 14.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;communication
cost not that dominant&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l6 level2 lfo4; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 14.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;total cost
function should be considered&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l6 level1 lfo4; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-weight: bold; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;Can also maximize
throughput&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;Query
Optimization Issues – Types of Optimizers&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l9 level1 lfo5; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-weight: bold; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;Exhaustive search&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l9 level2 lfo5; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 14.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;cost-based&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l9 level2 lfo5; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 14.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;optimal&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l9 level2 lfo5; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 14.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;combinatorial
complexity in the number of relations&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l9 level1 lfo5; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-weight: bold; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;Heuristics&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l9 level2 lfo5; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 14.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;not optimal&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l9 level2 lfo5; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 14.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;regroup common
sub-expressions&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l9 level2 lfo5; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 14.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;perform
selection, projection first&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l9 level2 lfo5; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 14.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;replace a join by
a series of semijoins&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l9 level2 lfo5; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 14.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;reorder
operations to reduce intermediate relation size&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l9 level2 lfo5; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 14.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;optimize
individual operations&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;Optimization
Granularity&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l11 level1 lfo6; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-weight: bold; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;Single query at a
time&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l11 level2 lfo6; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 14.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;cannot use common
intermediate results&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l11 level1 lfo6; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-weight: bold; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;Multiple queries
at a time&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l11 level2 lfo6; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 14.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;efficient if many
similar queries&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l11 level2 lfo6; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 14.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;decision space is
much larger&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;Optimization
Timing&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l8 level1 lfo7; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-weight: bold; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;Static&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l8 level2 lfo7; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 14.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;compilation Þ
optimize prior to the execution&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l8 level2 lfo7; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 14.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;difficult to
estimate the size of the intermediate results&amp;nbsp;
Þ error propagation&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l8 level2 lfo7; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 14.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;can amortize over
many executions&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l8 level2 lfo7; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 14.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;R*&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l8 level1 lfo7; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-weight: bold; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;Dynamic&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l8 level2 lfo7; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 14.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;run time
optimization&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l8 level2 lfo7; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 14.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;exact information
on the intermediate relation sizes&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l8 level2 lfo7; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 14.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;have to
reoptimize for multiple executions&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l8 level2 lfo7; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 14.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;Distributed
INGRES&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l8 level1 lfo7; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-weight: bold; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;Hybrid&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l8 level2 lfo7; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 14.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;compile using a
static algorithm&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l8 level2 lfo7; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 14.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;if the error in
estimate sizes &amp;gt; threshold, reoptimize at run time&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l8 level2 lfo7; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 14.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;MERMAID&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;Statistics&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l10 level1 lfo8; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-weight: bold; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;Relation&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l10 level2 lfo8; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 14.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;cardinality&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l10 level2 lfo8; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 14.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;size of a tuple&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l10 level2 lfo8; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 14.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;fraction of
tuples participating in a join with another relation&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l10 level1 lfo8; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-weight: bold; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;Attribute&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l10 level2 lfo8; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 14.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;cardinality of
domain&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l10 level2 lfo8; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 14.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;actual number of
distinct values&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l10 level1 lfo8; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-weight: bold; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;Common
assumptions&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l10 level2 lfo8; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 14.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;independence
between different attribute values&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l10 level2 lfo8; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 14.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;uniform
distribution of attribute values within their domain&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;Decision Sites&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l0 level1 lfo9; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-weight: bold; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;Centralized&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l0 level2 lfo9; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 14.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;single site
determines the “best” schedule&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l0 level2 lfo9; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 14.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;simple&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l0 level2 lfo9; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 14.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;need knowledge
about the entire distributed database&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l0 level1 lfo9; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-weight: bold; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;Distributed&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l0 level2 lfo9; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 14.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;cooperation among
sites to determine the schedule&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l0 level2 lfo9; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 14.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;need only local
information&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l0 level2 lfo9; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 14.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;cost of
cooperation&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l0 level1 lfo9; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-weight: bold; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;Hybrid&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l0 level2 lfo9; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 14.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;one site
determines the global schedule&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l0 level1 lfo9; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-weight: bold; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;each site
optimizes the local subqueries&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;Network
Topology&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l4 level1 lfo10; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-weight: bold; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;Wide area
networks (WAN) – point-to-point&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l4 level2 lfo10; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 14.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;characteristics&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 108.0pt; mso-list: l4 level3 lfo10; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-weight: bold; mso-fareast-font-family: Wingdings;&quot;&gt;§&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;low bandwidth&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 108.0pt; mso-list: l4 level3 lfo10; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-weight: bold; mso-fareast-font-family: Wingdings;&quot;&gt;§&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;low speed&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 108.0pt; mso-list: l4 level3 lfo10; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-weight: bold; mso-fareast-font-family: Wingdings;&quot;&gt;§&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;high protocol
overhead&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l4 level2 lfo10; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 14.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;communication
cost will dominate; ignore all other cost factors&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l4 level2 lfo10; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 14.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;global schedule
to minimize communication cost&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l4 level2 lfo10; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 14.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;local schedules
according to centralized query optimization&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l4 level1 lfo10; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-weight: bold; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;Local area
networks (LAN)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l4 level2 lfo10; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 14.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;communication
cost not that dominant&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l4 level2 lfo10; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 14.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;total cost
function should be considered&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l4 level2 lfo10; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 14.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;broadcasting can
be exploited (joins)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l4 level2 lfo10; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 14.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;special
algorithms exist for star networks&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;Step 1 – Query
Decomposition&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 108.0pt; mso-list: l2 level3 lfo11; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-weight: bold; mso-fareast-font-family: Wingdings;&quot;&gt;§&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;Input :&amp;nbsp; Calculus query on global relations&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l2 level1 lfo11; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-weight: bold; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;Normalization&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l2 level2 lfo11; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 14.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;manipulate query
quantifiers and qualification&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l2 level1 lfo11; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-weight: bold; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;Analysis&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l2 level2 lfo11; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 14.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;detect and reject
“incorrect” queries&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l2 level2 lfo11; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 14.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;possible for only
a subset of relational calculus&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l2 level1 lfo11; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-weight: bold; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;Simplification&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l2 level2 lfo11; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 14.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;eliminate
redundant predicates&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l2 level1 lfo11; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-weight: bold; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;Restructuring&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l2 level2 lfo11; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 14.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;calculus query Þ
algebraic query&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l2 level2 lfo11; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 14.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;more than one
translation is possible&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l2 level2 lfo11; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 14.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;use
transformation rules&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;Step 2 – Data
Localization&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l7 level1 lfo12; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-weight: bold; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;Input:&amp;nbsp; Algebraic query on distributed relations&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l7 level1 lfo12; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-weight: bold; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;Determine which
fragments are involved&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l7 level1 lfo12; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-weight: bold; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;Localization
program&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l7 level2 lfo12; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 14.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;substitute for
each global query its materialization program&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l7 level2 lfo12; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 14.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;optimize&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;Step 3
–&amp;nbsp;Global Query Optimization&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l12 level1 lfo13; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-weight: bold; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;Input:&amp;nbsp; Fragment query&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l12 level1 lfo13; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-weight: bold; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;Find the &lt;i&gt;best&lt;/i&gt;
(not necessarily optimal) global schedule&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l12 level2 lfo13; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 14.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;Minimize a cost
function&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l12 level2 lfo13; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 14.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;Distributed join
processing&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 108.0pt; mso-list: l12 level3 lfo13; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-weight: bold; mso-fareast-font-family: Wingdings;&quot;&gt;§&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;Bushy vs. linear
trees&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 108.0pt; mso-list: l12 level3 lfo13; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-weight: bold; mso-fareast-font-family: Wingdings;&quot;&gt;§&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;Which relation to
ship where?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 108.0pt; mso-list: l12 level3 lfo13; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-weight: bold; mso-fareast-font-family: Wingdings;&quot;&gt;§&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;Ship-whole vs
ship-as-needed&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l12 level2 lfo13; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 14.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;Decide on the use
of semijoins&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 108.0pt; mso-list: l12 level3 lfo13; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-weight: bold; mso-fareast-font-family: Wingdings;&quot;&gt;§&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;Semijoin saves on
communication at the expense of more local processing.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l12 level2 lfo13; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 14.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;Join methods&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 108.0pt; mso-list: l12 level3 lfo13; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-weight: bold; mso-fareast-font-family: Wingdings;&quot;&gt;§&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;nested loop vs
ordered joins (merge join or hash join)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;Centralized
Query Optimization&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l3 level1 lfo14; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-weight: bold; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;INGRES&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l3 level2 lfo14; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 14.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;dynamic&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l3 level2 lfo14; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 14.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;interpretive&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l3 level1 lfo14; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-weight: bold; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;System R&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l3 level2 lfo14; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 14.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;static&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l3 level2 lfo14; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 14.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;exhaustive search&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 14.0pt; mso-ansi-language: EN-GB;&quot;&gt;12 Rules of DDBMS (Date, 1987)&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l13 level1 lfo2; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 14.0pt; mso-ansi-language: EN-GB;&quot;&gt;1.&lt;span style=&quot;font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 14.0pt; mso-ansi-language: EN-GB;&quot;&gt;Local autonomy&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l13 level1 lfo2; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 14.0pt; mso-ansi-language: EN-GB;&quot;&gt;2.&lt;span style=&quot;font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 14.0pt; mso-ansi-language: EN-GB;&quot;&gt;No reliance on a
central site&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l13 level1 lfo2; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 14.0pt; mso-ansi-language: EN-GB;&quot;&gt;3.&lt;span style=&quot;font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 14.0pt; mso-ansi-language: EN-GB;&quot;&gt;Continuous
operation&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l13 level1 lfo2; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 14.0pt; mso-ansi-language: EN-GB;&quot;&gt;4.&lt;span style=&quot;font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 14.0pt; mso-ansi-language: EN-GB;&quot;&gt;Location
independence&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l13 level1 lfo2; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 14.0pt; mso-ansi-language: EN-GB;&quot;&gt;5.&lt;span style=&quot;font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 14.0pt; mso-ansi-language: EN-GB;&quot;&gt;Fragmentation
independence&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l13 level1 lfo2; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 14.0pt; mso-ansi-language: EN-GB;&quot;&gt;6.&lt;span style=&quot;font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 14.0pt; mso-ansi-language: EN-GB;&quot;&gt;Replication
independence&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l13 level1 lfo2; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 14.0pt; mso-ansi-language: EN-GB;&quot;&gt;7.&lt;span style=&quot;font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 14.0pt; mso-ansi-language: EN-GB;&quot;&gt;Distributed Query
processing&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l13 level1 lfo2; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 14.0pt; mso-ansi-language: EN-GB;&quot;&gt;8.&lt;span style=&quot;font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 14.0pt; mso-ansi-language: EN-GB;&quot;&gt;Distributed
transaction processing&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l13 level1 lfo2; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 14.0pt; mso-ansi-language: EN-GB;&quot;&gt;9.&lt;span style=&quot;font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 14.0pt; mso-ansi-language: EN-GB;&quot;&gt;Hardware independence&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l13 level1 lfo2; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 14.0pt; mso-ansi-language: EN-GB;&quot;&gt;10.&lt;span style=&quot;font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 14.0pt; mso-ansi-language: EN-GB;&quot;&gt;Operating System independence&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l13 level1 lfo2; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 14.0pt; mso-ansi-language: EN-GB;&quot;&gt;11.&lt;span style=&quot;font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 14.0pt; mso-ansi-language: EN-GB;&quot;&gt;Network independence&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l13 level1 lfo2; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;12.&lt;span style=&quot;font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 14.0pt; mso-ansi-language: EN-GB;&quot;&gt;Database independence&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://shareengineer.blogspot.com/feeds/3354197736057345936/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shareengineer.blogspot.com/2013/01/14-query-processing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8058748219327537881/posts/default/3354197736057345936'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8058748219327537881/posts/default/3354197736057345936'/><link rel='alternate' type='text/html' href='http://shareengineer.blogspot.com/2013/01/14-query-processing.html' title='1.4 QUERY PROCESSING'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/17002818406074312384</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8058748219327537881.post-2393654725628430137</id><published>2013-01-06T21:42:00.003-08:00</published><updated>2013-01-06T21:42:39.879-08:00</updated><title type='text'>1.1 DISTRIBUTED   DATABASES   VS   CONVENTIONAL   DATABASES </title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l4 level2 lfo3; tab-stops: list 72.0pt; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-ansi-language: EN-GB; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 14.0pt; mso-ansi-language: EN-GB; mso-bidi-font-size: 12.0pt;&quot;&gt;mimics organisational structure with data&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l4 level2 lfo3; tab-stops: list 72.0pt; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-ansi-language: EN-GB; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 14.0pt; mso-ansi-language: EN-GB; mso-bidi-font-size: 12.0pt;&quot;&gt;local access and autonomy without exclusion&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l4 level2 lfo3; tab-stops: list 72.0pt; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-ansi-language: EN-GB; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 14.0pt; mso-ansi-language: EN-GB; mso-bidi-font-size: 12.0pt;&quot;&gt;cheaper to create and easier to expand&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l4 level2 lfo3; tab-stops: list 72.0pt; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-ansi-language: EN-GB; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 14.0pt; mso-ansi-language: EN-GB; mso-bidi-font-size: 12.0pt;&quot;&gt;improved availability/reliability/performance by removing reliance on a
central site&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l4 level2 lfo3; tab-stops: list 72.0pt; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-ansi-language: EN-GB; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 14.0pt; mso-ansi-language: EN-GB; mso-bidi-font-size: 12.0pt;&quot;&gt;Reduced communication overhead&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 108.0pt; mso-list: l3 level3 lfo2; tab-stops: list 108.0pt; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-ansi-language: EN-GB; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Wingdings;&quot;&gt;§&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 14.0pt; mso-ansi-language: EN-GB; mso-bidi-font-size: 12.0pt;&quot;&gt;Most data access is local,
less expensive and performs better&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l4 level2 lfo3; tab-stops: list 72.0pt; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-ansi-language: EN-GB; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 14.0pt; mso-ansi-language: EN-GB; mso-bidi-font-size: 12.0pt;&quot;&gt;Improved processing power&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 108.0pt; mso-list: l3 level3 lfo2; tab-stops: list 108.0pt; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-ansi-language: EN-GB; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Wingdings;&quot;&gt;§&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 14.0pt; mso-ansi-language: EN-GB; mso-bidi-font-size: 12.0pt;&quot;&gt;Many machines handling the
database rather than a&amp;nbsp; single server&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l4 level2 lfo3; tab-stops: list 72.0pt; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-ansi-language: EN-GB; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 14.0pt; mso-ansi-language: EN-GB; mso-bidi-font-size: 12.0pt;&quot;&gt;more complex to implement&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l4 level2 lfo3; tab-stops: list 72.0pt; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-ansi-language: EN-GB; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 14.0pt; mso-ansi-language: EN-GB; mso-bidi-font-size: 12.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;more costly to maintain&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l4 level2 lfo3; tab-stops: list 72.0pt; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-ansi-language: EN-GB; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 14.0pt; mso-ansi-language: EN-GB; mso-bidi-font-size: 12.0pt;&quot;&gt;security and integrity control&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l4 level2 lfo3; tab-stops: list 72.0pt; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-ansi-language: EN-GB; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 14.0pt; mso-ansi-language: EN-GB; mso-bidi-font-size: 12.0pt;&quot;&gt;standards and experience are lacking&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l4 level2 lfo3; tab-stops: list 72.0pt; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-ansi-language: EN-GB; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 14.0pt; mso-ansi-language: EN-GB; mso-bidi-font-size: 12.0pt;&quot;&gt;Design issues are more complex&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;1.2 DISTRIBUTED&amp;nbsp;&amp;nbsp;
DATABASES ARCHITECTURE&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l6 level1 lfo4; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-bidi-font-family: Wingdings; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;Defines the structure of the system&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 108.0pt; mso-list: l6 level2 lfo4; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 14.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;components
identified&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 108.0pt; mso-list: l6 level2 lfo4; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 14.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;functions
of each component defined&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 108.0pt; mso-list: l6 level2 lfo4; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 14.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;interrelationships
and interactions between components defined&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 14.0pt; mso-ansi-language: EN-GB;&quot;&gt;What is a distributed database?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 0cm; mso-list: l0 level1 lfo1; text-indent: 0cm;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-family: Wingdings; font-size: 10.5pt; mso-ansi-language: EN-GB; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 14.0pt; mso-fareast-font-family: Wingdings;&quot;&gt;l&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 14.0pt; mso-ansi-language: EN-GB;&quot;&gt;“A logically interrelated
collection of shared data (and a description of this &amp;nbsp;&amp;nbsp;data), physically distributed over a computer
network” &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCCCKKCEAGG47vNb5yiS3wkxdLcFhdUWUDtpJlG1DDumZ5fIUhNw0rfSfGzpH7gZS9PhN8AYZ98KHPYEmOa2VL690swoi0GxqI0ucNVT89q4uReiJ78hZr8SkUofk1VjEmx55DjoyOZCs/s1600/33.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em; text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;251&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCCCKKCEAGG47vNb5yiS3wkxdLcFhdUWUDtpJlG1DDumZ5fIUhNw0rfSfGzpH7gZS9PhN8AYZ98KHPYEmOa2VL690swoi0GxqI0ucNVT89q4uReiJ78hZr8SkUofk1VjEmx55DjoyOZCs/s320/33.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 15.0pt; mso-bidi-font-size: 14.0pt; mso-bidi-font-style: italic;&quot;&gt;Implicit Assumptions&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 15.0pt; mso-bidi-font-size: 14.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l5 level1 lfo5; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-weight: bold; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;Data stored at a
number of sites &lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Symbol; font-size: 14.0pt; mso-ascii-font-family: &amp;quot;Times New Roman&amp;quot;; mso-char-type: symbol; mso-hansi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-symbol-font-family: Symbol;&quot;&gt;ï&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt; each site &lt;i&gt;logically&lt;/i&gt;
consists of a single processor.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l5 level1 lfo5; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-weight: bold; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;Processors at
different sites are interconnected by a computer network &lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Symbol; font-size: 14.0pt; mso-ascii-font-family: &amp;quot;Times New Roman&amp;quot;; mso-char-type: symbol; mso-hansi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-symbol-font-family: Symbol;&quot;&gt;ï&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt; no multiprocessors&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l5 level2 lfo5; tab-stops: list 72.0pt; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 14.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;parallel database
systems&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l5 level1 lfo5; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-weight: bold; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;Distributed
database is a database, not a collection of files &lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Symbol; font-size: 14.0pt; mso-ascii-font-family: &amp;quot;Times New Roman&amp;quot;; mso-char-type: symbol; mso-hansi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-symbol-font-family: Symbol;&quot;&gt;ï&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt; data logically
related as exhibited in the users’ access patterns&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l5 level2 lfo5; tab-stops: list 72.0pt; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 14.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;relational data
model &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l5 level1 lfo5; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-weight: bold; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;D-DBMS is a
full-fledged DBMS&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l5 level2 lfo5; tab-stops: list 72.0pt; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 14.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt; mso-bidi-font-weight: bold;&quot;&gt;not remote file
system, not a TP system&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 15.0pt; mso-bidi-font-size: 14.0pt; mso-bidi-font-style: italic;&quot;&gt;Advantages of distributed databases&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l2 level1 lfo7; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 15.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 14.0pt; mso-bidi-font-style: italic; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 15.0pt; mso-bidi-font-size: 14.0pt; mso-bidi-font-style: italic;&quot;&gt;Capacity and incremental growth&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l2 level1 lfo7; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 15.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 14.0pt; mso-bidi-font-style: italic; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 15.0pt; mso-bidi-font-size: 14.0pt; mso-bidi-font-style: italic;&quot;&gt;Increase reliability and availability&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l2 level1 lfo7; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 15.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 14.0pt; mso-bidi-font-style: italic; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 15.0pt; mso-bidi-font-size: 14.0pt; mso-bidi-font-style: italic;&quot;&gt;Modularity&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l2 level1 lfo7; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 15.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 14.0pt; mso-bidi-font-style: italic; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 15.0pt; mso-bidi-font-size: 14.0pt; mso-bidi-font-style: italic;&quot;&gt;Reduced communication overhead&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l2 level1 lfo7; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 15.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 14.0pt; mso-bidi-font-style: italic; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 15.0pt; mso-bidi-font-size: 14.0pt; mso-bidi-font-style: italic;&quot;&gt;Protection of valuable data&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l2 level1 lfo7; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 15.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 14.0pt; mso-bidi-font-style: italic; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 15.0pt; mso-bidi-font-size: 14.0pt; mso-bidi-font-style: italic;&quot;&gt;Efficiency and Flexibility&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 18.0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 18.0pt;&quot;&gt;
&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 15.0pt; mso-bidi-font-size: 14.0pt; mso-bidi-font-style: italic;&quot;&gt;Disadvantages
of distributed databases&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 15.0pt; mso-bidi-font-size: 14.0pt; mso-bidi-font-style: italic;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l1 level1 lfo8; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 15.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 14.0pt; mso-bidi-font-style: italic; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 15.0pt; mso-bidi-font-size: 14.0pt; mso-bidi-font-style: italic;&quot;&gt;DDB design more complex, fragmentation &amp;amp; replication; extra work
must be done by the&amp;nbsp;DBAs&amp;nbsp;to ensure that the distributed nature of the
system is transparent.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l1 level1 lfo8; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 15.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 14.0pt; mso-bidi-font-style: italic; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 15.0pt; mso-bidi-font-size: 14.0pt; mso-bidi-font-style: italic;&quot;&gt;Economics,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l1 level1 lfo8; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 15.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 14.0pt; mso-bidi-font-style: italic; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 15.0pt; mso-bidi-font-size: 14.0pt; mso-bidi-font-style: italic;&quot;&gt;Concurrency control,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l1 level1 lfo8; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 15.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 14.0pt; mso-bidi-font-style: italic; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 15.0pt; mso-bidi-font-size: 14.0pt; mso-bidi-font-style: italic;&quot;&gt;Inexperience,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l1 level1 lfo8; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 15.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 14.0pt; mso-bidi-font-style: italic; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 15.0pt; mso-bidi-font-size: 14.0pt; mso-bidi-font-style: italic;&quot;&gt;Security,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l1 level1 lfo8; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 15.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 14.0pt; mso-bidi-font-style: italic; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 15.0pt; mso-bidi-font-size: 14.0pt; mso-bidi-font-style: italic;&quot;&gt;Difficult to maintain integrity&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 15.0pt; mso-bidi-font-size: 14.0pt; mso-bidi-font-style: italic;&quot;&gt;Applications&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 15.0pt; mso-bidi-font-size: 14.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l7 level1 lfo6; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-bidi-font-family: Wingdings; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;Manufacturing
- especially multi-plant manufacturing&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l7 level1 lfo6; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-bidi-font-family: Wingdings; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;Military
command and control&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l7 level1 lfo6; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-bidi-font-family: Wingdings; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;Electronic
fund transfers and electronic trading&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l7 level1 lfo6; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-bidi-font-family: Wingdings; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;Corporate
MIS&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l7 level1 lfo6; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-bidi-font-family: Wingdings; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;Airline
restrictions&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l7 level1 lfo6; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-bidi-font-family: Wingdings; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;Hotel
chains&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l7 level1 lfo6; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Wingdings; font-size: 14.0pt; mso-bidi-font-family: Wingdings; mso-fareast-font-family: Wingdings;&quot;&gt;Ø&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14.0pt;&quot;&gt;Any
organization which has a decentralized organization structure&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 18.0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://shareengineer.blogspot.com/feeds/2393654725628430137/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shareengineer.blogspot.com/2013/01/11-distributed-databases-vs.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8058748219327537881/posts/default/2393654725628430137'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8058748219327537881/posts/default/2393654725628430137'/><link rel='alternate' type='text/html' href='http://shareengineer.blogspot.com/2013/01/11-distributed-databases-vs.html' title='1.1 DISTRIBUTED   DATABASES   VS   CONVENTIONAL   DATABASES '/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/17002818406074312384</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCCCKKCEAGG47vNb5yiS3wkxdLcFhdUWUDtpJlG1DDumZ5fIUhNw0rfSfGzpH7gZS9PhN8AYZ98KHPYEmOa2VL690swoi0GxqI0ucNVT89q4uReiJ78hZr8SkUofk1VjEmx55DjoyOZCs/s72-c/33.png" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8058748219327537881.post-4395796912725967480</id><published>2013-01-04T22:04:00.001-08:00</published><updated>2013-01-04T22:04:18.311-08:00</updated><title type='text'>B.E/B.TECH ADVANCED COMPUTER ARCHITECTURE</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; style=&quot;border-collapse: collapse; width: 505px;&quot;&gt;&lt;colgroup&gt;&lt;col style=&quot;width: 48pt;&quot; width=&quot;64&quot;&gt;&lt;/col&gt;&lt;col style=&quot;width: 331pt;&quot; width=&quot;441&quot;&gt;&lt;/col&gt;&lt;/colgroup&gt;&lt;tbody&gt;
&lt;tr height=&quot;55&quot; style=&quot;height: 41.25pt;&quot;&gt;&lt;td class=&quot;xl65&quot; height=&quot;55&quot; style=&quot;height: 41.25pt; padding-bottom: 0.75pt; padding-top: 0.75pt; width: 48pt;&quot; width=&quot;64&quot;&gt;1&lt;/td&gt;&lt;td class=&quot;xl66&quot; style=&quot;border-left-style: none; padding-bottom: 0.75pt; padding-top: 0.75pt; width: 331pt;&quot; width=&quot;441&quot;&gt;&lt;a href=&quot;http://shareengineer.blogspot.com/2013/01/memtech-advanced-computer-architecture.html&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;Fundamentals of computer design&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr height=&quot;46&quot; style=&quot;height: 34.5pt;&quot;&gt;&lt;td class=&quot;xl65&quot; height=&quot;46&quot; style=&quot;border-top-style: none; height: 34.5pt; padding-bottom: 0.75pt; padding-top: 0.75pt; width: 48pt;&quot; width=&quot;64&quot;&gt;2&lt;/td&gt;&lt;td class=&quot;xl66&quot; style=&quot;border-left-style: none; border-top-style: none; padding-bottom: 0.75pt; padding-top: 0.75pt;&quot;&gt;&lt;a href=&quot;http://shareengineer.blogspot.com/2013/01/measuring-and-reporting-performance.html&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;Measuring and reporting performance&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr height=&quot;51&quot; style=&quot;height: 38.25pt;&quot;&gt;&lt;td class=&quot;xl65&quot; height=&quot;51&quot; style=&quot;border-top-style: none; height: 38.25pt; padding-bottom: 0.75pt; padding-top: 0.75pt; width: 48pt;&quot; width=&quot;64&quot;&gt;3&lt;/td&gt;&lt;td class=&quot;xl66&quot; style=&quot;border-left-style: none; border-top-style: none; padding-bottom: 0.75pt; padding-top: 0.75pt;&quot;&gt;&lt;a href=&quot;http://shareengineer.blogspot.com/2013/01/quantitative-principles-of-computer.html&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;Quantitative principles of computer design&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr height=&quot;33&quot; style=&quot;height: 24.75pt;&quot;&gt;&lt;td class=&quot;xl65&quot; height=&quot;33&quot; style=&quot;border-top-style: none; height: 24.75pt; padding-bottom: 0.75pt; padding-top: 0.75pt; width: 48pt;&quot; width=&quot;64&quot;&gt;4&lt;/td&gt;&lt;td class=&quot;xl66&quot; style=&quot;border-left-style: none; border-top-style: none; padding-bottom: 0.75pt; padding-top: 0.75pt;&quot;&gt;&lt;a href=&quot;http://shareengineer.blogspot.com/2013/01/instruction-set-principles-basics-of.html&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;ISA&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr height=&quot;25&quot; style=&quot;height: 18.75pt;&quot;&gt;&lt;td class=&quot;xl65&quot; height=&quot;25&quot; style=&quot;border-top-style: none; height: 18.75pt; padding-bottom: 0.75pt; padding-top: 0.75pt; width: 48pt;&quot; width=&quot;64&quot;&gt;6&lt;/td&gt;&lt;td class=&quot;xl66&quot; style=&quot;border-left-style: none; border-top-style: none; padding-bottom: 0.75pt; padding-top: 0.75pt;&quot;&gt;&lt;a href=&quot;http://shareengineer.blogspot.com/2013/01/pipelining.html&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;Pipelining&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr height=&quot;25&quot; style=&quot;height: 18.75pt;&quot;&gt;&lt;td class=&quot;xl65&quot; height=&quot;25&quot; style=&quot;border-top-style: none; height: 18.75pt; padding-bottom: 0.75pt; padding-top: 0.75pt; width: 48pt;&quot; width=&quot;64&quot;&gt;5&lt;/td&gt;&lt;td class=&quot;xl66&quot; style=&quot;border-left-style: none; border-top-style: none; padding-bottom: 0.75pt; padding-top: 0.75pt;&quot;&gt;&lt;a href=&quot;http://shareengineer.blogspot.com/2013/01/instruction-set-architecture.html&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;Deign issues ISA&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr height=&quot;25&quot; style=&quot;height: 18.75pt;&quot;&gt;&lt;td class=&quot;xl65&quot; height=&quot;25&quot; style=&quot;border-top-style: none; height: 18.75pt; padding-bottom: 0.75pt; padding-top: 0.75pt; width: 48pt;&quot; width=&quot;64&quot;&gt;7&lt;/td&gt;&lt;td class=&quot;xl66&quot; style=&quot;border-left-style: none; border-top-style: none; padding-bottom: 0.75pt; padding-top: 0.75pt;&quot;&gt;&lt;a href=&quot;http://shareengineer.blogspot.com/2013/01/pipeline-hazards.html&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;Pipeline hazard&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr height=&quot;25&quot; style=&quot;height: 18.75pt;&quot;&gt;&lt;td class=&quot;xl65&quot; height=&quot;25&quot; style=&quot;border-top-style: none; height: 18.75pt; padding-bottom: 0.75pt; padding-top: 0.75pt; width: 48pt;&quot; width=&quot;64&quot;&gt;8&lt;/td&gt;&lt;td class=&quot;xl66&quot; style=&quot;border-left-style: none; border-top-style: none; padding-bottom: 0.75pt; padding-top: 0.75pt;&quot;&gt;&lt;a href=&quot;http://shareengineer.blogspot.com/2013/01/implementation-simple-implementation-of.html&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;Implementation&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr height=&quot;25&quot; style=&quot;height: 18.75pt;&quot;&gt;&lt;td class=&quot;xl65&quot; height=&quot;25&quot; style=&quot;border-top-style: none; height: 18.75pt; padding-bottom: 0.75pt; padding-top: 0.75pt; width: 48pt;&quot; width=&quot;64&quot;&gt;9&lt;/td&gt;&lt;td class=&quot;xl66&quot; style=&quot;border-left-style: none; border-top-style: none; padding-bottom: 0.75pt; padding-top: 0.75pt;&quot;&gt;&lt;a href=&quot;http://shareengineer.blogspot.com/2013/01/multicycle-operation.html&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;Multicycle operation&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr height=&quot;31&quot; style=&quot;height: 23.25pt;&quot;&gt;&lt;td class=&quot;xl65&quot; height=&quot;31&quot; style=&quot;border-top-style: none; height: 23.25pt; padding-bottom: 0.75pt; padding-top: 0.75pt; width: 48pt;&quot; width=&quot;64&quot;&gt;10&lt;/td&gt;&lt;td class=&quot;xl66&quot; style=&quot;border-left-style: none; border-top-style: none; padding-bottom: 0.75pt; padding-top: 0.75pt;&quot;&gt;&lt;a href=&quot;http://shareengineer.blogspot.com/2013/01/unit-ii-instruction-level-parallelism.html&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;Instruction Level Parallelism&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr height=&quot;25&quot; style=&quot;height: 18.75pt;&quot;&gt;&lt;td class=&quot;xl65&quot; height=&quot;25&quot; style=&quot;border-top-style: none; height: 18.75pt; padding-bottom: 0.75pt; padding-top: 0.75pt; width: 48pt;&quot; width=&quot;64&quot;&gt;11&lt;/td&gt;&lt;td class=&quot;xl66&quot; style=&quot;border-left-style: none; border-top-style: none; padding-bottom: 0.75pt; padding-top: 0.75pt;&quot;&gt;&lt;a href=&quot;http://shareengineer.blogspot.com/2013/01/dynamic-scheduling.html&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;Dynamic scheduling&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr height=&quot;50&quot; style=&quot;height: 37.5pt;&quot;&gt;&lt;td class=&quot;xl65&quot; height=&quot;50&quot; style=&quot;border-top-style: none; height: 37.5pt; padding-bottom: 0.75pt; padding-top: 0.75pt; width: 48pt;&quot; width=&quot;64&quot;&gt;12&lt;/td&gt;&lt;td class=&quot;xl66&quot; style=&quot;border-left-style: none; border-top-style: none; padding-bottom: 0.75pt; padding-top: 0.75pt;&quot;&gt;&lt;a href=&quot;http://shareengineer.blogspot.com/2013/01/dynamic-hardware-prediction.html&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;Dynamic hardware prediction&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr height=&quot;1&quot; style=&quot;height: 0.75pt;&quot;&gt;&lt;td class=&quot;xl65&quot; height=&quot;1&quot; style=&quot;border-top-style: none; height: 0.75pt; padding-bottom: 0.75pt; padding-top: 0.75pt; width: 48pt;&quot; width=&quot;64&quot;&gt;13&lt;/td&gt;&lt;td class=&quot;xl67&quot; style=&quot;border-left-style: none; border-top-style: none;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr height=&quot;25&quot; style=&quot;height: 18.75pt;&quot;&gt;&lt;td class=&quot;xl65&quot; height=&quot;25&quot; style=&quot;border-top-style: none; height: 18.75pt; padding-bottom: 0.75pt; padding-top: 0.75pt; width: 48pt;&quot; width=&quot;64&quot;&gt;14&lt;/td&gt;&lt;td class=&quot;xl66&quot; style=&quot;border-left-style: none; border-top-style: none; padding-bottom: 0.75pt; padding-top: 0.75pt;&quot;&gt;&lt;a href=&quot;http://shareengineer.blogspot.com/2013/01/multiple-issue.html&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;Multiple Issue&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr height=&quot;25&quot; style=&quot;height: 18.75pt;&quot;&gt;&lt;td class=&quot;xl65&quot; height=&quot;25&quot; style=&quot;border-top-style: none; height: 18.75pt; padding-bottom: 0.75pt; padding-top: 0.75pt; width: 48pt;&quot; width=&quot;64&quot;&gt;15&lt;/td&gt;&lt;td class=&quot;xl66&quot; style=&quot;border-left-style: none; border-top-style: none; padding-bottom: 0.75pt; padding-top: 0.75pt;&quot;&gt;&lt;a href=&quot;http://shareengineer.blogspot.com/2013/01/hardware-based-speculation.html&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;Hardware based speculation&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr height=&quot;25&quot; style=&quot;height: 18.75pt;&quot;&gt;&lt;td class=&quot;xl65&quot; height=&quot;25&quot; style=&quot;border-top-style: none; height: 18.75pt; padding-bottom: 0.75pt; padding-top: 0.75pt; width: 48pt;&quot; width=&quot;64&quot;&gt;16&lt;/td&gt;&lt;td class=&quot;xl66&quot; style=&quot;border-left-style: none; border-top-style: none; padding-bottom: 0.75pt; padding-top: 0.75pt;&quot;&gt;&lt;a href=&quot;http://shareengineer.blogspot.com/2013/01/limitations-of-ilp.html&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;Limitations of ILP&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr height=&quot;38&quot; style=&quot;height: 28.5pt;&quot;&gt;&lt;td class=&quot;xl65&quot; height=&quot;38&quot; style=&quot;border-top-style: none; height: 28.5pt; padding-bottom: 0.75pt; padding-top: 0.75pt; width: 48pt;&quot; width=&quot;64&quot;&gt;17&lt;/td&gt;&lt;td class=&quot;xl66&quot; style=&quot;border-left-style: none; border-top-style: none; padding-bottom: 0.75pt; padding-top: 0.75pt;&quot;&gt;&lt;a href=&quot;http://shareengineer.blogspot.com/2013/01/case-study.html&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;case study&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr height=&quot;32&quot; style=&quot;height: 24pt;&quot;&gt;&lt;td class=&quot;xl65&quot; height=&quot;32&quot; style=&quot;border-top-style: none; height: 24pt; padding-bottom: 0.75pt; padding-top: 0.75pt; width: 48pt;&quot; width=&quot;64&quot;&gt;18&lt;/td&gt;&lt;td class=&quot;xl66&quot; style=&quot;border-left-style: none; border-top-style: none; padding-bottom: 0.75pt; padding-top: 0.75pt;&quot;&gt;&lt;a href=&quot;http://shareengineer.blogspot.com/2013/01/compiler-techniques-for-exposing-ilp.html&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;Compiler techniques for exposing ILP&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr height=&quot;36&quot; style=&quot;height: 27pt;&quot;&gt;&lt;td class=&quot;xl65&quot; height=&quot;36&quot; style=&quot;border-top-style: none; height: 27pt; padding-bottom: 0.75pt; padding-top: 0.75pt; width: 48pt;&quot; width=&quot;64&quot;&gt;20&lt;/td&gt;&lt;td class=&quot;xl66&quot; style=&quot;border-left-style: none; border-top-style: none; padding-bottom: 0.75pt; padding-top: 0.75pt;&quot;&gt;&lt;a href=&quot;http://shareengineer.blogspot.com/2013/01/static-branch-prediction.html&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;Static branch prediction&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr height=&quot;47&quot; style=&quot;height: 35.25pt;&quot;&gt;&lt;td class=&quot;xl65&quot; height=&quot;47&quot; style=&quot;border-top-style: none; height: 35.25pt; padding-bottom: 0.75pt; padding-top: 0.75pt; width: 48pt;&quot; width=&quot;64&quot;&gt;21&lt;/td&gt;&lt;td class=&quot;xl66&quot; style=&quot;border-left-style: none; border-top-style: none; padding-bottom: 0.75pt; padding-top: 0.75pt;&quot;&gt;&lt;a href=&quot;http://shareengineer.blogspot.com/2013/01/hardware-support-for-exposing-more.html&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;Hardware support for exposing more parallelism&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr height=&quot;54&quot; style=&quot;height: 40.5pt;&quot;&gt;&lt;td class=&quot;xl65&quot; height=&quot;54&quot; style=&quot;border-top-style: none; height: 40.5pt; padding-bottom: 0.75pt; padding-top: 0.75pt; width: 48pt;&quot; width=&quot;64&quot;&gt;22&lt;/td&gt;&lt;td class=&quot;xl66&quot; style=&quot;border-left-style: none; border-top-style: none; padding-bottom: 0.75pt; padding-top: 0.75pt;&quot;&gt;&lt;a href=&quot;http://shareengineer.blogspot.com/2013/01/hardware-vs-software-speculation.html&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;Hardware vs software speculation mechanism&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr height=&quot;25&quot; style=&quot;height: 18.75pt;&quot;&gt;&lt;td class=&quot;xl65&quot; height=&quot;25&quot; style=&quot;border-top-style: none; height: 18.75pt; padding-bottom: 0.75pt; padding-top: 0.75pt; width: 48pt;&quot; width=&quot;64&quot;&gt;23&lt;/td&gt;&lt;td class=&quot;xl66&quot; style=&quot;border-left-style: none; border-top-style: none; padding-bottom: 0.75pt; padding-top: 0.75pt;&quot;&gt;&lt;a href=&quot;http://shareengineer.blogspot.com/2013/01/case-study-dependences-and-instruction.html&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;Case study&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr height=&quot;62&quot; style=&quot;height: 46.5pt;&quot;&gt;&lt;td class=&quot;xl65&quot; height=&quot;62&quot; style=&quot;border-top-style: none; height: 46.5pt; padding-bottom: 0.75pt; padding-top: 0.75pt; width: 48pt;&quot; width=&quot;64&quot;&gt;24&lt;/td&gt;&lt;td class=&quot;xl66&quot; style=&quot;border-left-style: none; border-top-style: none; padding-bottom: 0.75pt; padding-top: 0.75pt;&quot;&gt;&lt;a href=&quot;http://shareengineer.blogspot.com/2013/01/symmetric-shared-memory-architecture.html&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;Symmetric shared memory architecture&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr height=&quot;57&quot; style=&quot;height: 42.75pt;&quot;&gt;&lt;td class=&quot;xl65&quot; height=&quot;57&quot; style=&quot;border-top-style: none; height: 42.75pt; padding-bottom: 0.75pt; padding-top: 0.75pt; width: 48pt;&quot; width=&quot;64&quot;&gt;25&lt;/td&gt;&lt;td class=&quot;xl66&quot; style=&quot;border-left-style: none; border-top-style: none; padding-bottom: 0.75pt; padding-top: 0.75pt;&quot;&gt;&lt;a href=&quot;http://shareengineer.blogspot.com/2013/01/distributed-shared-memory-and-directory.html&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;distributed shared memory and directory based coherence&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr height=&quot;25&quot; style=&quot;height: 18.75pt;&quot;&gt;&lt;td class=&quot;xl65&quot; height=&quot;25&quot; style=&quot;border-top-style: none; height: 18.75pt; padding-bottom: 0.75pt; padding-top: 0.75pt; width: 48pt;&quot; width=&quot;64&quot;&gt;26&lt;/td&gt;&lt;td class=&quot;xl66&quot; style=&quot;border-left-style: none; border-top-style: none; padding-bottom: 0.75pt; padding-top: 0.75pt;&quot;&gt;&lt;a href=&quot;http://shareengineer.blogspot.com/2013/01/performance-issues.html&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;Performance issues&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr height=&quot;25&quot; style=&quot;height: 18.75pt;&quot;&gt;&lt;td class=&quot;xl65&quot; height=&quot;25&quot; style=&quot;border-top-style: none; height: 18.75pt; padding-bottom: 0.75pt; padding-top: 0.75pt; width: 48pt;&quot; width=&quot;64&quot;&gt;27&lt;/td&gt;&lt;td class=&quot;xl66&quot; style=&quot;border-left-style: none; border-top-style: none; padding-bottom: 0.75pt; padding-top: 0.75pt;&quot;&gt;&lt;a href=&quot;http://shareengineer.blogspot.com/2013/01/synchronisation-issues_4.html&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;Synchronisation issues&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr height=&quot;59&quot; style=&quot;height: 44.25pt;&quot;&gt;&lt;td class=&quot;xl65&quot; height=&quot;59&quot; style=&quot;border-top-style: none; height: 44.25pt; padding-bottom: 0.75pt; padding-top: 0.75pt; width: 48pt;&quot; width=&quot;64&quot;&gt;28&lt;/td&gt;&lt;td class=&quot;xl66&quot; style=&quot;border-left-style: none; border-top-style: none; padding-bottom: 0.75pt; padding-top: 0.75pt;&quot;&gt;&lt;a href=&quot;http://shareengineer.blogspot.com/2013/01/models-of-memory-consistency.html&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;Models of memory consistency&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr height=&quot;66&quot; style=&quot;height: 49.5pt;&quot;&gt;&lt;td class=&quot;xl65&quot; height=&quot;66&quot; style=&quot;border-top-style: none; height: 49.5pt; padding-bottom: 0.75pt; padding-top: 0.75pt; width: 48pt;&quot; width=&quot;64&quot;&gt;29&lt;/td&gt;&lt;td class=&quot;xl66&quot; style=&quot;border-left-style: none; border-top-style: none; padding-bottom: 0.75pt; padding-top: 0.75pt;&quot;&gt;&lt;a href=&quot;http://shareengineer.blogspot.com/2013/01/software-and-hardware-multithreading.html&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;Software and hardware multithreading&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr height=&quot;43&quot; style=&quot;height: 32.25pt;&quot;&gt;&lt;td class=&quot;xl65&quot; height=&quot;43&quot; style=&quot;border-top-style: none; height: 32.25pt; padding-bottom: 0.75pt; padding-top: 0.75pt; width: 48pt;&quot; width=&quot;64&quot;&gt;30&lt;/td&gt;&lt;td class=&quot;xl66&quot; style=&quot;border-left-style: none; border-top-style: none; padding-bottom: 0.75pt; padding-top: 0.75pt;&quot;&gt;&lt;a href=&quot;http://shareengineer.blogspot.com/2013/01/smt-architectures-design-issues.html&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;SMT architecture&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr height=&quot;25&quot; style=&quot;height: 18.75pt;&quot;&gt;&lt;td class=&quot;xl65&quot; height=&quot;25&quot; style=&quot;border-top-style: none; height: 18.75pt; padding-bottom: 0.75pt; padding-top: 0.75pt; width: 48pt;&quot; width=&quot;64&quot;&gt;31&lt;/td&gt;&lt;td class=&quot;xl66&quot; style=&quot;border-left-style: none; border-top-style: none; padding-bottom: 0.75pt; padding-top: 0.75pt;&quot;&gt;&lt;a href=&quot;http://shareengineer.blogspot.com/2013/01/cmp-architectures-design-issues.html&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;CMP architecture&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr height=&quot;25&quot; style=&quot;height: 18.75pt;&quot;&gt;&lt;td class=&quot;xl65&quot; height=&quot;25&quot; style=&quot;border-top-style: none; height: 18.75pt; padding-bottom: 0.75pt; padding-top: 0.75pt; width: 48pt;&quot; width=&quot;64&quot;&gt;32&lt;/td&gt;&lt;td class=&quot;xl66&quot; style=&quot;border-left-style: none; border-top-style: none; padding-bottom: 0.75pt; padding-top: 0.75pt;&quot;&gt;&lt;a href=&quot;http://shareengineer.blogspot.com/2013/01/case-study-snooping-coherence-protocol.html&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;Case study&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr height=&quot;25&quot; style=&quot;height: 18.75pt;&quot;&gt;&lt;td class=&quot;xl65&quot; height=&quot;25&quot; style=&quot;border-top-style: none; height: 18.75pt; padding-bottom: 0.75pt; padding-top: 0.75pt; width: 48pt;&quot; width=&quot;64&quot;&gt;33&lt;/td&gt;&lt;td class=&quot;xl66&quot; style=&quot;border-left-style: none; border-top-style: none; padding-bottom: 0.75pt; padding-top: 0.75pt;&quot;&gt;&lt;a href=&quot;http://shareengineer.blogspot.com/2013/01/cache-performance.html&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;Cache performance&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr height=&quot;25&quot; style=&quot;height: 18.75pt;&quot;&gt;&lt;td class=&quot;xl65&quot; height=&quot;25&quot; style=&quot;border-top-style: none; height: 18.75pt; padding-bottom: 0.75pt; padding-top: 0.75pt; width: 48pt;&quot; width=&quot;64&quot;&gt;34&lt;/td&gt;&lt;td class=&quot;xl66&quot; style=&quot;border-left-style: none; border-top-style: none; padding-bottom: 0.75pt; padding-top: 0.75pt;&quot;&gt;&lt;a href=&quot;http://shareengineer.blogspot.com/2013/01/reducing-cache-miss-penalty-and-miss.html&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;Reducing cache miss penalty&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr height=&quot;25&quot; style=&quot;height: 18.75pt;&quot;&gt;&lt;td class=&quot;xl65&quot; height=&quot;25&quot; style=&quot;border-top-style: none; height: 18.75pt; padding-bottom: 0.75pt; padding-top: 0.75pt; width: 48pt;&quot; width=&quot;64&quot;&gt;35&lt;/td&gt;&lt;td class=&quot;xl66&quot; style=&quot;border-left-style: none; border-top-style: none; padding-bottom: 0.75pt; padding-top: 0.75pt;&quot;&gt;&lt;a href=&quot;http://shareengineer.blogspot.com/2013/01/reducing-hit-time.html&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;Reducing hit time&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr height=&quot;25&quot; style=&quot;height: 18.75pt;&quot;&gt;&lt;td class=&quot;xl65&quot; height=&quot;25&quot; style=&quot;border-top-style: none; height: 18.75pt; padding-bottom: 0.75pt; padding-top: 0.75pt; width: 48pt;&quot; width=&quot;64&quot;&gt;36&lt;/td&gt;&lt;td class=&quot;xl66&quot; style=&quot;border-left-style: none; border-top-style: none; padding-bottom: 0.75pt; padding-top: 0.75pt;&quot;&gt;&lt;a href=&quot;http://shareengineer.blogspot.com/2013/01/main-memory-and-performance.html&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;Main memeory and performance&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr height=&quot;25&quot; style=&quot;height: 18.75pt;&quot;&gt;&lt;td class=&quot;xl65&quot; height=&quot;25&quot; style=&quot;border-top-style: none; height: 18.75pt; padding-bottom: 0.75pt; padding-top: 0.75pt; width: 48pt;&quot; width=&quot;64&quot;&gt;37&lt;/td&gt;&lt;td class=&quot;xl66&quot; style=&quot;border-left-style: none; border-top-style: none; padding-bottom: 0.75pt; padding-top: 0.75pt;&quot;&gt;&lt;a href=&quot;http://shareengineer.blogspot.com/2013/01/memory-technology.html&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;Memory Technology&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr height=&quot;25&quot; style=&quot;height: 18.75pt;&quot;&gt;&lt;td class=&quot;xl65&quot; height=&quot;25&quot; style=&quot;border-top-style: none; height: 18.75pt; padding-bottom: 0.75pt; padding-top: 0.75pt; width: 48pt;&quot; width=&quot;64&quot;&gt;38&lt;/td&gt;&lt;td class=&quot;xl66&quot; style=&quot;border-left-style: none; border-top-style: none; padding-bottom: 0.75pt; padding-top: 0.75pt;&quot;&gt;&lt;a href=&quot;http://shareengineer.blogspot.com/2013/01/types-of-storage-devices.html&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;Types of storage devices&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr height=&quot;25&quot; style=&quot;height: 18.75pt;&quot;&gt;&lt;td class=&quot;xl65&quot; height=&quot;25&quot; style=&quot;border-top-style: none; height: 18.75pt; padding-bottom: 0.75pt; padding-top: 0.75pt; width: 48pt;&quot; width=&quot;64&quot;&gt;39&lt;/td&gt;&lt;td class=&quot;xl66&quot; style=&quot;border-left-style: none; border-top-style: none; padding-bottom: 0.75pt; padding-top: 0.75pt;&quot;&gt;&lt;a href=&quot;http://shareengineer.blogspot.com/2013/01/buses-and-raid.html&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;Buses and RAID&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr height=&quot;25&quot; style=&quot;height: 18.75pt;&quot;&gt;&lt;td class=&quot;xl65&quot; height=&quot;25&quot; style=&quot;border-top-style: none; height: 18.75pt; padding-bottom: 0.75pt; padding-top: 0.75pt; width: 48pt;&quot; width=&quot;64&quot;&gt;40&lt;/td&gt;&lt;td class=&quot;xl66&quot; style=&quot;border-left-style: none; border-top-style: none;&quot;&gt;&lt;a href=&quot;http://shareengineer.blogspot.com/2013/01/blog-post_4.html&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;Reliability, availability and dependability&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr height=&quot;25&quot; style=&quot;height: 18.75pt;&quot;&gt;&lt;td class=&quot;xl65&quot; height=&quot;25&quot; style=&quot;border-top-style: none; height: 18.75pt; padding-bottom: 0.75pt; padding-top: 0.75pt; width: 48pt;&quot; width=&quot;64&quot;&gt;41&lt;/td&gt;&lt;td class=&quot;xl66&quot; style=&quot;border-left-style: none; border-top-style: none; padding-bottom: 0.75pt; padding-top: 0.75pt;&quot;&gt;&lt;a href=&quot;http://shareengineer.blogspot.com/2013/01/io-performance-measures-and-designing-io.html&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;I/O performance&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr height=&quot;20&quot; style=&quot;height: 15pt;&quot;&gt;&lt;td height=&quot;20&quot; style=&quot;height: 15pt;&quot;&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://shareengineer.blogspot.com/feeds/4395796912725967480/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shareengineer.blogspot.com/2013/01/bebtech-advanced-computer-architecture.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8058748219327537881/posts/default/4395796912725967480'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8058748219327537881/posts/default/4395796912725967480'/><link rel='alternate' type='text/html' href='http://shareengineer.blogspot.com/2013/01/bebtech-advanced-computer-architecture.html' title='B.E/B.TECH ADVANCED COMPUTER ARCHITECTURE'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/17002818406074312384</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8058748219327537881.post-8309557276792878596</id><published>2013-01-04T22:00:00.004-08:00</published><updated>2013-01-04T22:00:56.637-08:00</updated><title type='text'>M.E/M.TECH ADVANCED COMPUTER ARCHITECTURE NOTES</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; style=&quot;border-collapse: collapse; width: 505px;&quot;&gt;
 &lt;colgroup&gt;&lt;col style=&quot;width: 48pt;&quot; width=&quot;64&quot;&gt;&lt;/col&gt;
 &lt;col style=&quot;mso-width-alt: 16128; mso-width-source: userset; width: 331pt;&quot; width=&quot;441&quot;&gt;&lt;/col&gt;
 &lt;/colgroup&gt;&lt;tbody&gt;
&lt;tr height=&quot;55&quot; style=&quot;height: 41.25pt; mso-height-source: userset; mso-yfti-firstrow: yes; mso-yfti-irow: 0;&quot;&gt;
  &lt;td class=&quot;xl65&quot; height=&quot;55&quot; style=&quot;height: 41.25pt; padding-bottom: .75pt; padding-top: .75pt; width: 48pt;&quot; width=&quot;64&quot;&gt;1&lt;/td&gt;
  &lt;td class=&quot;xl66&quot; style=&quot;border-left: none; padding-bottom: .75pt; padding-top: .75pt; width: 331pt;&quot; width=&quot;441&quot;&gt;&lt;a href=&quot;http://shareengineer.blogspot.com/2013/01/memtech-advanced-computer-architecture.html&quot;&gt;&lt;span style=&quot;font-size: 14.0pt;&quot;&gt;Fundamentals of computer design&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr height=&quot;46&quot; style=&quot;height: 34.5pt; mso-height-source: userset; mso-yfti-irow: 1;&quot;&gt;
  &lt;td class=&quot;xl65&quot; height=&quot;46&quot; style=&quot;border-top: none; height: 34.5pt; padding-bottom: .75pt; padding-top: .75pt; width: 48pt;&quot; width=&quot;64&quot;&gt;2&lt;/td&gt;
  &lt;td class=&quot;xl66&quot; style=&quot;border-left: none; border-top: none; padding-bottom: .75pt; padding-top: .75pt;&quot;&gt;&lt;a href=&quot;http://shareengineer.blogspot.com/2013/01/measuring-and-reporting-performance.html&quot;&gt;&lt;span style=&quot;font-size: 14.0pt;&quot;&gt;Measuring and reporting performance&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr height=&quot;51&quot; style=&quot;height: 38.25pt; mso-height-source: userset; mso-yfti-irow: 2;&quot;&gt;
  &lt;td class=&quot;xl65&quot; height=&quot;51&quot; style=&quot;border-top: none; height: 38.25pt; padding-bottom: .75pt; padding-top: .75pt; width: 48pt;&quot; width=&quot;64&quot;&gt;3&lt;/td&gt;
  &lt;td class=&quot;xl66&quot; style=&quot;border-left: none; border-top: none; padding-bottom: .75pt; padding-top: .75pt;&quot;&gt;&lt;a href=&quot;http://shareengineer.blogspot.com/2013/01/quantitative-principles-of-computer.html&quot;&gt;&lt;span style=&quot;font-size: 14.0pt;&quot;&gt;Quantitative principles of computer design&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr height=&quot;33&quot; style=&quot;height: 24.75pt; mso-height-source: userset; mso-yfti-irow: 3;&quot;&gt;
  &lt;td class=&quot;xl65&quot; height=&quot;33&quot; style=&quot;border-top: none; height: 24.75pt; padding-bottom: .75pt; padding-top: .75pt; width: 48pt;&quot; width=&quot;64&quot;&gt;4&lt;/td&gt;
  &lt;td class=&quot;xl66&quot; style=&quot;border-left: none; border-top: none; padding-bottom: .75pt; padding-top: .75pt;&quot;&gt;&lt;a href=&quot;http://shareengineer.blogspot.com/2013/01/instruction-set-principles-basics-of.html&quot;&gt;&lt;span style=&quot;font-size: 14.0pt;&quot;&gt;ISA&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr height=&quot;25&quot; style=&quot;height: 18.75pt; mso-yfti-irow: 4;&quot;&gt;
  &lt;td class=&quot;xl65&quot; height=&quot;25&quot; style=&quot;border-top: none; height: 18.75pt; padding-bottom: .75pt; padding-top: .75pt; width: 48pt;&quot; width=&quot;64&quot;&gt;6&lt;/td&gt;
  &lt;td class=&quot;xl66&quot; style=&quot;border-left: none; border-top: none; padding-bottom: .75pt; padding-top: .75pt;&quot;&gt;&lt;a href=&quot;http://shareengineer.blogspot.com/2013/01/pipelining.html&quot;&gt;&lt;span style=&quot;font-size: 14.0pt;&quot;&gt;Pipelining&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr height=&quot;25&quot; style=&quot;height: 18.75pt; mso-yfti-irow: 5;&quot;&gt;
  &lt;td class=&quot;xl65&quot; height=&quot;25&quot; style=&quot;border-top: none; height: 18.75pt; padding-bottom: .75pt; padding-top: .75pt; width: 48pt;&quot; width=&quot;64&quot;&gt;5&lt;/td&gt;
  &lt;td class=&quot;xl66&quot; style=&quot;border-left: none; border-top: none; padding-bottom: .75pt; padding-top: .75pt;&quot;&gt;&lt;a href=&quot;http://shareengineer.blogspot.com/2013/01/instruction-set-architecture.html&quot;&gt;&lt;span style=&quot;font-size: 14.0pt;&quot;&gt;Deign issues ISA&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr height=&quot;25&quot; style=&quot;height: 18.75pt; mso-yfti-irow: 6;&quot;&gt;
  &lt;td class=&quot;xl65&quot; height=&quot;25&quot; style=&quot;border-top: none; height: 18.75pt; padding-bottom: .75pt; padding-top: .75pt; width: 48pt;&quot; width=&quot;64&quot;&gt;7&lt;/td&gt;
  &lt;td class=&quot;xl66&quot; style=&quot;border-left: none; border-top: none; padding-bottom: .75pt; padding-top: .75pt;&quot;&gt;&lt;a href=&quot;http://shareengineer.blogspot.com/2013/01/pipeline-hazards.html&quot;&gt;&lt;span style=&quot;font-size: 14.0pt;&quot;&gt;Pipeline hazard&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr height=&quot;25&quot; style=&quot;height: 18.75pt; mso-yfti-irow: 7;&quot;&gt;
  &lt;td class=&quot;xl65&quot; height=&quot;25&quot; style=&quot;border-top: none; height: 18.75pt; padding-bottom: .75pt; padding-top: .75pt; width: 48pt;&quot; width=&quot;64&quot;&gt;8&lt;/td&gt;
  &lt;td class=&quot;xl66&quot; style=&quot;border-left: none; border-top: none; padding-bottom: .75pt; padding-top: .75pt;&quot;&gt;&lt;a href=&quot;http://shareengineer.blogspot.com/2013/01/implementation-simple-implementation-of.html&quot;&gt;&lt;span style=&quot;font-size: 14.0pt;&quot;&gt;Implementation&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr height=&quot;25&quot; style=&quot;height: 18.75pt; mso-yfti-irow: 8;&quot;&gt;
  &lt;td class=&quot;xl65&quot; height=&quot;25&quot; style=&quot;border-top: none; height: 18.75pt; padding-bottom: .75pt; padding-top: .75pt; width: 48pt;&quot; width=&quot;64&quot;&gt;9&lt;/td&gt;
  &lt;td class=&quot;xl66&quot; style=&quot;border-left: none; border-top: none; padding-bottom: .75pt; padding-top: .75pt;&quot;&gt;&lt;a href=&quot;http://shareengineer.blogspot.com/2013/01/multicycle-operation.html&quot;&gt;&lt;span style=&quot;font-size: 14.0pt;&quot;&gt;Multicycle operation&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr height=&quot;31&quot; style=&quot;height: 23.25pt; mso-height-source: userset; mso-yfti-irow: 9;&quot;&gt;
  &lt;td class=&quot;xl65&quot; height=&quot;31&quot; style=&quot;border-top: none; height: 23.25pt; padding-bottom: .75pt; padding-top: .75pt; width: 48pt;&quot; width=&quot;64&quot;&gt;10&lt;/td&gt;
  &lt;td class=&quot;xl66&quot; style=&quot;border-left: none; border-top: none; padding-bottom: .75pt; padding-top: .75pt;&quot;&gt;&lt;a href=&quot;http://shareengineer.blogspot.com/2013/01/unit-ii-instruction-level-parallelism.html&quot;&gt;&lt;span style=&quot;font-size: 14.0pt;&quot;&gt;Instruction Level Parallelism&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr height=&quot;25&quot; style=&quot;height: 18.75pt; mso-yfti-irow: 10;&quot;&gt;
  &lt;td class=&quot;xl65&quot; height=&quot;25&quot; style=&quot;border-top: none; height: 18.75pt; padding-bottom: .75pt; padding-top: .75pt; width: 48pt;&quot; width=&quot;64&quot;&gt;11&lt;/td&gt;
  &lt;td class=&quot;xl66&quot; style=&quot;border-left: none; border-top: none; padding-bottom: .75pt; padding-top: .75pt;&quot;&gt;&lt;a href=&quot;http://shareengineer.blogspot.com/2013/01/dynamic-scheduling.html&quot;&gt;&lt;span style=&quot;font-size: 14.0pt;&quot;&gt;Dynamic scheduling&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr height=&quot;50&quot; style=&quot;height: 37.5pt; mso-height-source: userset; mso-yfti-irow: 11;&quot;&gt;
  &lt;td class=&quot;xl65&quot; height=&quot;50&quot; style=&quot;border-top: none; height: 37.5pt; padding-bottom: .75pt; padding-top: .75pt; width: 48pt;&quot; width=&quot;64&quot;&gt;12&lt;/td&gt;
  &lt;td class=&quot;xl66&quot; style=&quot;border-left: none; border-top: none; padding-bottom: .75pt; padding-top: .75pt;&quot;&gt;&lt;a href=&quot;http://shareengineer.blogspot.com/2013/01/dynamic-hardware-prediction.html&quot;&gt;&lt;span style=&quot;font-size: 14.0pt;&quot;&gt;Dynamic hardware prediction&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr height=&quot;1&quot; style=&quot;height: .75pt; mso-height-source: userset; mso-yfti-irow: 12;&quot;&gt;
  &lt;td class=&quot;xl65&quot; height=&quot;1&quot; style=&quot;border-top: none; height: .75pt; padding-bottom: .75pt; padding-top: .75pt; width: 48pt;&quot; width=&quot;64&quot;&gt;13&lt;/td&gt;
  &lt;td class=&quot;xl67&quot; style=&quot;border-left: none; border-top: none;&quot;&gt;&amp;nbsp;&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr height=&quot;25&quot; style=&quot;height: 18.75pt; mso-yfti-irow: 13;&quot;&gt;
  &lt;td class=&quot;xl65&quot; height=&quot;25&quot; style=&quot;border-top: none; height: 18.75pt; padding-bottom: .75pt; padding-top: .75pt; width: 48pt;&quot; width=&quot;64&quot;&gt;14&lt;/td&gt;
  &lt;td class=&quot;xl66&quot; style=&quot;border-left: none; border-top: none; padding-bottom: .75pt; padding-top: .75pt;&quot;&gt;&lt;a href=&quot;http://shareengineer.blogspot.com/2013/01/multiple-issue.html&quot;&gt;&lt;span style=&quot;font-size: 14.0pt;&quot;&gt;Multiple Issue&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr height=&quot;25&quot; style=&quot;height: 18.75pt; mso-yfti-irow: 14;&quot;&gt;
  &lt;td class=&quot;xl65&quot; height=&quot;25&quot; style=&quot;border-top: none; height: 18.75pt; padding-bottom: .75pt; padding-top: .75pt; width: 48pt;&quot; width=&quot;64&quot;&gt;15&lt;/td&gt;
  &lt;td class=&quot;xl66&quot; style=&quot;border-left: none; border-top: none; padding-bottom: .75pt; padding-top: .75pt;&quot;&gt;&lt;a href=&quot;http://shareengineer.blogspot.com/2013/01/hardware-based-speculation.html&quot;&gt;&lt;span style=&quot;font-size: 14.0pt;&quot;&gt;Hardware based speculation&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr height=&quot;25&quot; style=&quot;height: 18.75pt; mso-yfti-irow: 15;&quot;&gt;
  &lt;td class=&quot;xl65&quot; height=&quot;25&quot; style=&quot;border-top: none; height: 18.75pt; padding-bottom: .75pt; padding-top: .75pt; width: 48pt;&quot; width=&quot;64&quot;&gt;16&lt;/td&gt;
  &lt;td class=&quot;xl66&quot; style=&quot;border-left: none; border-top: none; padding-bottom: .75pt; padding-top: .75pt;&quot;&gt;&lt;a href=&quot;http://shareengineer.blogspot.com/2013/01/limitations-of-ilp.html&quot;&gt;&lt;span style=&quot;font-size: 14.0pt;&quot;&gt;Limitations of ILP&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr height=&quot;38&quot; style=&quot;height: 28.5pt; mso-height-source: userset; mso-yfti-irow: 16;&quot;&gt;
  &lt;td class=&quot;xl65&quot; height=&quot;38&quot; style=&quot;border-top: none; height: 28.5pt; padding-bottom: .75pt; padding-top: .75pt; width: 48pt;&quot; width=&quot;64&quot;&gt;17&lt;/td&gt;
  &lt;td class=&quot;xl66&quot; style=&quot;border-left: none; border-top: none; padding-bottom: .75pt; padding-top: .75pt;&quot;&gt;&lt;a href=&quot;http://shareengineer.blogspot.com/2013/01/case-study.html&quot;&gt;&lt;span style=&quot;font-size: 14.0pt;&quot;&gt;case study&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr height=&quot;32&quot; style=&quot;height: 24.0pt; mso-height-source: userset; mso-yfti-irow: 17;&quot;&gt;
  &lt;td class=&quot;xl65&quot; height=&quot;32&quot; style=&quot;border-top: none; height: 24.0pt; padding-bottom: .75pt; padding-top: .75pt; width: 48pt;&quot; width=&quot;64&quot;&gt;18&lt;/td&gt;
  &lt;td class=&quot;xl66&quot; style=&quot;border-left: none; border-top: none; padding-bottom: .75pt; padding-top: .75pt;&quot;&gt;&lt;a href=&quot;http://shareengineer.blogspot.com/2013/01/compiler-techniques-for-exposing-ilp.html&quot;&gt;&lt;span style=&quot;font-size: 14.0pt;&quot;&gt;Compiler techniques for exposing ILP&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr height=&quot;36&quot; style=&quot;height: 27.0pt; mso-height-source: userset; mso-yfti-irow: 19;&quot;&gt;
  &lt;td class=&quot;xl65&quot; height=&quot;36&quot; style=&quot;border-top: none; height: 27.0pt; padding-bottom: .75pt; padding-top: .75pt; width: 48pt;&quot; width=&quot;64&quot;&gt;20&lt;/td&gt;
  &lt;td class=&quot;xl66&quot; style=&quot;border-left: none; border-top: none; padding-bottom: .75pt; padding-top: .75pt;&quot;&gt;&lt;a href=&quot;http://shareengineer.blogspot.com/2013/01/static-branch-prediction.html&quot;&gt;&lt;span style=&quot;font-size: 14.0pt;&quot;&gt;Static branch prediction&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr height=&quot;47&quot; style=&quot;height: 35.25pt; mso-height-source: userset; mso-yfti-irow: 20;&quot;&gt;
  &lt;td class=&quot;xl65&quot; height=&quot;47&quot; style=&quot;border-top: none; height: 35.25pt; padding-bottom: .75pt; padding-top: .75pt; width: 48pt;&quot; width=&quot;64&quot;&gt;21&lt;/td&gt;
  &lt;td class=&quot;xl66&quot; style=&quot;border-left: none; border-top: none; padding-bottom: .75pt; padding-top: .75pt;&quot;&gt;&lt;a href=&quot;http://shareengineer.blogspot.com/2013/01/hardware-support-for-exposing-more.html&quot;&gt;&lt;span style=&quot;font-size: 14.0pt;&quot;&gt;Hardware support for exposing more parallelism&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr height=&quot;54&quot; style=&quot;height: 40.5pt; mso-height-source: userset; mso-yfti-irow: 21;&quot;&gt;
  &lt;td class=&quot;xl65&quot; height=&quot;54&quot; style=&quot;border-top: none; height: 40.5pt; padding-bottom: .75pt; padding-top: .75pt; width: 48pt;&quot; width=&quot;64&quot;&gt;22&lt;/td&gt;
  &lt;td class=&quot;xl66&quot; style=&quot;border-left: none; border-top: none; padding-bottom: .75pt; padding-top: .75pt;&quot;&gt;&lt;a href=&quot;http://shareengineer.blogspot.com/2013/01/hardware-vs-software-speculation.html&quot;&gt;&lt;span style=&quot;font-size: 14.0pt;&quot;&gt;Hardware vs software speculation mechanism&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr height=&quot;25&quot; style=&quot;height: 18.75pt; mso-yfti-irow: 22;&quot;&gt;
  &lt;td class=&quot;xl65&quot; height=&quot;25&quot; style=&quot;border-top: none; height: 18.75pt; padding-bottom: .75pt; padding-top: .75pt; width: 48pt;&quot; width=&quot;64&quot;&gt;23&lt;/td&gt;
  &lt;td class=&quot;xl66&quot; style=&quot;border-left: none; border-top: none; padding-bottom: .75pt; padding-top: .75pt;&quot;&gt;&lt;a href=&quot;http://shareengineer.blogspot.com/2013/01/case-study-dependences-and-instruction.html&quot;&gt;&lt;span style=&quot;font-size: 14.0pt;&quot;&gt;Case study&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr height=&quot;62&quot; style=&quot;height: 46.5pt; mso-height-source: userset; mso-yfti-irow: 23;&quot;&gt;
  &lt;td class=&quot;xl65&quot; height=&quot;62&quot; style=&quot;border-top: none; height: 46.5pt; padding-bottom: .75pt; padding-top: .75pt; width: 48pt;&quot; width=&quot;64&quot;&gt;24&lt;/td&gt;
  &lt;td class=&quot;xl66&quot; style=&quot;border-left: none; border-top: none; padding-bottom: .75pt; padding-top: .75pt;&quot;&gt;&lt;a href=&quot;http://shareengineer.blogspot.com/2013/01/symmetric-shared-memory-architecture.html&quot;&gt;&lt;span style=&quot;font-size: 14.0pt;&quot;&gt;Symmetric shared memory architecture&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr height=&quot;57&quot; style=&quot;height: 42.75pt; mso-height-source: userset; mso-yfti-irow: 24;&quot;&gt;
  &lt;td class=&quot;xl65&quot; height=&quot;57&quot; style=&quot;border-top: none; height: 42.75pt; padding-bottom: .75pt; padding-top: .75pt; width: 48pt;&quot; width=&quot;64&quot;&gt;25&lt;/td&gt;
  &lt;td class=&quot;xl66&quot; style=&quot;border-left: none; border-top: none; padding-bottom: .75pt; padding-top: .75pt;&quot;&gt;&lt;a href=&quot;http://shareengineer.blogspot.com/2013/01/distributed-shared-memory-and-directory.html&quot;&gt;&lt;span style=&quot;font-size: 14.0pt;&quot;&gt;distributed shared memory and directory based
  coherence&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr height=&quot;25&quot; style=&quot;height: 18.75pt; mso-yfti-irow: 25;&quot;&gt;
  &lt;td class=&quot;xl65&quot; height=&quot;25&quot; style=&quot;border-top: none; height: 18.75pt; padding-bottom: .75pt; padding-top: .75pt; width: 48pt;&quot; width=&quot;64&quot;&gt;26&lt;/td&gt;
  &lt;td class=&quot;xl66&quot; style=&quot;border-left: none; border-top: none; padding-bottom: .75pt; padding-top: .75pt;&quot;&gt;&lt;a href=&quot;http://shareengineer.blogspot.com/2013/01/performance-issues.html&quot;&gt;&lt;span style=&quot;font-size: 14.0pt;&quot;&gt;Performance issues&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr height=&quot;25&quot; style=&quot;height: 18.75pt; mso-yfti-irow: 26;&quot;&gt;
  &lt;td class=&quot;xl65&quot; height=&quot;25&quot; style=&quot;border-top: none; height: 18.75pt; padding-bottom: .75pt; padding-top: .75pt; width: 48pt;&quot; width=&quot;64&quot;&gt;27&lt;/td&gt;
  &lt;td class=&quot;xl66&quot; style=&quot;border-left: none; border-top: none; padding-bottom: .75pt; padding-top: .75pt;&quot;&gt;&lt;a href=&quot;http://shareengineer.blogspot.com/2013/01/synchronisation-issues_4.html&quot;&gt;&lt;span style=&quot;font-size: 14.0pt;&quot;&gt;Synchronisation issues&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr height=&quot;59&quot; style=&quot;height: 44.25pt; mso-height-source: userset; mso-yfti-irow: 27;&quot;&gt;
  &lt;td class=&quot;xl65&quot; height=&quot;59&quot; style=&quot;border-top: none; height: 44.25pt; padding-bottom: .75pt; padding-top: .75pt; width: 48pt;&quot; width=&quot;64&quot;&gt;28&lt;/td&gt;
  &lt;td class=&quot;xl66&quot; style=&quot;border-left: none; border-top: none; padding-bottom: .75pt; padding-top: .75pt;&quot;&gt;&lt;a href=&quot;http://shareengineer.blogspot.com/2013/01/models-of-memory-consistency.html&quot;&gt;&lt;span style=&quot;font-size: 14.0pt;&quot;&gt;Models of memory consistency&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr height=&quot;66&quot; style=&quot;height: 49.5pt; mso-height-source: userset; mso-yfti-irow: 28;&quot;&gt;
  &lt;td class=&quot;xl65&quot; height=&quot;66&quot; style=&quot;border-top: none; height: 49.5pt; padding-bottom: .75pt; padding-top: .75pt; width: 48pt;&quot; width=&quot;64&quot;&gt;29&lt;/td&gt;
  &lt;td class=&quot;xl66&quot; style=&quot;border-left: none; border-top: none; padding-bottom: .75pt; padding-top: .75pt;&quot;&gt;&lt;a href=&quot;http://shareengineer.blogspot.com/2013/01/software-and-hardware-multithreading.html&quot;&gt;&lt;span style=&quot;font-size: 14.0pt;&quot;&gt;Software and hardware multithreading&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr height=&quot;43&quot; style=&quot;height: 32.25pt; mso-height-source: userset; mso-yfti-irow: 29;&quot;&gt;
  &lt;td class=&quot;xl65&quot; height=&quot;43&quot; style=&quot;border-top: none; height: 32.25pt; padding-bottom: .75pt; padding-top: .75pt; width: 48pt;&quot; width=&quot;64&quot;&gt;30&lt;/td&gt;
  &lt;td class=&quot;xl66&quot; style=&quot;border-left: none; border-top: none; padding-bottom: .75pt; padding-top: .75pt;&quot;&gt;&lt;a href=&quot;http://shareengineer.blogspot.com/2013/01/smt-architectures-design-issues.html&quot;&gt;&lt;span style=&quot;font-size: 14.0pt;&quot;&gt;SMT architecture&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr height=&quot;25&quot; style=&quot;height: 18.75pt; mso-yfti-irow: 30;&quot;&gt;
  &lt;td class=&quot;xl65&quot; height=&quot;25&quot; style=&quot;border-top: none; height: 18.75pt; padding-bottom: .75pt; padding-top: .75pt; width: 48pt;&quot; width=&quot;64&quot;&gt;31&lt;/td&gt;
  &lt;td class=&quot;xl66&quot; style=&quot;border-left: none; border-top: none; padding-bottom: .75pt; padding-top: .75pt;&quot;&gt;&lt;a href=&quot;http://shareengineer.blogspot.com/2013/01/cmp-architectures-design-issues.html&quot;&gt;&lt;span style=&quot;font-size: 14.0pt;&quot;&gt;CMP architecture&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr height=&quot;25&quot; style=&quot;height: 18.75pt; mso-yfti-irow: 31;&quot;&gt;
  &lt;td class=&quot;xl65&quot; height=&quot;25&quot; style=&quot;border-top: none; height: 18.75pt; padding-bottom: .75pt; padding-top: .75pt; width: 48pt;&quot; width=&quot;64&quot;&gt;32&lt;/td&gt;
  &lt;td class=&quot;xl66&quot; style=&quot;border-left: none; border-top: none; padding-bottom: .75pt; padding-top: .75pt;&quot;&gt;&lt;a href=&quot;http://shareengineer.blogspot.com/2013/01/case-study-snooping-coherence-protocol.html&quot;&gt;&lt;span style=&quot;font-size: 14.0pt;&quot;&gt;Case study&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr height=&quot;25&quot; style=&quot;height: 18.75pt; mso-yfti-irow: 32;&quot;&gt;
  &lt;td class=&quot;xl65&quot; height=&quot;25&quot; style=&quot;border-top: none; height: 18.75pt; padding-bottom: .75pt; padding-top: .75pt; width: 48pt;&quot; width=&quot;64&quot;&gt;33&lt;/td&gt;
  &lt;td class=&quot;xl66&quot; style=&quot;border-left: none; border-top: none; padding-bottom: .75pt; padding-top: .75pt;&quot;&gt;&lt;a href=&quot;http://shareengineer.blogspot.com/2013/01/cache-performance.html&quot;&gt;&lt;span style=&quot;font-size: 14.0pt;&quot;&gt;Cache performance&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr height=&quot;25&quot; style=&quot;height: 18.75pt; mso-yfti-irow: 33;&quot;&gt;
  &lt;td class=&quot;xl65&quot; height=&quot;25&quot; style=&quot;border-top: none; height: 18.75pt; padding-bottom: .75pt; padding-top: .75pt; width: 48pt;&quot; width=&quot;64&quot;&gt;34&lt;/td&gt;
  &lt;td class=&quot;xl66&quot; style=&quot;border-left: none; border-top: none; padding-bottom: .75pt; padding-top: .75pt;&quot;&gt;&lt;a href=&quot;http://shareengineer.blogspot.com/2013/01/reducing-cache-miss-penalty-and-miss.html&quot;&gt;&lt;span style=&quot;font-size: 14.0pt;&quot;&gt;Reducing cache miss penalty&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr height=&quot;25&quot; style=&quot;height: 18.75pt; mso-yfti-irow: 34;&quot;&gt;
  &lt;td class=&quot;xl65&quot; height=&quot;25&quot; style=&quot;border-top: none; height: 18.75pt; padding-bottom: .75pt; padding-top: .75pt; width: 48pt;&quot; width=&quot;64&quot;&gt;35&lt;/td&gt;
  &lt;td class=&quot;xl66&quot; style=&quot;border-left: none; border-top: none; padding-bottom: .75pt; padding-top: .75pt;&quot;&gt;&lt;a href=&quot;http://shareengineer.blogspot.com/2013/01/reducing-hit-time.html&quot;&gt;&lt;span style=&quot;font-size: 14.0pt;&quot;&gt;Reducing hit time&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr height=&quot;25&quot; style=&quot;height: 18.75pt; mso-yfti-irow: 35;&quot;&gt;
  &lt;td class=&quot;xl65&quot; height=&quot;25&quot; style=&quot;border-top: none; height: 18.75pt; padding-bottom: .75pt; padding-top: .75pt; width: 48pt;&quot; width=&quot;64&quot;&gt;36&lt;/td&gt;
  &lt;td class=&quot;xl66&quot; style=&quot;border-left: none; border-top: none; padding-bottom: .75pt; padding-top: .75pt;&quot;&gt;&lt;a href=&quot;http://shareengineer.blogspot.com/2013/01/main-memory-and-performance.html&quot;&gt;&lt;span style=&quot;font-size: 14.0pt;&quot;&gt;Main memeory and performance&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr height=&quot;25&quot; style=&quot;height: 18.75pt; mso-yfti-irow: 36;&quot;&gt;
  &lt;td class=&quot;xl65&quot; height=&quot;25&quot; style=&quot;border-top: none; height: 18.75pt; padding-bottom: .75pt; padding-top: .75pt; width: 48pt;&quot; width=&quot;64&quot;&gt;37&lt;/td&gt;
  &lt;td class=&quot;xl66&quot; style=&quot;border-left: none; border-top: none; padding-bottom: .75pt; padding-top: .75pt;&quot;&gt;&lt;a href=&quot;http://shareengineer.blogspot.com/2013/01/memory-technology.html&quot;&gt;&lt;span style=&quot;font-size: 14.0pt;&quot;&gt;Memory Technology&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr height=&quot;25&quot; style=&quot;height: 18.75pt; mso-yfti-irow: 37;&quot;&gt;
  &lt;td class=&quot;xl65&quot; height=&quot;25&quot; style=&quot;border-top: none; height: 18.75pt; padding-bottom: .75pt; padding-top: .75pt; width: 48pt;&quot; width=&quot;64&quot;&gt;38&lt;/td&gt;
  &lt;td class=&quot;xl66&quot; style=&quot;border-left: none; border-top: none; padding-bottom: .75pt; padding-top: .75pt;&quot;&gt;&lt;a href=&quot;http://shareengineer.blogspot.com/2013/01/types-of-storage-devices.html&quot;&gt;&lt;span style=&quot;font-size: 14.0pt;&quot;&gt;Types of storage devices&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr height=&quot;25&quot; style=&quot;height: 18.75pt; mso-yfti-irow: 38;&quot;&gt;
  &lt;td class=&quot;xl65&quot; height=&quot;25&quot; style=&quot;border-top: none; height: 18.75pt; padding-bottom: .75pt; padding-top: .75pt; width: 48pt;&quot; width=&quot;64&quot;&gt;39&lt;/td&gt;
  &lt;td class=&quot;xl66&quot; style=&quot;border-left: none; border-top: none; padding-bottom: .75pt; padding-top: .75pt;&quot;&gt;&lt;a href=&quot;http://shareengineer.blogspot.com/2013/01/buses-and-raid.html&quot;&gt;&lt;span style=&quot;font-size: 14.0pt;&quot;&gt;Buses and RAID&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr height=&quot;25&quot; style=&quot;height: 18.75pt; mso-yfti-irow: 39;&quot;&gt;
  &lt;td class=&quot;xl65&quot; height=&quot;25&quot; style=&quot;border-top: none; height: 18.75pt; padding-bottom: .75pt; padding-top: .75pt; width: 48pt;&quot; width=&quot;64&quot;&gt;40&lt;/td&gt;
  &lt;td class=&quot;xl66&quot; style=&quot;border-left: none; border-top: none;&quot;&gt;&lt;a href=&quot;http://shareengineer.blogspot.com/2013/01/blog-post_4.html&quot;&gt;&lt;span style=&quot;font-size: 14.0pt;&quot;&gt;Reliability, availability and dependability&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr height=&quot;25&quot; style=&quot;height: 18.75pt; mso-yfti-irow: 40; mso-yfti-lastrow: yes;&quot;&gt;
  &lt;td class=&quot;xl65&quot; height=&quot;25&quot; style=&quot;border-top: none; height: 18.75pt; padding-bottom: .75pt; padding-top: .75pt; width: 48pt;&quot; width=&quot;64&quot;&gt;41&lt;/td&gt;
  &lt;td class=&quot;xl66&quot; style=&quot;border-left: none; border-top: none; padding-bottom: .75pt; padding-top: .75pt;&quot;&gt;&lt;a href=&quot;http://shareengineer.blogspot.com/2013/01/io-performance-measures-and-designing-io.html&quot;&gt;&lt;span style=&quot;font-size: 14.0pt;&quot;&gt;I/O performance&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr height=&quot;20&quot; style=&quot;height: 15.0pt;&quot;&gt;
  &lt;td height=&quot;20&quot; style=&quot;height: 15.0pt;&quot;&gt;&lt;/td&gt;
  &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://shareengineer.blogspot.com/feeds/8309557276792878596/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shareengineer.blogspot.com/2013/01/memtech-advanced-computer-architecture_4.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8058748219327537881/posts/default/8309557276792878596'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8058748219327537881/posts/default/8309557276792878596'/><link rel='alternate' type='text/html' href='http://shareengineer.blogspot.com/2013/01/memtech-advanced-computer-architecture_4.html' title='M.E/M.TECH ADVANCED COMPUTER ARCHITECTURE NOTES'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/17002818406074312384</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8058748219327537881.post-8720832813647380636</id><published>2013-01-04T21:50:00.000-08:00</published><updated>2013-01-04T21:50:20.041-08:00</updated><title type='text'>Synchronisation issues</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;table border=&quot;0&quot; cellpadding=&quot;1&quot; cellspacing=&quot;0&quot; id=&quot;Table1&quot; style=&quot;color: black; width: 100%px;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;div align=&quot;center&quot;&gt;
&lt;span id=&quot;m_title&quot;&gt;Synchronisation issues&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;span id=&quot;m_message&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-align: justify; text-indent: -0.25in;&quot;&gt;
&lt;span id=&quot;m_message&quot;&gt;&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;&lt;img alt=&quot;*&quot; height=&quot;13&quot; src=&quot;file:///C:/Users/TSCS038/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif&quot; width=&quot;15&quot; /&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Synchronization mechanisms are typically built with user-level software routines that rely on hardware supplied synchronization instructions.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span id=&quot;m_message&quot;&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-align: justify; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;&lt;img alt=&quot;*&quot; height=&quot;13&quot; src=&quot;file:///C:/Users/TSCS038/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif&quot; width=&quot;15&quot; /&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;For smaller multiprocessors or low-contention situations, the key hardware capability is an uninterruptible instruction or instruction sequence capable of atomically retrieving.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-align: justify; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;&lt;img alt=&quot;*&quot; height=&quot;13&quot; src=&quot;file:///C:/Users/TSCS038/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif&quot; width=&quot;15&quot; /&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;In larger-scale multiprocessors or high-contention situations, synchronization can become a performance bottleneck because contention introduces additional delays and because latency is potentially greater in such a multiprocessor.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Basic Hardware Primitives&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-align: justify; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;&lt;img alt=&quot;*&quot; height=&quot;13&quot; src=&quot;file:///C:/Users/TSCS038/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif&quot; width=&quot;15&quot; /&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;The key ability we require to implement synchronization in a multiprocessor is&amp;nbsp;&amp;nbsp;&amp;nbsp;asset of hardware primitives with the ability to atomically read and modify a memory location.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-align: justify; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;&lt;img alt=&quot;*&quot; height=&quot;13&quot; src=&quot;file:///C:/Users/TSCS038/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif&quot; width=&quot;15&quot; /&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;There are a number of alternative formulations of the basic hardware primitives, all of which provide the ability to atomically read and modify a location, together with some way to tell if the read and write were performed atomically&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-align: justify; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;&lt;img alt=&quot;*&quot; height=&quot;13&quot; src=&quot;file:///C:/Users/TSCS038/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif&quot; width=&quot;15&quot; /&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;These hardware primitives are the basic building blocks that are used to build a wide variety of user-level synchronization operations, including things such as locks and barriers.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-align: justify; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;&lt;img alt=&quot;*&quot; height=&quot;13&quot; src=&quot;file:///C:/Users/TSCS038/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif&quot; width=&quot;15&quot; /&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;One typical operation for building synchronization operations is&amp;nbsp;&amp;nbsp;&lt;i&gt;&lt;u&gt;atomic exchange,&lt;/u&gt;&amp;nbsp;&lt;/i&gt;which interchanges a value in a register for a value in memory.&lt;i&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-align: justify; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;&lt;img alt=&quot;*&quot; height=&quot;13&quot; src=&quot;file:///C:/Users/TSCS038/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif&quot; width=&quot;15&quot; /&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;To see how to use this to build a basic synchronization operation, assume that we want to build a simple lock where the value 0 is used to indicate that the lock is freehand 1 is used to indicate that the lock is unavailable.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-align: justify; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;&lt;img alt=&quot;*&quot; height=&quot;13&quot; src=&quot;file:///C:/Users/TSCS038/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif&quot; width=&quot;15&quot; /&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;A processor tries to set the lock by doing an exchange of 1, which is in a register, with the memory address corresponding to the lock.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-align: justify; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;&lt;img alt=&quot;*&quot; height=&quot;13&quot; src=&quot;file:///C:/Users/TSCS038/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif&quot; width=&quot;15&quot; /&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;For example, consider two processors that each try to do the exchange simultaneously: This race is broken since exactly one of the processors will perform the exchange first, returning 0, and the second processor will return 1 when it does the exchange.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-align: justify; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;&lt;img alt=&quot;*&quot; height=&quot;13&quot; src=&quot;file:///C:/Users/TSCS038/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif&quot; width=&quot;15&quot; /&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;The key to using the exchange (or swap) primitive to implement synchronization is that the operation is atomic: The exchange is indivisible, and two simultaneous exchanges will be ordered by the write serialization mechanisms.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-align: justify; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;&lt;img alt=&quot;*&quot; height=&quot;13&quot; src=&quot;file:///C:/Users/TSCS038/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif&quot; width=&quot;15&quot; /&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;It is impossible for two processors trying to set the synchronization variable in this manner to both think they have simultaneously set the variable.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-align: justify; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;&lt;img alt=&quot;*&quot; height=&quot;13&quot; src=&quot;file:///C:/Users/TSCS038/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif&quot; width=&quot;15&quot; /&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;There are a number of other atomic primitives that can be used to implement synchronization&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-align: justify; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;&lt;img alt=&quot;*&quot; height=&quot;13&quot; src=&quot;file:///C:/Users/TSCS038/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif&quot; width=&quot;15&quot; /&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;One operation, present in many older multiprocessors, is&amp;nbsp;&lt;i&gt;&lt;u&gt;test-and-set&lt;/u&gt;,&amp;nbsp;&lt;/i&gt;which tests a value and sets it if the value passes the test.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-align: justify; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;&lt;img alt=&quot;*&quot; height=&quot;13&quot; src=&quot;file:///C:/Users/TSCS038/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif&quot; width=&quot;15&quot; /&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;For example, we could define an operation that tested for 0 and set the value to 1, which can be used in a fashion similar to how we used atomic exchange.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-align: justify; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;&lt;img alt=&quot;*&quot; height=&quot;13&quot; src=&quot;file:///C:/Users/TSCS038/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif&quot; width=&quot;15&quot; /&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Another atomic synchronization primitive is&amp;nbsp;&lt;i&gt;&lt;u&gt;fetch-and-increment&lt;/u&gt;:&amp;nbsp;&lt;/i&gt;It returns the value of a memory location and atomically increments it.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-align: justify; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;&lt;img alt=&quot;*&quot; height=&quot;13&quot; src=&quot;file:///C:/Users/TSCS038/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif&quot; width=&quot;15&quot; /&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;This requirement complicates the implementation of coherence, since the hardware cannot allow any other operations between the read and the write, and yet must not deadlock.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-align: justify; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;&lt;img alt=&quot;*&quot; height=&quot;13&quot; src=&quot;file:///C:/Users/TSCS038/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif&quot; width=&quot;15&quot; /&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;An alternative is to have a pair of instructions where the second instruction returns a value from which it can be deduced whether the pair of instructions was executed as if the instructions were atomic.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-align: justify; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;&lt;img alt=&quot;*&quot; height=&quot;13&quot; src=&quot;file:///C:/Users/TSCS038/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif&quot; width=&quot;15&quot; /&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;The pair of instructions includes a special load called a&amp;nbsp;&lt;i&gt;&lt;u&gt;load linked&amp;nbsp;&lt;/u&gt;&lt;/i&gt;&lt;u&gt;or&amp;nbsp;&lt;i&gt;load locked&amp;nbsp;&lt;/i&gt;&lt;/u&gt;and a special store called a&lt;u&gt;&amp;nbsp;&lt;i&gt;store conditional&lt;/i&gt;&lt;/u&gt;.&lt;i&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-align: justify; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;&lt;img alt=&quot;*&quot; height=&quot;13&quot; src=&quot;file:///C:/Users/TSCS038/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif&quot; width=&quot;15&quot; /&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;These instructions are used in sequence: If the contents of the memory location specified by the load linked are changed before the store conditional to the same address occurs, then the store conditional fails.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-align: justify; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;&lt;img alt=&quot;*&quot; height=&quot;13&quot; src=&quot;file:///C:/Users/TSCS038/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif&quot; width=&quot;15&quot; /&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;The store conditional is defined to return 1 if it was successful and a 0 otherwise.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-align: justify; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;&lt;img alt=&quot;*&quot; height=&quot;13&quot; src=&quot;file:///C:/Users/TSCS038/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif&quot; width=&quot;15&quot; /&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;An advantage of the load linked/store conditional mechanism is that it can be used to build other synchronization primitives. For example, here is an atomic fetch-and-increment:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 2in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;LL R2,0(R1) ;load linked&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 1.5in; text-indent: 0.5in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;DADDUI R3,R2,#1 ;increment&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 1.5in; text-indent: 0.5in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;SC R3,0(R1) ;store conditional&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 1.5in; text-indent: 0.5in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;BEQZ R3,try ;branch store fails&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-align: justify; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;&lt;img alt=&quot;*&quot; height=&quot;13&quot; src=&quot;file:///C:/Users/TSCS038/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif&quot; width=&quot;15&quot; /&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;These instructions are typically implemented by keeping track of the address specified in the LL instruction in a register, often called the&amp;nbsp;&lt;i&gt;link register.&lt;/i&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-align: justify; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;&lt;img alt=&quot;*&quot; height=&quot;13&quot; src=&quot;file:///C:/Users/TSCS038/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif&quot; width=&quot;15&quot; /&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;If an interrupt occurs, or if the cache block matching the address in the link register is invalidated (for example, by another SC), the link register is cleared.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-align: justify; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;&lt;img alt=&quot;*&quot; height=&quot;13&quot; src=&quot;file:///C:/Users/TSCS038/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif&quot; width=&quot;15&quot; /&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;In addition, the number of instructions between the load linked and the store conditional should be small to minimize the probability that either an unrelated event or a competing processor causes the store conditional to fail frequently&lt;/span&gt;&lt;/div&gt;
&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://shareengineer.blogspot.com/feeds/8720832813647380636/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shareengineer.blogspot.com/2013/01/synchronisation-issues_4.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8058748219327537881/posts/default/8720832813647380636'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8058748219327537881/posts/default/8720832813647380636'/><link rel='alternate' type='text/html' href='http://shareengineer.blogspot.com/2013/01/synchronisation-issues_4.html' title='Synchronisation issues'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/17002818406074312384</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8058748219327537881.post-1440357865029439190</id><published>2013-01-04T21:08:00.004-08:00</published><updated>2013-01-04T21:08:57.124-08:00</updated><title type='text'>I/O performance measures and Designing I/O</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;1&quot; cellspacing=&quot;0&quot; id=&quot;Table1&quot; style=&quot;color: black; width: 100%px;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;span id=&quot;m_message&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;I/O performance has measures that have no counterparts in CPU design. One of&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;these is diversity: Which I/O devices can connect to the computer system? An-&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;other is capacity: How many I/O devices can connect to a computer system?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;In addition to these unique measures, the traditional measures of performance,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;namely response time and throughput, also apply to I/O. (I/O throughput is some-&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;times called I/O bandwidth, and response time is sometimes called latency.)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Another measure of I/O performance is the interference of I/O with CPU execution. Transferring data may interfere with the execution of another process. There is also overhead due to handling I/O interrupts. Our concern here is how much longer a process will take because of I/O for another process.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Throughput versus Response Time&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;An interaction, or&amp;nbsp;&amp;nbsp;transaction, with a computer is divided into three parts:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;1.&amp;nbsp;&lt;b&gt;&lt;i&gt;Entry time&lt;/i&gt;&lt;/b&gt;—The time for the user to enter the command. The graphics system&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;in Figure 7.26 required 0.25 seconds on average to enter a command versus&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;4.0 seconds for the keyboard system.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;2.&amp;nbsp;&lt;b&gt;&lt;i&gt;System response time&lt;/i&gt;&lt;/b&gt;—The time between when the user enters the command&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;and the complete response is displayed.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;3.&amp;nbsp;&lt;b&gt;&lt;i&gt;Think time&lt;/i&gt;&lt;/b&gt;—The time from the reception of the response until the user begins&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;to enter the next command.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;The sum of these three parts is called the&amp;nbsp;&lt;b&gt;&lt;i&gt;transaction time&lt;/i&gt;&lt;/b&gt;. Several studies report&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;that user productivity is inversely proportional to transaction time;&amp;nbsp;&amp;nbsp;&lt;b&gt;&lt;i&gt;transactions&lt;/i&gt;&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;b&gt;&lt;i&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;per hour&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;are a measure of the work completed per hour by the user.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Whether these results are explained as a better match to the human attention&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Designing an I/O system.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;The art of I/O system design is to find a design that meets goals for cost, depend-&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;ability, and variety of devices while avoiding bottlenecks in I/O performance and&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;dependability. Avoiding bottlenecks means that components must be balanced&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;between main memory and the I/O device, because performance and dependabil-&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;ity—and hence effective cost-performance or cost-dependability—can only be as&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;good as the weakest link in the I/O chain. The architect must also plan for expan-&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;sion so that customers can tailor the I/O to their applications. This expansibility,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;both in numbers and types of I/O devices, has its costs in longer I/O buses and&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;networks, larger power supplies to support I/O devices, and larger cabinets.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;In designing an I/O system, we analyze performance, cost, capacity, and&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;availability using varying I/O connection schemes and different numbers of I/O&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;devices of each type. Here is one series of steps to follow in designing an I/O sys-&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;tem. The answers for each step may be dictated by market requirements or sim-&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;ply by&amp;nbsp;&lt;b&gt;cost, performance, and availability goals.&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;1. List the different types of I/O devices to be connected to the machine, or list&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;the standard buses and networks that the machine will support.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;2. List the physical requirements for each I/O device. Requirements include size,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;power, connectors, bus slots, expansion cabinets, and so on.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;3. List the cost of each I/O device, including the portion of cost of any controller&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;needed for this device.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;4. List the reliability of each I/O device.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;5. Record the processor resource demands of each I/O device. This list should&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;include&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;ul style=&quot;margin-top: 0in;&quot; type=&quot;disc&quot;&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Clock cycles for instructions used to initiate an I/O, to support operation&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;of an I/O device (such as handling interrupts), and to complete I/O&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;ul style=&quot;margin-top: 0in;&quot; type=&quot;disc&quot;&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Processor clock stalls due to waiting for I/O to finish using the memory,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;bus, or cache&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;ul style=&quot;margin-top: 0in;&quot; type=&quot;disc&quot;&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Processor clock cycles to recover from an I/O activity&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;6. List the memory and I/O bus resource demands of each I/O device. Even when&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;the processor is not using memory, the bandwidth of main memory and the I/O&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;connection is limited.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;7. The final step is assessing the performance and availability of the different&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;ways to organize these I/O devices. When you can afford it, try to avoid single&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;points of failure. Performance can only be properly evaluated with simulation,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;although it may be estimated using queuing theory. Reliability can be calcu-&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;lated assuming I/O devices fail independently and that the times to failure are&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;exponentially distributed. Availability can be computed from reliability by esti-&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;mating MTTF for the devices, taking into account the time from failure to&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;repair.&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://shareengineer.blogspot.com/feeds/1440357865029439190/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shareengineer.blogspot.com/2013/01/io-performance-measures-and-designing-io.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8058748219327537881/posts/default/1440357865029439190'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8058748219327537881/posts/default/1440357865029439190'/><link rel='alternate' type='text/html' href='http://shareengineer.blogspot.com/2013/01/io-performance-measures-and-designing-io.html' title='I/O performance measures and Designing I/O'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/17002818406074312384</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8058748219327537881.post-302816250059167822</id><published>2013-01-04T21:07:00.001-08:00</published><updated>2013-01-04T21:07:08.944-08:00</updated><title type='text'>Reliability, availability and dependability</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;1&quot; cellspacing=&quot;0&quot; id=&quot;Table1&quot; style=&quot;color: black; width: 100%px;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;span id=&quot;m_message&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;One persistent shortcoming with the general topic of making computers systems that can survive component faults has been confusion over terms. Consequently, perfectly good words like “reliability” and “availability” have been abused over the years so that their precise meaning is unclear.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Defining Failure:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Laprie picked a new term––&lt;b&gt;&lt;i&gt;dependability&lt;/i&gt;&lt;/b&gt;–– to have a clean slate to work with:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Computer system&amp;nbsp;&lt;b&gt;&lt;i&gt;dependability&lt;/i&gt;&lt;/b&gt;&lt;i&gt;&amp;nbsp;&lt;/i&gt;is the quality of delivered service such that re- liance can justifiably be placed on this service. The&amp;nbsp;&lt;b&gt;&lt;i&gt;service&lt;/i&gt;&amp;nbsp;&lt;/b&gt;delivered by a sys- tem is its observed&amp;nbsp;&lt;b&gt;&lt;i&gt;actual behavior&lt;/i&gt;&lt;/b&gt;&amp;nbsp;as perceived by other system(s) interacting with this system’s users. Each module also has an ideal&amp;nbsp;&amp;nbsp;&lt;b&gt;&lt;i&gt;speci?ed behavior,&amp;nbsp;&lt;/i&gt;&lt;/b&gt;where a&amp;nbsp;&lt;b&gt;&lt;i&gt;service speci?cation&lt;/i&gt;&lt;/b&gt;&amp;nbsp;is an agreed description of the expected behavior.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;A system failure occurs when the actual behavior deviates from the specified behavior. The failure occurred because an&amp;nbsp;&lt;b&gt;&lt;i&gt;error&lt;/i&gt;&lt;/b&gt;, a defect in that module. The cause of an error is a&amp;nbsp;&lt;b&gt;&lt;i&gt;fault&lt;/i&gt;&lt;/b&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;When a fault occurs it creates a&amp;nbsp;&lt;b&gt;&lt;i&gt;latent error&lt;/i&gt;&lt;/b&gt;, which becomes effective when it&amp;nbsp;&amp;nbsp;is activated; when the error actually affects the delivered service, a failure oc- curs. The time between the occurrence of an error and the resulting failure is&amp;nbsp;&amp;nbsp;the&amp;nbsp;&lt;b&gt;&lt;i&gt;error latency&lt;/i&gt;&lt;/b&gt;. Thus, an error is the manifestation in the system of a fault,&amp;nbsp;&amp;nbsp;and a failure is the manifestation on the service of an error.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;To clarify, the relation between faults, errors, and failures is:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;ul style=&quot;margin-top: 0in;&quot; type=&quot;disc&quot;&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;A fault creates one or more latent errors.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;The properties of&amp;nbsp;&lt;b&gt;errors&lt;/b&gt;&amp;nbsp;are&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.25in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;1) a latent error becomes effective once activated;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.25in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;2) an error may cycle between its latent and effective states;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.25in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;3) an effective error often propagates from one component to another, thereby creating new errors. Thus, an effective error is either a formerly latent error in that componentor it has propagated from another error in that component or from elsewhere.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;ul style=&quot;margin-top: 0in;&quot; type=&quot;disc&quot;&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;A component failure occurs when the error affects the delivered service.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;These properties are recursive, and apply to any component in the system.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Users perceive a&amp;nbsp;&amp;nbsp;&amp;nbsp;system alternating between two states of delivered service with respect to the service speci?cation:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.25in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;1.&amp;nbsp;&lt;b&gt;&lt;i&gt;Service accomplishment&lt;/i&gt;&lt;/b&gt;, where the service is delivered as specified,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.25in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;2.&amp;nbsp;&lt;b&gt;&lt;i&gt;Service interruption&lt;/i&gt;&lt;/b&gt;, where the delivered service is different from the speci-&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.25in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;fied service.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.25in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.25in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Transitions between these two states are caused by failures (from state 1 to&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.25in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;state 2) or&amp;nbsp;&lt;b&gt;&lt;i&gt;restorations&amp;nbsp;&lt;/i&gt;&lt;/b&gt;(2 to 1). Quantifying these transitions lead to the two&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.25in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;main measures of&amp;nbsp;&lt;b&gt;&lt;i&gt;dependability&lt;/i&gt;&lt;/b&gt;:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.25in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.25in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;1.&amp;nbsp;&lt;b&gt;&lt;i&gt;Module reliability&lt;/i&gt;&lt;/b&gt;&amp;nbsp;is a measure of the continuous service accomplishment (or,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.25in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;equivalently, of the time to failure) from a reference initial instant. The overall&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.25in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;failure rate of the collection is the sum of the failure rates of the modules. Ser-&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.25in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;vice interruption is measured as Mean Time To Repair (MTTR).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.25in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;2.&amp;nbsp;&lt;b&gt;&lt;i&gt;Module availability&lt;/i&gt;&lt;/b&gt;&amp;nbsp;is a measure of the service accomplishment with respect&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.25in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;to the alternation between the two states of accomplishment and interruption.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.25in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;For non-redundant systems with repair, module availability is statistically&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.25in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;quantified as:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.25in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.25in;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Module availability&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;= MTTF&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.25in; text-align: center;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-------------------------------&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.25in; text-align: center;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(MTTF+MTTR)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.25in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.25in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Note that reliability and availability are now quantifiable metrics, rather than&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.25in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;synonyms for dependability.&amp;nbsp;&lt;b&gt;&lt;i&gt;Mean Time Between Failures&lt;/i&gt;&lt;/b&gt;&amp;nbsp;(&lt;b&gt;MTBF&lt;/b&gt;) is simply&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.25in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;the sum of MTTF + MTTR. Although MTBF is widely used, MTTF is often&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.25in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;the more appropriate term.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.25in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.25in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Classifying faults and fault tolerance techniques may aid with understanding.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.25in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Gray and Siewiorek classify faults into four categories according to their cause:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.25in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.25in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;1.&amp;nbsp;&lt;b&gt;&lt;i&gt;Hardware faults&lt;/i&gt;&lt;/b&gt;: devices that fail.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.25in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;2.&amp;nbsp;&lt;b&gt;&lt;i&gt;Design faults&lt;/i&gt;&lt;/b&gt;: faults in software (usually) and hardware design (occasionally).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.25in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;3.&amp;nbsp;&lt;b&gt;&lt;i&gt;Operation faults&lt;/i&gt;&lt;/b&gt;: mistakes by operations and maintenance personnel.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.25in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;4.&amp;nbsp;&lt;b&gt;&lt;i&gt;Environmental faults&lt;/i&gt;&lt;/b&gt;: fire, flood, earthquake, power failure, and sabotage.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.25in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.25in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Faults are also classified by their duration into transient, intermittent, and perma-&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.25in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;nent [Nelson 1990].&amp;nbsp;&lt;b&gt;&lt;i&gt;Transient faults&lt;/i&gt;&lt;/b&gt;&amp;nbsp;exist for a limited time and are not recurring.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.25in;&quot;&gt;
&lt;b&gt;&lt;i&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Intermittent faults&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;cause a system to oscillate between faulty and fault free opera-&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.25in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;tion.&amp;nbsp;&lt;b&gt;&lt;i&gt;Permanent faults&lt;/i&gt;&lt;/b&gt;&amp;nbsp;do not correct themselves with passing of time.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.25in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.25in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Reliability&amp;nbsp;&amp;nbsp;improvements into four methods:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.25in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;1.&amp;nbsp;&lt;b&gt;&lt;i&gt;Fault avoidance&lt;/i&gt;&lt;/b&gt;: how to prevent, by construction, fault occurrence;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.25in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;2.&amp;nbsp;&lt;b&gt;&lt;i&gt;Fault tolerance&lt;/i&gt;&lt;/b&gt;: how to provide, by redundancy, service complying with the&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.25in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;service specification in spite of faults having occurred or are occurring;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.25in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;3.&amp;nbsp;&lt;b&gt;&lt;i&gt;Error removal&lt;/i&gt;&lt;/b&gt;: how to minimize, by verification, the presence of latent errors;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.25in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;4.&amp;nbsp;&lt;b&gt;&lt;i&gt;Error forecasting&lt;/i&gt;&lt;/b&gt;: how to estimate, by evaluation, the presence, creation, and&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.25in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;consequences of errors.&lt;/span&gt;&lt;/div&gt;
&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://shareengineer.blogspot.com/feeds/302816250059167822/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shareengineer.blogspot.com/2013/01/reliability-availability-and.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8058748219327537881/posts/default/302816250059167822'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8058748219327537881/posts/default/302816250059167822'/><link rel='alternate' type='text/html' href='http://shareengineer.blogspot.com/2013/01/reliability-availability-and.html' title='Reliability, availability and dependability'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/17002818406074312384</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8058748219327537881.post-1237678735829486636</id><published>2013-01-04T21:06:00.005-08:00</published><updated>2013-01-04T21:06:48.293-08:00</updated><title type='text'>Buses and RAID</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;table border=&quot;0&quot; cellpadding=&quot;1&quot; cellspacing=&quot;0&quot; id=&quot;Table1&quot; style=&quot;color: black; width: 100%px;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;div align=&quot;center&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;span id=&quot;m_message&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;In a computer system, the various subsystems must have interfaces to one another; for instance, the memory and CPU need to communicate, and so do the CPU and I/O devices. This communication is commonly done using a&amp;nbsp;&lt;i&gt;bus&lt;/i&gt;. The bus serves as a shared communication link between the subsystems. The two major advantages of the bus organization are low cost and versatility...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;The major disadvantage of a bus is that it creates a communication bottleneck,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Possibly limiting the maximum I/O throughput . To avoid the bus bottleneck, some I/O devices&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;are connected to computers via&amp;nbsp;&lt;i&gt;Storage Area Networks&amp;nbsp;&lt;/i&gt;(&lt;i&gt;SANs&lt;/i&gt;).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;One reason bus design is so difficult is that the maximum bus speed is largely&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;limited by physical factors: the length of the bus and the number of devices (and, hence, bus loading). These physical limits prevent arbitrary bus speedup. The desire for high I/O rates (low latency) and high I/O throughput can also lead to conflicting design requirements.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Buses were traditionally classified as&amp;nbsp;&lt;i&gt;CPU-memory buses&amp;nbsp;&lt;/i&gt;or&amp;nbsp;&lt;i&gt;I/O buses&lt;/i&gt;. I/O&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;buses may be lengthy, may have many types of devices connected to them, have a wide range in the data bandwidth of the devices connected to them, and normally follow a bus standard.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CPU-memory buses, on the other hand, are short, generally high speed, and matched to the memory system to maximize memory-CPU bandwidth. During the design phase, the designer of a CPU-memory bus knows all the types of devices that must connect together, while the I/O bus designer must accept devices varying in latency and bandwidth capabilities.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;To lower costs, some computers have a single bus for both memory and I/O devices. In the quest for higher I/O performance, some buses are a hybrid of the two. For example, PCI is relatively short, and is used to connect to more traditional I/O buses via bridges&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;that speak both PCI on one end and the I/O bus protocol on the other. To indicate&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;its intermediate state, such buses are sometimes called&amp;nbsp;&lt;i&gt;mezzanine buses&lt;/i&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Bus Design Decisions&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;The design of a bus presents several options&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;If there are multiple masters, an arbitration scheme is required among the masters to decide which one gets the bus next. Arbitration is often a fixed priority for each device, as is the case with daisy-chained devices, or an approximately fair scheme that randomly chooses which master gets the bus. With multiple masters, a bus can offer higher bandwidth by using packets, as opposed to holding the bus for the full transaction. This technique is called&amp;nbsp;&lt;i&gt;split transactions&lt;/i&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;The final item&amp;nbsp;&lt;i&gt;clocking&lt;/i&gt;, concerns whether a bus is synchronous or asynchronous. If a bus is&amp;nbsp;&lt;i&gt;synchronous,&amp;nbsp;&lt;/i&gt;it includes a clock in the control lines and a fixed protocol for sending address and data relative to the clock. An&amp;nbsp;&lt;i&gt;asynchronous&amp;nbsp;&lt;/i&gt;bus, on the other hand, is not clocked. Instead, self-timed, handshaking protocols are used between bus sender and receiver.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Bus Standards&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;The number and variety of I/O devices is flexible on many computers, permitting customers to tailor computers to their needs. The I/O bus is the interface to which devices are connected. Standards that let the computer designer and I/O-device designer work independently play a large role in buses.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;As long as both designers meet the requirements, any I/O device can connect to any computer. The I/O bus standard is the document that defines how to connect devices to computers.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Machines sometimes grow to be so popular that their I/O buses become the facto standards&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;RAID&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;An innovation that improves both dependability and performance of storage systems is&amp;nbsp;&lt;b&gt;&lt;i&gt;disk arrays.&lt;/i&gt;&lt;/b&gt;&amp;nbsp;One argument for arrays is that potential throughput can be increased by having many disk drives and, hence, many disk arms, rather than one large drive with one disk arm.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Simply spreading data over multiple disks, called&amp;nbsp;&lt;b&gt;&lt;i&gt;striping&lt;/i&gt;&lt;/b&gt;, au-&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;tomatically forces accesses to several disks. (Although arrays improve throughput, latency is not necessarily improved.) The drawback to arrays is that with more devices, dependability decreases: N devices generally have 1/N the reliability of a single device.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;No Redundancy (RAID 0)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;This notation is refers to a disk array in which data is striped but there is no redundancy to tolerate disk failure. Striping across a set of disks makes the collection appear to software as a single large disk, which simpli?es storagemanagement. It also improves performance for large accesses, since many diskscan operate at once. Video editing systems, for example, often stripe their data.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&lt;b&gt;Mirroring (RAID 1)&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;This traditional scheme for tolerating disk failure, called&amp;nbsp;&lt;b&gt;&lt;i&gt;mirroring or shadowing,&amp;nbsp;&lt;/i&gt;&lt;/b&gt;uses twice as many disks as does RAID 0. Whenever data is written to one disk, that data is also written to a redundant disk, so that there are always two copies of&amp;nbsp;&amp;nbsp;the information. If a disk fails, the system just goes to the&amp;nbsp;&lt;b&gt;“mirror”&lt;/b&gt;&amp;nbsp;to get the de-sired information. Mirroring is the most expensive RAID solution, since it re-quires the most disks.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Bit-Interleaved Parity (RAID 3)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;The cost of higher availability can be reduced to 1/N, where N is the number of disks in a&amp;nbsp;&lt;b&gt;&lt;i&gt;protection group&lt;/i&gt;&lt;/b&gt;. Rather than have a complete copy of the original data for each disk, we need only add enough redundant information to restore the lost information on a failure. Reads or writes go to all disks in the group, with one extra disk to hold the check information in case there is a failure.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Block-Interleaved Parity and Distributed Block-Interleaved Parity&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;(RAID 4 and RAID 5)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Both these levels use the same ratio of data disks and check disks as RAID 3, but they access data differently. The parity is stored as blocks and associated with a set of data blocks.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Since error-detection information in each&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;sector is checked on reads to see if data is correct, such&amp;nbsp;&lt;b&gt;&lt;i&gt;“small reads”&lt;/i&gt;&lt;/b&gt;&amp;nbsp;to each disk can occur independently as long as the minimum access is one sector. Writes are another matter. It would seem that each small write would demand that all other disks be accessed to read the rest of the information needed to&amp;nbsp;&amp;nbsp;recalculate the new parity. A&amp;nbsp;&lt;b&gt;&lt;i&gt;“small write”&lt;/i&gt;&lt;/b&gt;&amp;nbsp;would require reading the old data and old parity, adding the new information, and then writing the new parity to the parity disk and the new data to the data disk.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;P+Q redundancy (RAID 6)&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Parity based schemes protect against a single, self-identifying failures. When a single failure is not suf?cient, parity can be generalized to have a second calculation over the data and another check disk of information. Yet another parity block&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;is added to allow recovery from a second failure. Thus, the storage overhead is twice that of RAID 5.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;table border=&quot;0&quot; cellspacing=&quot;5&quot; id=&quot;m_documents&quot; style=&quot;border-width: 0px;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;span id=&quot;m_reference&quot; style=&quot;color: green;&quot;&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;span id=&quot;m_topiccovered&quot;&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://shareengineer.blogspot.com/feeds/1237678735829486636/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shareengineer.blogspot.com/2013/01/buses-and-raid.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8058748219327537881/posts/default/1237678735829486636'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8058748219327537881/posts/default/1237678735829486636'/><link rel='alternate' type='text/html' href='http://shareengineer.blogspot.com/2013/01/buses-and-raid.html' title='Buses and RAID'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/17002818406074312384</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8058748219327537881.post-890583066384395690</id><published>2013-01-04T21:06:00.003-08:00</published><updated>2013-01-04T21:06:30.049-08:00</updated><title type='text'>Types of storage devices</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;table border=&quot;0&quot; cellpadding=&quot;1&quot; cellspacing=&quot;0&quot; id=&quot;Table1&quot; style=&quot;color: black; width: 100%px;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;div align=&quot;center&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;span id=&quot;m_message&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify; text-indent: 0.5in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Most commonly found storages devices are&amp;nbsp;&amp;nbsp;magnetic disks, magnetic tapes, automated tape libraries, CDs, and DVDs&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Magnetic Disks&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify; text-indent: 0.5in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Despite of new technologies, magnetic disks have dominated nonvolatile storage since 1965. Magnetic disks play two roles in computer systems:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;ol style=&quot;margin-top: 0in;&quot; type=&quot;1&quot;&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Long-term, nonvolatile storage for files, even when no programs are running&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;A level of the memory hierarchy below main memory used as a backing store&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for virtual memory during program execution&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;.A magnetic disk consists of a collection of&amp;nbsp;&lt;i&gt;platters&amp;nbsp;&lt;/i&gt;(generally 1 to 12), rotating on a spindle at 3,600 to 15,000 revolutions per minute (RPM). Traditionally, the biggest disks have the highest performance and the smallest disks have the lowest price per disk drive.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify; text-indent: 0.5in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;The disk surface is divided into concentric circles, designated&amp;nbsp;&lt;i&gt;tracks&lt;/i&gt;. In the past, all tracks had the same number of sectors; the outer tracks, which are longer, recorded information at a much lower density than the inner tracks.Recording more sectors on the outer tracks than on the inner tracks, called&amp;nbsp;&lt;i&gt;constant&lt;/i&gt;&amp;nbsp;&lt;i&gt;bit density.&lt;/i&gt;. This name is misleading, as the bit density is not really constant. Typically, the inner tracks are recorded at the highest density and the outer tracks at the lowest, but the outer tracks might record, say, 1.7 times more bits despite being 2.1 times longer.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify; text-indent: 0.5in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;To read and write information into a sector, a movable&amp;nbsp;&lt;i&gt;arm&amp;nbsp;&lt;/i&gt;containing a&amp;nbsp;&lt;i&gt;read/ write head&amp;nbsp;&lt;/i&gt;is located over each surface . The term&amp;nbsp;&lt;i&gt;cylinder&amp;nbsp;&lt;/i&gt;is used to refer to all the tracks under the arms at a given point on all surfaces.&lt;i&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify; text-indent: 0.5in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;To read or write a sector, the disk controller sends a command to move the arm&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;over the proper track. This operation is called a&amp;nbsp;&lt;i&gt;seek&lt;/i&gt;, and the time to move the arm to the desired track is called&amp;nbsp;&lt;i&gt;seek time&lt;/i&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify; text-indent: 0.5in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Average seek time is the subject of considerable misunderstanding. Disk manufacturers report minimum seek time, maximum seek time, and average seek time in their manuals. The first two are easy to measure, but the average was open to wide interpretation. The industry decided to calculate average seek time as the sum of the time for all possible seeks divided by the number of possible seeks.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Optical Disks&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify; text-indent: 0.5in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;One challenger to magnetic disks is&amp;nbsp;&lt;i&gt;optical compact disks,&amp;nbsp;&lt;/i&gt;or&amp;nbsp;&lt;i&gt;CDs&lt;/i&gt;, and its successor, called&amp;nbsp;&lt;i&gt;Digital Video Discs&amp;nbsp;&lt;/i&gt;and then&amp;nbsp;&lt;i&gt;Digital Versatile Discs&amp;nbsp;&lt;/i&gt;or just&amp;nbsp;&lt;i&gt;DVDs&lt;/i&gt;. Both the&amp;nbsp;&lt;i&gt;CD-ROM&amp;nbsp;&lt;/i&gt;and&amp;nbsp;&lt;i&gt;DVD-ROM&amp;nbsp;&lt;/i&gt;are removable and inexpensive to manufacture, but they are read-only mediums. These 4.7-inch diameter disks hold 0.65 and 4.7 GB, respectively, although some DVDs write on both sides to double their capacity. Their high capacity and low cost have led to CD-ROMs and DVDROMs replacing floppy disks as the favorite medium for distributing software and other types of computer data. They are also write-once and rewritable DVDs, called DVD-R and (alas) DVDRAM. Rewritable DVD drives cost ten times as much as DVD-ROM drives.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Magnetic Tapes&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify; text-indent: 0.5in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Magnetic tapes have been part of computer systems as long as disks because they use the similar technology as disks, and hence historically have followed the same density improvements. The inherent cost/performance difference between disks and tapes is based on their geometries:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 39.15pt; text-align: justify; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;1.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Fixed rotating platters offer random access in milliseconds, but disks have a limited storage area and the storage medium is sealed within each reader.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 39.15pt; text-align: justify; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;2.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Long strips wound on removable spools of “unlimited” length mean many tapes can be used per reader, but tapes require sequential access that can take seconds.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify; text-indent: 0.5in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify; text-indent: 0.5in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;One of the limits of tapes had been the speed at which the tapes can spin without breaking or jamming. A technology called&amp;nbsp;&lt;i&gt;helical scan tapes&amp;nbsp;&lt;/i&gt;solves this problem by keeping the tape speed the same but recording the information on a diagonal to the tape with a tape reader that spins much faster than the tape is moving. This technology increases recording density by about a factor of 20 to 50. Helical scan tapes were developed for low-cost VCRs and camcorders, which brought down the cost of the tapes and readers.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify; text-indent: 0.5in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;One drawback to tapes is that they wear out; Helical tapes last for hundreds of passes, while the traditional longitudinal tapes wear out in thousands to millions&amp;nbsp;&amp;nbsp;of passes.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify; text-indent: 0.5in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Automated Tape Libraries&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify; text-indent: 0.5in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Tape capacities are enhanced by inexpensive robots to automatically load and store tapes, offering a new level of storage hierarchy. These&amp;nbsp;&lt;i&gt;near line&amp;nbsp;&lt;/i&gt;tapes mean access to terabytes of information in tens of seconds, without the intervention of a human operator&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Flash Memory&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify; text-indent: 0.5in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Embedded devices also need nonvolatile storage, but premiums placed on space and power normally lead to the use of Flash ing. Flash memory is also used as a rewritable ROM in embedded system, typically to allow software to be upgraded without having to replace chips.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Applications are typically prohibited from writing to flash memory in such circumstances.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Like electrically erasable and programmable read-only memories (EEPROM). Compared to disks, Flash memories offer low power consumption (less than 50 mill watts), can be sold in small sizes, and offer read access times comparable to DRAMs.&lt;/span&gt;&lt;/div&gt;
&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://shareengineer.blogspot.com/feeds/890583066384395690/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shareengineer.blogspot.com/2013/01/types-of-storage-devices.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8058748219327537881/posts/default/890583066384395690'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8058748219327537881/posts/default/890583066384395690'/><link rel='alternate' type='text/html' href='http://shareengineer.blogspot.com/2013/01/types-of-storage-devices.html' title='Types of storage devices'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/17002818406074312384</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8058748219327537881.post-1102240142105371103</id><published>2013-01-04T21:06:00.001-08:00</published><updated>2013-01-04T21:06:13.722-08:00</updated><title type='text'>Memory technology</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;1&quot; cellspacing=&quot;0&quot; id=&quot;Table1&quot; style=&quot;color: black; width: 100%px;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;span id=&quot;m_message&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Memory latency is traditionally quoted using two measures—access time and cycle time.&amp;nbsp;&lt;b&gt;&lt;i&gt;Access time&lt;/i&gt;&lt;/b&gt;&lt;i&gt;&amp;nbsp;&lt;/i&gt;is the time between when a read is requested and when the desired word arrives,&amp;nbsp;&lt;b&gt;&lt;i&gt;cycle time&lt;/i&gt;&lt;/b&gt;&lt;i&gt;&amp;nbsp;&lt;/i&gt;is the minimum time between requests to memory. One reason that cycle time is greater than access time is that the memory needs the address lines to be stable between accesses.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;DRAM technology&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;The main memory of virtually every desktop or server computer sold since 1975 is composed of semiconductor DRAMs,. As early DRAMs grew in capacity, the cost of a package with all the necessary address lines was an issue. The solution was to multiplex the address lines, thereby&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;cutting the number of address pins in half. One half of the address is sent first, called the&lt;b&gt;&amp;nbsp;&lt;i&gt;row access strobe&amp;nbsp;&lt;/i&gt;or(&lt;i&gt;RAS)&lt;/i&gt;&lt;/b&gt;. It is followed by the other half of the address, sent during the&amp;nbsp;&lt;b&gt;&lt;i&gt;column access strobe(CAS)&lt;/i&gt;&lt;/b&gt;. These names come from the internal chip organization, since the memory is organized as a rectangular matrix addressed by rows and columns.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Although we have been talking about individual chips, DRAMs are commonly sold on small boards called&amp;nbsp;&lt;i&gt;DIMMs&amp;nbsp;&lt;/i&gt;for&amp;nbsp;&lt;i&gt;Dual Inline Memory Modules&lt;/i&gt;. DIMMs typically contain 4 to 16 DRAMs. They are normally organized to be eight bytes wide for desktop systems. In addition to the DIMM packaging and the new interfaces to improve the data transfer time, discussed in the following subsections, the biggest change to DRAMs has been a slowing down in capacity growth.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;SRAM Technology&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;In contrast to DRAMs are SRAMs—the first letter standing for&amp;nbsp;&lt;i&gt;static&lt;/i&gt;. The dynamic nature of the circuits in DRAM require data to be written back after being read, hence the difference between the access time and the cycle time as well as the need to refresh. SRAMs typically use six transistors per bit to prevent the information from being disturbed when read.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;In DRAM designs the emphasis is on cost per bit and capacity, while SRAM designs are concerned with speed and capacity. (Because of this concern, SRAM address lines are not multiplexed.). Thus, unlike DRAMs, there is no difference between access time and cycle time. For memories designed in comparable technologies, the capacity of DRAMs is roughly 4 to 8 times that of SRAMs. The cycle time of SRAMs is 8 to 16 times faster than DRAMs, but they are also 8 to 16 times as expensive.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Embedded Processor Memory Technology: ROM and Flash&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Embedded computers usually have small memories, and most do not have a disk to act as non-volatile storage. Two memory technologies are found in embedded computers to address this problem.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;The first is&amp;nbsp;&lt;i&gt;Read-Only Memory&amp;nbsp;&lt;/i&gt;(&lt;i&gt;ROM&lt;/i&gt;). ROM is programmed at time of manufacture, needing only a single transistor per bit to represent 1 or 0. ROM is used for the embedded program and for constants, often included as part of a larger chip.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;In addition to being non-volatile, ROM is also non-destructible; nothing the computer can do can modify the contents of this memory. Hence, ROM also provides a level of protection to the code of embedded computers. Since address based protection is often not enabled in embedded processors, ROM can fulfill an important role.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;The second memory technology offers non-volatility but allows the memory to be modified.&amp;nbsp;&lt;i&gt;Flash memory&amp;nbsp;&lt;/i&gt;allows the embedded device to alter nonvolatile memory after the system is manufactured, which can shorten product development.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Improving Memory Performance in a standard DRAM Chip&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;To improve bandwidth, there have been a variety of evolutionary innovations over time.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 73.55pt; text-align: justify; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;1.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;The first was timing signals that allow repeated accesses to the row buffer without another row access time, typically called&amp;nbsp;&lt;i&gt;fast page mode&lt;/i&gt;..&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 73.55pt; text-align: justify; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;2.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;The second major change is that conventional DRAMs have an asynchronousinterface to the memory controller, and hence every transfer involves overhead to synchronize with the controller.This optimization is called&amp;nbsp;&lt;i&gt;Synchronous DRAM(&lt;/i&gt;&amp;nbsp;&lt;i&gt;SDRAM)&lt;/i&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 73.55pt; text-align: justify; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;3.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;The third major DRAM innovation to increase bandwidth is to transfer data onboth the rising edge and falling edge of the DRAM clock signal, thereby doubling the peak data rate. This optimization is called&lt;i&gt;Double Data Rate&lt;/i&gt;(&lt;i&gt;DDR).&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://shareengineer.blogspot.com/feeds/1102240142105371103/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shareengineer.blogspot.com/2013/01/memory-technology.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8058748219327537881/posts/default/1102240142105371103'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8058748219327537881/posts/default/1102240142105371103'/><link rel='alternate' type='text/html' href='http://shareengineer.blogspot.com/2013/01/memory-technology.html' title='Memory technology'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/17002818406074312384</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8058748219327537881.post-516411793734550643</id><published>2013-01-04T21:05:00.005-08:00</published><updated>2013-01-04T21:05:57.683-08:00</updated><title type='text'>Main memory and performance</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;table border=&quot;0&quot; cellpadding=&quot;1&quot; cellspacing=&quot;0&quot; id=&quot;Table1&quot; style=&quot;color: black; width: 100%px;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;div align=&quot;center&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;span id=&quot;m_message&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Main memory satisfies the demands of caches and serves as the I/O interface. And it is the destination of inputs well as the source for output. Performance measures of main memory emphasize both latency and bandwidth. (Memory bandwidth is the number of bytes read or written per unit time), The main memory affects the cache miss penalty, is the primary concern of the cache. While main memory bandwidth is the primary concern of I/O and multiprocessors.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Although caches are interested in low latency memory, it is generally easier to improve memory bandwidth with new organizations than it is to reduce latency.With the popularity of second-level caches and their larger block sizes, main memory bandwidth becomes important to caches as well. In fact, cache designers increase block size to take advantage of the high memory bandwidth.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;First Technique for Higher Bandwidth: Wider Main Memory&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;First-level caches are often organized with a physical width of one word because most CPU accesses are that size. Doubling or quadrupling the width of the cache&amp;nbsp;&amp;nbsp;and the memory will&amp;nbsp;&amp;nbsp;double or quadruple the memory bandwidth. There is cost in the wider connection between the CPU and memory, typically called a memory&amp;nbsp;&lt;i&gt;bus&lt;/i&gt;. CPUs will still access the cache a word at a time, so there now needs to be a multiplexor between the cache and the CPU—and that multiplexor may be on the critical timing path. Second-level caches can help since the multiplexing can be between first- and second-level caches, not on the critical path.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Disadvantages:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Since main memory is traditionally expandable by the customer, a drawback to wide memory is that the minimum increment is doubled or quadrupled when the width is doubled or quadrupled. In addition, memories with error correction have difficulties with writes to a portion of the protected block, such as a byte. The rest of the data must be read so that the new error correction code can be calculated and stored when the data are written.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Second Technique for Higher Bandwidth: Simple Interleaved Memory&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Increasing width is one way to improve bandwidth, but another is to take advantage of the potential parallelism of having many chips in a memory system. Memory chips can be organized in&amp;nbsp;&lt;i&gt;banks&amp;nbsp;&lt;/i&gt;to read or write multiple words at a time rather than a single word. In general, the purpose of interleaved memory is to try to take advantage of the potential memory bandwidth of&amp;nbsp;&lt;i&gt;all&amp;nbsp;&lt;/i&gt;the chips in the system .In contrast, most memory systems activate only the chips containing the needed words.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;This mapping is referred to as the&amp;nbsp;&lt;i&gt;interleaving factor&lt;/i&gt;;&amp;nbsp;&lt;i&gt;interleaved memory&amp;nbsp;&lt;/i&gt;normally means banks of memory that are word interleaved. This interleaving optimizes sequential memory accesses. A cache read miss is an ideal match to word-interleaved memory, as the words in a block are read sequentially.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;How many banks should be included? One metric, used in vector computers, is as follows:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;Number of banks = Number of clock cycles to access word in bank&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Disadvantages:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 57.9pt; text-align: justify; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;1.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Shrinking number of chips is the main disadvantage of interleaved memory banks.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 57.9pt; text-align: justify; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;2.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Second disadvantage of memory banks is again the difficulty of main memory expansion. Either the memory system must support multiple generations of memory chips, or the memory controller changes the interleaving based on the size of physical memory, or both.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Third Technique for Higher Bandwidth: Independent Memory Banks&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;The original motivation for memory banks was higher memory bandwidth by interleaving sequential accesses. This hardware is not much more difficult since the banks can share address lines with a memory controller, enabling each bank to use the data portion of the memory bus.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;A generalization of interleaving is to allow multiple independent accesses, where multiple memory controllers allow banks to operate independently. Each bank needs separate address lines and possibly a separate data bus&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Independent of memory technology, higher bandwidth is available using memory banks, by making memory and its bus wider, or doing both.&lt;/span&gt;&lt;/div&gt;
&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://shareengineer.blogspot.com/feeds/516411793734550643/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shareengineer.blogspot.com/2013/01/main-memory-and-performance.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8058748219327537881/posts/default/516411793734550643'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8058748219327537881/posts/default/516411793734550643'/><link rel='alternate' type='text/html' href='http://shareengineer.blogspot.com/2013/01/main-memory-and-performance.html' title='Main memory and performance'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/17002818406074312384</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8058748219327537881.post-3862741405285663235</id><published>2013-01-04T21:05:00.002-08:00</published><updated>2013-01-04T21:05:34.483-08:00</updated><title type='text'>Reducing hit time</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;table border=&quot;0&quot; cellpadding=&quot;1&quot; cellspacing=&quot;0&quot; id=&quot;Table1&quot; style=&quot;color: black; width: 100%px;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;div align=&quot;center&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;span id=&quot;m_message&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;First Hit Time Reduction: Small and Simple Caches to Reduce Hit Time&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;A time-consuming portion of a cache hit is using the index portion of the address to read the tag memory and then compare it to the address. Smaller hardware can be faster, so a small cache can help the hit time. It is also critical to keep an L2 cache small enough to fit on the same chip as the processor to avoid the time penalty of going off chip.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;The second suggestion is to keep the cache simple, such as using direct mapping. One benefit of direct-mapped caches is that the designer can overlap the tag check with the transmission of the data. This effectively reduces hit time.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;The pressure of a fast clock cycle encourages small and simple cache designs for first-level caches.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;For lower-level caches, some designs strike a compromise by keeping the tags on chip and the data off chip, promising a fast tag check, yet providing the greater capacity of separate memory chips.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Although the amount of on-chip cache increased with new generations of microprocessors, the size of the L1 caches has recently not increased between&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin: 0in 0in 0pt 0.5in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;generations.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;The L1 caches are the same size for three generations of AMD microprocessors: K6, Athlon, and Opteron. The emphasis is on fast clock rate while hiding L1 misses with dynamic execution and using L2 caches to avoid going to memory.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Second Hit time Reduction: Way Prediction to Reduce Hit Time&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;In way prediction, extra bits are kept in the cache to predict the way, or block within the set of the next cache access.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;This prediction means the multiplexor is set early to select the desired block, and only a single tag comparison is performed that clock cycle in parallel with reading the cache data. A miss results in checking the other blocks for matches in the next clock cycle.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Added to each block of a cache are block predictor bits. The bits select which of the blocks to try on the access latency is the fast hit time.&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;If not, it tries the other block, changes the waypredictor, and has a latency of one extra clock cycle.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Simulations suggested setprediction accuracy is in excess of 85% for a two-way set, so way prediction saves pipeline stages more than 85% of the time.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Way prediction is a good match to speculative processors, since they must already undo actions when speculation is unsuccessful. The Pentium 4 uses way prediction.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Third Hit Time Reduction: Trace Caches to Reduce Hit Time&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;A challenge in the effort to find lots of instruction-level parallelism is to find&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin: 0in 0in 0pt 0.5in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;enough&amp;nbsp;&amp;nbsp;instructions every cycle without use dependencies.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;To address this challenge, blocks in a trace cache contain dynamic traces of the executed instructions rather than static sequences of instructions as determined by layout in memory.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Hence, the branch prediction is folded into the cache and must be validated along with the addresses to have a valid fetch.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Trace caches have much more complicated address-mapping mechanisms, as the addresses are no longer aligned to power-of-two multiples of the word size. However, they can better utilize long blocks in the instruction cache.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;The downside of trace caches is that conditional branches making different choices result in the same instructions being part of separate traces, which each occupy space in the trace cache and lower its space efficiency.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Many optimizations are simple to understand and are widely used, but a trace cache is neither simple nor popular.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;It is relatively expensive in area, power, and complexity compared to its benefits, so we believe trace caches are likely a one time innovation. We include them because they appear in the popular Pentium 4.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Fourth Hit Time Reduction: Pipelined Cache Access to Increase Cache Bandwidth&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;This optimization is simply to pipeline cache access so that the effective latency&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin: 0in 0in 0pt 0.5in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;of a first-level cache hit can be multiple clock cycles, giving fast clock cycle time&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin: 0in 0in 0pt 0.5in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;and high bandwidth but slow hits.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;For example, the pipeline for the Pentium took 1 clock cycle to access the instruction cache, for the Pentium Pro through Pentium III it took 2 clocks, and for the Pentium 4 it takes 4 clocks.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;This split increases the number of pipeline stages, leading to greater penalty on mispredicted branches and more clock cycles between the issue of the load and the useof the data&lt;/span&gt;&lt;/div&gt;
&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://shareengineer.blogspot.com/feeds/3862741405285663235/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shareengineer.blogspot.com/2013/01/reducing-hit-time.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8058748219327537881/posts/default/3862741405285663235'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8058748219327537881/posts/default/3862741405285663235'/><link rel='alternate' type='text/html' href='http://shareengineer.blogspot.com/2013/01/reducing-hit-time.html' title='Reducing hit time'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/17002818406074312384</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8058748219327537881.post-4864058953826495231</id><published>2013-01-04T21:04:00.006-08:00</published><updated>2013-01-04T21:04:36.000-08:00</updated><title type='text'>Reducing cache miss penalty and miss rate</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;table border=&quot;0&quot; cellpadding=&quot;1&quot; cellspacing=&quot;0&quot; id=&quot;Table1&quot; style=&quot;color: black; width: 100%px;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;div align=&quot;center&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;span id=&quot;m_message&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Reducing Cache Miss Penalty&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;u&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/u&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;First Miss Penalty Reduction Technique: Multi-Level Caches&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Many techniques to reduce miss penalty affect the CPU. This technique ignores&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;the CPU, concentrating on the interface between the cache and main memory.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 60pt; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;The&amp;nbsp;&lt;i&gt;first-level&lt;/i&gt;&amp;nbsp;cache can be small enough to match the clock cycle time of the fast CPU.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraph&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;The&amp;nbsp;&lt;i&gt;second-level&lt;/i&gt;&amp;nbsp;cache can be large enough to capture many accesses that would go to main memory, there by lessening the effective miss penalty.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;L1 and L2 to refer respectively, to a first-level and a second-level cache, the original formula is&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Average memory access time = Hit timeL1 + Miss rateL1 ??Miss penaltyL1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;&amp;nbsp;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Miss penaltyL1=Hit time L2+Miss rateL2-Miss penaltyL2&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Average memory access time = Hit timeL1 + Miss rateL1 ???Hit time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;sub&gt;L2&lt;/sub&gt;+Miss rate&lt;sub&gt;L2&lt;/sub&gt;* Miss penalty&lt;sub&gt;L2&lt;/sub&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraph&quot; style=&quot;margin: 0in 0in 0pt 47.25pt; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;i&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Local miss rate&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;—This rate is simply the number of misses in a cache divided&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;by the total number of memory accesses to this cache. As you would expect,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for the first-level cache it is equal to Miss rateL1 and for the second-level cache&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;it is Miss rateL2.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraph&quot; style=&quot;margin: 0in 0in 0pt 47.25pt; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&lt;b&gt;&lt;i&gt;Global miss rate&lt;/i&gt;&lt;/b&gt;—The number of misses in the cache divided by the total number&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;of memory accesses generated by the CPU. Using the terms above, the&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;global miss rate for the first-level cache is still just Miss rateL1 but for the second-&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;level cache it is Miss rateL1 ??Miss rateL2.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Average memory stalls per instruction = Misses per instruction&lt;sub&gt;L1*&lt;/sub&gt;Hit time&lt;sub&gt;L2&lt;/sub&gt;&amp;nbsp;+ Misses per&amp;nbsp;&amp;nbsp;instruction&lt;sub&gt;L2 *&amp;nbsp;&lt;/sub&gt;Miss penalty&lt;sub&gt;L2&lt;/sub&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Second Miss Penalty Reduction Technique&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;:&amp;nbsp;&lt;b&gt;Critical Word First and Early Restart&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraph&quot; style=&quot;margin: 0in 0in 0pt 47.25pt; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;i&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Critical word first&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;—Request the missed word first from memory and send it to&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;the CPU as soon as it arrives; let the CPU continue execution while filling the&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rest of the words in the block. Critical-word-first fetch is also called&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fetch and requested word first&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraph&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;i&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;Early restart&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;—Fetch the words in normal order, but as soon as the requested&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;word of the block arrives, send it to the CPU and let the CPU continue execution.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Third Miss Penalty Reduction Technique&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;:&amp;nbsp;&lt;b&gt;Giving&lt;/b&gt;&amp;nbsp;&lt;b&gt;Priority to Read Misses over Writes&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;This optimization serves reads before writes have been completed.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Write buffers, however, do complicate memory accesses in that they might hold the updated value of a location needed on a read miss.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;The alternative is to check the contents of the write buffer on a read miss, and if there are no conflicts and the memory system is available,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;The cost of writes by the processor in a write-back cache can also be reduced.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin: 0in 0in 0pt 0.5in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Suppose a read miss will replace a dirty memory block. Instead of writing the&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin: 0in 0in 0pt 0.5in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;dirty block to memory, and then reading memory, we could copy the dirty block&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;margin: 0in 0in 0pt 0.5in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;to a buffer, then read memory, and for which the processor is probably waiting, will&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.25in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;finish sooner.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;Similar to the situation above, if a read miss occurs, the processor can either&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;margin: 0in 0in 0pt 0.5in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;stall&amp;nbsp;&amp;nbsp;until the buffers empty or check the addresses of the words in the buffer for conflicts.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Fourth Miss Penalty Reduction Technique: Merging Write Buffer&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;This technique also involves write buffers, this time improving their efficiency. Write through caches rely on write buffers, as all stores must be sent to the next lower level of the hierarchy.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin: 0in 0in 0pt 0.5in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;As mentioned above, even write back caches use a simple buffer when a block is replaced. If the write buffer is empty, the data and the full address are written in the buffer&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;The write is finished from the CPU&#39;s perspective; the CPU continues working while the write buffer prepares to write the word to memory. If the buffer contains other modified blocks, the addresses can be checked to see if the address of this new data matches the address of the valid write buffer entry.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;If so, the new data are combined with that entry called&amp;nbsp;&amp;nbsp;&lt;b&gt;&lt;i&gt;write merging&lt;/i&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;If the buffer is full and there is no address match, the cache (and CPU) must wait until the buffer has an empty entry. This optimization uses the memory more efficiently since multiword writes are usually faster than writes performed one word at time.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Fifth Miss Penalty Reduction Technique: Victim Caches&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;One approach to lower miss penalty is to remember what was discarded in case it is needed again. Since the discarded data has already been fetched, it can be used again at small cost.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Such&amp;nbsp;&amp;nbsp;recycling&amp;nbsp;&amp;nbsp;requires a small, fully associative cache between a cache and its refill path. This only blocks that are discarded from a cache because of a miss-victim-and are checked on a miss to see if they have the desired data before going to the next lower-level memory.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;If it is found there, the victim block and cache block are swapped.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Depending on the program, a four-entry victim cache might remove one quarter of the misses in a 4-KB direct-mapped data cache.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Reducing Miss Rate&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;We first start with a model that sorts all misses into three simple categories:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;margin: 0in 0in 0pt 0.5in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Compulsory&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;—The very first access to a block cannot be in the cache, so the block must be brought into the cache. These are also called cold start misses or first reference misses or first reference misses&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Capacity&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;—If the cache cannot contain all the blocks needed during execution&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;of a program, capacity misses (in addition to compulsory misses) will occur be-&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cause of blocks being discarded and later retrieved.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraph&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Conflict&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;—If the block placement strategy is set associative or direct mapped,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;conflict misses&amp;nbsp;&amp;nbsp;will occur be cause a block may be discarded and later retrieved if too many blocks map to its set. These misses are also called&amp;nbsp;&lt;b&gt;&lt;i&gt;collision misses&lt;/i&gt;&lt;/b&gt;&amp;nbsp;or&amp;nbsp;&lt;b&gt;&lt;i&gt;interference misses&lt;o:p&gt;&lt;/o:p&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;b&gt;&lt;i&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;First Miss Rate Reduction Technique: Larger Block Size&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;The simplest way to reduce miss rate is to increase the block size.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Larger block sizes will reduce compulsory misses.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;This reduction occurs because the principle of locality has two components: temporal&amp;nbsp;&amp;nbsp;locality, spatial&amp;nbsp;&amp;nbsp;locality.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Larger blocks take advantage of spatial locality.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;At the same time, larger blocks increase the miss penalty. Since they reduce&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin: 0in 0in 0pt 0.5in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;the number of blocks in the cache, larger blocks may increase conflict misses and&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin: 0in 0in 0pt 0.5in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;even capacity misses if the cache is small.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;margin: 0in 0in 0pt 0.5in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Second Miss Rate Reduction Technique: Larger caches&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;The obvious drawback is longer hit time and higher cost. This technique has been especially popular in off-chip caches: The size of second or third level caches in 2001 equals the size of main memory in desktop computers .&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Third Miss Rate Reduction Technique: Higher Associativity&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;There are two general rules of thumb .&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;The first is that eight-way set associative is for practical purposes as effective in reducing misses for these sized caches as fully associative. You can see the difference by comparing the 8-way entries to the capacity miss column&amp;nbsp;&amp;nbsp;since capacity misses are calculated using fully associative cache.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;The second observation, called the&amp;nbsp;&lt;b&gt;2:1&lt;/b&gt;&amp;nbsp;cache rule of thumb and found on the front inside cover, is that a direct-mapped cache of size&amp;nbsp;&amp;nbsp;has about the same miss rate as a 2-way set-&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin: 0in 0in 0pt 0.5in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;associative cache of size /2. This held for cache sizes less than 128 KB.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Like many of these examples, improving one aspect of the average memory access time comes at the expense of another. Increasing block size reduced miss rate while increasing miss penalty, and greater associativity&amp;nbsp;&amp;nbsp;can come at the cost of increased hit time&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Hence, the pressure of a fast processor clock cycle encourages simple cache designs, but the increasing miss penalty rewards associativity, as the following example suggests.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Fourth Miss Rate Reduction Technique: Way Prediction and Pseudo-Associative Caches&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;In way-prediction, extra bits are kept in the cache to predict cache access. This prediction means the multiplexor is set early to&amp;nbsp;&amp;nbsp;select the desired set, and only a single tag comparison is performed that clockcycle. A miss results in checking the other sets for matches in subsequent clock cycles.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;A related approach is called pseudo-associative or column associative&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Accesses proceed just as in the direct-mapped cache for a hit. On a miss, however,before going to the next lower level of the memory hierarchy, a second cache entry is checked to see if it matches there. A simple way is to invert the most significant bit of the index field to find the other block in the pseudo set.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Pseudo-associative caches then have one fast and one slow hit time corresponding to a regular hit and a pseudo hit in addition to the miss penalty.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;The performance would then be degraded by this optimization. Hence, it is important to indicate for each set which block should be the fast hit and which should be the slow one. One way is simply to make the upper one fast and swap the contents of the blocks. Another danger is that the miss penalty may become slightly longer, adding the time to check another cache entry.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Fifth Miss Rate Reduction Technique: Compiler Optimizations&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Code and Data Rearrangement&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Code can easily be rearranged without affecting correctness; for example,reordering the procedures of a program might reduce instruction miss rates by reducing conflict misses. Reordering the instructions reduced misses by 50% for a 2-KB direct-mapped instruction cache with 4 byte blocks, and by 75% in an 8-KB cache.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Another code optimization aims for better efficiency from long cache blocks.Aligning basic blocks so that the entry point is at the beginning of a cache block decreases the chance of a cache miss for sequential code.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Data have even fewer restrictions on location than code. The goal of such transformations is to try to improve the spatial and temporal locality of the data.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;For example, array calculations can be changed to operate on all the data in a cache block rather than blindly striding through arrays in the order the programmer happened to place the loop.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Loop Interchange&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Some programs have nested loops that access data in memory in non sequential order.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Simply exchanging the nesting of the loops can make the code access the data in the order it is&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;stored.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Assuming the arrays do not fit in cache, this technique reduces misses by improving spatial locality; reordering maximizes use of data in a cache block before it is discarded.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/* Before */&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for (j = 0; j \&amp;lt; 100; j = j+1)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for (i = 0; i \&amp;lt; 5000; i = i+1)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;x\[i]\[j] = 2 * x\[i]\[j];&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/* After */&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for (i = 0; i \&amp;lt; 5000; i = i+1)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for (j = 0; j \&amp;lt; 100; j = j+1)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;x\[i]\[j] = 2 * x\[i]\[j];&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;The original code would skip through memory in strides of 100 words, while the&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin: 0in 0in 0pt 0.5in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;revised version accesses all the words in one cache block before going to the next&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin: 0in 0in 0pt 0.5in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;block.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;This optimization improves cache performance without affecting the number of instructions executed, unlike the prior example.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Blocking&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;This optimization tries to reduce misses via improved temporal locality. We are again dealing with multiple arrays, with some arrays accessed by rows and someby columns.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Storing the arrays row by row (row major order) or column by column (column major order) does not solve the problem because both rows and columns are used in every iteration of the loop. Such orthogonal accesses mean the transformations such as loop interchange are not helpful.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Instead of operating on entire rows or columns of an array, blocked algorithms&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin: 0in 0in 0pt 0.5in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;operate on submatrices or blocks.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;The goal is to maximize accesses to the data loaded into the cache before the data are replaced. The code example below,which performs matrix multiplication, helps motivate the optimization:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/* Before */&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for (i = 0; i &amp;lt; N; i = i+1)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for (j = 0; j &amp;lt; N; j = j+1)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;r = 0;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for (k = 0; k &amp;lt; N; k&amp;nbsp;&amp;nbsp;= k + 1)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;r = r + y[i][k]*z[k][j];&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;x[i][j] = r;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;};&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;The two inner loops read all&amp;nbsp;&amp;nbsp;by&amp;nbsp;&amp;nbsp;elements of z, read the same&amp;nbsp;&amp;nbsp;elements in a row of y&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin: 0in 0in 0pt 0.5in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;repeatedly, and write one row of&amp;nbsp;&amp;nbsp;elements of x.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;The number of capacity misses clearly depends on and the size of the cache.If it can hold all three N&amp;nbsp;&amp;nbsp;by&amp;nbsp;&amp;nbsp;N . If the cache can hold one N by N matrix and one row of N ,then&amp;nbsp;&amp;nbsp;atleast the i th row of y and the array z&amp;nbsp;&amp;nbsp;may stay in the cache.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Reducing Cache Miss Penalty or Miss Rate via Parallelism&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;First Miss penalty/Rate Reduction technique: Nonblocking Caches to Increase Cache&amp;nbsp;&amp;nbsp;Bandwidth&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;For pipelined computers that allow out-of-order completion , the processor need not stall on a data cache miss.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;For example, the processor could continue fetching instructions from the instruction cache while waiting for the datacache to return the missing data.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;A nonblocking cache or lockup-free cache escalates the potential benefits of such a scheme by allowing the data cache to continue to supply cache hits during a miss.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;This “&lt;b&gt;hit under miss&lt;/b&gt;” optimization&amp;nbsp;&amp;nbsp;&amp;nbsp;reduces the effective miss penalty by being helpful during a miss instead of ignoring the requests of the processor.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;A subtle and complex option is that the cache may further lower the effective miss penalty if it can overlap multiple misses: a “&lt;b&gt;hit under multiple miss or miss under miss&lt;/b&gt;” optimization. The sec-ond option is beneficial only if the memory system can service multiple misses.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;The real difficulty with performance evaluation of nonblocking caches is that a cache miss does not necessarily stall the processor. In this case, it is difficult to judge the impact of any single miss, and hence difficult to calculate the average memory access time.&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Second Miss penalty/Rate Reduction technique: Hardware Prefetching of Instructions and Data to Reduce Miss Penalty or Miss Rate&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Nonblocking caches effectively reduce the miss penalty by overlapping execution with memory access.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Another approach is to prefetch items before the processor requests them. Both instructions and data can be prefetched, either directly into the caches or into an external buffer that can be more quickly accessed than main memory.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Instruction prefetch is frequently done in hardware outside of the cache.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Typically, the processor fetches two blocks on a miss:&amp;nbsp;&lt;i&gt;the requested block and the next consecutive&lt;/i&gt;&amp;nbsp;&lt;i&gt;block.&lt;o:p&gt;&lt;/o:p&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;The requested block is placed in the instruction cache when it returns, and the prefetched block is placed into the instruction stream buffer. If the requested block is present in the instruction stream buffer, the original cache request is canceled, the block is read from the stream buffer, and the&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;margin: 0in 0in 0pt 0.5in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;next prefetch request is issued.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Third Miss penalty/Rate Reduction technique: Compiler-Controlled Prefetching to Reduce Miss Penalty or Miss Rate&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;i&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Register&amp;nbsp;&amp;nbsp;prefetch&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;will load the value into a register.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;i&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Cache&amp;nbsp;&amp;nbsp;prefetch&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;loads data only into the cache and not the register&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://shareengineer.blogspot.com/feeds/4864058953826495231/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shareengineer.blogspot.com/2013/01/reducing-cache-miss-penalty-and-miss.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8058748219327537881/posts/default/4864058953826495231'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8058748219327537881/posts/default/4864058953826495231'/><link rel='alternate' type='text/html' href='http://shareengineer.blogspot.com/2013/01/reducing-cache-miss-penalty-and-miss.html' title='Reducing cache miss penalty and miss rate'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/17002818406074312384</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8058748219327537881.post-5353415738494001591</id><published>2013-01-04T21:04:00.003-08:00</published><updated>2013-01-04T21:04:18.223-08:00</updated><title type='text'>Cache performance</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;table border=&quot;0&quot; cellpadding=&quot;1&quot; cellspacing=&quot;0&quot; id=&quot;Table1&quot; style=&quot;color: black; width: 100%px;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;div align=&quot;center&quot;&gt;
&lt;span id=&quot;m_title&quot;&gt;UNIT V&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;span id=&quot;m_message&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;A better measure of memory-hierarchy performance is the&amp;nbsp;&lt;i&gt;average memory access time&lt;/i&gt;:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Average memory access time = Hit time + Miss rate ??Miss penalty&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;b&gt;&lt;i&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Hit&amp;nbsp;&amp;nbsp;time&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;i&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;is the time to hit in the cache.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;The components of average access time can be measured either in absolute time say&amp;nbsp;&amp;nbsp;0.25 to 1.0 nanoseconds on a hit or in the number of clock cycles that the CPU waits for the memory such as a miss penalty of 75 to 100 clock cycles.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Average memory access time and Processor Performance&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;First,&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;there are other reasons for stalls, such as contention due to I/O devices using memory.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Designers often assume that all memory stalls are due to cache misses, since the memory hierarchy typically dominates other reasons for stalls.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;We use this simplifying assumption here, but beware to account for&amp;nbsp;&lt;i&gt;all&amp;nbsp;&lt;/i&gt;memory stalls when calculating final performance.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Second,&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;The CPU stalls during misses, and the memory stall time is strongly correlated to average memory access time.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;CPU time = (CPU execution clock cycles + Memory stall clock cycles) ??Clock cycle time&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Miss Penalty and Out-of-Order Execution Processors&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Let’s redefine memory stalls to lead to a new definition of miss penalty as&amp;nbsp;&lt;b&gt;nonoverlapped latency&lt;/b&gt;:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;(Memory stall cycles/Instruction)=(Misses/Instruction)*(Total miss latency-Overlapped miss latency)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;This equation could be further expanded to account for contention for memory resources in an out-of-order processor by dividing total miss latency into latency without contention and latency due to contention.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;Let’s just concentrate on miss latency.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;We now have to decide&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraph&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;i&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;length of memory latency&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;: what to consider as the start and the end of a memory&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;operation in an out-of-order processor.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraph&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;i&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;length of latency overlap&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;: what is the start of overlap with for the processor (or&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;equivalently, when do we say a memory operation is stalling the processor).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Improving Cache Performance&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;The cache optimizations is of four categories:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;Reducing the miss penalty&lt;/b&gt;&amp;nbsp;: multilevel caches, critical word first read miss before write miss, merging write buffers, victim caches;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;Reducing the miss rate&lt;/b&gt;&amp;nbsp;: larger block size, larger cache size, higher associativity, pseudo-associativity, and compiler optimizations;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;Reducing the miss penalty or miss rate via parallelism&lt;/b&gt;&amp;nbsp;: nonblocking caches, hardware prefetching, and compiler prefetching;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&lt;b&gt;Reducing the time to hit in the cache&lt;/b&gt;&amp;nbsp;: small and simple caches,avoiding address translation, and pipelined cache access, and tace caches&lt;/span&gt;&lt;/div&gt;
&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://shareengineer.blogspot.com/feeds/5353415738494001591/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shareengineer.blogspot.com/2013/01/cache-performance.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8058748219327537881/posts/default/5353415738494001591'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8058748219327537881/posts/default/5353415738494001591'/><link rel='alternate' type='text/html' href='http://shareengineer.blogspot.com/2013/01/cache-performance.html' title='Cache performance'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/17002818406074312384</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8058748219327537881.post-451124649729897499</id><published>2013-01-04T21:03:00.003-08:00</published><updated>2013-01-04T21:03:36.324-08:00</updated><title type='text'>Case Study Snooping Coherence Protocol Implementation</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: -webkit-auto;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: -webkit-auto;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: -webkit-auto;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;The snooping coherence describe coherence at an abstract level, but hide many essential details and implicitly assume atomic access to the shared bus to provide correct operation. High-performance snooping systems use one or more pipelined, switched interconnects that greatly&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: -webkit-auto;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;improve bandwidth but introduce significant complexity due to transient states and nonatomic transactions. This case study examines a high-performance snooping system, loosely modeled on the Sun E6800, where multiple processor and memory nodes are connected by separate switched address and data networks.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: -webkit-auto;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: -webkit-auto;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;The system organization (middle) with enlargements of a single processor node (left) and a&amp;nbsp;&amp;nbsp;memory module (right). Like most high performance shared-memory systems, this system provides multiple memory modules to increase memory bandwidth. The processor nodes contain a CPU, cache, and a cache controller that implements the coherence protocol. The CPU issues read and write requests to the cache controller over the REQUEST bus and sends/receives data over the DATA bus. The cache controller services these&amp;nbsp;&amp;nbsp;requests locally, (i.e., on cache hits) and on a miss issues a coherence request (e.g., GetShared to request a read-only copy, GetModified to get an exclusive copy) by sending it to the address network via the ADDR_OUT queue. The address network uses a broadcast tree to make sure that all nodes see all coherence&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: -webkit-auto;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;requests in a total order. All nodes, including the requesting node, receive this request in the same order (but not necessarily the same cycle) on the ADDR_IN queue. This total order is essential to ensure that all cache controllers act in concert to maintain coherency. The protocol ensures that at most one node responds, sending a data message on the separate, unordered point-to-point data network&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://shareengineer.blogspot.com/feeds/451124649729897499/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shareengineer.blogspot.com/2013/01/case-study-snooping-coherence-protocol.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8058748219327537881/posts/default/451124649729897499'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8058748219327537881/posts/default/451124649729897499'/><link rel='alternate' type='text/html' href='http://shareengineer.blogspot.com/2013/01/case-study-snooping-coherence-protocol.html' title='Case Study Snooping Coherence Protocol Implementation'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/17002818406074312384</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8058748219327537881.post-3284038917736268351</id><published>2013-01-04T21:03:00.001-08:00</published><updated>2013-01-04T21:03:17.816-08:00</updated><title type='text'>CMP architectures - Design issues</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;table border=&quot;0&quot; cellpadding=&quot;1&quot; cellspacing=&quot;0&quot; id=&quot;Table1&quot; style=&quot;color: black; width: 100%px;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;div align=&quot;center&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;span id=&quot;m_message&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;color: #333333; font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Chip multiprocessors - also called multi-core microprocessors or CMPs for short - are now the only way to build high-performance microprocessors, for a variety of reasons. Large&amp;nbsp;&amp;nbsp;uniprocessors are no longer scaling in performance, because it is only possible to extract a limited amount of parallelism from a typical instruction stream using conventional superscalar instruction issue techniques. In addition, one cannot simply ratchet up the clock speed on today&#39;s processors, or the power dissipation will become prohibitive in all but water-cooled systems. Compounding these problems is the simple fact that with the immense numbers of transistors available on today&#39;s microprocessor chips, it is too costly to design and debug ever-larger processors every year or two.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;color: #333333; font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;CMPs avoid these problems by filling up a processor die with multiple, relatively simpler processor cores instead of just one huge core. The exact size of a CMP’s cores can vary from very simple pipelines to moderately complex superscalar processors, but once a core has been selected the CMP’s performance can easily scale across silicon process generations simply by stamping down more copies of the hard-to-design, high-speed processor core in each successive chip generation. In addition, parallel code execution, obtained by spreading multiple threads of execution across the various cores, can achieve significantly higher performance than would be possible using only a single core. While parallel threads are already common in many useful workloads, there are still important workloads that are hard to divide into parallel threads. The low inter-processor communication latency between the cores in a CMP helps make a much wider range of applications viable candidates for parallel execution than was possible with conventional, multi-chip multiprocessors; nevertheless, limited parallelism in key applications is&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;color: #333333; font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;the main factor limiting acceptance of CMPs in some types of systems.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;color: #333333; font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;CMPs can best be designed to handle two radically different kinds of workloads that are likely to be used with a CMP: highly parallel, throughput-sensitive applications at one end of the spectrum, and less parallel, latency-sensitive applications at the other. Throughput-sensitive applications, such as server workloads that handle many independent transactions at once, require careful balancing of all parts of a CMP that can limit throughput, such as the individual cores, on-chip cache memory, and off-chip memory interfaces. Several studies and example systems, such as the Sun Niagara, that examine the necessary tradeoffs are presented here. In contrast, latency-sensitive applications — many desktop applications fall into this category — require a focus on reducing inter-core communication latency and applying techniques to help programmers divide their programs into multiple threads as easily as possible. This book discusses many techniques that can be used in CMPs to simplify parallel programming, with an emphasis on research directions proposed at Stanford University. To illustrate the advantages possible with a CMP using a couple of solid examples, extra focus is given to thread-level speculation (TLS), a way to automatically break up nominally sequential applications into parallel threads on a CMP, and transactional memory. This model can greatly simplify manual parallel programming by using hardware — instead of conventional software locks — to enforce atomic code execution of blocks of instructions, a technique that makes parallel coding much less error-prone.&lt;/span&gt;&lt;/div&gt;
&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://shareengineer.blogspot.com/feeds/3284038917736268351/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shareengineer.blogspot.com/2013/01/cmp-architectures-design-issues.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8058748219327537881/posts/default/3284038917736268351'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8058748219327537881/posts/default/3284038917736268351'/><link rel='alternate' type='text/html' href='http://shareengineer.blogspot.com/2013/01/cmp-architectures-design-issues.html' title='CMP architectures - Design issues'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/17002818406074312384</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8058748219327537881.post-758152841089904376</id><published>2013-01-04T21:01:00.001-08:00</published><updated>2013-01-04T21:01:36.283-08:00</updated><title type='text'>SMT architectures - Design issues</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;table border=&quot;0&quot; cellpadding=&quot;1&quot; cellspacing=&quot;0&quot; id=&quot;Table1&quot; style=&quot;color: black; width: 100%px;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;div align=&quot;center&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;span id=&quot;m_message&quot;&gt;&lt;div style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;a href=&quot;http://en.wikipedia.org/wiki/Simultaneous_multithreading&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: black; font-family: Times New Roman; font-size: small;&quot;&gt;Simultaneous multithreading&lt;/span&gt;&lt;/b&gt;&lt;/a&gt;&lt;span style=&quot;font-family: Times New Roman; font-size: small;&quot;&gt;&amp;nbsp;(SMT) is a technique for improving CPU performance, where one CPU pretends to be two. The instructions from two threads are interleaved in the CPU&amp;nbsp;&amp;nbsp;pipeline, which can yield a performance gain for two reasons.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: Times New Roman; font-size: small;&quot;&gt;The first reason is that modern&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Superscalar&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: black; font-family: Times New Roman; font-size: small;&quot;&gt;superscalar procesors&lt;/span&gt;&lt;/b&gt;&lt;/a&gt;&lt;span style=&quot;font-family: Times New Roman; font-size: small;&quot;&gt;&amp;nbsp;have many execution units, and a single thread rarely uses all of them at once.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;font-family: Times New Roman;&quot;&gt;&amp;nbsp;The second reason is that when a thread stalls because it needs data that is not stored in the cache, the CPU ends up waiting for memory for hundreds of cycles.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: Times New Roman; font-size: small;&quot;&gt;In both of these cases, having a second thread immediately ready to run can fill up these empty spaces, and can prevent wasting resources. The important question is how much performance benefit can we expect, and how can we take advantage of it? This is going to become more important as this type of technology is making its way into CPU designs by all the major players: Intel, AMD, IBM and Sun.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: Times New Roman; font-size: small;&quot;&gt;According to Intel, SMT (which they call &quot;hyper-threading&quot;) can give a performance boost of up to 30%. However, this improvement is application dependant, and there are some applications where hyperthreading actually hurts performance. For example,&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;http://www.2cpu.com/articles/43_3.html&quot; title=&quot;Hyperthreading performance while encoding video using the DivX codec&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Times New Roman; font-size: small;&quot;&gt;this DivX encoding benchmark&lt;/span&gt;&lt;/b&gt;&lt;/a&gt;&lt;span style=&quot;font-family: Times New Roman; font-size: small;&quot;&gt;&amp;nbsp;shows a noticable loss when SMT is enabled. This shows that it is not trivial to gain extra performance with SMT. To help shed some light on this question, I found two interesting documents on SMT performance from Intel.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: Times New Roman; font-size: small;&quot;&gt;The is about how SMT is the beginning of a shift&amp;nbsp;&lt;span style=&quot;color: #333333;&quot;&gt;towards explicit parallelism in all types of applications, not just servers and scientific computation. The last few generations of CPU improvements, such as&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Instruction_pipeline&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Times New Roman; font-size: small;&quot;&gt;pipelining&lt;/span&gt;&lt;/b&gt;&lt;/a&gt;&lt;span style=&quot;color: #333333; font-family: Times New Roman; font-size: small;&quot;&gt;&amp;nbsp;and superscalar execution, exploit the implicit parallelism that exists in machine code. Unfortunately, these are hitting the limits of this approach. Sun calls this paradigm shift &quot;&lt;/span&gt;&lt;a href=&quot;http://www.sun.com/processors/throughput/&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Times New Roman; font-size: small;&quot;&gt;throughput computing&lt;/span&gt;&lt;/b&gt;&lt;/a&gt;&lt;span style=&quot;color: #333333; font-family: Times New Roman; font-size: small;&quot;&gt;”. The challenge is that we need to change our tools and mindsets to take advantage of the available multithreaded computational power.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;color: #333333; font-family: Times New Roman; font-size: small;&quot;&gt;The second gives developers some concrete advice for improving application performance. It describes&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;http://www.intel.com/cd/ids/developer/asmo-na/eng/20461.htm?prn=Y&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Times New Roman; font-size: small;&quot;&gt;how to use &quot;cache blocking&quot; effectively on SMT processors&lt;/span&gt;&lt;/b&gt;&lt;/a&gt;&lt;span style=&quot;font-family: Times New Roman; font-size: small;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;. Cache blocking is when you adjust the size of the chunks of data you are processing to&lt;/span&gt;&amp;nbsp;fit them into cache. The article presents some interesting graphs which suggest that for a single processor, blocks should be around half to three-quarters the size of the L2 cache, but when hyper-threading is enabled, this size is too big because the cache is shared between two threads. For the best SMT performance, the block size should be between half and a quarter the L2 cache, and it is better to be too small instead of too large. These results&lt;span style=&quot;color: black;&quot;&gt;&amp;nbsp;also suggest that the operating system needs to be very careful about how it maps threads onto CPUs. The biggest benefit should occur when the two threads share a significant chunk of their working set. Thinking about the problems and the opportunities in this space makes me itching to add multithreading to&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a href=&quot;http://acme.com/software/thttpd/&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: black; font-family: Times New Roman; font-size: small;&quot;&gt;thttpd&lt;/span&gt;&lt;/b&gt;&lt;/a&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;font-family: Times New Roman;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;. Web&amp;nbsp;serving is naturally a parallel activity, and it would be an interesting challenge to figure out to best scale its single thread of execution to multiple threads. Maybe I need to do my Ph. D. in parallel computing.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://shareengineer.blogspot.com/feeds/758152841089904376/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shareengineer.blogspot.com/2013/01/smt-architectures-design-issues.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8058748219327537881/posts/default/758152841089904376'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8058748219327537881/posts/default/758152841089904376'/><link rel='alternate' type='text/html' href='http://shareengineer.blogspot.com/2013/01/smt-architectures-design-issues.html' title='SMT architectures - Design issues'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/17002818406074312384</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8058748219327537881.post-9042467311085883964</id><published>2013-01-04T21:00:00.004-08:00</published><updated>2013-01-04T21:00:32.903-08:00</updated><title type='text'>Software and hardware multithreading</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;table border=&quot;0&quot; cellpadding=&quot;1&quot; cellspacing=&quot;0&quot; id=&quot;Table1&quot; style=&quot;color: black; width: 100%px;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;div align=&quot;center&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;span id=&quot;m_message&quot;&gt;&lt;span lang=&quot;EN&quot;&gt;&lt;span style=&quot;color: black; font-family: Times New Roman; font-size: small;&quot;&gt;The Software&amp;nbsp;&lt;b&gt;Multithreading&lt;/b&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Paradigm&quot; title=&quot;Paradigm&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: black; font-family: Times New Roman; font-size: small;&quot;&gt;paradigm&lt;/span&gt;&lt;/b&gt;&lt;/a&gt;&lt;span style=&quot;color: black; font-family: Times New Roman; font-size: small;&quot;&gt;&amp;nbsp;has become more popular as efforts to further exploit&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Instruction_level_parallelism&quot; title=&quot;Instruction level parallelism&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: black; font-family: Times New Roman; font-size: small;&quot;&gt;instruction level parallelism&lt;/span&gt;&lt;/b&gt;&lt;/a&gt;&lt;span style=&quot;color: black; font-family: Times New Roman; font-size: small;&quot;&gt;&amp;nbsp;have stalled since the late-1990s. This allowed the concept of&amp;nbsp;Throughput Computing&amp;nbsp;to re-emerge to prominence from the more specialized field of&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Transaction_processing&quot; title=&quot;Transaction processing&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: black; font-family: Times New Roman; font-size: small;&quot;&gt;transaction processing&lt;/span&gt;&lt;/b&gt;&lt;/a&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;font-family: Times New Roman;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;ul type=&quot;disc&quot;&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 10pt;&quot;&gt;&lt;span lang=&quot;EN&quot; style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;Even though it is very difficult&lt;/span&gt;&amp;nbsp;to further speed up a single thread or single program, most computer systems are actually multi-tasking among multiple threads or programs.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 10pt;&quot;&gt;&lt;span lang=&quot;EN&quot; style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Techniques that would allow speed up of the overall system throughput of all tasks would be a meaningful performance gain.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;span lang=&quot;EN&quot;&gt;&lt;span style=&quot;font-family: Times New Roman; font-size: small;&quot;&gt;The two major techniques for&amp;nbsp;throughput computing&amp;nbsp;are&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Multiprocessing&quot; title=&quot;Multiprocessing&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #ff3300; font-family: Times New Roman; font-size: small;&quot;&gt;multiprocessing&lt;/span&gt;&lt;/b&gt;&lt;/a&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;font-family: Times New Roman;&quot;&gt;&amp;nbsp;and multithreading.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;h3 style=&quot;margin: auto 0in;&quot;&gt;
&lt;span style=&quot;font-family: Times New Roman;&quot;&gt;&lt;span class=&quot;mw-headline&quot;&gt;&lt;span lang=&quot;EN&quot; style=&quot;font-size: 12pt;&quot;&gt;Advantages&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN&quot; style=&quot;font-size: 12pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;span lang=&quot;EN&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;font-family: Times New Roman;&quot;&gt;Some advantages include:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;ul type=&quot;disc&quot;&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 10pt;&quot;&gt;&lt;span lang=&quot;EN&quot; style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;If a thread gets a lot of cache misses, the other thread(s) can continue, taking advantage of the unused computing resources, which thus can lead to faster overall execution, as these resources would have been idle if only a single thread was executed.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 10pt;&quot;&gt;&lt;span lang=&quot;EN&quot; style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;If a thread can not use all the computing resources of the CPU (because instructions depend on each other&#39;s result), running another thread permits to not leave these idle.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 10pt;&quot;&gt;&lt;span lang=&quot;EN&quot; style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;If several threads work on the same set of data, they can actually share their cache, leading to better cache usage or synchronization on its values.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Hardware multithreading is a well-known technique to increase the utilization of processor resources. The idea is to start executing a different thread when the current thread is stalled. All hardware multithreading schemes assume that the workload consists of several independent tasks.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Basically, three different hardware multithreading techniques can be distinguished: cycle-by-cycle interleaving, block interleaving, and simultaneous multithreading.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;In cycle-by-cycle interleaving, the processor switches to a different thread each cycle. In&amp;nbsp;&amp;nbsp;principle, the next instruction of a thread is fed into the pipeline after the retirement of the previous instruction. This eliminates the need for forwarding datapaths, but implies that there must be as many threads as pipeline stages.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;In block interleaving also referred to as coarse-grain multithreading, the processor starts executing another thread if the current thread experiences an event that is predicted to have a significantly long latency. If it can be predicted that the latency is larger than the cost of&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;a thread switch, then the processor can at least hide part of the latency by executing another thread.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Both cycle-by-cycle interleaving as well as block interleaving attempt to eliminate&amp;nbsp;&lt;i&gt;vertical waste&lt;/i&gt;. Vertical waste means that no instructions are issued during a cycle because the current thread is stalled. Simultaneous multithreading (SMT) also tries to eliminate&amp;nbsp;&lt;i&gt;horizontal waste&amp;nbsp;&lt;/i&gt;(unused instruction slots in a cycle) because it fetches and issues instructions from different threads simultaneously.&lt;/span&gt;&lt;/div&gt;
&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://shareengineer.blogspot.com/feeds/9042467311085883964/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shareengineer.blogspot.com/2013/01/software-and-hardware-multithreading.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8058748219327537881/posts/default/9042467311085883964'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8058748219327537881/posts/default/9042467311085883964'/><link rel='alternate' type='text/html' href='http://shareengineer.blogspot.com/2013/01/software-and-hardware-multithreading.html' title='Software and hardware multithreading'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/17002818406074312384</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8058748219327537881.post-82752856493141979</id><published>2013-01-04T21:00:00.002-08:00</published><updated>2013-01-04T21:00:15.795-08:00</updated><title type='text'>Models of memory consistency</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;table border=&quot;0&quot; cellpadding=&quot;1&quot; cellspacing=&quot;0&quot; id=&quot;Table1&quot; prevstyle=&quot;&quot; style=&quot;border: 1px dashed rgb(170, 170, 170); color: black; width: 100%px;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td prevstyle=&quot;&quot; style=&quot;border: 1px dashed rgb(170, 170, 170);&quot;&gt;&lt;div align=&quot;center&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td prevstyle=&quot;&quot; style=&quot;border: 1px dashed rgb(170, 170, 170);&quot;&gt;&lt;span id=&quot;m_message&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Cache coherence ensures that multiple processors see a consistent view of memory. It does not answer the question of&amp;nbsp;&lt;i&gt;how&amp;nbsp;&lt;/i&gt;consistent the view of memory must be.&amp;nbsp;&amp;nbsp;By “how consistent” we mean, when must a processor see a value that has been updated by another processor? Since processors communicate through shared variables (used both for data values and for synchronization), the question boils down to this: In what order must a processor observe the data writes of another processor? Since the only way to “observe the writes of another processor” is through reads, the question becomes, What properties must be enforced among reads and writes to different locations by different processors?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Although the question of how consistent memory must be seems simple, it is remarkably complicated, as we can see with a simple example. Here are two code segments from processes P1 and P2, shown side by side:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 1.5in; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;1: A = 0;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;P2: B = 0;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 1.5in; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.....&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.....&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 1.5in; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;A = 1;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;B = 1;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 1.5in; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;L1: if (B == 0) ... L2: if (A == 0)...&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Assume that the processes are running on different processors, and that locations A and B are originally cached by both processors with the initial value of 0.&amp;nbsp;&amp;nbsp;The most straightforward model for memory consistency is called&amp;nbsp;&lt;i&gt;&lt;u&gt;sequential consistency&lt;/u&gt;&lt;/i&gt;&lt;u&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/u&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Sequential consistency requires that the result of any execution be the same as if the memory accesses executed by each processor were kept in order and the accesses among different&amp;nbsp;&amp;nbsp;processors were arbitrarily interleaved.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Sequential consistency eliminates the possibility of some no obvious execution in the previous example because the assignments must be completed before the if statements are initiated.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;The simplest way to implement sequential consistency is to require a processor to delay the completion of any memory access until all the invalidations caused by that access are completed.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Of course, it is equally effective to delay the next memory access until the previous one is completed.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Remember that memory consistency involves operations among different variables: the two accesses that must be ordered are actually to different memory locations. In our example, we must delay the read of A or B (A == 0 or B == 0) until the previous write has completed (B = 1 or A = 1). Under sequential consistency, we cannot, for example, simply place the write in a write buffer and continue with the read.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;The Programmer’s View&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Although the sequential consistency model has a performance disadvantage, from the viewpoint of the programmer it has the advantage of simplicity.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;The challenge is to develop a programming model that is simple to explain and yet allows a high-performance implementation.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;One such programming model that allows us to have a more efficient implementations&amp;nbsp;&amp;nbsp;to assume that programs are&amp;nbsp;&lt;i&gt;&lt;u&gt;synchronized&lt;/u&gt;&lt;/i&gt;&lt;u&gt;.&lt;/u&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;A program is synchronized if all access to shared data are ordered by synchronization operations.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;A data reference is ordered by a synchronization operation if, in every possible execution, a write of a variable by one processor and an access (either a read or a&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;write) of that variable by another processor are separated by a pair of synchronization executed before the access by the second processor.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Cases where variables maybe updated without ordering by synchronization are called&amp;nbsp;&lt;i&gt;data races&amp;nbsp;&lt;/i&gt;because the execution outcome depends on the relative speed of the processors, and like races in hardware design, the outcome is unpredictable, which leads to another name for synchronized programs:&amp;nbsp;&lt;i&gt;&lt;u&gt;data-race-free&lt;/u&gt;&lt;/i&gt;&lt;u&gt;.&lt;/u&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;It is a broadly accepted observation that most programs are synchronized. This observation is true primarily because if the accesses were unsynchronized, the behavior of the program would likely be unpredictable because the speed of execution would determine which processor won a data race and thus affect the results of the program.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Even with sequential consistency, reasoning about such programs is very difficult. Programmers could attempt to guarantee ordering by constructing their own synchronization mechanisms, but this is extremely tricky, can lead to buggy programs, and may not be supported architecturally, meaning that they may not work in future generations of the multiprocessor.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;Instead, almost all programmers will choose to use synchronization libraries that are correct and optimized for the multiprocessor and the type of synchronization.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Finally, the use of standard synchronization primitives ensures that even if the architecture implements a more relaxed consistency model than sequential consistency, a synchronized program will behave as if the hardware implemented sequential consistency operations, one executed after the write by the writing processor and one&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Relaxed Consistency Models: The Basics&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;The key idea in relaxed consistency models is to allow reads and writes to complet out of order, but to use synchronization operations to enforce ordering, so that a synchronized program behaves as if the processor were sequentially consistent. There are a variety of relaxed models that are classified according to what read and write orderings they relax.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;We specify the orderings by a set of rules of the form X?Y, meaning that operation X must complete before operation Y is done.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;Sequential consistency requires maintaining all four possible orderings:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;R?W, R?R, W?R, and W?W. The relaxed models are defined by which of these four sets of orderings they relax:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;1. Relaxing the W?R ordering yields a model known as&amp;nbsp;&lt;i&gt;&lt;u&gt;total store ordering&amp;nbsp;&lt;/u&gt;&lt;/i&gt;&lt;u&gt;or&amp;nbsp;&lt;i&gt;processor consistency&lt;/i&gt;&lt;/u&gt;. Because this ordering retains ordering among writes,&lt;u&gt;&amp;nbsp;&lt;/u&gt;many programs that operate under sequential consistency operate under this model, without additional synchronization&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;2. Relaxing the W?W ordering yields a model known as&amp;nbsp;&lt;i&gt;&lt;u&gt;partial store order&lt;/u&gt;&lt;/i&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;3. Relaxing the R?W and R?R orderings yields a variety of models including&amp;nbsp;&lt;i&gt;&lt;u&gt;weak ordering&lt;/u&gt;&lt;/i&gt;, the PowerPC consistency model, and&amp;nbsp;&lt;i&gt;&lt;u&gt;release consistency&lt;/u&gt;&lt;/i&gt;, depending on the details of the ordering restrictions and how synchronization operations enforce ordering.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;By relaxing these orderings, the processor can possibly obtain significant performance advantages.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;There are, however, many complexities in describing relaxed consistency models, including the advantages and complexities of relaxing different orders, defining precisely what it means for a write to complete, and deciding when processors can see values that the processor itself has written.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;For more information about the complexities, implementation issues, and performance potential from relaxed models, we highly recommend the excellent tutorial by Adve and Gharachorloo .&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://shareengineer.blogspot.com/feeds/82752856493141979/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shareengineer.blogspot.com/2013/01/models-of-memory-consistency.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8058748219327537881/posts/default/82752856493141979'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8058748219327537881/posts/default/82752856493141979'/><link rel='alternate' type='text/html' href='http://shareengineer.blogspot.com/2013/01/models-of-memory-consistency.html' title='Models of memory consistency'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/17002818406074312384</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8058748219327537881.post-5868697278818417340</id><published>2013-01-04T20:59:00.008-08:00</published><updated>2013-01-04T20:59:57.504-08:00</updated><title type='text'>Synchronisation issues</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;table border=&quot;0&quot; cellpadding=&quot;1&quot; cellspacing=&quot;0&quot; id=&quot;Table1&quot; style=&quot;color: black; width: 100%px;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;div align=&quot;center&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;span id=&quot;m_message&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-align: justify; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;&lt;img alt=&quot;*&quot; height=&quot;13&quot; src=&quot;file:///C:/Users/TSCS038/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif&quot; width=&quot;15&quot; /&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Synchronization mechanisms are typically built with user-level software routines that rely on hardware supplied synchronization instructions.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-align: justify; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;&lt;img alt=&quot;*&quot; height=&quot;13&quot; src=&quot;file:///C:/Users/TSCS038/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif&quot; width=&quot;15&quot; /&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;For smaller multiprocessors or low-contention situations, the key hardware capability is an uninterruptible instruction or instruction sequence capable of atomically retrieving.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-align: justify; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;&lt;img alt=&quot;*&quot; height=&quot;13&quot; src=&quot;file:///C:/Users/TSCS038/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif&quot; width=&quot;15&quot; /&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;In larger-scale multiprocessors or high-contention situations, synchronization can become a performance bottleneck because contention introduces additional delays and because latency is potentially greater in such a multiprocessor.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt; text-align: justify;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Basic Hardware Primitives&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-align: justify; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;&lt;img alt=&quot;*&quot; height=&quot;13&quot; src=&quot;file:///C:/Users/TSCS038/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif&quot; width=&quot;15&quot; /&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;The key ability we require to implement synchronization in a multiprocessor is&amp;nbsp;&amp;nbsp;&amp;nbsp;asset of hardware primitives with the ability to atomically read and modify a memory location.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-align: justify; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;&lt;img alt=&quot;*&quot; height=&quot;13&quot; src=&quot;file:///C:/Users/TSCS038/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif&quot; width=&quot;15&quot; /&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;There are a number of alternative formulations of the basic hardware primitives, all of which provide the ability to atomically read and modify a location, together with some way to tell if the read and write were performed atomically&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-align: justify; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;&lt;img alt=&quot;*&quot; height=&quot;13&quot; src=&quot;file:///C:/Users/TSCS038/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif&quot; width=&quot;15&quot; /&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;These hardware primitives are the basic building blocks that are used to build a wide variety of user-level synchronization operations, including things such as locks and barriers.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-align: justify; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;&lt;img alt=&quot;*&quot; height=&quot;13&quot; src=&quot;file:///C:/Users/TSCS038/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif&quot; width=&quot;15&quot; /&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;One typical operation for building synchronization operations is&amp;nbsp;&amp;nbsp;&lt;i&gt;&lt;u&gt;atomic exchange,&lt;/u&gt;&amp;nbsp;&lt;/i&gt;which interchanges a value in a register for a value in memory.&lt;i&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-align: justify; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;&lt;img alt=&quot;*&quot; height=&quot;13&quot; src=&quot;file:///C:/Users/TSCS038/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif&quot; width=&quot;15&quot; /&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;To see how to use this to build a basic synchronization operation, assume that we want to build a simple lock where the value 0 is used to indicate that the lock is freehand 1 is used to indicate that the lock is unavailable.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-align: justify; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;&lt;img alt=&quot;*&quot; height=&quot;13&quot; src=&quot;file:///C:/Users/TSCS038/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif&quot; width=&quot;15&quot; /&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;A processor tries to set the lock by doing an exchange of 1, which is in a register, with the memory address corresponding to the lock.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-align: justify; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;&lt;img alt=&quot;*&quot; height=&quot;13&quot; src=&quot;file:///C:/Users/TSCS038/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif&quot; width=&quot;15&quot; /&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;For example, consider two processors that each try to do the exchange simultaneously: This race is broken since exactly one of the processors will perform the exchange first, returning 0, and the second processor will return 1 when it does the exchange.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-align: justify; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;&lt;img alt=&quot;*&quot; height=&quot;13&quot; src=&quot;file:///C:/Users/TSCS038/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif&quot; width=&quot;15&quot; /&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;The key to using the exchange (or swap) primitive to implement synchronization is that the operation is atomic: The exchange is indivisible, and two simultaneous exchanges will be ordered by the write serialization mechanisms.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-align: justify; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;&lt;img alt=&quot;*&quot; height=&quot;13&quot; src=&quot;file:///C:/Users/TSCS038/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif&quot; width=&quot;15&quot; /&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;It is impossible for two processors trying to set the synchronization variable in this manner to both think they have simultaneously set the variable.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-align: justify; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;&lt;img alt=&quot;*&quot; height=&quot;13&quot; src=&quot;file:///C:/Users/TSCS038/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif&quot; width=&quot;15&quot; /&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;There are a number of other atomic primitives that can be used to implement synchronization&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-align: justify; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;&lt;img alt=&quot;*&quot; height=&quot;13&quot; src=&quot;file:///C:/Users/TSCS038/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif&quot; width=&quot;15&quot; /&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;One operation, present in many older multiprocessors, is&amp;nbsp;&lt;i&gt;&lt;u&gt;test-and-set&lt;/u&gt;,&amp;nbsp;&lt;/i&gt;which tests a value and sets it if the value passes the test.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-align: justify; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;&lt;img alt=&quot;*&quot; height=&quot;13&quot; src=&quot;file:///C:/Users/TSCS038/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif&quot; width=&quot;15&quot; /&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;For example, we could define an operation that tested for 0 and set the value to 1, which can be used in a fashion similar to how we used atomic exchange.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-align: justify; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;&lt;img alt=&quot;*&quot; height=&quot;13&quot; src=&quot;file:///C:/Users/TSCS038/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif&quot; width=&quot;15&quot; /&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;Another atomic synchronization primitive is&amp;nbsp;&lt;i&gt;&lt;u&gt;fetch-and-increment&lt;/u&gt;:&amp;nbsp;&lt;/i&gt;It returns the value of a memory location and atomically increments it.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-align: justify; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;&lt;img alt=&quot;*&quot; height=&quot;13&quot; src=&quot;file:///C:/Users/TSCS038/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif&quot; width=&quot;15&quot; /&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;This requirement complicates the implementation of coherence, since the hardware cannot allow any other operations between the read and the write, and yet must not deadlock.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-align: justify; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;&lt;img alt=&quot;*&quot; height=&quot;13&quot; src=&quot;file:///C:/Users/TSCS038/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif&quot; width=&quot;15&quot; /&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;An alternative is to have a pair of instructions where the second instruction returns a value from which it can be deduced whether the pair of instructions was executed as if the instructions were atomic.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-align: justify; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;&lt;img alt=&quot;*&quot; height=&quot;13&quot; src=&quot;file:///C:/Users/TSCS038/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif&quot; width=&quot;15&quot; /&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;The pair of instructions includes a special load called a&amp;nbsp;&lt;i&gt;&lt;u&gt;load linked&amp;nbsp;&lt;/u&gt;&lt;/i&gt;&lt;u&gt;or&amp;nbsp;&lt;i&gt;load locked&amp;nbsp;&lt;/i&gt;&lt;/u&gt;and a special store called a&lt;u&gt;&amp;nbsp;&lt;i&gt;store conditional&lt;/i&gt;&lt;/u&gt;.&lt;i&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-align: justify; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;&lt;img alt=&quot;*&quot; height=&quot;13&quot; src=&quot;file:///C:/Users/TSCS038/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif&quot; width=&quot;15&quot; /&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;These instructions are used in sequence: If the contents of the memory location specified by the load linked are changed before the store conditional to the same address occurs, then the store conditional fails.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-align: justify; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;&lt;img alt=&quot;*&quot; height=&quot;13&quot; src=&quot;file:///C:/Users/TSCS038/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif&quot; width=&quot;15&quot; /&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;The store conditional is defined to return 1 if it was successful and a 0 otherwise.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-align: justify; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;&lt;img alt=&quot;*&quot; height=&quot;13&quot; src=&quot;file:///C:/Users/TSCS038/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif&quot; width=&quot;15&quot; /&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;An advantage of the load linked/store conditional mechanism is that it can be used to build other synchronization primitives. For example, here is an atomic fetch-and-increment:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 2in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;LL R2,0(R1) ;load linked&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 1.5in; text-indent: 0.5in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;DADDUI R3,R2,#1 ;increment&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 1.5in; text-indent: 0.5in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;SC R3,0(R1) ;store conditional&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 1.5in; text-indent: 0.5in;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&amp;nbsp;BEQZ R3,try ;branch store fails&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-align: justify; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;&lt;img alt=&quot;*&quot; height=&quot;13&quot; src=&quot;file:///C:/Users/TSCS038/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif&quot; width=&quot;15&quot; /&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;These instructions are typically implemented by keeping track of the address specified in the LL instruction in a register, often called the&amp;nbsp;&lt;i&gt;link register.&lt;/i&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-align: justify; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;&lt;img alt=&quot;*&quot; height=&quot;13&quot; src=&quot;file:///C:/Users/TSCS038/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif&quot; width=&quot;15&quot; /&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;If an interrupt occurs, or if the cache block matching the address in the link register is invalidated (for example, by another SC), the link register is cleared.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt 0.5in; text-align: justify; text-indent: -0.25in;&quot;&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 12pt;&quot;&gt;&lt;img alt=&quot;*&quot; height=&quot;13&quot; src=&quot;file:///C:/Users/TSCS038/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif&quot; width=&quot;15&quot; /&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;In addition, the number of instructions between the load linked and the store conditional should be small to minimize the probability that either an unrelated event or a competing processor causes the store conditional to fail frequently&lt;/span&gt;&lt;/div&gt;
&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://shareengineer.blogspot.com/feeds/5868697278818417340/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shareengineer.blogspot.com/2013/01/synchronisation-issues.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8058748219327537881/posts/default/5868697278818417340'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8058748219327537881/posts/default/5868697278818417340'/><link rel='alternate' type='text/html' href='http://shareengineer.blogspot.com/2013/01/synchronisation-issues.html' title='Synchronisation issues'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/17002818406074312384</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>