JP6645348B2 - 情報処理装置、情報処理プログラム、及び情報処理方法 - Google Patents
情報処理装置、情報処理プログラム、及び情報処理方法 Download PDFInfo
- Publication number
- JP6645348B2 JP6645348B2 JP2016093302A JP2016093302A JP6645348B2 JP 6645348 B2 JP6645348 B2 JP 6645348B2 JP 2016093302 A JP2016093302 A JP 2016093302A JP 2016093302 A JP2016093302 A JP 2016093302A JP 6645348 B2 JP6645348 B2 JP 6645348B2
- Authority
- JP
- Japan
- Prior art keywords
- task
- core
- processor core
- storage area
- area
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
-
- 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/466—Transaction processing
- G06F9/467—Transactional memory
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Description
(1)各コアが、自身が読み込みを行った記憶領域のアドレス(所謂read-set)の少なくとも1つに、他のコアが書き込みを行う、との条件。
(2)各コアが、自身が書き込みを行う予定の記憶領域のアドレス(所謂write-set)の少なくとも1つに、他のコアが書き込みを行う、との条件。
(3)各コアが、自身が書き込みを行う予定の記憶領域のアドレスの少なくとも1つに、他のコアが読み込みを行う、との条件。
なお、本実施形態では、一例として上記(3)の条件を用いてワークスチールを異常終了させる。
プロセッサコア毎に設けられたタスクが格納される格納領域からタスクを取得して実行するプロセッサコアを複数備えた情報処理装置であって、
第1プロセッサコアの前記格納領域に格納されたタスクを第2プロセッサコアにより取得するワークスチールを行う場合に、取得対象とする前記タスクに対応して設けられた領域であり、前記第1プロセッサコア及び前記第2プロセッサコアによるアクセス競合をトランザクショナルメモリ機能で検知するためのアボート用領域に対して書き込み処理を行う書込処理部と、
第1プロセッサコアにより前記第1プロセッサコアの前記格納領域から前記タスクを取得する場合に、取得対象とする前記タスクに対応して設けられた前記アボート用領域に対して読み込み処理を行う読込処理部と、
を含む情報処理装置。
前記読込処理部は、前記第1プロセッサコアの前記格納領域に格納されている前記タスクが1つで、かつ前記第1プロセッサコアにより前記第1プロセッサコアの前記格納領域から前記タスクを取得する場合に、取得対象とする前記タスクに対応して設けられた前記アボート用領域に対して読み込み処理を行う、
付記1記載の情報処理装置。
前記読込処理部は、前記読み込み処理を行った後、前記第1プロセッサコアに対応して設けられたフラグ格納領域に、前記第1プロセッサコアによりトランザクションが実行中であることを示す情報を格納してから前記タスクを取得し、該タスクの取得が終了した後に、前記フラグ格納領域に前記第1プロセッサコアによりトランザクションが未実行であることを示す情報を格納し、
前記書込処理部は、前記書き込み処理を行った後、前記ワークスチールの実行中に、前記読込処理部により前記アボート用領域に対して読み込み処理が行われて前記ワークスチールが終了した場合に、前記第1プロセッサコアの前記フラグ格納領域に、前記第1プロセッサコアによりトランザクションが未実行であることを示す情報が格納されるまで前記第2プロセッサコアを待機させる、
付記1又は付記2記載の情報処理装置。
プロセッサコア毎に設けられたタスクが格納される格納領域からタスクを取得して実行する第1プロセッサコア及び第2プロセッサコアを含む複数のプロセッサコアを備えたコンピュータの前記第2プロセッサコアに、
前記第1プロセッサコアの前記格納領域に格納されたタスクを前記第2プロセッサコアにより取得するワークスチールを行う場合に、取得対象とする前記タスクに対応して設けられた領域であり、前記第1プロセッサコア及び前記第2プロセッサコアによるアクセス競合をトランザクショナルメモリ機能で検知するためのアボート用領域に対する書き込み処理を実行させ、
前記コンピュータの前記第1プロセッサコアに、
前記第1プロセッサコアにより前記第1プロセッサコアの前記格納領域から前記タスクを取得する場合に、取得対象とする前記タスクに対応して設けられた前記アボート用領域に対する読み込み処理を実行させる、
情報処理プログラム。
前記コンピュータの前記第1プロセッサコアに、
前記第1プロセッサコアの前記格納領域に格納されている前記タスクが1つで、かつ前記第1プロセッサコアにより前記第1プロセッサコアの前記格納領域から前記タスクを取得する場合に、取得対象とする前記タスクに対応して設けられた前記アボート用領域に対する読み込み処理を実行させる、
付記4記載の情報処理プログラム。
前記コンピュータの前記第1プロセッサコアに、
前記読み込み処理を行った後、前記第1プロセッサコアに対応して設けられたフラグ格納領域に、前記第1プロセッサコアによりトランザクションが実行中であることを示す情報を格納してから前記タスクを取得させ、該タスクの取得が終了した後に、前記フラグ格納領域に前記第1プロセッサコアによりトランザクションが未実行であることを示す情報を格納させ、
前記コンピュータの前記第2プロセッサコアに、
前記書き込み処理を行った後、前記ワークスチールの実行中に、前記アボート用領域に対して前記読み込み処理が行われて前記ワークスチールが終了した場合に、前記第1プロセッサコアの前記フラグ格納領域に、前記第1プロセッサコアによりトランザクションが未実行であることを示す情報が格納されるまで待機させる、
付記4又は付記5記載の情報処理プログラム。
プロセッサコア毎に設けられたタスクが格納される格納領域からタスクを取得して実行する第1プロセッサコア及び第2プロセッサコアを含む複数のプロセッサコアを備えたコンピュータの前記第2プロセッサコアに、
前記第1プロセッサコアの前記格納領域に格納されたタスクを前記第2プロセッサコアにより取得するワークスチールを行う場合に、取得対象とする前記タスクに対応して設けられた領域であり、前記第1プロセッサコア及び前記第2プロセッサコアによるアクセス競合をトランザクショナルメモリ機能で検知するためのアボート用領域に対する書き込み処理を実行させ、
前記コンピュータの前記第1プロセッサコアに、
前記第1プロセッサコアにより前記第1プロセッサコアの前記格納領域から前記タスクを取得する場合に、取得対象とする前記タスクに対応して設けられた前記アボート用領域に対する読み込み処理を実行させる、
情報処理方法。
前記コンピュータの前記第1プロセッサコアに、
前記第1プロセッサコアの前記格納領域に格納されている前記タスクが1つで、かつ前記第1プロセッサコアにより前記第1プロセッサコアの前記格納領域から前記タスクを取得する場合に、取得対象とする前記タスクに対応して設けられた前記アボート用領域に対する読み込み処理を実行させる、
付記7記載の情報処理方法。
前記コンピュータの前記第1プロセッサコアに、
前記読み込み処理を行った後、前記第1プロセッサコアに対応して設けられたフラグ格納領域に、前記第1プロセッサコアによりトランザクションが実行中であることを示す情報を格納してから前記タスクを取得させ、該タスクの取得が終了した後に、前記フラグ格納領域に前記第1プロセッサコアによりトランザクションが未実行であることを示す情報を格納させ、
前記コンピュータの前記第2プロセッサコアに、
前記書き込み処理を行った後、前記ワークスチールの実行中に、前記アボート用領域に対して前記読み込み処理が行われて前記ワークスチールが終了した場合に、前記第1プロセッサコアの前記フラグ格納領域に、前記第1プロセッサコアによりトランザクションが未実行であることを示す情報が格納されるまで待機させる、
付記7又は付記8記載の情報処理方法。
プロセッサコア毎に設けられたタスクが格納される格納領域からタスクを取得して実行する第1プロセッサコア及び第2プロセッサコアを含む複数のプロセッサコアを備えたコンピュータの前記第2プロセッサコアに、
第1プロセッサコアの前記格納領域に格納されたタスクを前記第2プロセッサコアにより取得するワークスチールを行う場合に、取得対象とする前記タスクに対応して設けられた領域であり、前記第1プロセッサコア及び前記第2プロセッサコアによるアクセス競合をトランザクショナルメモリ機能で検知するためのアボート用領域に対する書き込み処理を実行させ、
前記コンピュータの前記第1プロセッサコアに、
前記第1プロセッサコアにより前記第1プロセッサコアの前記格納領域から前記タスクを取得する場合に、取得対象とする前記タスクに対応して設けられた前記アボート用領域に対する読み込み処理を実行させる、
情報処理プログラムを記憶した記憶媒体。
22 タスクキュー
24 フラグ格納領域
26 読込処理部
28 書込処理部
40 コンピュータ
41 CPU
42A、42B コア
43 メモリ
44 記憶部
49 記録媒体
60 情報処理プログラム
A アボート用領域
T タスク
Claims (5)
- プロセッサコア毎に設けられたタスクが格納される格納領域からタスクを取得して実行するプロセッサコアを複数備えた情報処理装置であって、
第1プロセッサコアの前記格納領域に格納されたタスクを第2プロセッサコアにより取得するワークスチールを行う場合に、取得対象とする前記タスクに対応して設けられた領域であり、前記第1プロセッサコア及び前記第2プロセッサコアによるアクセス競合をトランザクショナルメモリ機能で検知するためのアボート用領域に対して書き込み処理を行う書込処理部と、
第1プロセッサコアにより前記第1プロセッサコアの前記格納領域から前記タスクを取得する場合に、取得対象とする前記タスクに対応して設けられた前記アボート用領域に対して読み込み処理を行う読込処理部と、
を含む情報処理装置。 - 前記読込処理部は、前記第1プロセッサコアの前記格納領域に格納されている前記タスクが1つで、かつ前記第1プロセッサコアにより前記第1プロセッサコアの前記格納領域から前記タスクを取得する場合に、取得対象とする前記タスクに対応して設けられた前記アボート用領域に対して読み込み処理を行う、
請求項1記載の情報処理装置。 - 前記読込処理部は、前記読み込み処理を行った後、前記第1プロセッサコアに対応して設けられたフラグ格納領域に、前記第1プロセッサコアによりトランザクションが実行中であることを示す情報を格納してから前記タスクを取得し、該タスクの取得が終了した後に、前記フラグ格納領域に前記第1プロセッサコアによりトランザクションが未実行であることを示す情報を格納し、
前記書込処理部は、前記書き込み処理を行った後、前記ワークスチールの実行中に、前記読込処理部により前記アボート用領域に対して読み込み処理が行われて前記ワークスチールが終了した場合に、前記第1プロセッサコアの前記フラグ格納領域に、前記第1プロセッサコアによりトランザクションが未実行であることを示す情報が格納されるまで前記第2プロセッサコアを待機させる、
請求項1又は請求項2記載の情報処理装置。 - プロセッサコア毎に設けられたタスクが格納される格納領域からタスクを取得して実行する第1プロセッサコア及び第2プロセッサコアを含む複数のプロセッサコアを備えたコンピュータの前記第2プロセッサコアに、
前記第1プロセッサコアの前記格納領域に格納されたタスクを前記第2プロセッサコアにより取得するワークスチールを行う場合に、取得対象とする前記タスクに対応して設けられた領域であり、前記第1プロセッサコア及び前記第2プロセッサコアによるアクセス競合をトランザクショナルメモリ機能で検知するためのアボート用領域に対する書き込み処理を実行させ、
前記コンピュータの前記第1プロセッサコアに、
前記第1プロセッサコアにより前記第1プロセッサコアの前記格納領域から前記タスクを取得する場合に、取得対象とする前記タスクに対応して設けられた前記アボート用領域に対する読み込み処理を実行させる、
情報処理プログラム。 - プロセッサコア毎に設けられたタスクが格納される格納領域からタスクを取得して実行する第1プロセッサコア及び第2プロセッサコアを含む複数のプロセッサコアを備えたコンピュータの前記第2プロセッサコアに、
前記第1プロセッサコアの前記格納領域に格納されたタスクを前記第2プロセッサコアにより取得するワークスチールを行う場合に、取得対象とする前記タスクに対応して設けられた領域であり、前記第1プロセッサコア及び前記第2プロセッサコアによるアクセス競合をトランザクショナルメモリ機能で検知するためのアボート用領域に対する書き込み処理を実行させ、
前記コンピュータの前記第1プロセッサコアに、
前記第1プロセッサコアにより前記第1プロセッサコアの前記格納領域から前記タスクを取得する場合に、取得対象とする前記タスクに対応して設けられた前記アボート用領域に対する読み込み処理を実行させる、
情報処理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016093302A JP6645348B2 (ja) | 2016-05-06 | 2016-05-06 | 情報処理装置、情報処理プログラム、及び情報処理方法 |
US15/467,335 US10324751B2 (en) | 2016-05-06 | 2017-03-23 | Information processing apparatus, information processing method, and non-transitory computer-readable recording medium recording information processing program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016093302A JP6645348B2 (ja) | 2016-05-06 | 2016-05-06 | 情報処理装置、情報処理プログラム、及び情報処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017201486A JP2017201486A (ja) | 2017-11-09 |
JP6645348B2 true JP6645348B2 (ja) | 2020-02-14 |
Family
ID=60243955
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016093302A Active JP6645348B2 (ja) | 2016-05-06 | 2016-05-06 | 情報処理装置、情報処理プログラム、及び情報処理方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10324751B2 (ja) |
JP (1) | JP6645348B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10705849B2 (en) * | 2018-02-05 | 2020-07-07 | The Regents Of The University Of Michigan | Mode-selectable processor for execution of a single thread in a first mode and plural borrowed threads in a second mode |
US10977087B2 (en) * | 2018-08-07 | 2021-04-13 | International Business Machines Corporation | Steal one-process many work-stealing |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8024714B2 (en) | 2006-11-17 | 2011-09-20 | Microsoft Corporation | Parallelizing sequential frameworks using transactions |
US7711678B2 (en) | 2006-11-17 | 2010-05-04 | Microsoft Corporation | Software transaction commit order and conflict management |
JP2014085839A (ja) | 2012-10-24 | 2014-05-12 | International Business Maschines Corporation | 並列実行機構及びその動作方法 |
EP2972907B1 (en) * | 2013-03-15 | 2019-09-25 | Intel Corporation | Work stealing in heterogeneous computing systems |
US20170083365A1 (en) * | 2015-09-23 | 2017-03-23 | Qualcomm Incorporated | Adaptive Chunk Size Tuning for Data Parallel Processing on Multi-core Architecture |
US10360063B2 (en) * | 2015-09-23 | 2019-07-23 | Qualcomm Incorporated | Proactive resource management for parallel work-stealing processing systems |
-
2016
- 2016-05-06 JP JP2016093302A patent/JP6645348B2/ja active Active
-
2017
- 2017-03-23 US US15/467,335 patent/US10324751B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20170322830A1 (en) | 2017-11-09 |
JP2017201486A (ja) | 2017-11-09 |
US10324751B2 (en) | 2019-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5229326B2 (ja) | マルチコアcpuにおける消費電力制御方法,消費電力制御プログラム及び情報処理システム | |
JP7087029B2 (ja) | 中央処理装置(cpu)と補助プロセッサとの間の改善した関数コールバック機構 | |
JP6399916B2 (ja) | 情報処理装置およびその制御方法 | |
US10754558B2 (en) | Vehicular device | |
US9043806B2 (en) | Information processing device and task switching method | |
WO2011103825A2 (zh) | 多处理器系统负载均衡的方法和装置 | |
JP2010500682A (ja) | フラッシュメモリアクセス回路 | |
JP2017033501A (ja) | 記憶装置および制御方法 | |
JP6645348B2 (ja) | 情報処理装置、情報処理プログラム、及び情報処理方法 | |
US20160283250A1 (en) | Boot controlling processing apparatus | |
KR102205899B1 (ko) | 메모리의 뱅크 충돌을 방지하기 위한 방법 및 장치 | |
US20120260058A1 (en) | Memory management apparatus, memory management method, and control program | |
JP2011175378A (ja) | マルチプロセッサシステム、及びマルチプロセッサシステムの動作方法 | |
JP2009104443A (ja) | Osの起動方法 | |
WO2016041156A1 (zh) | Cpu调度的方法和装置 | |
US8095784B2 (en) | Computer system and method for activating basic program therein | |
JP2015118493A (ja) | トレース装置及びトレースプログラム | |
JP5335625B2 (ja) | ブート時間を短縮するコンピュータ・プログラム | |
JP2009251681A (ja) | スタック領域の拡張方法及びプログラム | |
JP5332716B2 (ja) | 起動制御方法、情報処理装置及びプログラム | |
US20180113772A1 (en) | Information processing apparatus, method of controlling the same, and storage medium | |
JP2010044699A (ja) | 情報処理装置 | |
JP6477216B2 (ja) | 演算装置、スレッド切替方法、及びマルチスレッドプログラム | |
CN117251266A (zh) | 中断事件的处理方法、装置、电子设备、介质以及芯片 | |
JP6358330B2 (ja) | 情報処理装置、情報処理システム、メモリ管理方法およびメモリ管理プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190212 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20191126 |
|
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: 20191210 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20191223 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6645348 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |