The document discusses snooping cache coherence protocols. It covers key design issues like when memory gets updated, who responds to requests, and optimizations like adding states. It then describes several specific protocols: a 4-state protocol, the MESI protocol, an update protocol called Dragon, and issues around implementing these with split transaction buses. Key challenges addressed include non-atomic transitions, livelock, and handling multiple outstanding requests.
The network layer is responsible for routing packets from the source to destination. The routing algorithm is the piece of software that decides where a packet goes next (e.g., which output line, or which node on a broadcast channel).For connectionless networks, the routing decision is made for each datagram. For connection-oriented networks, the decision is made once, at circuit setup time.
Routing Issues
The routing algorithm must deal with the following issues:
Correctness and simplicity: networks are never taken down; individual parts (e.g., links, routers) may fail, but the whole network should not.
Stability: if a link or router fails, how much time elapses before the remaining routers recognize the topology change? (Some never do..)
Fairness and optimality: an inherently intractable problem. Definition of optimality usually doesn't consider fairness. Do we want to maximize channel usage? Minimize average delay?
When we look at routing in detail, we'll consider both adaptive--those that take current traffic and topology into consideration--and nonadaptive algorithms.
loader and linker are both system software which capable of loads the object code, assembled by an assembler, (loader) and link a different kind of block of a huge program. both software works at the bottom of the operation (i.e. closer to the hardware). in fact, both have machine dependent and independent features.
The network layer is responsible for routing packets from the source to destination. The routing algorithm is the piece of software that decides where a packet goes next (e.g., which output line, or which node on a broadcast channel).For connectionless networks, the routing decision is made for each datagram. For connection-oriented networks, the decision is made once, at circuit setup time.
Routing Issues
The routing algorithm must deal with the following issues:
Correctness and simplicity: networks are never taken down; individual parts (e.g., links, routers) may fail, but the whole network should not.
Stability: if a link or router fails, how much time elapses before the remaining routers recognize the topology change? (Some never do..)
Fairness and optimality: an inherently intractable problem. Definition of optimality usually doesn't consider fairness. Do we want to maximize channel usage? Minimize average delay?
When we look at routing in detail, we'll consider both adaptive--those that take current traffic and topology into consideration--and nonadaptive algorithms.
loader and linker are both system software which capable of loads the object code, assembled by an assembler, (loader) and link a different kind of block of a huge program. both software works at the bottom of the operation (i.e. closer to the hardware). in fact, both have machine dependent and independent features.
Network layer - design Issues ,Store-and-Forward Packet Switching, Services Provided to the Transport Layer, Which service is the best , Implementation of Service , Implementation of Connectionless Service , Implementation of Connection-Oriented Service
Remote Procedure Call in Distributed SystemPoojaBele1
Presentation to give description about the remote procedure call in distributed systems
Presentation covers some points on remote procedure call in distributed systems
Network layer - design Issues ,Store-and-Forward Packet Switching, Services Provided to the Transport Layer, Which service is the best , Implementation of Service , Implementation of Connectionless Service , Implementation of Connection-Oriented Service
Remote Procedure Call in Distributed SystemPoojaBele1
Presentation to give description about the remote procedure call in distributed systems
Presentation covers some points on remote procedure call in distributed systems
Caches in multiprocessing environment introduce the Cache Coherence problem.
When multiple processors maintain locally cached copies of a unique shared memory location, any local modification of the location can result in a globally inconsistent view of memory. This is called Cache Coherence Problem.
A brief discussion about its solutions are given.
The Objectives of these slides are:
- To provide a detailed description of various ways of organizing memory hardware
- To discuss various memory-management techniques, including paging and segmentation
- To provide a detailed description of the Intel Pentium, which supports both pure segmentation and segmentation with paging
DSM system
Shared memory
On chip memory
Bus based multiprocessor
Working through cache
Write through cache
Write once protocol
Ring based multiprocessor
Protocol used
Similarities and differences b\w ring based and bus based
Memory system, and not processor speed, is often the bottleneck for many applications.
Memory system performance is largely captured by two parameters, latency and bandwidth.
Latency is the time from the issue of a memory request to the time the data is available at the processor.
Bandwidth is the rate at which data can be pumped to the processor by the memory system.
2024.06.01 Introducing a competency framework for languag learning materials ...Sandy Millin
http://sandymillin.wordpress.com/iateflwebinar2024
Published classroom materials form the basis of syllabuses, drive teacher professional development, and have a potentially huge influence on learners, teachers and education systems. All teachers also create their own materials, whether a few sentences on a blackboard, a highly-structured fully-realised online course, or anything in between. Despite this, the knowledge and skills needed to create effective language learning materials are rarely part of teacher training, and are mostly learnt by trial and error.
Knowledge and skills frameworks, generally called competency frameworks, for ELT teachers, trainers and managers have existed for a few years now. However, until I created one for my MA dissertation, there wasn’t one drawing together what we need to know and do to be able to effectively produce language learning materials.
This webinar will introduce you to my framework, highlighting the key competencies I identified from my research. It will also show how anybody involved in language teaching (any language, not just English!), teacher training, managing schools or developing language learning materials can benefit from using the framework.
This is a presentation by Dada Robert in a Your Skill Boost masterclass organised by the Excellence Foundation for South Sudan (EFSS) on Saturday, the 25th and Sunday, the 26th of May 2024.
He discussed the concept of quality improvement, emphasizing its applicability to various aspects of life, including personal, project, and program improvements. He defined quality as doing the right thing at the right time in the right way to achieve the best possible results and discussed the concept of the "gap" between what we know and what we do, and how this gap represents the areas we need to improve. He explained the scientific approach to quality improvement, which involves systematic performance analysis, testing and learning, and implementing change ideas. He also highlighted the importance of client focus and a team approach to quality improvement.
The Roman Empire A Historical Colossus.pdfkaushalkr1407
The Roman Empire, a vast and enduring power, stands as one of history's most remarkable civilizations, leaving an indelible imprint on the world. It emerged from the Roman Republic, transitioning into an imperial powerhouse under the leadership of Augustus Caesar in 27 BCE. This transformation marked the beginning of an era defined by unprecedented territorial expansion, architectural marvels, and profound cultural influence.
The empire's roots lie in the city of Rome, founded, according to legend, by Romulus in 753 BCE. Over centuries, Rome evolved from a small settlement to a formidable republic, characterized by a complex political system with elected officials and checks on power. However, internal strife, class conflicts, and military ambitions paved the way for the end of the Republic. Julius Caesar’s dictatorship and subsequent assassination in 44 BCE created a power vacuum, leading to a civil war. Octavian, later Augustus, emerged victorious, heralding the Roman Empire’s birth.
Under Augustus, the empire experienced the Pax Romana, a 200-year period of relative peace and stability. Augustus reformed the military, established efficient administrative systems, and initiated grand construction projects. The empire's borders expanded, encompassing territories from Britain to Egypt and from Spain to the Euphrates. Roman legions, renowned for their discipline and engineering prowess, secured and maintained these vast territories, building roads, fortifications, and cities that facilitated control and integration.
The Roman Empire’s society was hierarchical, with a rigid class system. At the top were the patricians, wealthy elites who held significant political power. Below them were the plebeians, free citizens with limited political influence, and the vast numbers of slaves who formed the backbone of the economy. The family unit was central, governed by the paterfamilias, the male head who held absolute authority.
Culturally, the Romans were eclectic, absorbing and adapting elements from the civilizations they encountered, particularly the Greeks. Roman art, literature, and philosophy reflected this synthesis, creating a rich cultural tapestry. Latin, the Roman language, became the lingua franca of the Western world, influencing numerous modern languages.
Roman architecture and engineering achievements were monumental. They perfected the arch, vault, and dome, constructing enduring structures like the Colosseum, Pantheon, and aqueducts. These engineering marvels not only showcased Roman ingenuity but also served practical purposes, from public entertainment to water supply.
The Indian economy is classified into different sectors to simplify the analysis and understanding of economic activities. For Class 10, it's essential to grasp the sectors of the Indian economy, understand their characteristics, and recognize their importance. This guide will provide detailed notes on the Sectors of the Indian Economy Class 10, using specific long-tail keywords to enhance comprehension.
For more information, visit-www.vavaclasses.com
Operation “Blue Star” is the only event in the history of Independent India where the state went into war with its own people. Even after about 40 years it is not clear if it was culmination of states anger over people of the region, a political game of power or start of dictatorial chapter in the democratic setup.
The people of Punjab felt alienated from main stream due to denial of their just demands during a long democratic struggle since independence. As it happen all over the word, it led to militant struggle with great loss of lives of military, police and civilian personnel. Killing of Indira Gandhi and massacre of innocent Sikhs in Delhi and other India cities was also associated with this movement.
Ethnobotany and Ethnopharmacology:
Ethnobotany in herbal drug evaluation,
Impact of Ethnobotany in traditional medicine,
New development in herbals,
Bio-prospecting tools for drug discovery,
Role of Ethnopharmacology in drug evaluation,
Reverse Pharmacology.
How to Split Bills in the Odoo 17 POS ModuleCeline George
Bills have a main role in point of sale procedure. It will help to track sales, handling payments and giving receipts to customers. Bill splitting also has an important role in POS. For example, If some friends come together for dinner and if they want to divide the bill then it is possible by POS bill splitting. This slide will show how to split bills in odoo 17 POS.
Palestine last event orientationfvgnh .pptxRaedMohamed3
An EFL lesson about the current events in Palestine. It is intended to be for intermediate students who wish to increase their listening skills through a short lesson in power point.
Synthetic Fiber Construction in lab .pptxPavel ( NSTU)
Synthetic fiber production is a fascinating and complex field that blends chemistry, engineering, and environmental science. By understanding these aspects, students can gain a comprehensive view of synthetic fiber production, its impact on society and the environment, and the potential for future innovations. Synthetic fibers play a crucial role in modern society, impacting various aspects of daily life, industry, and the environment. ynthetic fibers are integral to modern life, offering a range of benefits from cost-effectiveness and versatility to innovative applications and performance characteristics. While they pose environmental challenges, ongoing research and development aim to create more sustainable and eco-friendly alternatives. Understanding the importance of synthetic fibers helps in appreciating their role in the economy, industry, and daily life, while also emphasizing the need for sustainable practices and innovation.
How to Create Map Views in the Odoo 17 ERPCeline George
The map views are useful for providing a geographical representation of data. They allow users to visualize and analyze the data in a more intuitive manner.
2. 2
Design Issues, Optimizations
• When does memory get updated?
demotion from modified to shared?
move from modified in one cache to modified in another?
• Who responds with data? – memory or a cache that has
the block in exclusive state – does it help if sharers respond?
• We can assume that bus, memory, and cache state
transactions are atomic – if not, we will need more states
• A transition from shared to modified only requires an upgrade
request and no transfer of data
• Is the protocol simpler for a write-through cache?
3. 3
4-State Protocol
• Multiprocessors execute many single-threaded programs
• A read followed by a write will generate bus transactions
to acquire the block in exclusive state even though there
are no sharers
• Note that we can optimize protocols by adding more
states – increases design/verification complexity
4. 4
MESI Protocol
• The new state is exclusive-clean – the cache can service
read requests and no other cache has the same block
• When the processor attempts a write, the block is
upgraded to exclusive-modified without generating a bus
transaction
• When a processor makes a read request, it must detect
if it has the only cached copy – the interconnect must
include an additional signal that is asserted by each
cache if it has a valid copy of the block
5. 5
Design Issues
• When caches evict blocks, they do not inform other
caches – it is possible to have a block in shared state
even though it is an exclusive-clean copy
• Cache-to-cache sharing: SRAM vs. DRAM latencies,
contention in remote caches, protocol complexities
(memory has to wait, which cache responds), can be
especially useful in distributed memory systems
• The protocol can be improved by adding a fifth
state (owner – MOESI) – the owner services reads
(instead of memory)
6. 6
Update Protocol (Dragon)
• 4-state write-back update protocol, first used in the
Dragon multiprocessor (1984)
• Write-back update is not the same as write-through –
on a write, only caches are updated, not memory
• Goal: writes may usually not be on the critical path, but
subsequent reads may be
7. 7
4 States
• No invalid state
• Modified and Exclusive-clean as before: used when there
is a sole cached copy
• Shared-clean: potentially multiple caches have this block
and main memory may or may not be up-to-date
• Shared-modified: potentially multiple caches have this
block, main memory is not up-to-date, and this cache
must update memory – only one block can be in Sm state
• In reality, one state would have sufficed – more states
to reduce traffic
8. 8
Design Issues
• If the update is also sent to main memory, the Sm
state can be eliminated
• If all caches are informed when a block is evicted, the
block can be moved from shared to M or E – this can
help save future bus transactions
• Having an extra wire to determine exclusivity seems
like a worthy trade-off in update systems
9. 9
State Transitions
To
From
NP I E S M
NP 0 0 1.25 0.96 1.68
I 0.64 0 0 1.87 0.002
E 0.20 0 14.0 0.02 1.00
S 0.42 2.5 0 134.7 2.24
M 2.63 0.002 0 2.3 843.6
To
From
NP I E S M
NP -- -- BusRd BusRd BusRdX
I -- -- BusRd BusRd BusRdX
E -- -- -- -- --
S -- -- Not possible -- BusUpgr
M BusWB BusWB Not possible BusWB --
State transitions
per 1000 data
memory references
for Ocean
Bus actions
for each state
transition
NP – Not Present
10. 10
Basic Implementation
• Assume single level of cache, atomic bus transactions
• It is simpler to implement a processor-side cache
controller that monitors requests from the processor and
a bus-side cache controller that services the bus
• Both controllers are constantly trying to read tags
tags can be duplicated (moderate area overhead)
unlike data, tags are rarely updated
tag updates stall the other controller
11. 11
Reporting Snoop Results
• Uniprocessor system: initiator places address on bus, all
devices monitor address, one device acks by raising a
wired-OR signal, data is transferred
• In a multiprocessor, memory has to wait for the snoop
result before it chooses to respond – need 3 wired-OR
signals: (i) indicates that a cache has a copy, (ii) indicates
that a cache has a modified copy, (iii) indicates that the
snoop has not completed
• Ensuring timely snoops: the time to respond could be
fixed or variable (with the third wired-OR signal), or the
memory could track if a cache has a block in M state
12. 12
Non-Atomic State Transitions
• Note that a cache controller’s actions are not all atomic: tag
look-up, bus arbitration, bus transaction, data/tag update
• Consider this: block A in shared state in P1 and P2; both
issue a write; the bus controllers are ready to issue an
upgrade request and try to acquire the bus; is there a
problem?
• The controller can keep track of additional intermediate
states so it can react to bus traffic (e.g. SM, IM, IS,E)
• Alternatively, eliminate upgrade request; use the shared
wire to suppress memory’s response to an exclusive-rd
13. 13
Livelock
• Livelock can happen if the processor-cache handshake
is not designed correctly
• Before the processor can attempt the write, it must
acquire the block in exclusive state
• If all processors are writing to the same block, one of
them acquires the block first – if another exclusive request
is seen on the bus, the cache controller must wait for the
processor to complete the write before releasing the block
-- else, the processor’s write will fail again because the
block would be in invalid state
14. 14
Split Transaction Bus
• What would it take to implement the protocol correctly
while assuming a split transaction bus?
• Split transaction bus: a cache puts out a request, releases
the bus (so others can use the bus), receives its response
much later
• Assumptions:
only one request per block can be outstanding
separate lines for addr (request) and data (response)
16. 16
Design Issues
• When does the snoop complete? What if the snoop takes
a long time?
• What if the buffer in a processor/memory is full? When
does the buffer release an entry? Are the buffers identical?
• How does each processor ensure that a block does not
have multiple outstanding requests?
• What determines the write order – requests or responses?
17. 17
Design Issues II
• What happens if a processor is arbitrating for the bus and
witnesses another bus transaction for the same address?
• If the processor issues a read miss and there is already a
matching read in the request table, can we reduce bus
traffic?