JP6859755B2 - 情報処理装置、情報処理装置の制御方法および情報処理装置の制御プログラム - Google Patents
情報処理装置、情報処理装置の制御方法および情報処理装置の制御プログラム Download PDFInfo
- Publication number
- JP6859755B2 JP6859755B2 JP2017039090A JP2017039090A JP6859755B2 JP 6859755 B2 JP6859755 B2 JP 6859755B2 JP 2017039090 A JP2017039090 A JP 2017039090A JP 2017039090 A JP2017039090 A JP 2017039090A JP 6859755 B2 JP6859755 B2 JP 6859755B2
- Authority
- JP
- Japan
- Prior art keywords
- thread
- information
- storage unit
- unit
- saved
- 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.)
- Active
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/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- 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/461—Saving or restoring of program or task context
-
- 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
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
-
- 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
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0842—Multiuser, multiprocessor or multiprocessing cache systems for multiprocessing or multitasking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
- G06F2212/1044—Space efficiency improvement
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Debugging And Monitoring (AREA)
- Memory System (AREA)
Description
(付記1)
スレッドを実行する実行部と、
前記スレッドの実行に使用されうるスレッド情報を記憶する第1記憶部と、
前記第1記憶部から退避される前記スレッド情報を記憶する第2記憶部と、
前記実行部が実行するスレッドのうち、前記スレッド情報を退避する退避対象のスレッドの実行の終了後に、前記退避対象のスレッドのスレッド情報を前記第1記憶部から前記第2記憶部に退避する退避処理部と、
実行中のスレッドが前記第2記憶部に退避された前記スレッド情報を使用する場合、実行中のスレッドにより使用される前記スレッド情報を前記第2記憶部から前記実行部に転送する情報受け渡し部と
を有することを特徴とする情報処理装置。
(付記2)
付記1に記載の情報処理装置において、
前記退避処理部は、スレッドの処理が終了してから所定の時間が経過するまでに前記スレッド情報が使用されていないスレッドを、前記退避対象のスレッドに決定する
ことを特徴とする情報処理装置。
(付記3)
付記2に記載の情報処理装置において、
前記退避処理部は、スレッドの返り値を他のスレッドに渡さないスレッドを、前記退避対象のスレッドから除外する
ことを特徴とする情報処理装置。
(付記4)
付記1ないし付記3のいずれか1項に記載の情報処理装置において、
前記退避処理部は、スレッド内で最初に実行される関数の種類に基づいて前記退避対象のスレッドを決定する
ことを特徴とする情報処理装置。
(付記5)
付記1ないし付記4のいずれか1項に記載の情報処理装置において、
前記退避処理部は、スレッドの生成を指示する命令の格納先を示すアドレスに基づいて前記退避対象のスレッドを決定する
ことを特徴とする情報処理装置。
(付記6)
付記1ないし付記5のいずれか1項に記載の情報処理装置において、
前記退避処理部は、スレッドの属性にスレッドの処理の終了後に前記スレッド情報が退避される属性を含むスレッドを、前記退避対象のスレッドに決定する
ことを特徴とする情報処理装置。
(付記7)
付記1ないし付記6のいずれか1項に記載の情報処理装置において、
新規のスレッドの生成を指示する命令に基づいて、前記新規のスレッドの前記スレッド情報を記憶する空き領域が前記第1記憶部に有るかを判定し、前記第1記憶部に前記空き領域が有る場合、前記空き領域を前記新規のスレッドのスレッド情報に割り当てる割り当て部をさらに有する
ことを特徴とする情報処理装置。
(付記8)
付記7に記載の情報処理装置において、
前記割り当て部は、前記新規のスレッドが生成される度に、スレッドを識別するための識別情報を、前記第1記憶部に記憶される前記スレッド情報を識別するためのインデックスと、前記第1記憶部に記憶される前記スレッド情報と前記第2記憶部に退避される前記スレッド情報とを判別するための判別情報とを用いて生成し、生成した前記識別情報を前記実行部に通知する
ことを特徴とする情報処理装置。
(付記9)
スレッドを実行する実行部と、前記スレッドの実行に使用されうるスレッド情報を記憶する第1記憶部と、前記第1記憶部から退避される前記スレッド情報を記憶する第2記憶部とを含む情報処理装置の制御方法において、
前記情報処理装置が、
実行するスレッドのうち、前記スレッド情報を退避する退避対象のスレッドの実行の終了後に、前記退避対象のスレッドのスレッド情報を前記第1記憶部から前記第2記憶部に退避し、
実行中のスレッドが前記第2記憶部に退避された前記スレッド情報を使用する場合、実行中のスレッドにより使用される前記スレッド情報を前記第2記憶部から前記実行部に転送する
ことを特徴とする情報処理装置の制御方法。
(付記10)
スレッドを実行する実行部と、前記スレッドの実行に使用されうるスレッド情報を記憶する第1記憶部と、前記第1記憶部から退避される前記スレッド情報を記憶する第2記憶部とを含む情報処理装置の制御プログラムにおいて、
実行するスレッドのうち、前記スレッド情報を退避する退避対象のスレッドの実行の終了後に、前記退避対象のスレッドのスレッド情報を前記第1記憶部から前記第2記憶部に退避し、
実行中のスレッドが前記第2記憶部に退避された前記スレッド情報を使用する場合、実行中のスレッドにより使用される前記スレッド情報を前記第2記憶部から前記実行部に転送する
処理を前記情報処理装置に実行させるための制御プログラム。
(付記11)
スレッドを実行する実行部と、前記スレッドの実行に使用されうるスレッド情報を記憶する第1記憶部と、前記第1記憶部から退避される前記スレッド情報を記憶する第2記憶部とを含む情報処理装置の制御プログラムを記録した記録媒体であって、
実行するスレッドのうち、前記スレッド情報を退避する退避対象のスレッドの実行の終了後に、前記退避対象のスレッドのスレッド情報を前記第1記憶部から前記第2記憶部に退避し、
実行中のスレッドが前記第2記憶部に退避された前記スレッド情報を使用する場合、実行中のスレッドにより使用される前記スレッド情報を前記第2記憶部から前記実行部に転送する
処理を前記情報処理装置に実行させるための制御プログラムを記録したことを特徴とする記録媒体。
Claims (9)
- スレッドを実行する実行部と、
前記スレッドの実行に使用されうるスレッド情報を記憶する第1記憶部と、
前記第1記憶部から退避される前記スレッド情報を記憶する第2記憶部と、
前記実行部が実行するスレッドのうち、前記スレッド情報を退避する退避対象のスレッドの実行の終了後に、前記退避対象のスレッドのスレッド情報を前記第1記憶部から前記第2記憶部に退避する退避処理部と、
実行中のスレッドが前記第2記憶部に退避された前記スレッド情報を使用する場合、実行中のスレッドにより使用される前記スレッド情報を前記第2記憶部から前記実行部に転送する情報受け渡し部と
を有することを特徴とする情報処理装置。 - 請求項1に記載の情報処理装置において、
前記退避処理部は、スレッドの処理が終了してから所定の時間が経過するまでに前記スレッド情報が使用されていないスレッドを、前記退避対象のスレッドに決定する
ことを特徴とする情報処理装置。 - 請求項1または請求項2に記載の情報処理装置において、
前記退避処理部は、スレッド内で最初に実行される関数の種類に基づいて前記退避対象のスレッドを決定する
ことを特徴とする情報処理装置。 - 請求項1ないし請求項3のいずれか1項に記載の情報処理装置において、
前記退避処理部は、スレッドの生成を指示する命令の格納先を示すアドレスに基づいて前記退避対象のスレッドを決定する
ことを特徴とする情報処理装置。 - 請求項1ないし請求項4のいずれか1項に記載の情報処理装置において、
前記退避処理部は、スレッドの属性にスレッドの処理の終了後に前記スレッド情報が退避される属性を含むスレッドを、前記退避対象のスレッドに決定する
ことを特徴とする情報処理装置。 - 請求項1ないし請求項5のいずれか1項に記載の情報処理装置において、
新規のスレッドの生成を指示する命令に基づいて、前記新規のスレッドの前記スレッド情報を記憶する空き領域が前記第1記憶部に有るかを判定し、前記第1記憶部に前記空き領域が有る場合、前記空き領域を前記新規のスレッドのスレッド情報に割り当てる割り当て部をさらに有する
ことを特徴とする情報処理装置。 - 請求項6に記載の情報処理装置において、
前記割り当て部は、前記新規のスレッドが生成される度に、スレッドを識別するための識別情報を、前記第1記憶部に記憶される前記スレッド情報を識別するためのインデックスと、前記第1記憶部に記憶される前記スレッド情報と前記第2記憶部に退避される前記スレッド情報とを判別するための判別情報とを用いて生成し、生成した前記識別情報を前記実行部に通知する
ことを特徴とする情報処理装置。 - スレッドを実行する実行部と、前記スレッドの実行に使用されうるスレッド情報を記憶する第1記憶部と、前記第1記憶部から退避される前記スレッド情報を記憶する第2記憶部とを含む情報処理装置の制御方法において、
前記情報処理装置が、
実行するスレッドのうち、前記スレッド情報を退避する退避対象のスレッドの実行の終了後に、前記退避対象のスレッドのスレッド情報を前記第1記憶部から前記第2記憶部に退避し、
実行中のスレッドが前記第2記憶部に退避された前記スレッド情報を使用する場合、実行中のスレッドにより使用される前記スレッド情報を前記第2記憶部から前記実行部に転送する
ことを特徴とする情報処理装置の制御方法。 - スレッドを実行する実行部と、前記スレッドの実行に使用されうるスレッド情報を記憶する第1記憶部と、前記第1記憶部から退避される前記スレッド情報を記憶する第2記憶部とを含む情報処理装置の制御プログラムにおいて、
実行するスレッドのうち、前記スレッド情報を退避する退避対象のスレッドの実行の終了後に、前記退避対象のスレッドのスレッド情報を前記第1記憶部から前記第2記憶部に退避し、
実行中のスレッドが前記第2記憶部に退避された前記スレッド情報を使用する場合、実行中のスレッドにより使用される前記スレッド情報を前記第2記憶部から前記実行部に転送する
処理を前記情報処理装置に実行させるための制御プログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017039090A JP6859755B2 (ja) | 2017-03-02 | 2017-03-02 | 情報処理装置、情報処理装置の制御方法および情報処理装置の制御プログラム |
PCT/JP2018/005793 WO2018159365A1 (ja) | 2017-03-02 | 2018-02-19 | 情報処理装置、情報処理装置の制御方法および情報処理装置の制御プログラム |
US16/554,671 US11150968B2 (en) | 2017-03-02 | 2019-08-29 | Information processing apparatus, control method of information processing, and non-transitory computer-readable storage medium for storing program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017039090A JP6859755B2 (ja) | 2017-03-02 | 2017-03-02 | 情報処理装置、情報処理装置の制御方法および情報処理装置の制御プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018147068A JP2018147068A (ja) | 2018-09-20 |
JP6859755B2 true JP6859755B2 (ja) | 2021-04-14 |
Family
ID=63371097
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017039090A Active JP6859755B2 (ja) | 2017-03-02 | 2017-03-02 | 情報処理装置、情報処理装置の制御方法および情報処理装置の制御プログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US11150968B2 (ja) |
JP (1) | JP6859755B2 (ja) |
WO (1) | WO2018159365A1 (ja) |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5771383A (en) * | 1994-12-27 | 1998-06-23 | International Business Machines Corp. | Shared memory support method and apparatus for a microkernel data processing system |
JP2002057712A (ja) * | 2000-08-10 | 2002-02-22 | Nec Corp | パケットメモリのメモリリーク復旧方法およびバッファ処理装置 |
JP2002108698A (ja) | 2000-10-04 | 2002-04-12 | Nissin Electric Co Ltd | メモリ管理システム及びメモリ管理方法 |
JP3892829B2 (ja) * | 2003-06-27 | 2007-03-14 | 株式会社東芝 | 情報処理システムおよびメモリ管理方法 |
US7831777B2 (en) * | 2006-05-26 | 2010-11-09 | De Mevergnies Michael Neve | Apparatus and method for reducing information leakage between processes sharing a cache |
JP4462238B2 (ja) * | 2006-06-21 | 2010-05-12 | 株式会社デンソーウェーブ | 携帯端末 |
JP5031470B2 (ja) * | 2007-07-19 | 2012-09-19 | 株式会社日立製作所 | メモリ管理方法、情報処理装置及びメモリ管理プログラム |
JP5458589B2 (ja) * | 2009-02-04 | 2014-04-02 | 日本電気株式会社 | メモリリーク検出装置および方法ならびにプログラム |
US8341357B2 (en) * | 2010-03-16 | 2012-12-25 | Oracle America, Inc. | Pre-fetching for a sibling cache |
JP5336423B2 (ja) * | 2010-05-14 | 2013-11-06 | パナソニック株式会社 | 計算機システム |
WO2013001614A1 (ja) * | 2011-06-28 | 2013-01-03 | 富士通株式会社 | データ処理方法およびデータ処理システム |
JP6011329B2 (ja) | 2012-12-28 | 2016-10-19 | 日本電気株式会社 | プログラム生成装置、プログラム生成方法、および、コンピュータ・プログラム |
US20140201408A1 (en) | 2013-01-17 | 2014-07-17 | Xockets IP, LLC | Offload processor modules for connection to system memory, and corresponding methods and systems |
US10678445B2 (en) * | 2015-06-10 | 2020-06-09 | Microsoft Technology Licensing, Llc | Recovery in data centers |
US10474576B2 (en) * | 2015-11-10 | 2019-11-12 | International Business Machines Corporation | Prefetch protocol for transactional memory |
-
2017
- 2017-03-02 JP JP2017039090A patent/JP6859755B2/ja active Active
-
2018
- 2018-02-19 WO PCT/JP2018/005793 patent/WO2018159365A1/ja active Application Filing
-
2019
- 2019-08-29 US US16/554,671 patent/US11150968B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2018147068A (ja) | 2018-09-20 |
US20190384658A1 (en) | 2019-12-19 |
WO2018159365A1 (ja) | 2018-09-07 |
US11150968B2 (en) | 2021-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9582312B1 (en) | Execution context trace for asynchronous tasks | |
JP5423871B2 (ja) | 情報処理装置、情報処理方法、およびプログラム | |
JP5408353B2 (ja) | マルチスレッド処理装置,マルチスレッド処理システム,マルチスレッド処理プログラム,及びマルチスレッド処理方法 | |
US20090019450A1 (en) | Apparatus, method, and computer program product for task management | |
JP2007226413A (ja) | メモリダンプ方法、メモリダンププログラム、及び、計算機システム | |
US9229820B2 (en) | Information processing device with memory dump function, memory dump method, and recording medium | |
JP2009245405A (ja) | コンピュータおよびブート方法 | |
JP2007122664A (ja) | 情報処理方法および情報処理装置 | |
US11243808B2 (en) | Information processing apparatus and storage medium storing execution control program | |
US10241822B2 (en) | Information processing apparatus for moving virtual machine and method of moving virtual machine | |
CN111026331A (zh) | 请求响应方法、装置、设备及计算机可读存储介质 | |
JP6859755B2 (ja) | 情報処理装置、情報処理装置の制御方法および情報処理装置の制御プログラム | |
JP2007328413A (ja) | 負荷分散方法 | |
JP2009266113A (ja) | メモリ管理方法およびシステム | |
TWI783401B (zh) | 記憶體管理方法和相關產品 | |
JP2006107197A (ja) | メモリ制御方法およびプログラムならびに端末装置 | |
US9418175B2 (en) | Enumeration of a concurrent data structure | |
JP7060805B2 (ja) | 通信バッファ管理プログラム、情報処理装置および通信バッファ管理方法 | |
JP2017201486A (ja) | 情報処理装置、情報処理プログラム、及び情報処理方法 | |
JP2011053908A (ja) | ブート時間を短縮するコンピュータ・プログラム | |
JP5710547B2 (ja) | 情報処理装置、監視方法および監視プログラム | |
JP2018013859A (ja) | 情報処理装置、情報処理方法、およびプログラム | |
JP6358330B2 (ja) | 情報処理装置、情報処理システム、メモリ管理方法およびメモリ管理プログラム | |
JP2007233608A (ja) | 割込み制御装置及び割込み制御方法をコンピュータに実行させるためのプログラム。 | |
JP2017021625A (ja) | ダンプ採取プログラム、ダンプ採取方法および情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7426 Effective date: 20170803 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20170803 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20170804 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20180214 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20180219 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20180219 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20191112 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20210224 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210309 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6859755 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |