StudentShare
Contact Us
Sign In / Sign Up for FREE
Search
Go to advanced search...
Free

Synchronized Access to Shared Memory in a Multi Core Computer - Lab Report Example

Cite this document
Summary
The paper 'Synchronized Access to Shared Memory in a Multi-Core Computer' describes various techniques how to maintain control over memory access by using Hardware and Software co-ordination when A Chip-Level Multiprocessor or a Multi-Core Processor has two or more independent CPUs integrated on a single Integrated Circuit…
Download full paper File format: .doc, available for editing
GRAB THE BEST PAPER94.7% of users find it useful
Synchronized Access to Shared Memory in a Multi Core Computer
Read Text Preview

Extract of sample "Synchronized Access to Shared Memory in a Multi Core Computer"

Abstract A Chip-Level Multiprocessor (CMP) or a Multi-Core Processor has two or more independent CPUs integrated on a single Integrated Circuit (IC). Such an arrangement is useful since it allows two or more different operations to run simultaneously increasing the processing output. However, in such an arrangement it is very necessary to maintain control over memory access since these processes could be inter-dependent and the sequence of their execution could be critical. This can be achieved by using Hardware and Software co-ordination. Various techniques which can be used to achieve this are discussed in the following paper. Synchronized Access to Shared Memory by Multiple Concurrent Threads in a Multi Core Computer A multi-core processor (or chip-level multiprocessor, CMP) combines two or more independent cores (normally a CPU) into a single package composed of a single integrated circuit (IC). The below diagram “Dual CPU Core Chip” (Schmitz, 2004) gives an idea about it. The principle behind current Multi-Processing (MP) systems is that computations requiring large amount of CPU usage could be broken up into many relatively independent parts. These parts, called threads, while being executed simultaneously, could either be of the same or different process. Since these threads could be inter-dependant, issues of memory architecture and in particular memory consistency and cache behavior are ‘key’ to both correctness and performance in multi-processing systems. Multi-Core Processors (CMPs) could be broadly classified as Uniform Memory Access (UMA) processors in which all the CPUs are able to access all the memory with no specific preference or Non-Uniform Memory Access (NUMA) processors, where each CPU may have its own special memory area. A system may maintain memory consistency using hardware or using a combination of hardware and software techniques. Hardware can provide a particular memory ordering guarantee, (hardware will maintain the sequential nature of program memory accesses), while software can be used supplement hardware-provided memory ordering by forcing additional ordering restrictions at desired times. The memory ordering scheme implemented is a design choice involving a tradeoff between hardware complexity, software complexity, and the desired ability to cache and buffer data. Non-Uniform Memory Access (NUMA) Architecture Refer Diagram “NUMA Architecture.” (Watson, n.d., p. 4) In NUMA architecture a processor can access its own local memory faster than non-local memory that is, memory local to another processor or memory shared between processors. In this type, all the MPs may or may not be of similar capacity (Asymmetric Multi Processing). Communication between processors is often based on use of shared memory between those processors. An ‘Inter Process Interrupt’ (IPI) allows CPUs to generate notifications to other CPUs to invalidate entries for a shared region or to request termination. Uniform Memory Access (UMA) Architecture Refer Diagram “UMA Architecture.” (Watson, n.d., p. 3) When multiple processors can access the same shared memory, the MP system has to make sure that the ordering of memory access from one processor is made visible to the other processors. Memory Fencing One way to achieve ‘Cache Coherence’ in a MP environment would be by using ‘Fencing’ technique. Refer Diagram ‘MFDA and MFDR Instruction” (Mittal, 1997, p. 26). In this technique, MP system (11) access and release of shared memory space (15) is done using two special instructions – MFDA and MFDR. The Memory Fence Directional – Acquire (MFDA) (16) instruction locks the specified area from being accessed by other processors. Once the operation is over and data can be released, the Memory Fence Directional – Release (MFDR) (17) instruction is issued. Since an MFDA instruction ‘locks’ the shared data until its use is over and an MFDR instruction is issued, it ensures that no two simultaneous accesses to the shared memory space take place and hence, ‘Cache Coherence’ is always maintained in the shared memory space. Access Ordering Control To achieve ‘Synchronized’ access to multiple threads in a MP system, not just ‘Cache Coherence’ but also ‘Access Ordering Control’ or the order in which data is accessed is very important esp. when two accesses have to be done in a particular sequence. The various ‘Memory Consistency Models’ proposed are: Sequential consistency, Processor consistency and Weak consistency. Sequential Consistency As defined by ‘Lamport’ “A system is ‘Sequentially Consistent’ if the result of any execution is the same as if the operations of all the processes were executed in some sequential order, and the operations of each individual processor appear in this sequence in the order specified by its program” (as cited in Gharachorloo, Lenoski, Laudon, Gibbons, Gupta, Hennessy, n.d., p. 2). Refer Diagram “Sequential Consistency” (Mittal, 1997, p. 27) A necessary and sufficient condition for ‘Sequential Consistency’ is that before any LOAD or any STORE access is allowed to perform, all previous LOADs must be ‘globally’ performed and all previous STOREs must be performed. Processor Consistency ‘Processor Consistency’ relaxes some of the orderings imposed by ‘Sequential Consistency’. As proposed by Goodman, it requires that “writes issued from a processor may not be observed in any order other than that in which they were issued. However, the order in which writes from two processors occur, as observed by themselves or a third processor, need not be identical.” (as cited in Gharachorloo et al., n.d., p. 2) Refer Diagram “Processor Consistency” (Mittal, 1997, p. 28). It can yield better system performance, but since it is weaker than Sequential Consistency, it is not fool proof. Programmers must explicitly use synchronization rather than depending on the memory system. Conditions for ‘Processor Consistency’ are: “(A) before a load is allowed to perform with respect to any other processor, all previous load accesses must be performed, and (B) before a store is allowed to perform with respect to any other processor, all previous accesses (loads and stores ) must be performed.” (Gharachorloo et al., n.d., p. 2) Weak Consistency A weaker consistency model is where memory request ordering is related to synchronization points. They distinguish between ordinary shared accesses and synchronization accesses. Synchronization accesses are used to control concurrency between several processes and to maintain the integrity of ordinary shared data. Refer Diagram “Weak Consistency” (Mittal, 1997, p. 28) For a ‘Weak Consistency’ we require that: “(A) before an ordinary load or store access is allowed to perform with respect to any other processor, all previous synchronization accesses must be performed, and (B) before a synchronization access is allowed to perform with respect to any other processor, all previous ordinary load and store accesses must be performed, and (C) synchronization accesses are sequentially consistent with respect to one another. (Gharachorloo et al., n.d., p. 3). References Gharachorloo, K., Lenoski, D., Laudon, J., Gibbons, P., Gupta, A., Hennessy J. (Eds.) Memory Consistency and Event Ordering in Scalable Shared-Memory Multiprocessors. CA: Computer Systems Laboratory Stanford University. Retrieved December 19, 2008 from http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.17.8112 Mittal, Milind (1997, December 12) Controlling Memory Access Ordering in a Multi-Processing System. CA: World Intellectual Property Organization. Retrieved December 19, 2008 from http://www.freepatentsonline.com/EP1008053.html Schmitz, Dennis (2007, June 8) Dual core generic. Retrieved December 19, 2008 from http://en.wikipedia.org/wiki/File:Dual_Core_Generic.svg Watson, Robert (Eds.) Introduction to Multithreading and Multiprocessing in the FreeBSD SMPng Network Stack. Computer Laboratory University of Cambridge. Retrieved December 19, 2008 from http://www.watson.org/~robert/freebsd/netperf/20051027-eurobsdcon2005-netperf.pdf Read More
Cite this document
  • APA
  • MLA
  • CHICAGO
(Synchronized Access to Shared Memory in a Multi Core Computer Lab Report, n.d.)
Synchronized Access to Shared Memory in a Multi Core Computer Lab Report. Retrieved from https://studentshare.org/engineering-and-construction/1530047-synchronized-access-to-shared-memory-by-multiple
(Synchronized Access to Shared Memory in a Multi Core Computer Lab Report)
Synchronized Access to Shared Memory in a Multi Core Computer Lab Report. https://studentshare.org/engineering-and-construction/1530047-synchronized-access-to-shared-memory-by-multiple.
“Synchronized Access to Shared Memory in a Multi Core Computer Lab Report”, n.d. https://studentshare.org/engineering-and-construction/1530047-synchronized-access-to-shared-memory-by-multiple.
  • Cited: 0 times

CHECK THESE SAMPLES OF Synchronized Access to Shared Memory in a Multi Core Computer

INFERNO Operating System

hellip; The author states that INFERNO is an Operating System designed for building distributed systems on a network of varied computer systems.... multi-tasking is supported directly by the Limbo language.... It supports multi-tasking with the help of independently scheduled threads that can be spawned and coordinated which enable communication between tasks.... The following paper “INFERNO Operating System” aims at describing an Operating System, which performs a range of activities such as code conversion, memory allocation, interprocess communication, security enforcement and display: INFERNO OS....
6 Pages (1500 words) Assignment

To critique a research article from a professional journal

The first is historical, perhaps in memory of the role of hygiene in preventing the spread of infectious diseases based on the experiences of Snow and Chadwick in 19th century London (Course Notes).... The paper is a critique of a research article with the title Hand Hygiene among Physicians: Performance, Beliefs, and Perceptions (Pittet, Simon, Hugonnet, Pessoa-Silva, Sauvan, and Perneger 2004), the result of a study at the University of Geneva....
12 Pages (3000 words) Essay

A Secure Workflow for E-Government Application

ijay Atluri from Rutgers University has claimed that Most of the commercial workflow systems provide minimal security features such as user authentication, Although some commercial WFMSs such as Flow Mark, Lotus Notes, and Chan engine can support role-based access control, they do not provide support to specify and enforce separation of duties constraints....
7 Pages (1750 words) Essay

Order Management System of Trendy Meal

This paper discusses the Order Management system of a Trendy Meal which would facilitate the operations of the company.... It would provide them with a system to generate user queries and make sure that all the various queries and indulgences are handled to its very extent.... nbsp;… As the paper outlines, the system would reflect various updations and synchronization that is required to serve the customers better....
29 Pages (7250 words) Case Study

Raid Technology

AID 2: it is the level with bit striping that has dedicated Hamming-code parity, in this level, there is a synchronized rotation of disks and data is striped such that each sequential bit is on it is own disk (Hennessy and Patterson, 2009).... AID 3: it is a byte-level striping that has dedicated parity, disks spindle rotate in a synchronized manner and data is striped in such a way that all the subsequent bytes are stored on different disks....
6 Pages (1500 words) Term Paper

Public Switched Telephone Network: Switching from the 1900s to 2000

The paper "Public Switched Telephone Network: Switching from the 1900s to 2000" highlights that telephone switches are a small part of the large network.... However, the majority of work that goes into the expense of a phone system is the wiring that is outside the central office or plant.... hellip; The mid-20th-century subscribers required an individual pair of wires from the switch to the phone....
14 Pages (3500 words) Coursework

Data Warehousing for Business Intelligence

The author of this paper "Data Warehousing for Business Intelligence" discusses the use of the literature to chart the historical changes in the field of data warehousing, the explanations of the two data warehousing methodologies, the key reasons for the development of data warehousing....
8 Pages (2000 words) Coursework

InterContinental Hotels Group Computer System Update

The author of this paper "InterContinental Hotels Group computer System Update" examines the technical specifications of the InterContinental Hotels Group computer System: architecture, RAM, graphic system, input and output devices, windows installation, and the maintenance plan for computers.... The later incorporate the core 2, core i3, core i5, and core i7, with the final one of these being the most capable (Ramakesavan, S, Parikh, S, & Keating, B 2009)....
20 Pages (5000 words) Coursework
sponsored ads
We use cookies to create the best experience for you. Keep on browsing if you are OK with that, or find out how to manage cookies.
Contact Us