KR101085763B1 - 멀티-프로세서 시스템에서의 메모리 할당 - Google Patents
멀티-프로세서 시스템에서의 메모리 할당 Download PDFInfo
- Publication number
- KR101085763B1 KR101085763B1 KR1020040045405A KR20040045405A KR101085763B1 KR 101085763 B1 KR101085763 B1 KR 101085763B1 KR 1020040045405 A KR1020040045405 A KR 1020040045405A KR 20040045405 A KR20040045405 A KR 20040045405A KR 101085763 B1 KR101085763 B1 KR 101085763B1
- Authority
- KR
- South Korea
- Prior art keywords
- memory
- processor
- allocated
- allocation request
- allocation
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation 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/5016—Allocation 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
Description
Claims (16)
- 제어 입력에 기초하여 제1 프로세서에서 메모리의 일부를 사전 할당(pre-allocating)하는 단계; 및상기 사전 할당된 메모리의 일부가 메모리 할당 요구를 만족시킬 수 있는지 여부를 제2 프로세서에서 판정하는 단계 - 상기 사전 할당된 메모리의 일부 중 한 부분이 상기 메모리 할당 요구를 만족시킬 수 있으면, 상기 제2 프로세서에서 상기 사전 할당된 메모리의 일부를 상기 메모리 할당 요구에 배정하고, 상기 사전 할당된 메모리의 일부 중 어느 부분도 상기 메모리 할당 요구를 만족시킬 수 없으면, 상기 제1 프로세서에서 사전 할당되지 않은 메모리의 일부를 상기 메모리 할당 요구에 할당함 -;상기 제1 프로세서 및 상기 제2 프로세서에 의해 과거의 오브젝트 할당을 핫클래스(HotClass) 모니터링하는 단계; 및상기 핫클래스 모니터링에 기초하여 오브젝트 클래스 요건을 충족하도록 후속하는 사전 할당을 제어하는 단계를 포함하는 방법.
- 제1항에 있어서, 상기 사전 할당하는 단계 후에, 상기 제1 프로세서에서 상기 사전 할당된 메모리의 일부를 초기화하는 단계를 더 포함하는 방법.
- 제1항에 있어서, 상기 할당하는 단계는 할당된 상기 메모리의 일부를 초기화하는 단계를 더 포함하는 방법.
- 제1항에 있어서, 상기 제어 입력은 크기 셋트를 포함하는 방법.
- 제4항에 있어서, 상기 제1 프로세서에서 메모리의 일부를 사전 할당하는 단계는, 메모리 할당 정보에 기초하여, 상기 제어 입력과 상기 크기 셋트를 연관시키도록 휴리스틱(heuristic)을 실행하는 단계를 더 포함하는 방법.
- 제5항에 있어서, 상기 휴리스틱의 실행은 타이머에 의해 지시되는 시각에 수행되는 방법.
- 제5항에 있어서, 상기 휴리스틱은 상기 제어 입력과 상기 크기 셋트를 연관시키기 위해 메모리 사용에 관한 정보를 이용하는 방법.
- 제5항에 있어서, 상기 메모리 할당 정보는 상기 제2 프로세서로부터 생성된, 상기 제1 프로세서에 대한 비동기 신호인 방법.
- 제5항에 있어서, 상기 메모리 할당 정보는 상기 제1 프로세서 및 상기 제2 프로세서에 의해 액세스 가능한 메모리 내에 저장되는 방법.
- 제1 프로세서;제2 프로세서; 및상기 제1 프로세서 및 제2 프로세서에 결합된 메모리를 포함하고,상기 제1 프로세서는 상기 메모리의 일부를 사전 할당 및 초기화하고,상기 제2 프로세서는, 메모리 할당 요구를 만족시키는 사전 할당된 메모리의 일부가 존재하면, 상기 사전 할당된 메모리의 일부를 상기 메모리 할당 요구에 배정하고,상기 메모리 할당 요구를 만족시키는 사전 할당된 메모리의 일부가 존재하지 않으면, 상기 제1 프로세서가 상기 메모리 할당 요구에 대하여, 메모리의 일부분을 할당 및 초기화하고,상기 제1 프로세서 및 상기 제2 프로세서에 의해 과거의 오브젝트 할당을 핫클래스(HotClass) 모니터링하고,상기 핫클래스 모니터링에 기초하여 오브젝트 클래스 요건을 충족하도록 후속하는 사전 할당을 제어하는것을 특징으로 하는 시스템.
- 제10항에 있어서, 상기 제1 프로세서 및 제2 프로세서는 약하게 동기화된 다수의 제어 로직 엔티티를 포함하는 시스템.
- 제10항에 있어서, 상기 제2 프로세서는 자바 컴플라이언트 하드웨어 또는 소프트웨어에서 구현되는 제어 로직을 포함하는 시스템.
- 사전 할당된 메모리의 일부의 소비자;사전 할당된 메모리의 일부의 생성기;상기 사전 할당된 메모리의 일부의 소비자와, 상기 사전 할당된 메모리의 일부의 생성기에 액세스 가능한 복수의 사전 할당된 메모리의 일부들;상기 사전 할당된 메모리의 일부의 소비자에 액세스 가능한 메모리의 일부의 할당 클라이언트; 및상기 메모리의 일부의 할당 클라이언트에 결합된 메모리의 일부의 동기 할당기를 포함하고,상기 할당 요구에 응답하여, 상기 사전 할당된 메모리의 일부의 소비자는, 상기 할당 요구에 응답하는 사전 할당된 메모리의 일부가 존재하는지 여부를 판정하고, 이러한 사전 할당된 메모리의 일부가 존재하면, 그 사전 할당된 메모리의 일부를 상기 할당 요구에 배당하고, 또는 상기 할당 요구에 응답하는 상기 사전 할당된 메모리의 일부가 존재하지 않으면, 상기 메모리의 일부의 할당 클라이언트는 상기 메모리의 일부의 동기 할당기에, 메모리의 일부가 할당되어, 상기 할당 요구에 배정되게 하라는 요구를 제출하고,상기 사전 할당된 메모리의 일부의 생성기 및 상기 사전 할당된 메모리의 일부의 소비자에 의해 과거의 오브젝트 할당을 핫클래스(HotClass) 모니터링하고,상기 핫클래스 모니터링에 기초하여 오브젝트 클래스 요건을 충족하도록 후속하는 사전 할당을 제어하는것을 특징으로 하는 시스템.
- 제13항에 있어서, 상기 사전 할당된 메모리의 일부의 생성기와 상기 사전 할당된 메모리의 일부의 소비자는 약하게 동기화되는 시스템.
- 제13항에 있어서, 상기 사전 할당된 메모리의 일부의 생성기가 휴리스틱을 포함하는 엔티티에 결합되는 시스템.
- 제13항에 있어서, 상기 할당 요구는 비동기 신호인 시스템.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP03291501A EP1489507A1 (en) | 2003-06-19 | 2003-06-19 | Memory preallocation |
EP03291501.9 | 2003-06-19 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20040111148A KR20040111148A (ko) | 2004-12-31 |
KR101085763B1 true KR101085763B1 (ko) | 2011-11-21 |
Family
ID=33396040
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020040045405A KR101085763B1 (ko) | 2003-06-19 | 2004-06-18 | 멀티-프로세서 시스템에서의 메모리 할당 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7434021B2 (ko) |
EP (1) | EP1489507A1 (ko) |
JP (1) | JP2005011348A (ko) |
KR (1) | KR101085763B1 (ko) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7392361B2 (en) * | 2002-04-16 | 2008-06-24 | Emc Corporation | Generic reallocation function for heap reconstitution in a multi-processor shared memory environment |
US7908454B2 (en) * | 2007-06-26 | 2011-03-15 | Microsoft Corporation | Application-specific heap management |
US8244954B2 (en) * | 2008-10-10 | 2012-08-14 | International Business Machines Corporation | On-demand paging-in of pages with read-only file system |
US8245013B2 (en) * | 2008-10-10 | 2012-08-14 | International Business Machines Corporation | Mapped offsets preset ahead of process migration |
ITMI20101415A1 (it) * | 2010-07-29 | 2012-01-30 | St Microelectronics Srl | Circuiti integrati tracciabili e relativo metodo di produzione |
US20120036301A1 (en) * | 2010-08-03 | 2012-02-09 | Caspole Eric R | Processor support for filling memory regions |
KR20140137573A (ko) * | 2013-05-23 | 2014-12-03 | 한국전자통신연구원 | 데이터 분산 서비스 미들웨어의 쓰레드를 위한 메모리 관리 장치 및 방법 |
US8949491B1 (en) * | 2013-07-11 | 2015-02-03 | Sandisk Technologies Inc. | Buffer memory reservation techniques for use with a NAND flash memory |
US10725908B2 (en) | 2018-08-10 | 2020-07-28 | Microsoft Technology Licensing, Llc. | Fast initialization of complex in-memory data structures |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0844564A2 (en) | 1996-11-25 | 1998-05-27 | Nortel Networks Corporation | Memory manager system |
US6453404B1 (en) | 1999-05-27 | 2002-09-17 | Microsoft Corporation | Distributed data cache with memory allocation model |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5367637A (en) * | 1992-03-26 | 1994-11-22 | International Business Machines Corporation | Self-tuning virtual storage management for dedicated real-time computer system |
US5387637A (en) * | 1992-08-20 | 1995-02-07 | Lisco, Inc. | Golf ball core compositions |
US5734865A (en) * | 1995-06-07 | 1998-03-31 | Bull Hn Information Systems Inc. | Virtual local area network well-known port routing mechanism for mult--emulators in an open system environment |
US5784699A (en) * | 1996-05-24 | 1998-07-21 | Oracle Corporation | Dynamic memory allocation in a computer using a bit map index |
US5920732A (en) * | 1996-07-01 | 1999-07-06 | Apple Computer, Inc. | System for preallocating additional larger buffer sizes in accordance with packet sizes of discarded packets that can't be stored in existing preallocated buffer sizes |
US6859862B1 (en) * | 2000-04-07 | 2005-02-22 | Nintendo Co., Ltd. | Method and apparatus for software management of on-chip cache |
US20020032844A1 (en) * | 2000-07-26 | 2002-03-14 | West Karlon K. | Distributed shared memory management |
US6571326B2 (en) * | 2001-03-08 | 2003-05-27 | Intel Corporation | Space allocation for data in a nonvolatile memory |
US7409517B2 (en) * | 2001-10-01 | 2008-08-05 | Oracle International Corporation | Dynamic and automatic memory management |
US6801990B2 (en) * | 2001-10-29 | 2004-10-05 | Sun Microsystems, Inc. | Demand-based memory-block splitting |
US7107596B2 (en) * | 2002-03-14 | 2006-09-12 | International Business Machines Corporation | Statistically-triggered heuristics |
US7376679B2 (en) * | 2002-11-01 | 2008-05-20 | Sun Microsystems, Inc. | Facilitating delayed block allocation in a distributed file system |
-
2003
- 2003-06-19 EP EP03291501A patent/EP1489507A1/en not_active Ceased
-
2004
- 2004-04-22 US US10/831,388 patent/US7434021B2/en active Active
- 2004-06-18 JP JP2004180358A patent/JP2005011348A/ja not_active Abandoned
- 2004-06-18 KR KR1020040045405A patent/KR101085763B1/ko active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0844564A2 (en) | 1996-11-25 | 1998-05-27 | Nortel Networks Corporation | Memory manager system |
US6453404B1 (en) | 1999-05-27 | 2002-09-17 | Microsoft Corporation | Distributed data cache with memory allocation model |
Also Published As
Publication number | Publication date |
---|---|
KR20040111148A (ko) | 2004-12-31 |
US7434021B2 (en) | 2008-10-07 |
JP2005011348A (ja) | 2005-01-13 |
US20040268076A1 (en) | 2004-12-30 |
EP1489507A1 (en) | 2004-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Golm et al. | The JX Operating System. | |
KR101116615B1 (ko) | 자바 가상 머신 상에서 이뤄지는 애플리케이션 및 스레드의자원 관리 시스템 및 방법 | |
US6505286B1 (en) | User specifiable allocation of memory for processes in a multiprocessor computer having a non-uniform memory architecture | |
RU2569805C2 (ru) | Виртуальная архитектура неоднородной памяти для виртуальных машин | |
US7203941B2 (en) | Associating a native resource with an application | |
Gracioli et al. | Designing mixed criticality applications on modern heterogeneous mpsoc platforms | |
JP4690437B2 (ja) | ネットワークアプリケーションにおける通信方法、通信装置及びそのためのプログラム | |
JP6138774B2 (ja) | コンピュータにより実行される方法及びコンピュータシステム | |
US20060026183A1 (en) | Method and system provide concurrent access to a software object | |
JP6370218B2 (ja) | メモリ管理方法、コンピュータシステム、コンピュータプログラム及び記憶媒体 | |
US7882505B2 (en) | Method and apparatus for switching between per-thread and per-processor resource pools in multi-threaded programs | |
US20020099753A1 (en) | System and method for concurrently supporting multiple independent virtual machines | |
EP2485146A1 (en) | System and method for providing hardware virtualization in a virtual machine environment | |
JP5980916B2 (ja) | コンピュータにより実行される方法及びコンピュータシステム | |
Taura et al. | An efficient implementation scheme of concurrent object-oriented languages on stock multicomputers | |
JP2022516486A (ja) | リソース管理方法と装置、電子デバイス、及び記録媒体 | |
JP2003167737A (ja) | スタック使用方法 | |
US6985976B1 (en) | System, method, and computer program product for memory management for defining class lists and node lists for allocation and deallocation of memory blocks | |
KR101085763B1 (ko) | 멀티-프로세서 시스템에서의 메모리 할당 | |
JP2021530756A (ja) | ポーズレスなガベージ・コレクションのための活性化フレームを表す方法および装置 | |
KR100493893B1 (ko) | 자바 프로그램에서 클래스 로딩 과정을 단축시키는 시스템및 방법 | |
KR20040111149A (ko) | 내장형 가비지 수집 | |
CN112162818A (zh) | 一种虚拟内存分配方法、装置、电子设备及存储介质 | |
CN108885565B (zh) | 对游戏模式的操作***支持 | |
CN101303666A (zh) | 一种嵌入式***中内存资源的使用方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20141030 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20150930 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20161028 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20170929 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20180928 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20190924 Year of fee payment: 9 |