JP2015515076A5 - - Google Patents

Download PDF

Info

Publication number
JP2015515076A5
JP2015515076A5 JP2015509034A JP2015509034A JP2015515076A5 JP 2015515076 A5 JP2015515076 A5 JP 2015515076A5 JP 2015509034 A JP2015509034 A JP 2015509034A JP 2015509034 A JP2015509034 A JP 2015509034A JP 2015515076 A5 JP2015515076 A5 JP 2015515076A5
Authority
JP
Japan
Prior art keywords
lockless
lockless list
list
allocation
memory elements
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.)
Granted
Application number
JP2015509034A
Other languages
English (en)
Other versions
JP2015515076A (ja
JP6275119B2 (ja
Filing date
Publication date
Priority claimed from US13/458,355 external-priority patent/US9652289B2/en
Application filed filed Critical
Publication of JP2015515076A publication Critical patent/JP2015515076A/ja
Publication of JP2015515076A5 publication Critical patent/JP2015515076A5/ja
Application granted granted Critical
Publication of JP6275119B2 publication Critical patent/JP6275119B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Claims (10)

  1. 1つ以上のロックレスリスト構造内で保管される複数のメモリ要素の割当てを管理する方法であって、前記ロックレスリスト構造は、マルチコアプロセッサのオペレーティングシステム環境内でアクセス可能であり、当該方法は、
    前記1つ以上のロックレスリスト構造を区分化するステップと、
    先ず、前記1つ以上のロックレスリスト構造の間で前記複数のメモリ要素を区分化するステップと、
    メモリ要素をコアプロセッサに割り当てることの要求を受けて、利用可能なメモリ要素に関して前記1つ以上のロックレスリスト構造を探索するステップと、
    前記利用可能なメモリ要素を発見したことを受けて、前記利用可能なメモリ要素を前記コアプロセッサに割り当てるステップと、
    好適な均等化メトリックに従って、前記1つ以上のロックレスリスト構造の間で前記メモリ要素を動的に均等化するステップと
    を有する、方法。
  2. 前記1つ以上のロックレスリスト構造を区分化するステップは更に、前記1つ以上のロックレスリスト構造を第1のデータ構造へと区分化することを有する、請求項に記載の方法。
  3. 前記第1のデータ構造は、ハッシュ構造と動的リストスワッピングデータ構造とを有する群のうちの1つである、請求項に記載の方法。
  4. 前記ハッシュ構造は、前記マルチコアプロセッサのアーキテクチャに従ってキーイングされる、請求項に記載の方法。
  5. 前記ハッシュ構造は、プロセッサインデックスに従ってキーイングされる、請求項に記載の方法。
  6. 前記ハッシュ構造は、NUMAノード番号に従ってキーイングされる、請求項に記載の方法。
  7. 前記動的リストスワッピングデータ構造は更に、ポップロックレスリスト構造とプッシュロックレスリスト構造とを有し、前記1つ以上のロックレスリスト構造を区分化するステップは更に、メモリ資源を均等化させるメトリックに従って、前記ポップロックレスリスト構造と前記プッシュロックレスリスト構造との間でポインタを交換することを有する、請求項に記載の方法。
  8. 1つ以上のロックレスリスト構造内で保管される複数のメモリ要素の割当てを管理するシステムであって、前記ロックレスリスト構造は、マルチコアプロセッサのオペレーティングシステム環境内でアクセス可能であり、当該システムは、
    複数のコアプロセッサであり、前記コアプロセッサは一組のプロセッサソケットへと区分化されている、複数のコアプロセッサと、
    一組の共有メモリであり、前記共有メモリは前記プロセッサソケットのうちの少なくとも1つを用いてアクセス可能である、一組の共有メモリと、
    少なくとも2つの前記プロセッサソケット間の通信経路と、
    一組の1つ以上のロックレスリスト構造であり、前記ロックレスリスト構造は各々、少なくとも1つのメモリ要素を保管することが可能であり、当該一組の1つ以上のロックレスリスト構造は、メモリ要素割当ての要求を受けて前記コアプロセッサへの前記メモリ要素の割当てを可能にするよう区分化されることが可能である、一組の1つ以上のロックレスリスト構造と、
    前記複数のコアプロセッサからメモリ要素割当ての要求を受信することが可能な割当てモジュールと
    を有し、
    前記割当てモジュールは、好適な均等化メトリックに従って、前記一組の1つ以上のロックレスリスト構造の間でメモリ要素を動的に調整することが可能である、
    システム。
  9. 前記割当てモジュールは、前記コアプロセッサのうちの1つ上で実行されることが可能である、請求項8に記載のシステム。
  10. 前記好適な均等化メトリックは、前記ロックレスリスト構造の間でメモリ要素の数的均等性を実質的に維持することと、メモリ資源の過大な割当てを回避することと、を有する群のうちの1つである、請求項9に記載のシステム。
JP2015509034A 2012-04-27 2013-04-19 メモリ要素の割当てのために一方向リンク付けリストを区分化するシステム及び方法 Active JP6275119B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/458,355 2012-04-27
US13/458,355 US9652289B2 (en) 2012-04-27 2012-04-27 Systems and methods for S-list partitioning
PCT/US2013/037266 WO2013163008A1 (en) 2012-04-27 2013-04-19 Systems and methods for partitioning of singly linked lists for allocation memory elements

Publications (3)

Publication Number Publication Date
JP2015515076A JP2015515076A (ja) 2015-05-21
JP2015515076A5 true JP2015515076A5 (ja) 2016-05-19
JP6275119B2 JP6275119B2 (ja) 2018-02-07

Family

ID=48289638

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015509034A Active JP6275119B2 (ja) 2012-04-27 2013-04-19 メモリ要素の割当てのために一方向リンク付けリストを区分化するシステム及び方法

Country Status (8)

Country Link
US (2) US9652289B2 (ja)
EP (1) EP2842032B1 (ja)
JP (1) JP6275119B2 (ja)
CN (1) CN104254839B (ja)
BR (1) BR112014022764B1 (ja)
RU (1) RU2639944C2 (ja)
TW (1) TWI605340B (ja)
WO (1) WO2013163008A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9652289B2 (en) 2012-04-27 2017-05-16 Microsoft Technology Licensing, Llc Systems and methods for S-list partitioning
US9372825B1 (en) * 2013-02-27 2016-06-21 Netapp, Inc. Global non-volatile solid-state cache in a network storage system
US9377954B2 (en) * 2014-05-09 2016-06-28 Advanced Micro Devices, Inc. System and method for memory allocation in a multiclass memory system
US9870328B2 (en) * 2014-11-14 2018-01-16 Cavium, Inc. Managing buffered communication between cores
US10564865B2 (en) 2016-03-22 2020-02-18 Seagate Technology Llc Lockless parity management in a distributed data storage system
WO2018032519A1 (zh) * 2016-08-19 2018-02-22 华为技术有限公司 一种资源分配方法、装置及numa系统
CN107944297B (zh) * 2017-12-11 2020-11-24 北京奇虎科技有限公司 一种访问文件的控制方法及装置
EP3756092A4 (en) * 2018-05-04 2021-04-14 Samsung Electronics Co., Ltd. APPARATUS AND METHOD FOR MANAGING A SHARED RESOURCE IN A MULTI-CORE PROCESSOR
CN111143058A (zh) * 2019-12-17 2020-05-12 长沙新弘软件有限公司 一种基于后备列表的内存管理方法

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02162439A (ja) * 1988-12-15 1990-06-22 Fujitsu Ltd 共有メモリのフリーリスト管理方式
US6058460A (en) * 1996-06-28 2000-05-02 Sun Microsystems, Inc. Memory allocation in a multithreaded environment
US6785888B1 (en) * 1997-08-29 2004-08-31 International Business Machines Corporation Memory allocator for a multiprocessor computer system
US6643754B1 (en) * 2000-02-15 2003-11-04 International Business Machines Corporation System and method for dynamically allocating computer memory
US6986015B2 (en) 2001-12-10 2006-01-10 Incipient, Inc. Fast path caching
US7111289B2 (en) 2001-12-21 2006-09-19 Agere Systems, Inc. Method for implementing dual link list structure to enable fast link-list pointer updates
US7016923B2 (en) 2002-11-05 2006-03-21 Sun Microsystems, Inc. Multi-threaded garbage collector employing cascaded memory arrays of task identifiers to implement work stealing queues for task identification and processing
US7069394B2 (en) 2002-12-05 2006-06-27 International Business Machines Corporation Dynamic data routing mechanism for a high speed memory cloner
US7587566B2 (en) 2004-02-20 2009-09-08 Microsoft Corporation Realtime memory management via locking realtime threads and related data structures
US7844973B1 (en) 2004-12-09 2010-11-30 Oracle America, Inc. Methods and apparatus providing non-blocking access to a resource
US10769215B2 (en) 2005-07-14 2020-09-08 Conversant Wireless Licensing S.A R.L. Method, apparatus and computer program product providing an application integrated mobile device search solution using context information
US7904688B1 (en) * 2005-12-21 2011-03-08 Trend Micro Inc Memory management unit for field programmable gate array boards
EP1936498A1 (en) * 2006-12-21 2008-06-25 International Business Machines Corporation A method and system to manage memory accesses from multithread programs on multiprocessor systems
US8843675B2 (en) * 2007-03-15 2014-09-23 Broadcom Corporation Pipelined buffer interconnect
US8495641B2 (en) * 2007-06-29 2013-07-23 International Business Machines Corporation Efficiently boosting priority of read-copy update readers while resolving races with exiting and unlocking processes
RU2406127C2 (ru) 2007-09-18 2010-12-10 Виктор Анатольевич Кущенко Цифровой процессор кущенко в.а.
US7941688B2 (en) 2008-04-09 2011-05-10 Microsoft Corporation Managing timers in a multiprocessor environment
US20090259780A1 (en) 2008-04-10 2009-10-15 Weistech Technology Co., Ltd. Portable electronic device for controlling under-controlled devices
US8190827B2 (en) * 2009-02-27 2012-05-29 Red Hat, Inc. Memory sharing among computer programs
US8078825B2 (en) * 2009-03-11 2011-12-13 Oracle America, Inc. Composite hash and list partitioning of database tables
US20100251250A1 (en) * 2009-03-30 2010-09-30 Microsoft Corporation Lock-free scheduler with priority support
TW201112125A (en) 2009-09-16 2011-04-01 Ibm Method and system for operating an instance of a data structure
US20110296437A1 (en) * 2010-05-28 2011-12-01 Devendra Raut Method and apparatus for lockless communication between cores in a multi-core processor
US9652289B2 (en) 2012-04-27 2017-05-16 Microsoft Technology Licensing, Llc Systems and methods for S-list partitioning

Similar Documents

Publication Publication Date Title
JP2015515076A5 (ja)
US9977618B2 (en) Pooling of memory resources across multiple nodes
US10248346B2 (en) Modular architecture for extreme-scale distributed processing applications
US20130212594A1 (en) Method of optimizing performance of hierarchical multi-core processor and multi-core processor system for performing the method
RU2014143063A (ru) Системы и способы для разделения однонаправленных списков для выделения элементов памяти
JP2014526729A5 (ja)
KR20150139408A (ko) 이종의 저장 매체들을 이용하는 분산 파일 시스템을 구동하는 전자 시스템, 및 그것의 데이터 저장 방법 및 관리 방법
JP2017529593A5 (ja)
RU2015120595A (ru) Динамический выбор уровней хранилища
US20120159115A1 (en) Software architecture for service of collective memory and method for providing service of collective memory using the same
US9940020B2 (en) Memory management method, apparatus, and system
US20190020601A1 (en) Packet forwarding
US9654582B2 (en) Enhanced shared memory based communication driver for improved performance and scalability
US20150220559A1 (en) Scalable File System
CN104518897A (zh) 虚拟防火墙的资源管理优化处理方法和装置
US9547590B2 (en) Managing memory
JP2016522915A (ja) 共有メモリシステム
US8990828B2 (en) Resource allocation in multi-core architectures
JP6158751B2 (ja) 計算機資源割当装置及び計算機資源割当プログラム
US10884774B2 (en) Virtual node deployments of cluster-based applications modified to exchange reference to file systems
JP6059360B2 (ja) バッファ処理方法及び装置
JP2014174597A (ja) インメモリ型分散データベース、データ分散方法及びプログラム
CN115202859A (zh) 一种内存扩展方法以及相关设备
US10891056B2 (en) Virtualization of memory compute functionality
KR101512647B1 (ko) 질의처리엔진을 선택하는 방법