JP2015515076A5 - - Google Patents
Download PDFInfo
- 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
Links
- 238000000638 solvent extraction Methods 0.000 claims 5
- 230000004044 response Effects 0.000 claims 3
Claims (10)
- 1つ以上のロックレスリスト構造内で保管される複数のメモリ要素の割当てを管理する方法であって、前記ロックレスリスト構造は、マルチコアプロセッサのオペレーティングシステム環境内でアクセス可能であり、当該方法は、
前記1つ以上のロックレスリスト構造を区分化するステップと、
先ず、前記1つ以上のロックレスリスト構造の間で前記複数のメモリ要素を区分化するステップと、
メモリ要素をコアプロセッサに割り当てることの要求を受けて、利用可能なメモリ要素に関して前記1つ以上のロックレスリスト構造を探索するステップと、
前記利用可能なメモリ要素を発見したことを受けて、前記利用可能なメモリ要素を前記コアプロセッサに割り当てるステップと、
好適な均等化メトリックに従って、前記1つ以上のロックレスリスト構造の間で前記メモリ要素を動的に均等化するステップと
を有する、方法。 - 前記1つ以上のロックレスリスト構造を区分化するステップは更に、前記1つ以上のロックレスリスト構造を第1のデータ構造へと区分化することを有する、請求項1に記載の方法。
- 前記第1のデータ構造は、ハッシュ構造と動的リストスワッピングデータ構造とを有する群のうちの1つである、請求項2に記載の方法。
- 前記ハッシュ構造は、前記マルチコアプロセッサのアーキテクチャに従ってキーイングされる、請求項3に記載の方法。
- 前記ハッシュ構造は、プロセッサインデックスに従ってキーイングされる、請求項3に記載の方法。
- 前記ハッシュ構造は、NUMAノード番号に従ってキーイングされる、請求項3に記載の方法。
- 前記動的リストスワッピングデータ構造は更に、ポップロックレスリスト構造とプッシュロックレスリスト構造とを有し、前記1つ以上のロックレスリスト構造を区分化するステップは更に、メモリ資源を均等化させるメトリックに従って、前記ポップロックレスリスト構造と前記プッシュロックレスリスト構造との間でポインタを交換することを有する、請求項3に記載の方法。
- 1つ以上のロックレスリスト構造内で保管される複数のメモリ要素の割当てを管理するシステムであって、前記ロックレスリスト構造は、マルチコアプロセッサのオペレーティングシステム環境内でアクセス可能であり、当該システムは、
複数のコアプロセッサであり、前記コアプロセッサは一組のプロセッサソケットへと区分化されている、複数のコアプロセッサと、
一組の共有メモリであり、前記共有メモリは前記プロセッサソケットのうちの少なくとも1つを用いてアクセス可能である、一組の共有メモリと、
少なくとも2つの前記プロセッサソケット間の通信経路と、
一組の1つ以上のロックレスリスト構造であり、前記ロックレスリスト構造は各々、少なくとも1つのメモリ要素を保管することが可能であり、当該一組の1つ以上のロックレスリスト構造は、メモリ要素割当ての要求を受けて前記コアプロセッサへの前記メモリ要素の割当てを可能にするよう区分化されることが可能である、一組の1つ以上のロックレスリスト構造と、
前記複数のコアプロセッサからメモリ要素割当ての要求を受信することが可能な割当てモジュールと
を有し、
前記割当てモジュールは、好適な均等化メトリックに従って、前記一組の1つ以上のロックレスリスト構造の間でメモリ要素を動的に調整することが可能である、
システム。 - 前記割当てモジュールは、前記コアプロセッサのうちの1つ上で実行されることが可能である、請求項8に記載のシステム。
- 前記好適な均等化メトリックは、前記ロックレスリスト構造の間でメモリ要素の数的均等性を実質的に維持することと、メモリ資源の過大な割当てを回避することと、を有する群のうちの1つである、請求項9に記載のシステム。
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)
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)
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 |
-
2012
- 2012-04-27 US US13/458,355 patent/US9652289B2/en active Active
-
2013
- 2013-04-15 TW TW102113317A patent/TWI605340B/zh not_active IP Right Cessation
- 2013-04-19 EP EP13720655.3A patent/EP2842032B1/en active Active
- 2013-04-19 CN CN201380022199.1A patent/CN104254839B/zh active Active
- 2013-04-19 RU RU2014143063A patent/RU2639944C2/ru active
- 2013-04-19 JP JP2015509034A patent/JP6275119B2/ja active Active
- 2013-04-19 BR BR112014022764-0A patent/BR112014022764B1/pt active IP Right Grant
- 2013-04-19 WO PCT/US2013/037266 patent/WO2013163008A1/en active Application Filing
-
2017
- 2017-05-15 US US15/595,088 patent/US10223253B2/en active Active
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) | 질의처리엔진을 선택하는 방법 |