JP2009510613A - セルプロセッサのためのspuタスクマネージャ - Google Patents
セルプロセッサのためのspuタスクマネージャ Download PDFInfo
- Publication number
- JP2009510613A JP2009510613A JP2008533495A JP2008533495A JP2009510613A JP 2009510613 A JP2009510613 A JP 2009510613A JP 2008533495 A JP2008533495 A JP 2008533495A JP 2008533495 A JP2008533495 A JP 2008533495A JP 2009510613 A JP2009510613 A JP 2009510613A
- Authority
- JP
- Japan
- Prior art keywords
- task
- spu
- data
- tasks
- processor
- 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
- 238000012545 processing Methods 0.000 claims abstract description 37
- 230000002195 synergetic effect Effects 0.000 claims abstract description 10
- 238000000034 method Methods 0.000 claims description 70
- 230000004888 barrier function Effects 0.000 claims description 23
- 238000012546 transfer Methods 0.000 claims description 13
- 230000008569 process Effects 0.000 description 18
- 238000007726 management method Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 12
- 230000008901 benefit Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 230000002093 peripheral effect Effects 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 241000699666 Mus <mouse, genus> Species 0.000 description 2
- 238000013523 data management Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 101100269850 Caenorhabditis elegans mask-1 gene Proteins 0.000 description 1
- 241000699670 Mus sp. Species 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 239000012530 fluid Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000011112 process operation Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
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/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- 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
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5033—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering data affinity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/483—Multiproc
-
- 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/25—Using a specific main memory architecture
- G06F2212/251—Local memory within processor subsystem
-
- 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/25—Using a specific main memory architecture
- G06F2212/253—Centralized 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)
- Stored Programmes (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Image Processing (AREA)
- Multi Processors (AREA)
Abstract
【選択図】図1
Description
この特許書類の開示の一部には、著作権のある内容が含まれる。著作権者は、特許商標庁の特許ファイルや記録にある通りに、特許書類または特許開示のいずれかを複写して再生することには異議を唱えないが、それ以外についてはすべての著作権を留保する。
[関連出願との相互参照]
本出願は、2005年9月27日に出願された、本出願と譲受人が共通する特許文献1に関連し、その開示内容全体をここに援用する。
本出願はまた、2005年9月27日に出願された、本出願と譲受人が共通する特許文献2に関連し、その開示内容全体をここに援用する。
本出願はまた、2005年9月27日に出願された、本出願と譲受人が共通する特許文献3に関連し、その開示内容全体をここに援用する。
本出願はまた、2005年9月27日に出願された、本出願と譲受人が共通する特許文献4に関連し、その開示内容全体をここに援用する。
本発明は一般には並列処理に関し、特にセルプロセッサにおけるタスク管理に関する。
Claims (60)
- メインメモリ、1以上のパワープロセッサユニット(PPU)、1以上のシナジスティックプロセッシングユニット(SPU)を含み、各SPUはプロセッサとローカルメモリを含むセルプロセッサにおいて、1以上のSPUによって実行されるタスクを管理する方法であって、当該方法は、
1以上のSPUで動作するSPUタスクマネージャ(STM)の制御下で、前記メインメモリに格納された1以上のタスク定義を選択されたSPUのローカルメモリに読み出すステップと、
前記1以上のタスク定義に含まれる情報にもとづいて、前記タスク定義に関するコードおよび/またはデータをメインメモリから読み出し、前記選択されたSPUのローカルメモリにロードするステップと、
前記選択されたSPUにおいて前記コードおよび/またはデータを用いて1以上のタスクを実行するステップとを含むことを特徴とする方法。 - 1以上のタスク定義を読み出すステップは、2以上のタスク定義を読み出すことを含む請求項1の方法。
- 1以上のタスク定義は、コード要求と前記コードが入ったメモリアドレスへのポインタを含む請求項1の方法。
- 前記コードおよび/またはデータは、前記ローカルストアにメモリスペースを静的に割り当てる位置独立コードによって特徴づけられた1以上のプログラムを含む請求項1の方法。
- 前記コードおよび/またはデータは、前記ローカルストアにメモリ空間を動的に割り当てるプログラムを含む請求項1の方法。
- 前記プログラムは位置独立コードではない請求項5の方法。
- 前記タスク定義は、前記選択されたSPUにロードすべき前記データおよび/またはコードのサイズを含む請求項1の方法。
- 前記タスク定義は入出力(I/O)ダイレクトメモリアクセス(DMA)に対して要求されるローカルストア空間の最大容量を含む請求項1の方法。
- 2以上のタスクがタスク定義および入出力(I/O)データに対するコンテキストバッファを共有する請求項1の方法。
- 前記1以上のタスクからの出力データを前記メインメモリまたは別のSPUのローカルストアに格納するステップをさらに含む請求項1の方法。
- 前記選択されたSPUで前記1以上のタスクを実行している間、別のタスク定義または他のコードおよび/またはデータをロードし、出力をメインメモリに格納するステップをさらに含む請求項1の方法。
- 前記1以上のタスク定義のそれぞれは優先度を含む請求項1の方法。
- 前記1以上のタスクは、1以上のタスクキューにまとめられる請求項1の方法。
- 高い優先度のタスクキューは低い優先度のタスクキューよりも前に処理される請求項13の方法。
- 前記1以上のタスクキューは循環式である請求項13の方法。
- 1以上のタスクを1以上のタスクキューに追加するために1以上のPPUを用いるステップをさらに含む請求項13の方法。
- 前記タスクキューの一つへのアクセスをアトミックミューテックスで制限するステップをさらに含む請求項13の方法。
- 前記アトミックミューテックスは128バイトのアトミックミューテックスである請求項17の方法。
- 前記アトミックミューテックスは、ロックする前記メインメモリの領域に関する情報を含む請求項17の方法。
- 前記アトミックミューテックスは前記タスクキューへのアクセスがロックされているかどうかに関する情報を含む請求項17の方法。
- 前記アトミックミューテックスは前記タスクキューの他のどのタスクが進行中であるかに関する情報を含む請求項17の方法。
- 前記アトミックミューテックスは前記タスクキューの進行中の他のタスクの位置に関する情報を含む請求項17の方法。
- アクセスを制限するステップは、前記キューのどのタスクが既に取り出されたかを他のSPUおよび/またはPPUに通知するカウンタをデクリメントまたはインクリメントするステップを含む請求項17の方法。
- 1以上の前記タスクキューは、1以上の以前のタスクが完了するまでは1以上の後続のタスクが始まらないことを保証するバリアコマンドを含む請求項13の方法。
- 前記メインメモリから前記1以上のタスク定義をロードするステップは、タスクキュー0のタスク定義から前記メインメモリ内の前記タスクのメモリアドレスを読み出すステップを含む請求項1の方法。
- 前記タスクの前記メモリアドレスはコードとデータの両方を含む請求項25の方法。
- 前記メインメモリから前記1以上のタスクをロードするステップは前記タスクに対する競合度をロードするステップを含む請求項1の方法。
- 前記1以上のタスクの競合を前記1以上のSPUの間でバランスするステップをさらに含む請求項1の方法。
- 前記メインメモリから前記1以上のタスクをロードするステップは、前記タスクに対する最大競合度および/または最小競合度をロードするステップを含む請求項1の方法。
- 前記1以上のタスクは1以上のタスクキューにまとめられ、当該方法は、アトミックな予約消失イベントを待つステップをさらに含む請求項1の方法。
- 1以上のタスクを実行するステップは、前記メインメモリのある位置から前記ローカルストアへデータをコピーし、コピーされたデータを前記ローカルストアから前記メインメモリの別の位置へ転送するステップを含む請求項1の方法。
- 1以上のタスク定義を読み出すステップは、単一のSPUで2以上のタスク定義を互いに並列に読み出すステップを含む請求項1の方法。
- 1以上のタスク定義を読み出すステップは、同一のSPUで別のタスクのためにデータを処理することと並列にタスク定義を読み出すステップを含む請求項1の方法。
- 1以上のタスク定義を読み出すステップは、同一のSPUで別のタスクのためにデータを処理することと並列に、かつ、さらに別のタスクからのデータを出力することと並列に、タスク定義を読み出すステップを含む請求項1の方法。
- 1以上のタスク定義を読み出すステップは、同一のSPUで別のタスクからのデータを出力することと並列にタスク定義を読み出すステップを含む請求項1の方法。
- 1以上のタスクを実行するステップは、あるSPUでタスクからのデータを処理することと並列に同一のSPUで別のタスクからのデータを出力するステップを含む請求項1の方法。
- 1以上のタスクを実行するステップは、第1タスクからのデータを処理することと並列に第2タスクからのデータを入力し、さらに並列に第3タスク用のタスク定義を読み出し、さらに並列に第4タスクのためにデータを出力するステップを含む請求項1の方法。
- データバスと、
前記データバスに接続され、1以上のタスク定義を含むメインメモリと、
前記データバスに接続された中央プロセッサと、
前記データバスに接続され、それぞれがシナジスティックプロセッサユニット(SPU)とローカルストアを有する1以上のシナジスティックプロセッシングエレメント(SPE)と、
1以上の前記SPU上で実行されるSPUタスクマネージャ(STM)とを含み、
前記STMは前記SPUに、
前記メインメモリに格納された1以上のタスク定義を選択されたSPUのローカルメモリに読み出し、
1以上のタスク定義に含まれる情報にもとづいて、前記タスク定義に関するコードおよび/またはデータをメインメモリから読み出し、前記選択されたSPUのローカルメモリにロードするように命じるように構成されることを特徴とするセルプロセッサ。 - 1以上のタスク定義は、コード要求と前記コードが入ったメモリアドレスへのポインタを含む請求項38のプロセッサ。
- 各タスク定義は優先度の値を含む請求項38のプロセッサ。
- 各タスク定義は競合値を含む請求項38のプロセッサ。
- 各タスク定義は最大許容競合値を含む請求項38のプロセッサ。
- 各タスク定義は最小競合値を含む請求項38のプロセッサ。
- 各タスク定義はステートの値を含む請求項38のプロセッサ。
- 前記ワークキューの前記メモリアドレスはコードとデータの両方を含む請求項38のプロセッサ。
- 前記1以上のタスクは、1以上のタスクキューにまとめられる請求項38のプロセッサ。
- 前記STMは高い優先度のタスクキューを低い優先度のタスクキューよりも前に処理するために選択するように構成される請求項46のプロセッサ。
- 前記1以上のタスクキューは循環式である請求項46のプロセッサ。
- 前記タスクキューの一つへのアクセスはアトミックミューテックスで制限される請求項46のプロセッサ。
- 前記アトミックミューテックスは128バイトのアトミックミューテックスである請求項49のプロセッサ。
- 前記128バイトのアトミックミューテックスは、ロックステート用に4バイト、完了したタスクのカウント用に2バイト、および最大488タスクのステート情報が入る122バイトを含む請求項50のプロセッサ。
- 前記アトミックミューテックスは、ロックする前記メインメモリの領域に関する情報を含む請求項49のプロセッサ。
- 前記アトミックミューテックスは前記タスクキューへのアクセスがロックされているかどうかに関する情報を含む請求項49のプロセッサ。
- 前記アトミックミューテックスは前記タスクキューの他のどのタスクが進行中であるかに関する情報を含む請求項49のプロセッサ。
- 前記アトミックミューテックスは前記タスクキューの進行中の他のタスクの位置に関する情報を含む請求項49のプロセッサ。
- アクセス制限には、前記キューのどのタスクが既に取り出されたかを他のSPUおよび/またはPPUに通知するカウンタをデクリメントまたはインクリメントすることを含む請求項49のプロセッサ。
- 1以上の前記タスクキューは、1以上の以前のタスクが完了するまでは1以上の後続のタスクが始まらないことを保証するバリアコマンドを含む請求項46のプロセッサ。
- 前記コードおよび/またはデータは、前記メインメモリのある位置から前記ローカルストアへデータをコピーし、コピーされたデータを前記ローカルストアから前記メインメモリの別の位置へ転送するように構成されたコードを含む請求項38のプロセッサ。
- 1以上のパワープロセッサユニット(PPU)、1以上のシナジスティックプロセッシングエレメント(SPE)を含み、各SPEはシナジスティックプロセッサユニット(SPU)とローカルメモリを含むセルプロセッサにおいて、1以上のSPE上でコードとデータを管理する方法を実行するためのプロセッサ読み込み可能なインストラクションセットが具体化されたプロセッサ読み込み可能な媒体であって、
当該方法は、
1以上のSPUで動作するSPUタスクマネージャ(STM)の制御下で、前記メインメモリに格納された1以上のタスク定義を選択されたSPUのローカルメモリに読み出すステップと、
前記1以上のタスク定義に含まれる情報にもとづいて、前記タスク定義に関するコードおよび/またはデータをメインメモリから読み出し、前記選択されたSPUのローカルメモリにロードするステップと、
前記選択されたSPUにおいて前記コードおよび/またはデータを用いて1以上のタスクを実行するステップとを含むことを特徴とする媒体。 - データプロセッシングシステムであって、
一つ以上のセルプロセッサを含み、
各セルプロセッサは、メインメモリと、パワープロセッサユニット(PPU)と、1以上のシナジスティックプロセッシングユニット(SPU)とを含み、
各SPUは、プロセッサとローカルメモリを有し、
前記メモリ、前記PPU、前記SPUは互いにデータバスで結合されており、
前記メインメモリおよび/または前記ローカルメモリは、1以上のSPU上でコードとデータを管理する方法を実行するためのプロセッサで実行可能なインストラクションを含み、
当該方法は、
1以上のSPUで動作するSPUタスクマネージャ(STM)の制御下で、前記メインメモリに格納された1以上のタスク定義を選択されたSPUのローカルメモリに読み出すステップと、
前記1以上のタスク定義に含まれる情報にもとづいて、前記タスク定義に関するコードおよび/またはデータをメインメモリから読み出し、前記選択されたSPUのローカルメモリにロードするステップと、
前記選択されたSPUにおいて前記コードおよび/またはデータを用いて1以上のタスクを実行するステップとを含むことを特徴とするデータプロセッシングシステム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/238,087 | 2005-09-27 | ||
US11/238,087 US8037474B2 (en) | 2005-09-27 | 2005-09-27 | Task manager with stored task definition having pointer to a memory address containing required code data related to the task for execution |
PCT/US2006/037338 WO2007038457A1 (en) | 2005-09-27 | 2006-09-25 | Spu task manager for cell processor |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009510613A true JP2009510613A (ja) | 2009-03-12 |
JP4712877B2 JP4712877B2 (ja) | 2011-06-29 |
Family
ID=37671907
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008533495A Active JP4712877B2 (ja) | 2005-09-27 | 2006-09-25 | 並列プロセッサのためのタスクマネージャ |
Country Status (4)
Country | Link |
---|---|
US (1) | US8037474B2 (ja) |
EP (2) | EP2290543B1 (ja) |
JP (1) | JP4712877B2 (ja) |
WO (1) | WO2007038457A1 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014508982A (ja) * | 2010-12-15 | 2014-04-10 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | 異種処理デバイスの動的ワークパーティション |
JP2017521796A (ja) * | 2014-07-24 | 2017-08-03 | アリフォンソ イニゲス, | 動的に構成可能な先回りコプロセッシングセルを用いる並列処理のためのシステムおよび方法 |
WO2019159616A1 (ja) * | 2018-02-16 | 2019-08-22 | 日立オートモティブシステムズ株式会社 | プログラム実行制御方法および車両制御装置 |
Families Citing this family (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7346664B2 (en) * | 2003-04-24 | 2008-03-18 | Neopath Networks, Inc. | Transparent file migration using namespace replication |
US8539081B2 (en) * | 2003-09-15 | 2013-09-17 | Neopath Networks, Inc. | Enabling proxy services using referral mechanisms |
US8195627B2 (en) * | 2004-04-23 | 2012-06-05 | Neopath Networks, Inc. | Storage policy monitoring for a storage network |
US8190741B2 (en) * | 2004-04-23 | 2012-05-29 | Neopath Networks, Inc. | Customizing a namespace in a decentralized storage environment |
WO2006027639A1 (en) * | 2004-09-09 | 2006-03-16 | Pirelli Tyre S.P.A. | Method for allowing a control of a vehicle provided with at least two wheels in case of puncture of a tyre |
WO2007002855A2 (en) * | 2005-06-29 | 2007-01-04 | Neopath Networks, Inc. | Parallel filesystem traversal for transparent mirroring of directories and files |
US7522168B2 (en) * | 2005-09-27 | 2009-04-21 | Sony Computer Entertainment Inc. | Cell processor task and data management |
US7975269B2 (en) | 2005-09-27 | 2011-07-05 | Sony Computer Entertainment Inc. | Parallel processor methods and apparatus |
US8316220B2 (en) * | 2005-09-27 | 2012-11-20 | Sony Computer Entertainment Inc. | Operating processors over a network |
US7506123B1 (en) * | 2005-09-27 | 2009-03-17 | Sony Computer Entertainment Inc. | Method and system for performing memory copy function on a cell processor |
US7734827B2 (en) * | 2005-09-27 | 2010-06-08 | Sony Computer Entertainment, Inc. | Operation of cell processors |
US8131689B2 (en) * | 2005-09-30 | 2012-03-06 | Panagiotis Tsirigotis | Accumulating access frequency and file attributes for supporting policy based storage management |
US8595747B2 (en) * | 2005-12-29 | 2013-11-26 | Sony Computer Entertainment Inc. | Efficient task scheduling by assigning fixed registers to scheduler |
US7647483B2 (en) * | 2007-02-20 | 2010-01-12 | Sony Computer Entertainment Inc. | Multi-threaded parallel processor methods and apparatus |
GB0703974D0 (en) * | 2007-03-01 | 2007-04-11 | Sony Comp Entertainment Europe | Entertainment device |
US8589943B2 (en) * | 2007-08-15 | 2013-11-19 | Sony Computer Entertainment Inc. | Multi-threaded processing with reduced context switching |
CN101373434B (zh) * | 2007-08-22 | 2012-01-25 | 国际商业机器公司 | 在多处理器系统中快速加载和运行程序映像的方法和系统 |
WO2009029549A2 (en) * | 2007-08-24 | 2009-03-05 | Virtualmetrix, Inc. | Method and apparatus for fine grain performance management of computer systems |
US8387041B2 (en) * | 2008-01-09 | 2013-02-26 | International Business Machines Corporation | Localized multi-element processor resource sharing among logical partitions |
JP5067282B2 (ja) * | 2008-06-27 | 2012-11-07 | ソニー株式会社 | 物体検出制御装置、物体検出システム、物体検出制御方法およびプログラム |
US8732716B2 (en) | 2008-09-30 | 2014-05-20 | International Business Machines Corporation | Virtualization across physical partitions of a multi-core processor (MCP) |
US8438404B2 (en) | 2008-09-30 | 2013-05-07 | International Business Machines Corporation | Main processing element for delegating virtualized control threads controlling clock speed and power consumption to groups of sub-processing elements in a system such that a group of sub-processing elements can be designated as pseudo main processing element |
US20100257529A1 (en) * | 2009-04-06 | 2010-10-07 | Christopher Wilkerson | Efficient systems and methods for consuming and providing power |
US8782653B2 (en) * | 2010-03-26 | 2014-07-15 | Virtualmetrix, Inc. | Fine grain performance resource management of computer systems |
US8677071B2 (en) * | 2010-03-26 | 2014-03-18 | Virtualmetrix, Inc. | Control of processor cache memory occupancy |
US10795722B2 (en) * | 2011-11-09 | 2020-10-06 | Nvidia Corporation | Compute task state encapsulation |
US9229847B1 (en) | 2012-04-18 | 2016-01-05 | Open Invention Network, Llc | Memory sharing for buffered macro-pipelined data plane processing in multicore embedded systems |
US9122401B2 (en) | 2012-08-23 | 2015-09-01 | Apple Inc. | Efficient enforcement of command execution order in solid state drives |
US9146777B2 (en) * | 2013-01-25 | 2015-09-29 | Swarm Technology Llc | Parallel processing with solidarity cells by proactively retrieving from a task pool a matching task for the solidarity cell to process |
US9158698B2 (en) | 2013-03-15 | 2015-10-13 | International Business Machines Corporation | Dynamically removing entries from an executing queue |
US9588813B1 (en) * | 2013-06-07 | 2017-03-07 | Amazon Technologies, Inc. | Determining cost of service call |
US9501321B1 (en) * | 2014-01-24 | 2016-11-22 | Amazon Technologies, Inc. | Weighted service requests throttling |
CN106537343A (zh) * | 2014-07-24 | 2017-03-22 | 阿方索·伊尼格斯 | 使用动态可配置主动协同处理单元的并行处理的系统和方法 |
KR101638136B1 (ko) * | 2015-05-14 | 2016-07-08 | 주식회사 티맥스 소프트 | 멀티 스레드 구조에서 작업 분배 시 스레드 간 락 경쟁을 최소화하는 방법 및 이를 사용한 장치 |
CN105373430A (zh) * | 2015-10-13 | 2016-03-02 | 惠州Tcl移动通信有限公司 | 一种动态分配编译机的系统及其方法 |
US10409560B1 (en) * | 2015-11-18 | 2019-09-10 | Amazon Technologies, Inc. | Acceleration techniques for graph analysis programs |
US10949251B2 (en) | 2016-04-01 | 2021-03-16 | Intel Corporation | System and method to accelerate reduce operations in graphics processor |
US10552212B2 (en) * | 2016-11-28 | 2020-02-04 | Arm Limited | Data processing |
KR102442921B1 (ko) * | 2017-12-11 | 2022-09-13 | 삼성전자주식회사 | 디지털 시그널 프로세서(dsp)의 태스크 관리 효율을 높일 수 있는 전자 장치 |
US11487573B2 (en) * | 2018-05-08 | 2022-11-01 | Thomson Reuters Enterprise Centre Gmbh | Systems and method for automating security workflows in a distributed system using encrypted task requests |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04123234A (ja) * | 1990-09-14 | 1992-04-23 | Hitachi Ltd | マルチプロセッサのプロセススケジューリング方式及びメモリ管理方式 |
JPH05216844A (ja) * | 1991-07-17 | 1993-08-27 | Internatl Business Mach Corp <Ibm> | マルチプロセッサデータ処理システムにおける改良されたタスク分散のための方法および装置 |
WO1997006484A1 (en) * | 1995-08-08 | 1997-02-20 | Novell, Inc. | Method and apparatus for strong affinity multiprocessor scheduling |
JPH1055284A (ja) * | 1996-05-06 | 1998-02-24 | Sun Microsyst Inc | スレッドをスケジュールする方法及びそのシステム |
US6665699B1 (en) * | 1999-09-23 | 2003-12-16 | Bull Hn Information Systems Inc. | Method and data processing system providing processor affinity dispatching |
JP2005513587A (ja) * | 2001-05-10 | 2005-05-12 | オラクル・インターナショナル・コーポレイション | マルチポリシーリソーススケジューリングのための方法およびシステム |
JP2005235228A (ja) * | 2004-02-20 | 2005-09-02 | Sony Computer Entertainment Inc | マルチプロセッサシステムにおけるタスク管理方法および装置 |
JP2005235229A (ja) * | 2004-02-20 | 2005-09-02 | Sony Computer Entertainment Inc | マルチプロセッサシステムにおけるプロセッサタスクの移動方法および装置 |
Family Cites Families (58)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3496551A (en) | 1967-07-13 | 1970-02-17 | Ibm | Task selection in a multi-processor computing system |
US3596257A (en) * | 1969-09-17 | 1971-07-27 | Burroughs Corp | Method and apparatus for allocating small memory spaces to a computer program |
US5047923A (en) * | 1987-08-21 | 1991-09-10 | Siemens Aktiengesellschaft | Modularly structured digital communication system for interconnecting terminal equipment and public networks |
JPH01258135A (ja) | 1988-04-08 | 1989-10-16 | Nec Corp | トランザクション実行制御方式 |
US5185694A (en) | 1989-06-26 | 1993-02-09 | Motorola, Inc. | Data processing system utilizes block move instruction for burst transferring blocks of data entries where width of data blocks varies |
US5136712A (en) * | 1989-06-29 | 1992-08-04 | Digital Equipment Corporation | Temporary object handling system and method in an object based computer operating system |
EP0416767A3 (en) * | 1989-09-08 | 1992-04-29 | Digital Equipment Corporation | Position independent code location system |
US5109512A (en) * | 1990-05-31 | 1992-04-28 | International Business Machines Corporation | Process for dispatching tasks among multiple information processors |
US5452452A (en) | 1990-06-11 | 1995-09-19 | Cray Research, Inc. | System having integrated dispatcher for self scheduling processors to execute multiple types of processes |
JP2809962B2 (ja) * | 1993-03-02 | 1998-10-15 | 株式会社東芝 | 資源管理方式 |
US5528513A (en) | 1993-11-04 | 1996-06-18 | Digital Equipment Corp. | Scheduling and admission control policy for a continuous media server |
US5745778A (en) | 1994-01-26 | 1998-04-28 | Data General Corporation | Apparatus and method for improved CPU affinity in a multiprocessor system |
US5794017A (en) | 1995-02-06 | 1998-08-11 | International Business Machines Corporation | Method and system of updating graphics memory in a graphics display system through multiple address transferring of pixel data |
US5832262A (en) | 1995-09-14 | 1998-11-03 | Lockheed Martin Corporation | Realtime hardware scheduler utilizing processor message passing and queue management cells |
US6341324B1 (en) | 1995-10-06 | 2002-01-22 | Lsi Logic Corporation | Exception processing in superscalar microprocessor |
US5978843A (en) | 1995-12-06 | 1999-11-02 | Industrial Technology Research Institute | Scalable architecture for media-on-demand servers |
CA2249386C (en) | 1996-03-19 | 2004-06-01 | Massachusetts Institute Of Technology | Computer system and computer implemented process for representing software system descriptions and for generating executable computer programs and computer system configurations from software system descriptions |
US6144986A (en) | 1997-03-27 | 2000-11-07 | Cybersales, Inc. | System for sorting in a multiprocessor environment |
US6003112A (en) | 1997-06-30 | 1999-12-14 | Intel Corporation | Memory controller and method for clearing or copying memory utilizing register files to store address information |
US6378072B1 (en) | 1998-02-03 | 2002-04-23 | Compaq Computer Corporation | Cryptographic system |
US6295598B1 (en) * | 1998-06-30 | 2001-09-25 | Src Computers, Inc. | Split directory-based cache coherency technique for a multi-processor computer system |
US6289369B1 (en) | 1998-08-25 | 2001-09-11 | International Business Machines Corporation | Affinity, locality, and load balancing in scheduling user program-level threads for execution by a computer system |
JP3993342B2 (ja) | 1999-06-24 | 2007-10-17 | 株式会社日立製作所 | 電子計算機における処理の中断/再開方法 |
US6463457B1 (en) | 1999-08-26 | 2002-10-08 | Parabon Computation, Inc. | System and method for the establishment and the utilization of networked idle computational processing power |
DE60033615T2 (de) | 1999-10-21 | 2007-10-31 | International Business Machines Corp. | Verfahren und System, um das Verteilen von IP-Datagrammen auf mehrere Server gemäß einer definierten Strategie zu erzwingen |
GB2394336B (en) | 1999-11-19 | 2004-09-08 | Gen Dynamics Decisions Systems | Method of allocating memory |
US7058750B1 (en) | 2000-05-10 | 2006-06-06 | Intel Corporation | Scalable distributed memory and I/O multiprocessor system |
US7565651B1 (en) * | 2000-05-25 | 2009-07-21 | Oracle International Corporation | Parallel task scheduling system for computers |
US6981260B2 (en) * | 2000-05-25 | 2005-12-27 | International Business Machines Corporation | Apparatus for minimizing lock contention in a multiple processor system with multiple run queues when determining the threads priorities |
US20030154284A1 (en) * | 2000-05-31 | 2003-08-14 | James Bernardin | Distributed data propagator |
JP2002007364A (ja) | 2000-06-22 | 2002-01-11 | Fujitsu Ltd | 並列計算機システムのジョブスケジューリングを行うスケジューリング装置 |
US6986052B1 (en) | 2000-06-30 | 2006-01-10 | Intel Corporation | Method and apparatus for secure execution using a secure memory partition |
US6502170B2 (en) | 2000-12-15 | 2002-12-31 | Intel Corporation | Memory-to-memory compare/exchange instructions to support non-blocking synchronization schemes |
US6526491B2 (en) * | 2001-03-22 | 2003-02-25 | Sony Corporation Entertainment Inc. | Memory protection system and method for computer architecture for broadband networks |
US7233998B2 (en) | 2001-03-22 | 2007-06-19 | Sony Computer Entertainment Inc. | Computer architecture and software cells for broadband networks |
US6738378B2 (en) | 2001-08-22 | 2004-05-18 | Pluris, Inc. | Method and apparatus for intelligent sorting and process determination of data packets destined to a central processing unit of a router or server on a data packet network |
US7127477B2 (en) | 2001-11-06 | 2006-10-24 | Everyware Solutions Inc. | Method and system for access to automatically synchronized remote files |
CN1322385C (zh) | 2002-08-13 | 2007-06-20 | 诺基亚有限公司 | 用于提供数据安全性的电路系统和方法 |
US7089547B2 (en) | 2002-09-13 | 2006-08-08 | International Business Machines Corporation | Firmware updating |
US7039736B2 (en) | 2003-01-15 | 2006-05-02 | Hewlett-Packard Development Company, L.P. | Systems and methods for accessing bus-mastered system resources |
JP3848268B2 (ja) | 2003-02-14 | 2006-11-22 | 株式会社東芝 | 計算機システム、計算機装置、計算機システムにおけるデータアクセス方法及びプログラム |
JP2004287801A (ja) | 2003-03-20 | 2004-10-14 | Sony Computer Entertainment Inc | 情報処理システム、情報処理装置、分散情報処理方法及びコンピュータプログラム |
JP2004320174A (ja) | 2003-04-11 | 2004-11-11 | Matsushita Electric Ind Co Ltd | 認証システム、認証装置、認証方法 |
US20050022173A1 (en) * | 2003-05-30 | 2005-01-27 | Codito Technologies Private Limited | Method and system for allocation of special purpose computing resources in a multiprocessor system |
US7236738B2 (en) | 2003-08-01 | 2007-06-26 | Pathfire, Inc. | Multicast control systems and methods for dynamic, adaptive time, bandwidth,frequency, and satellite allocations |
US7516456B2 (en) * | 2003-09-25 | 2009-04-07 | International Business Machines Corporation | Asymmetric heterogeneous multi-threaded operating system |
US7478390B2 (en) * | 2003-09-25 | 2009-01-13 | International Business Machines Corporation | Task queue management of virtual devices using a plurality of processors |
US7236998B2 (en) | 2003-09-25 | 2007-06-26 | International Business Machines Corporation | System and method for solving a large system of dense linear equations |
US7523157B2 (en) | 2003-09-25 | 2009-04-21 | International Business Machines Corporation | Managing a plurality of processors as devices |
US7321958B2 (en) | 2003-10-30 | 2008-01-22 | International Business Machines Corporation | System and method for sharing memory by heterogeneous processors |
US8028292B2 (en) | 2004-02-20 | 2011-09-27 | Sony Computer Entertainment Inc. | Processor task migration over a network in a multi-processor system |
US7298377B2 (en) | 2004-06-24 | 2007-11-20 | International Business Machines Corporation | System and method for cache optimized data formatting |
US7304646B2 (en) | 2004-08-19 | 2007-12-04 | Sony Computer Entertainment Inc. | Image data structure for direct memory access |
US7522168B2 (en) | 2005-09-27 | 2009-04-21 | Sony Computer Entertainment Inc. | Cell processor task and data management |
US8141076B2 (en) | 2005-09-27 | 2012-03-20 | Sony Computer Entertainment Inc. | Cell processor methods and apparatus |
US7506123B1 (en) | 2005-09-27 | 2009-03-17 | Sony Computer Entertainment Inc. | Method and system for performing memory copy function on a cell processor |
US7734827B2 (en) | 2005-09-27 | 2010-06-08 | Sony Computer Entertainment, Inc. | Operation of cell processors |
US7975269B2 (en) | 2005-09-27 | 2011-07-05 | Sony Computer Entertainment Inc. | Parallel processor methods and apparatus |
-
2005
- 2005-09-27 US US11/238,087 patent/US8037474B2/en active Active
-
2006
- 2006-09-25 EP EP10187459.2A patent/EP2290543B1/en active Active
- 2006-09-25 EP EP06815385A patent/EP1934739A1/en not_active Withdrawn
- 2006-09-25 JP JP2008533495A patent/JP4712877B2/ja active Active
- 2006-09-25 WO PCT/US2006/037338 patent/WO2007038457A1/en active Application Filing
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04123234A (ja) * | 1990-09-14 | 1992-04-23 | Hitachi Ltd | マルチプロセッサのプロセススケジューリング方式及びメモリ管理方式 |
JPH05216844A (ja) * | 1991-07-17 | 1993-08-27 | Internatl Business Mach Corp <Ibm> | マルチプロセッサデータ処理システムにおける改良されたタスク分散のための方法および装置 |
WO1997006484A1 (en) * | 1995-08-08 | 1997-02-20 | Novell, Inc. | Method and apparatus for strong affinity multiprocessor scheduling |
JPH1055284A (ja) * | 1996-05-06 | 1998-02-24 | Sun Microsyst Inc | スレッドをスケジュールする方法及びそのシステム |
US6665699B1 (en) * | 1999-09-23 | 2003-12-16 | Bull Hn Information Systems Inc. | Method and data processing system providing processor affinity dispatching |
JP2005513587A (ja) * | 2001-05-10 | 2005-05-12 | オラクル・インターナショナル・コーポレイション | マルチポリシーリソーススケジューリングのための方法およびシステム |
JP2005235228A (ja) * | 2004-02-20 | 2005-09-02 | Sony Computer Entertainment Inc | マルチプロセッサシステムにおけるタスク管理方法および装置 |
JP2005235229A (ja) * | 2004-02-20 | 2005-09-02 | Sony Computer Entertainment Inc | マルチプロセッサシステムにおけるプロセッサタスクの移動方法および装置 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014508982A (ja) * | 2010-12-15 | 2014-04-10 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | 異種処理デバイスの動的ワークパーティション |
JP2017521796A (ja) * | 2014-07-24 | 2017-08-03 | アリフォンソ イニゲス, | 動的に構成可能な先回りコプロセッシングセルを用いる並列処理のためのシステムおよび方法 |
WO2019159616A1 (ja) * | 2018-02-16 | 2019-08-22 | 日立オートモティブシステムズ株式会社 | プログラム実行制御方法および車両制御装置 |
JP2019144627A (ja) * | 2018-02-16 | 2019-08-29 | 日立オートモティブシステムズ株式会社 | プログラム実行制御方法および車両制御装置 |
JP7042105B2 (ja) | 2018-02-16 | 2022-03-25 | 日立Astemo株式会社 | プログラム実行制御方法および車両制御装置 |
US11645124B2 (en) | 2018-02-16 | 2023-05-09 | Hitachi Astemo, Ltd. | Program execution control method and vehicle control device |
Also Published As
Publication number | Publication date |
---|---|
EP1934739A1 (en) | 2008-06-25 |
WO2007038457A1 (en) | 2007-04-05 |
EP2290543A2 (en) | 2011-03-02 |
EP2290543A3 (en) | 2012-06-06 |
US8037474B2 (en) | 2011-10-11 |
JP4712877B2 (ja) | 2011-06-29 |
US20070074207A1 (en) | 2007-03-29 |
EP2290543B1 (en) | 2018-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4712877B2 (ja) | 並列プロセッサのためのタスクマネージャ | |
JP4964243B2 (ja) | プロセッサ方法と装置 | |
JP4712876B2 (ja) | 並列プロセッサ方法と装置 | |
US7647483B2 (en) | Multi-threaded parallel processor methods and apparatus | |
JP5939524B2 (ja) | サブバッファオブジェクト | |
US9928109B2 (en) | Method and system for processing nested stream events | |
US7962923B2 (en) | System and method for generating a lock-free dual queue | |
JP5335743B2 (ja) | タスクのスケジューリングを支援する装置 | |
US9250979B2 (en) | Asynchronous grace-period primitives for user-space applications | |
JP2004252983A (ja) | コプロセッサの性能を強化するシステムおよび方法 | |
JPH10240546A (ja) | 実行時プログラム翻訳方法 | |
US7890740B2 (en) | Processor comprising a first and a second mode of operation and method of operating the same | |
US20130166887A1 (en) | Data processing apparatus and data processing method | |
JP4631442B2 (ja) | プロセッサ | |
Gaster et al. | HSA Queuing Model |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20101116 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20101126 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101130 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110131 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20110131 |
|
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: 20110322 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110323 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4712877 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |