CA2228483A1 - Variable-grained memory sharing for clusters of symmetric multi-processors - Google Patents

Variable-grained memory sharing for clusters of symmetric multi-processors Download PDF

Info

Publication number
CA2228483A1
CA2228483A1 CA002228483A CA2228483A CA2228483A1 CA 2228483 A1 CA2228483 A1 CA 2228483A1 CA 002228483 A CA002228483 A CA 002228483A CA 2228483 A CA2228483 A CA 2228483A CA 2228483 A1 CA2228483 A1 CA 2228483A1
Authority
CA
Canada
Prior art keywords
data
processor
shared
processors
block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
CA002228483A
Other languages
English (en)
French (fr)
Inventor
Kourosh Gharachorloo
Anshu Aggarwal
Daniel J. Scales
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Digital Equipment Corp
Original Assignee
Digital Equipment Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Digital Equipment Corp filed Critical Digital Equipment Corp
Publication of CA2228483A1 publication Critical patent/CA2228483A1/en
Abandoned legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9047Buffering arrangements including multiple buffers, e.g. buffer pools
    • H04L49/9052Buffering arrangements including multiple buffers, e.g. buffer pools with buffers of different sizes
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0817Cache consistency protocols using directory methods
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/622Queue service order
    • H04L47/6225Fixed service order, e.g. Round Robin
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Multi Processors (AREA)
  • Memory System (AREA)
CA002228483A 1997-02-03 1998-02-02 Variable-grained memory sharing for clusters of symmetric multi-processors Abandoned CA2228483A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/794,172 1997-02-03
US08/794,172 US5950228A (en) 1997-02-03 1997-02-03 Variable-grained memory sharing for clusters of symmetric multi-processors using private and shared state tables

Publications (1)

Publication Number Publication Date
CA2228483A1 true CA2228483A1 (en) 1998-08-03

Family

ID=25161908

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002228483A Abandoned CA2228483A1 (en) 1997-02-03 1998-02-02 Variable-grained memory sharing for clusters of symmetric multi-processors

Country Status (5)

Country Link
US (1) US5950228A (enExample)
EP (1) EP0856796B1 (enExample)
JP (1) JP4124849B2 (enExample)
CA (1) CA2228483A1 (enExample)
DE (1) DE69822534T2 (enExample)

Families Citing this family (69)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6574720B1 (en) 1997-05-30 2003-06-03 Oracle International Corporation System for maintaining a buffer pool
US6324623B1 (en) * 1997-05-30 2001-11-27 Oracle Corporation Computing system for implementing a shared cache
US6542926B2 (en) 1998-06-10 2003-04-01 Compaq Information Technologies Group, L.P. Software partitioned multi-processor system with flexible resource sharing levels
US6381682B2 (en) * 1998-06-10 2002-04-30 Compaq Information Technologies Group, L.P. Method and apparatus for dynamically sharing memory in a multiprocessor system
US6260068B1 (en) 1998-06-10 2001-07-10 Compaq Computer Corporation Method and apparatus for migrating resources in a multi-processor computer system
US6633916B2 (en) 1998-06-10 2003-10-14 Hewlett-Packard Development Company, L.P. Method and apparatus for virtual resource handling in a multi-processor computer system
US6332180B1 (en) 1998-06-10 2001-12-18 Compaq Information Technologies Group, L.P. Method and apparatus for communication in a multi-processor computer system
US6199179B1 (en) 1998-06-10 2001-03-06 Compaq Computer Corporation Method and apparatus for failure recovery in a multi-processor computer system
US6647508B2 (en) 1997-11-04 2003-11-11 Hewlett-Packard Development Company, L.P. Multiprocessor computer architecture with multiple operating system instances and software controlled resource allocation
US6185662B1 (en) 1997-12-22 2001-02-06 Nortel Networks Corporation High availability asynchronous computer system
US6279085B1 (en) * 1999-02-26 2001-08-21 International Business Machines Corporation Method and system for avoiding livelocks due to colliding writebacks within a non-uniform memory access system
GB2348303B (en) * 1999-03-23 2003-11-26 Ibm Data processing systems and method for processing work items in such systems
US7996843B2 (en) * 1999-08-25 2011-08-09 Qnx Software Systems Gmbh & Co. Kg Symmetric multi-processor system
US6487619B1 (en) * 1999-10-14 2002-11-26 Nec Corporation Multiprocessor system that communicates through an internal bus using a network protocol
US6457107B1 (en) 2000-02-28 2002-09-24 International Business Machines Corporation Method and apparatus for reducing false sharing in a distributed computing environment
US7509648B1 (en) * 2000-02-28 2009-03-24 At & T Corp. Paradigm in multimedia services creation methodology, and new service creation and service execution environments
US7185076B1 (en) 2000-05-31 2007-02-27 International Business Machines Corporation Method, system and program products for managing a clustered computing environment
US7487152B1 (en) 2000-05-31 2009-02-03 International Business Machines Corporation Method for efficiently locking resources of a global data repository
US6907601B1 (en) * 2000-06-30 2005-06-14 Intel Corporation Method and apparatus for inserting more than one allocation instruction within a routine
US6742086B1 (en) * 2000-08-11 2004-05-25 Unisys Corporation Affinity checking process for multiple processor, multiple bus optimization of throughput
US6961781B1 (en) 2000-08-31 2005-11-01 Hewlett-Packard Development Company, L.P. Priority rules for reducing network message routing latency
US6636955B1 (en) * 2000-08-31 2003-10-21 Hewlett-Packard Development Company, L.P. Mechanism for synchronizing multiple skewed source-synchronous data channels with automatic initialization feature
US6715057B1 (en) 2000-08-31 2004-03-30 Hewlett-Packard Development Company, L.P. Efficient translation lookaside buffer miss processing in computer systems with a large range of page sizes
US7213087B1 (en) 2000-08-31 2007-05-01 Hewlett-Packard Development Company, L.P. Mechanism to control the allocation of an N-source shared buffer
US6662319B1 (en) * 2000-08-31 2003-12-09 Hewlett-Packard Development Company, L.P. Special encoding of known bad data
US6681295B1 (en) 2000-08-31 2004-01-20 Hewlett-Packard Development Company, L.P. Fast lane prefetching
US7099913B1 (en) * 2000-08-31 2006-08-29 Hewlett-Packard Development Company, L.P. Speculative directory writes in a directory based cache coherent nonuniform memory access protocol
US6738836B1 (en) * 2000-08-31 2004-05-18 Hewlett-Packard Development Company, L.P. Scalable efficient I/O port protocol
US6671822B1 (en) 2000-08-31 2003-12-30 Hewlett-Packard Development Company, L.P. Method and system for absorbing defects in high performance microprocessor with a large n-way set associative cache
US6622225B1 (en) 2000-08-31 2003-09-16 Hewlett-Packard Development Company, L.P. System for minimizing memory bank conflicts in a computer system
US6751721B1 (en) * 2000-08-31 2004-06-15 Hewlett-Packard Development Company, L.P. Broadcast invalidate scheme
US6678840B1 (en) 2000-08-31 2004-01-13 Hewlett-Packard Development Company, Lp. Fault containment and error recovery in a scalable multiprocessor
US6668335B1 (en) 2000-08-31 2003-12-23 Hewlett-Packard Company, L.P. System for recovering data in a multiprocessor system comprising a conduction path for each bit between processors where the paths are grouped into separate bundles and routed along different paths
US6633960B1 (en) * 2000-08-31 2003-10-14 Hewlett-Packard Development Company, L.P. Scalable directory based cache coherence protocol
US6546453B1 (en) 2000-08-31 2003-04-08 Compaq Information Technologies Group, L.P. Proprammable DRAM address mapping mechanism
US6546465B1 (en) 2000-08-31 2003-04-08 Hewlett-Packard Development Company, L.P. Chaining directory reads and writes to reduce DRAM bandwidth in a directory based CC-NUMA protocol
US6662265B1 (en) 2000-08-31 2003-12-09 Hewlett-Packard Development Company, L.P. Mechanism to track all open pages in a DRAM memory system
US6704817B1 (en) * 2000-08-31 2004-03-09 Hewlett-Packard Development Company, L.P. Computer architecture and system for efficient management of bi-directional bus
US6754739B1 (en) 2000-08-31 2004-06-22 Hewlett-Packard Development Company Computer resource management and allocation system
US6779142B1 (en) 2000-08-31 2004-08-17 Hewlett-Packard Development Company, L.P. Apparatus and method for interfacing a high speed scan-path with slow-speed test equipment
US6654858B1 (en) 2000-08-31 2003-11-25 Hewlett-Packard Development Company, L.P. Method for reducing directory writes and latency in a high performance, directory-based, coherency protocol
US6567900B1 (en) 2000-08-31 2003-05-20 Hewlett-Packard Development Company, L.P. Efficient address interleaving with simultaneous multiple locality options
US6665671B2 (en) * 2001-04-04 2003-12-16 Hewlett-Packard Development Company, L.P. System and method for optimization of shared data
US7380085B2 (en) * 2001-11-14 2008-05-27 Intel Corporation Memory adapted to provide dedicated and or shared memory to multiple processors and method therefor
US8185602B2 (en) 2002-11-05 2012-05-22 Newisys, Inc. Transaction processing using multiple protocol engines in systems having multiple multi-processor clusters
US6985984B2 (en) * 2002-11-07 2006-01-10 Sun Microsystems, Inc. Multiprocessing systems employing hierarchical back-off locks
US7080213B2 (en) * 2002-12-16 2006-07-18 Sun Microsystems, Inc. System and method for reducing shared memory write overhead in multiprocessor systems
GB2416417B (en) * 2003-04-11 2006-12-13 Sun Microsystems Inc Multi-node computer system with proxy transaction to read data from a non-owning memory device
US7945738B2 (en) 2003-04-11 2011-05-17 Oracle America, Inc. Multi-node computer system employing a reporting mechanism for multi-node transactions
US7334089B2 (en) * 2003-05-20 2008-02-19 Newisys, Inc. Methods and apparatus for providing cache state information
US7249224B2 (en) * 2003-08-05 2007-07-24 Newisys, Inc. Methods and apparatus for providing early responses from a remote data cache
US7139881B2 (en) * 2003-09-25 2006-11-21 International Business Machines Corporation Semiconductor device comprising a plurality of memory structures
US20060161718A1 (en) * 2005-01-20 2006-07-20 Berke Stuart A System and method for a non-uniform crossbar switch plane topology
US7844862B1 (en) * 2006-03-23 2010-11-30 Azul Systems, Inc. Detecting software race conditions
US9817914B2 (en) * 2006-05-09 2017-11-14 International Business Machines Corporation Extensible markup language (XML) performance optimization on a multi-core central processing unit (CPU) through core assignment
US7769964B2 (en) * 2006-08-21 2010-08-03 Intel Corporation Technique to perform memory reference filtering
JP5308629B2 (ja) * 2007-03-26 2013-10-09 ルネサスエレクトロニクス株式会社 マルチプロセッサシステム及びマルチプロセッサシステムにおけるアクセス保護方法
US7765242B2 (en) * 2007-05-10 2010-07-27 Hewlett-Packard Development Company, L.P. Methods and apparatus for structure layout optimization for multi-threaded programs
EP2210398A2 (en) * 2007-09-11 2010-07-28 Mentor Graphics Corporation Memory sharing and data distribution
FR2927437B1 (fr) * 2008-02-07 2013-08-23 Bull Sas Systeme informatique multiprocesseur
US20090222832A1 (en) * 2008-02-29 2009-09-03 Dell Products, Lp System and method of enabling resources within an information handling system
US9176891B2 (en) * 2008-03-19 2015-11-03 Panasonic Intellectual Property Management Co., Ltd. Processor, processing system, data sharing processing method, and integrated circuit for data sharing processing
US9274855B2 (en) * 2008-12-24 2016-03-01 Intel Corporation Optimization for safe elimination of weak atomicity overhead
SG169246A1 (en) * 2009-08-24 2011-03-30 Dell Products Lp System and method of enabling resources within an information handling system
US8607004B2 (en) * 2009-11-13 2013-12-10 Richard S. Anderson Distributed symmetric multiprocessing computing architecture
CN103999063B (zh) 2011-12-16 2016-10-05 国际商业机器公司 处理器的存储器共享
CN103716753B (zh) * 2012-09-29 2018-12-25 中兴通讯股份有限公司 一种小数据发送方法、系统及用户设备
CN106796536A (zh) * 2016-12-27 2017-05-31 深圳前海达闼云端智能科技有限公司 用于多操作系统的内存访问方法、装置和电子设备
TWI704460B (zh) * 2019-01-19 2020-09-11 神雲科技股份有限公司 叢集式系統中維持記憶體共享方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4442487A (en) * 1981-12-31 1984-04-10 International Business Machines Corporation Three level memory hierarchy using write and share flags
US5426747A (en) * 1991-03-22 1995-06-20 Object Design, Inc. Method and apparatus for virtual memory mapping and transaction management in an object-oriented database system
US5428803A (en) * 1992-07-10 1995-06-27 Cray Research, Inc. Method and apparatus for a unified parallel processing architecture
JP3740195B2 (ja) * 1994-09-09 2006-02-01 株式会社ルネサステクノロジ データ処理装置
US5758183A (en) * 1996-07-17 1998-05-26 Digital Equipment Corporation Method of reducing the number of overhead instructions by modifying the program to locate instructions that access shared data stored at target addresses before program execution
US5761729A (en) * 1996-07-17 1998-06-02 Digital Equipment Corporation Validation checking of shared memory accesses
US6148377A (en) * 1996-11-22 2000-11-14 Mangosoft Corporation Shared memory computer networks

Also Published As

Publication number Publication date
DE69822534D1 (de) 2004-04-29
EP0856796A2 (en) 1998-08-05
EP0856796A3 (en) 2001-09-26
US5950228A (en) 1999-09-07
JPH10289214A (ja) 1998-10-27
EP0856796B1 (en) 2004-03-24
DE69822534T2 (de) 2005-01-27
JP4124849B2 (ja) 2008-07-23

Similar Documents

Publication Publication Date Title
US5950228A (en) Variable-grained memory sharing for clusters of symmetric multi-processors using private and shared state tables
US5933598A (en) Method for sharing variable-grained memory of workstations by sending particular block including line and size of the block to exchange shared data structures
US5758183A (en) Method of reducing the number of overhead instructions by modifying the program to locate instructions that access shared data stored at target addresses before program execution
US5787480A (en) Lock-up free data sharing
US5802585A (en) Batched checking of shared memory accesses
US5761729A (en) Validation checking of shared memory accesses
CN110865968B (zh) 多核处理装置及其内核之间数据传输方法
JP3987162B2 (ja) 読取り−共有トランザクションのための強化ブロッキング・メカニズムを含むマルチプロセス・システム
US5251308A (en) Shared memory multiprocessor with data hiding and post-store
US6694412B2 (en) Multiprocessor digital data processing system
Scales et al. Shasta: A low overhead, software-only approach for supporting fine-grain shared memory
JP3849951B2 (ja) 主記憶共有型マルチプロセッサ
US6209065B1 (en) Mechanism for optimizing generation of commit-signals in a distributed shared-memory system
US5860159A (en) Multiprocessing system including an apparatus for optimizing spin--lock operations
US6085263A (en) Method and apparatus for employing commit-signals and prefetching to maintain inter-reference ordering in a high-performance I/O processor
US9047197B2 (en) Non-coherent store instruction for fast inter-strand data communication for processors with write-through L1 caches
US6088771A (en) Mechanism for reducing latency of memory barrier operations on a multiprocessor system
Scales et al. Fine-grain software distributed shared memory on SMP clusters
US7047320B2 (en) Data processing system providing hardware acceleration of input/output (I/O) communication
US5692149A (en) Block replacement method in cache only memory architecture multiprocessor
JP2002182976A (ja) マルチプロセッサ・システムにおけるメモリ・アクセスの動的直列化
Chiou Extending the reach of microprocessors: Column and curious caching
US7363435B1 (en) System and method for coherence prediction
EP0404560B1 (en) multiprocessor system and method
Scales et al. Design and performance of the Shasta distributed shared memory protocol

Legal Events

Date Code Title Description
EEER Examination request
FZDE Discontinued