TWI407374B - 依據一非對稱之多處理器設備執行診斷操作 - Google Patents

依據一非對稱之多處理器設備執行診斷操作 Download PDF

Info

Publication number
TWI407374B
TWI407374B TW096133294A TW96133294A TWI407374B TW I407374 B TWI407374 B TW I407374B TW 096133294 A TW096133294 A TW 096133294A TW 96133294 A TW96133294 A TW 96133294A TW I407374 B TWI407374 B TW I407374B
Authority
TW
Taiwan
Prior art keywords
diagnostic
unit
primary
thread
memory
Prior art date
Application number
TW096133294A
Other languages
English (en)
Other versions
TW200821938A (en
Inventor
Simon Andrew Ford
Alastair David Reid
Katherine Elizabeth Kneebone
Edmund Grimeley-Evans
Original Assignee
Advanced Risc Mach Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Advanced Risc Mach Ltd filed Critical Advanced Risc Mach Ltd
Publication of TW200821938A publication Critical patent/TW200821938A/zh
Application granted granted Critical
Publication of TWI407374B publication Critical patent/TWI407374B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/28Error detection; Error correction; Monitoring by checking the correct order of processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3636Software debugging by tracing the execution of the program
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Multi Processors (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Devices For Executing Special Programs (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

依據一非對稱之多處理器設備執行診斷操作
本發明是有關於資料處理系統。更特別地,本發明是有關於提供診斷機構以運用於非對稱多處理器設備。
像是除錯機構,追蹤機構及側寫(profiling)機構之診斷機構在資料處理系統開發的領域裡日益顯著地重要。隨著資料處理系統變得愈來愈複雜,並且其開發與測試的時間亦愈來愈短,從而更加需要功能強大且易於使用的診斷機構,可用以識別出相關於資料處理系統的問題,並且藉由調整其設計和組態來改善這些資料處理系統的效能。
在資料處理系統裡的另一趨勢為愈來愈多地採行多處理器系統。這些是藉由讓處理程序能夠按平行方式所執行,而通常是藉由一程式或任務之不同執行緒,以利提供更高的效能。此多處理器系統之一形式是稱為一對稱多處理器系統。此對稱系統通常含有複數個等同的處理器核心,其每一擁有一等同的程式與資料記憶體相干觀點,並且作業系統軟體負責將待予執行之任務/執行緒配置予個別的處理器所執行,同時負責在多個處理器之間進行任務/執行緒轉移作業。亦即,一程式指令執行之單一執行緒係在作業系統控制下於複數個處理器之間經時間多工化。在這種對稱系統裡,可利用該作業系統以決定在何處執行個別的任務/執行緒,並且向一程式設計者提供以在一單一處理器上執行單一執行緒的外觀,即使是當該作業系統排程將執行作業自一處理器轉移至另一處理器時亦然。此一方式受限於該等處理器為等同,並且是由該作業系統來進行該轉移作業,亦即並非由該程式本身觸發。
對稱多處理器系統雖可改善處理效能,然該等在某一程度並無效率。即如一範例,若該待予進行之處理要求一些最佳地由一DSP類型核心所執行的作業(即如具有高度的數值密集性及重複性),並且其他任務是較佳地由一普通目的處理器進行(即如流程控制、使用者輸入等等),則一對稱多處理器會是實作此等處理之一相當無效率的方式。此點既經認知,並已知提供非對稱多處理器(AMP)系統。此一系統之範例可為由Texas Instruments公司所設計的OMAP平台。在此等平台裡供置有多個不同處理器,而該等之每一者具有多項令其優於他者而較佳地適合於一些任務的特徵。即如一範例,一非對稱多處理器可含有一DSP核心,及一普通目的微處理器核心。此等非對稱多處理器雖就以該等能夠提供之處理效能而具相對低成本及低耗電量來說擁有強大的優點,然該等會因其異質本性而較難以程式設計及開發。為令良好利用此非對稱多處理器系統,正常情況下是令以由該程式本身,而非在一作業系統的控制下,來進行執行緒之間的任務轉移作業。此外,不同處理器的不同處理架構意味著顯著互異的診斷機構或會適合於該等處理器之每一者。在AMP系統內的同步遠端程序呼叫可被視為是自一處理器至另一者之經程式控制的執行緒轉移,即類比於SMP系統裡之經作業系統控制的執行緒轉移,然此一簡單系統觀點並未獲現有診斷機構所支援,這些機構是根據哪一處理器執行該等作業來分割該系統。其結果為,即使程式設計此等非對稱處理系統的複雜度和困難度意味著診斷機構更為重要,然相關於對稱多處理器系統之相當簡易診斷技術仍無法隨即地運用在非對稱多處理器系統。在一傳統AMP系統裡,在各處理器上運行的程式碼係經分別地處置。各個處理器的程式碼是按如該者為一分別程式般所除錯,而此個別程式可與在其他處理器上的分別程式進行通訊。
自一特點而觀察,本發明提供一種非對稱多處理器設備,其中包含:複數個執行機構,其回應於個別程式指令以執行資料處理作業,一程式指令執行之執行緒係於該等複數個執行機構之間而經時間多工化;複數個附屬診斷單元,其每一關聯於一個別執行機構,藉此依據於此以執行診斷作業;一主要診斷單元,其經耦接於該等複數個附屬診斷單元,並且回應於一給定執行緒在執行機構之間的執行作業轉移以令一相對應變化,其中該附屬診斷單元目前係作用中,藉以進行對於該給定執行緒的診斷作業,使得該主要診斷單元能夠追蹤變化,而其中執行機構正執行該給定執行緒。
本技術提供一種結構,其中在該非對稱多處理器內之個別執行機構係經供置有其本身的附屬診斷單元。這些附屬診斷單元係經耦接於一主要診斷單元,而其負有追蹤執行緒在執行單元間之轉移作業的責任,並藉以提供一給定執行緒的單一執行觀點,即使是當此係在該非對稱多處理器系統中跨於不同的執行機構所劃分時亦然。這可顯著地簡化識別並瞭解肇因於程式設計組態之問題的任務,原因在於可跨於此一異質性環境以追蹤個別的執行緒,即如在一AMP系統內跨於處理器所劃分的程式碼可按如一單一個體以進行除錯。
在含有一非對稱記憶體階層之系統裡,瞭解此一非對稱多處理器系統之操作方面的複雜度及困難度係經協解,並因而強化本發明之優點,使得該等複數個執行機構並不共享一共同記憶體映圖。在具有此一非對稱記憶體階層的系統裡,對於一程式設計者而言,由不同執行機構所使用之不同記憶體映圖的複雜度會使得利用相關於個別執行機構之個別診斷單元更加難以理解,因為相同的資料項目可由不同的執行機構按不同方式所參照。本技術之主要診斷單元能夠追蹤執行緒變化,並能夠代表該程式設計者以負責處理這些記憶體對映的差異,藉此顯著地減輕該程式設計者的任務。
一非對稱多處理器雖可藉由具有一非對稱記憶體階層而為非對稱,然這亦可藉由至少一些在其處理架構上有所差異之執行機構而為非對稱。通常為此一情況,而使得能夠在不同類型之任務處標定不同的處理器,並且本技術適用於協助程式設計者處置此複雜度。
即如前述,本技術能夠處置其中是由該程式本身控制執行機構間之任務轉移作業的系統。一種達此目的之特為有效率方式,這在診斷而言若無本技術則或將難以處置,即為其中一自一執行機構至另一執行機構的同步遠端程序呼叫啟動一執行緒執行轉移作業。在此情況下,該轉移作業顯明地是由該程式所進行,並且可由一副程式貯池中之其一者來執行該等遠端程序呼叫,其可在該受呼方執行機構上執行,並且標定於不同的目的地執行機構。
當該主要診斷單元由一執行機構而自一給定執行緒之執行作業提供一診斷輸出,並且回應於該執行緒之執行機構內的變化以令在該診斷輸出之內一相對應變化,使得該程式設計者能夠認知到出現一執行機構轉移時,可強化本技術的可用性。常見情況係問題是與轉移作業相關聯,並因此此項資訊對程式設計者確有助益。
相關於該等不同執行機構之附屬診斷單元可要求程式設計以對特定的執行作業執行緒進行診斷操作。該主要診斷單元既已在當執行緒被不同執行機構所執行時即對執行緒進行追蹤,且能夠在該相關時間將對於一給定執行緒之診斷命令導引至與該給定執行緒相關聯的附屬診斷單元。
該等診斷單元可採行廣泛各種形式。例如,該等可為中斷點單元、觀察點單元、追蹤單元及/或側寫單元。這些診斷單元可為由純粹硬體、硬體及軟體混合方式或純粹軟體所提供。一些診斷單元為較佳地適於按硬體所實作,像是追蹤單元,其要求特別高的帶寬以利追蹤處理器的即時操作。
將可瞭解該等執行機構可如前述採行廣泛各種不同形式。例如,該等執行機構可包含一或更多的普通目的處理器、一直接記憶體單元、一共同處理器、一VLIW處理器、一數位信號處理器及/或一硬體加速器單元。這些除該普通目的處理器以外之各種執行機構形式可被視為是各種不同形式的特殊目的處理器。
可按各種不同方式類似地構成前述的非對稱記憶體階層。所提供的記憶體可為快取記憶體、私有記憶體、共享記憶體或整體記憶體。這些將按非對稱方式所混同合一,而這對於最終實作和非對稱多處理器設備的使用上具有效率,然這在根據該系統以執行診斷操作方面會產生較高的困難程度。將能瞭解一平行系統通常含有多個執行緒,而該等之每一者可為跨於複數個執行機構所時間多工化。
自另一特點而觀察,本發明提供一種根據一非對稱多處理器設備以執行診斷操作的方法,該方法包含如下步驟:回應於個別程式指令,藉複數個執行機構進行資料處理操作,而一程式指令執行作業之執行緒係於該等複數個執行機構之間所時間多工化;根據該等複數個執行機構以執行診斷操作,而個別附屬診斷單元係與其等執行機構相關聯;利用一主要診斷單元,其係經耦接於該等複數個附屬診斷單元並回應於一給定執行緒於該等執行機構間之執行作業轉移,藉以令在該等附屬診斷單元裡之一為目前作用中者內產生一相對應變化,俾對於該給定執行緒進行診斷操作,使得該主要診斷單元能夠追蹤該等變化,而其中執行機構正在執行該給定執行緒。
自後載示範性具體實施例之詳細說明,且應併同於隨附圖式而閱讀,將即能顯知本發明之上述及其他目的、特性與優點。
第1圖略圖說明一非對稱多處理器設備2,其係經連接於一普通目的電腦4。該普通目的電腦是用以程式設計並控制診斷操作。該非對稱多處理器設備2含有複數個執行機構,該等係採取一普通目的處理器6、一數位信號處理器8、一加速器10以及一直接記憶體存取(DMA)單元12之形式。將能瞭解可在該非對稱多處理器設備內提供不同的執行機構組合,像是一VLIW處理器及/或一共同處理器。並且,此一非對構多處理器設備可含有多個具一給定類型之執行機構,這些可為等同者;以及一或更多具有不同類型的執行機構,即如一具多個DSP單元的單一普通目的處理器。
第1圖之非對稱多處理器設備2具有一非對稱記憶體階層,其中含有一快取記憶體14,其係位於該普通目的處理器6的本地處;一共享記憶體16,其可由該加速器10、該普通目的處理器6及該DMA單元12存取;以及一私有記憶體18。該私有記憶體18僅可由該DSP單元8及該DMA單元12存取。該DMA單元12是由該普通目的處理器6所控制,其可設定待由該DMA單元12執行的DMA操作。這些通常將包含在該私有記憶體18與該共享記憶體16之間傳送資料。將能瞭解藉此一排置,可將一輸入資料區塊自在該普通目的處理器6控制下之共享記憶體16傳送至該私有記憶體18內,於此該者在由該普通目的處理器6將處理結果自該私有記憶體18復原回到該共享記憶體16內之前,會先受於該DSP單元8的密集數值處理。由該DSP單元8所執行的處理為該同一程式執行緒的一部分,其亦至少部分地運行於該普通目的處理器6上,並且當觸及到在該執行緒內要求該DSP單元8之處理的點處時,即接著進行一自該普通目的處理器6至該DSP單元8的同步遠端程序呼叫,藉以依據該DSP單元8啟動處理。在該DSP單元8之處理結束處,可對另處進行一進一步的同步遠端程序呼叫,或可自該遠端程序呼叫簡單地回返。
即如可自第1圖觀察到,該等執行機構6、8及10之每一者含有個別的附屬診斷單元20、22及24。而該DMA單元12由於是僅在該普通目的處理器6之控制下運作,因此並不擁有其本身的附屬診斷單元。將能瞭解由不同執行機構6、8、10所提供之不同處理器架構將意味著該等附屬診斷單元20、22及24具有不同的形式與功能性,並且要求不同類型程式設計,同時產生不同形式的輸出。此項跨於一非對稱多處理器設備2的分散性在傳統上是對嘗試瞭解一在不同執行機構6、8、10間轉移之給定執行緒執行情況的程式設計者而言呈現難題。
除該等複數個附屬診斷單元20、22、24以外,在此提供有一主要診斷單元26,其係經耦接該等附屬診斷單元20、22、24之每一者。透過該等附屬診斷單元20、22、24,該主要診斷單元可像是藉由識別同步遠端程序呼叫並且回返,以監視程式執行緒轉移作業。該主要診斷單元26係經連接於該普通目的電腦4,其是用來程式設計待予執行的診斷操作,並且監視該診斷輸出,同時對一程式設計者顯示該診斷輸出。該主要診斷單元26可為按一硬體元件、按一混合硬體及軟體元件,或是按一在該普通目的電腦4上執行之純粹軟體元件的方式所提供。
該等附屬診斷單元20、22、24係經說明如供置在其個別執行機構6、8、10之每一者之內,然將能瞭解該等附屬診斷單元20、22、24可為分別地供置於該等所涉及之執行機構6、8、10的外部。可在多個執行機構之間共享一附屬診斷單元,即如一監視向該共享記憶體16寫入或讀取資料的追蹤單元將執行對該等執行機構6、8、10之一者以上的追蹤處理。然而,此一追蹤處理單元會被關聯於該等執行機構的至少一者,原因在於該者對該等執行機構的至少一者執行追蹤處理。
第2圖係一略圖圖式,其中說明一程式執行作業之給定執行緒在不同執行機構間的轉移作業。在此說明裡,有三個不同執行機構。這些可被視為是對應於第1圖的普通目的處理器6、DSP單元8及加速器10,然亦可等同地為其他對映於不同執行機構的方式。即如所述,該程式執行緒在該執行機構1開始執行,然後透過一同步遠端程序呼叫而受以轉移至該執行機構2。在於該執行機構2上執行一段時間之後,即令以回返至該執行機構1。可如圖所述令以後續地轉移至該等執行機構2及3。在此時段的所有過程中,該主要診斷單元26監視是否出現於不同執行機構間切換該程式執行緒之執行作業的同步遠端程序呼叫,並且從而追蹤在處理該程式執行緒的過程裡哪一執行機構目前為作用中。此為在第2圖左端處所所述的追蹤資訊。此追蹤資訊是由該主要診斷單元26用以將該診斷資訊通道化,而該診斷資訊係自不同的附屬診斷單元20、22、24所復原,藉以在當該診斷資訊應於該普通目的電腦4上顯示且受於該程式設計者之互動時,可關聯於適當的程式執行緒而顯示。該診斷資訊顯示包含該目前作用中執行機構對於在該所涉及程式內之點處的識別資料。即如一範例,若當一執行緒係於該執行機構2上執行,而該程式設計者想要暫止該執行緒時,則該暫止命令將被導引到該執行機構2,因為該主要診斷單元26決定在處理該執行緒上現係該執行機構2為目前作用中。
第3圖係一流程圖,其中略圖說明由該主要診斷單元26所進行之執行緒追蹤處理的類型。在步驟28,啟動在執行機構6、8、10上之不同執行緒的處理,並且相關附屬診斷單元20、22、24係經程式設計以其診斷參數(即如中斷點、觀察點、側寫參數、追蹤參數等等)。在步驟30處,該主要診斷單元26識別出哪些執行緒是在哪些執行機構上執行,同時由該主要診斷單元26收集此項資料並保留在像是一執行緒資料表內。將能瞭解哪一執行機構執行哪一特定執行緒可能無法由該程式本身預先決定,因為這可為根據負載及其他因素而在執行時間以習知方式所決定。
在步驟32,該主要診斷單元26監視以檢查是否進行任何執行緒轉移,像是藉由發出一同步遠端程序呼叫者。當偵測到執行緒轉移時,則處理程序前進到步驟34,在此可更新表示哪一執行緒正在哪一執行機構上執行的資料,藉以將不再執行一執行緒的呼叫方以及刻正執行該執行緒的受呼方納入考量。
在步驟36,(若有必要)可更改該等附屬診斷單元20、22及24的程式設計,以將既已發生之轉移作業納入考量。例如,若該呼叫方執行單元過去是對於該執行緒監視一特定中斷點或觀察點,則在當該執行機構已不再執行該執行緒時,繼續監視這些中斷點和觀察點即成為不適當,因為這可能會提供偽誤結果,原因是回應於一不同程式執行緒所出現之執行作業而該等中斷點或觀察點異名所致。
第4圖略圖說明在第1圖之系統內的診斷操作設定作業。在步驟38,一程式設計者利用該普通目的電腦4以指示一應予執行之給定診斷命令,並且在步驟38將該命令發送至應接收該命令的主要診斷單元26。步驟40是對應於該主要診斷單元26決定,對於該應予執行之診斷命令,哪一執行機構(或在一觀察點之情況下為記憶體)係關聯於該執行緒。然後該步驟42係對於既經收訖之命令,為該執行緒程式設計/啟動相關的附屬診斷單元。
在此雖既已參照於隨附圖式以詳細描述本發明之示範性具體實施例,然應瞭解本發明並不受限於該等精確具體實施例,同時可由熟諳本項技藝之人士在此進行各種變化與修改,而不致悖離如後載申請專利範圍中所定義的本發明範圍及精神。
2...非對稱多處理器設備
4...普通目的電腦
6...普通目的處理器
8...DSP單元
10...加速器
12...DMA單元
14...快取記憶體
16...共享記憶體
18...私有記憶體
20...附屬診斷單元
22...附屬診斷單元
24...附屬診斷單元
26...主要診斷單元
第1圖略圖說明一根據本發明之一範例的非對稱多處理器設備;第2圖略圖說明一在一程式內之給定執行緒於不同執行機構間的執行作業轉移,並且由該主要診斷單元對此轉移進行追蹤;第3圖係一流程圖,其中略圖說明該執行緒轉移之診斷操作及追蹤處理的初始化作業;以及第4圖係一流程圖,其中略圖說明根據一示範性具體實施例,本技術之診斷機構的初始程式設計。
2...非對稱多處理器設備
4...普通目的電腦
6...普通目的處理器
8...DSP單元
10...加速器
12...DMA單元
14...快取記憶體
16...共享記憶體
18...私有記憶體
20...附屬診斷單元
22...附屬診斷單元
24...附屬診斷單元
26...主要診斷單元

Claims (33)

  1. 一種非對稱多處理器設備,該非對稱多處理器設備包含:複數個執行機構,該複數個執行機構回應個別程式指令以執行資料處理作業,其中一程式指令執行之執行緒係在該複數個執行機構之間時間多工(time-multiplexed);複數個附屬診斷單元,該複數個附屬診斷單元之每一者係關聯於一個別執行機構,以藉此執行診斷作業;一主要診斷單元,該主要診斷單元係耦接至該複數個附屬診斷單元,並且回應一給定執行緒在執行機構之間的一執行作業轉移,以產生一相對應變化,其中該等附屬診斷單元目前係作用中,藉以進行對於該給定執行緒的診斷作業,使得該主要診斷單元能夠追蹤變化,而其中執行機構正執行該給定執行緒。
  2. 如申請專利範圍第1項所述之非對稱多處理器設備,該非對稱多處理器設備包含一非對稱記憶體階層,使得該複數個執行機構不共享一共同記憶體映圖。
  3. 如申請專利範圍第1項所述之非對稱多處理器設備,其中該複數個執行機構之至少一者具有一異於其他該複數個執行機構之一或多者的處理架構。
  4. 如申請專利範圍第1項所述之非對稱多處理器設備,其中該執行作業轉移係由自一執行機構至另一執行機構之一同步遠端程序呼叫所啟動。
  5. 如申請專利範圍第1項所述之非對稱多處理器設備,其中該主要診斷單元自一執行機構提供診斷輸出,並且回應一在針對該給定執行緒之執行機構上的變化,以在該診斷輸出中產生一相對應變化。
  6. 如申請專利範圍第1項所述之非對稱多處理器設備,其中該主要診斷單元對於該給定執行緒將診斷命令導引至一附屬診斷單元,該附屬診斷單元係與一目前正執行該給定執行緒之執行機構相關聯。
  7. 如申請專利範圍第1項所述之非對稱多處理器設備,其中該主要診斷單元在該等執行機構之每一者上,對於該給定執行緒之一部分設定一中斷點,其中該給定執行緒之該部分可在該等執行機構上執行。
  8. 如申請專利範圍第7項所述之非對稱多處理器設備,其中該中斷點係藉一記憶體位址所設定,該記憶體位址匹配於一由個別執行機構運用在該給定執行緒之該部分的記憶體位址。
  9. 如申請專利範圍第7項所述之非對稱多處理器設備,其中當該中斷點係經觸發時,則該主要診斷單元決定哪一執行緒已觸發該中斷點。
  10. 如申請專利範圍第1項所述之非對稱多處理器設備,該非對稱多處理器設備包含複數個記憶體,並且其中該主要診斷單元對於該複數個能夠儲存一資料項目之記憶體之每一者設定用於該資料項目的一觀察點(watchpoint)。
  11. 如申請專利範圍第10項所述之非對稱多處理器設備,其中該觀察點係藉一記憶體位址所設定,該記憶體位址係匹配於一在個別記憶體中用於該資料項目之記憶體位址。
  12. 如申請專利範圍第10項所述之非對稱多處理器設備,其中當該觀察點係經觸發時,則該主要診斷單元決定哪一執行緒已觸發該觀察點。
  13. 如申請專利範圍第1項所述之非對稱多處理器設備,其中該等附屬診斷單元係為附屬追蹤單元,該主要診斷單元係為一主要追蹤單元,並且該主要追蹤單元在當對該給定執行緒構成一追蹤輸出時,追蹤該給定執行緒之執行作 業在不同執行機構間的轉移。
  14. 如申請專利範圍第1項所述之非對稱多處理器設備,其中該等附屬診斷單元係為附屬側寫單元(slave profiling units),該主要診斷單元係為一主要側寫單元,並且該主要側寫單元在當對該給定執行緒構成一側寫輸出時,追蹤該給定執行緒之執行作業在不同執行機構間的轉移。
  15. 如申請專利範圍第1項所述之非對稱多處理器設備,其中該複數個執行機構包含如下之一或多者:一普通目的處理器;一直接記憶體存取單元;一共同處理器;一VLIW處理器;一數位信號處理器;以及一硬體加速器單元。
  16. 如申請專利範圍第4項所述之非對稱多處理器設備,其中該非對稱記憶體階層包含如下二者或更多者:一整體共享記憶體,該等整體共享記憶體可由全部該等執行機構存取;一共享記憶體,該共享記憶體可由該等執行機構之至少兩者存取;以及 一私有記憶體,該私有記憶體可由該等執行機構之一者存取。
  17. 一種根據一非對稱多處理器設備以執行診斷操作的方法,該方法包含如下步驟:回應個別程式指令,藉複數個執行機構進行資料處理操作,其中一程式指令執行作業之執行緒係於該複數個執行機構之間時間多工;根據該複數個執行機構以執行診斷操作,而個別附屬診斷單元係與該複數個執行機構相關聯;利用一主要診斷單元,該主要診斷單元係耦接該複數個附屬診斷單元並回應一給定執行緒於該等執行機構間之一執行作業轉移,藉以產生一相對應變化,其中該等附屬診斷單元係目前作用中,以對於該給定執行緒進行診斷操作,使得該主要診斷單元能夠追蹤該等變化,而其中執行機構正在執行該給定執行緒。
  18. 如申請專利範圍第17項所述之方法,其中該非對稱多處理器設備包含一非對稱記憶體階層,使得該複數個執行機構不共享一共同記憶體映圖。
  19. 如申請專利範圍第17項所述之方法,其中該複數個執行機構之至少一者具有一異於該複數個執行機構之一或更 多其他者的不同處理架構。
  20. 如申請專利範圍第17項所述之方法,其中該執行作業轉移係由自一執行機構至另一執行機構之一同步遠端程序呼叫所啟動。
  21. 如申請專利範圍第17項所述之方法,其中該主要診斷單元自一執行機構提供診斷輸出,並且回應一在針對該給定執行緒之執行機構上的變化,以在該診斷輸出中產生一相對應變化。
  22. 如申請專利範圍第17項所述之方法,其中該主要診斷單元對於該給定執行緒將診斷命令導引至一附屬診斷單元,該附屬診斷單元係與一目前正執行該給定執行緒之執行機構相關聯。
  23. 如申請專利範圍第17項所述之方法,其中該主要診斷單元在該等執行機構之每一者上對於該給定執行緒之一部分設定一中斷點,而該給定執行緒之該部分可在該等執行機構上執行。
  24. 如申請專利範圍第23項所述之方法,其中該中斷點係藉一記憶體位址所設定,該記憶體位址係匹配於一由個別 執行機構運用在該給定執行緒之該部分的記憶體位址。
  25. 如申請專利範圍第23項所述之方法,其中當該中斷點係經觸發時,則該主要診斷單元決定哪一執行緒已觸發該中斷點。
  26. 如申請專利範圍第17項所述之方法,其中該非對稱多處理器設備包含複數個記憶體,並且其中該主要診斷單元對於該複數個能夠儲存一資料項目之記憶體的每一者設定該資料項目的一觀察點。
  27. 如申請專利範圍第26項所述之方法,其中該觀察點係藉一記憶體位址所設定,該記憶體位址係匹配於一在個別記憶體中用於該資料項目之記憶體位址。
  28. 如申請專利範圍第26項所述之方法,其中當該觀察點係經觸發時,則該主要診斷單元決定哪一執行緒已觸發該觀察點。
  29. 如申請專利範圍第17項所述之方法,其中該等附屬診斷單元係為附屬追蹤單元,該主要診斷單元係為一主要追蹤單元,並且該主要追蹤單元在當對該給定執行緒構成一追蹤輸出時,追蹤該給定執行緒之執行作業在不同執行機 構間的轉移。
  30. 如申請專利範圍第17項所述之方法,其中該等附屬診斷單元係為附屬側寫單元,該主要診斷單元係為一主要側寫單元,並且該主要側寫單元在當對該給定執行緒構成一側寫輸出時,追蹤該給定執行緒之執行作業在不同執行機構間的轉移。
  31. 如申請專利範圍第17項所述之方法,其中該複數個執行機構包含如下之一或多者:一普通目的處理器;一直接記憶體存取單元;一共同處理器;一VLIW處理器;一數位信號處理器;以及一硬體加速器單元。
  32. 如申請專利範圍第20項所述之方法,其中該非對稱記憶體階層包含如下二者或更多者:一整體共享記憶體,該整體共享記憶體係可由該等全部執行機構存取;一共享記憶體,該共享記憶體係可由該等執行機構之至少兩者存取;以及 一私有記憶體,該私有記憶體係可由該等執行機構之一者存取。
  33. 一種載有一用以控制一電腦之電腦程式的電腦程式產品,以根據如申請專利範圍第17項所述之方法控制一主要診斷單元以及複數個附屬診斷單元。
TW096133294A 2006-10-24 2007-09-06 依據一非對稱之多處理器設備執行診斷操作 TWI407374B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US85375606P 2006-10-24 2006-10-24
GB0709182A GB2443277B (en) 2006-10-24 2007-05-11 Performing diagnostics operations upon an asymmetric multiprocessor apparatus

Publications (2)

Publication Number Publication Date
TW200821938A TW200821938A (en) 2008-05-16
TWI407374B true TWI407374B (zh) 2013-09-01

Family

ID=38219318

Family Applications (1)

Application Number Title Priority Date Filing Date
TW096133294A TWI407374B (zh) 2006-10-24 2007-09-06 依據一非對稱之多處理器設備執行診斷操作

Country Status (11)

Country Link
US (5) US20080098208A1 (zh)
EP (1) EP2076837B1 (zh)
JP (1) JP5054115B2 (zh)
KR (1) KR101325229B1 (zh)
CN (1) CN101529391B (zh)
DE (1) DE602007009857D1 (zh)
GB (1) GB2443277B (zh)
IL (1) IL197314A (zh)
MY (1) MY144449A (zh)
TW (1) TWI407374B (zh)
WO (1) WO2008050076A1 (zh)

Families Citing this family (270)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6786420B1 (en) 1997-07-15 2004-09-07 Silverbrook Research Pty. Ltd. Data distribution mechanism in the form of ink dots on cards
US6618117B2 (en) 1997-07-12 2003-09-09 Silverbrook Research Pty Ltd Image sensing apparatus including a microcontroller
US6690419B1 (en) 1997-07-15 2004-02-10 Silverbrook Research Pty Ltd Utilising eye detection methods for image processing in a digital image camera
US6624848B1 (en) 1997-07-15 2003-09-23 Silverbrook Research Pty Ltd Cascading image modification using multiple digital cameras incorporating image processing
US7551201B2 (en) 1997-07-15 2009-06-23 Silverbrook Research Pty Ltd Image capture and processing device for a print on demand digital camera system
US7110024B1 (en) 1997-07-15 2006-09-19 Silverbrook Research Pty Ltd Digital camera system having motion deblurring means
US6879341B1 (en) 1997-07-15 2005-04-12 Silverbrook Research Pty Ltd Digital camera system containing a VLIW vector processor
AUPP702098A0 (en) 1998-11-09 1998-12-03 Silverbrook Research Pty Ltd Image creation method and apparatus (ART73)
AUPQ056099A0 (en) 1999-05-25 1999-06-17 Silverbrook Research Pty Ltd A method and apparatus (pprint01)
US7614037B2 (en) * 2004-05-21 2009-11-03 Microsoft Corporation Method and system for graph analysis and synchronization
US8079019B2 (en) * 2007-11-21 2011-12-13 Replay Solutions, Inc. Advancing and rewinding a replayed program execution
GB2443277B (en) * 2006-10-24 2011-05-18 Advanced Risc Mach Ltd Performing diagnostics operations upon an asymmetric multiprocessor apparatus
US8533530B2 (en) * 2006-11-15 2013-09-10 Qualcomm Incorporated Method and system for trusted/untrusted digital signal processor debugging operations
US8370806B2 (en) * 2006-11-15 2013-02-05 Qualcomm Incorporated Non-intrusive, thread-selective, debugging method and system for a multi-thread digital signal processor
US8341604B2 (en) * 2006-11-15 2012-12-25 Qualcomm Incorporated Embedded trace macrocell for enhanced digital signal processor debugging operations
US8380966B2 (en) * 2006-11-15 2013-02-19 Qualcomm Incorporated Method and system for instruction stuffing operations during non-intrusive digital signal processor debugging
US10353797B2 (en) * 2006-12-29 2019-07-16 International Business Machines Corporation Using memory tracking data to inform a memory map tool
US8484516B2 (en) * 2007-04-11 2013-07-09 Qualcomm Incorporated Inter-thread trace alignment method and system for a multi-threaded processor
WO2008144960A1 (en) * 2007-05-31 2008-12-04 Intel Coporation Method and apparatus for mpi program optimization
CN101329638B (zh) * 2007-06-18 2011-11-09 国际商业机器公司 程序代码的并行性的分析方法和系统
US20090007115A1 (en) * 2007-06-26 2009-01-01 Yuanhao Sun Method and apparatus for parallel XSL transformation with low contention and load balancing
US20090089031A1 (en) * 2007-09-28 2009-04-02 Rockwell Automation Technologies, Inc. Integrated simulation of controllers and devices
US7801710B2 (en) * 2007-09-28 2010-09-21 Rockwell Automation Technologies, Inc. Simulation controls for model variability and randomness
US8548777B2 (en) * 2007-09-28 2013-10-01 Rockwell Automation Technologies, Inc. Automated recommendations from simulation
IL187038A0 (en) * 2007-10-30 2008-02-09 Sandisk Il Ltd Secure data processing for unaligned data
US8181165B2 (en) * 2007-10-30 2012-05-15 International Business Machines Corporation Using annotations to reuse variable declarations to generate different service functions
US8402438B1 (en) 2007-12-03 2013-03-19 Cadence Design Systems, Inc. Method and system for generating verification information and tests for software
US8468504B2 (en) * 2007-12-28 2013-06-18 Streaming Networks (Pvt.) Ltd. Method and apparatus for interactive scheduling of VLIW assembly code
US8156474B2 (en) * 2007-12-28 2012-04-10 Cadence Design Systems, Inc. Automation of software verification
US9063778B2 (en) * 2008-01-09 2015-06-23 Microsoft Technology Licensing, Llc Fair stateless model checking
GB2456813B (en) 2008-01-24 2012-03-07 Advanced Risc Mach Ltd Diagnostic context construction and comparison
US8612977B2 (en) * 2008-02-01 2013-12-17 International Business Machines Corporation Wake-and-go mechanism with software save of thread state
US8316218B2 (en) * 2008-02-01 2012-11-20 International Business Machines Corporation Look-ahead wake-and-go engine with speculative execution
US8127080B2 (en) * 2008-02-01 2012-02-28 International Business Machines Corporation Wake-and-go mechanism with system address bus transaction master
US8880853B2 (en) * 2008-02-01 2014-11-04 International Business Machines Corporation CAM-based wake-and-go snooping engine for waking a thread put to sleep for spinning on a target address lock
US8015379B2 (en) * 2008-02-01 2011-09-06 International Business Machines Corporation Wake-and-go mechanism with exclusive system bus response
US8452947B2 (en) * 2008-02-01 2013-05-28 International Business Machines Corporation Hardware wake-and-go mechanism and content addressable memory with instruction pre-fetch look-ahead to detect programming idioms
US8312458B2 (en) * 2008-02-01 2012-11-13 International Business Machines Corporation Central repository for wake-and-go mechanism
US8386822B2 (en) * 2008-02-01 2013-02-26 International Business Machines Corporation Wake-and-go mechanism with data monitoring
US8341635B2 (en) * 2008-02-01 2012-12-25 International Business Machines Corporation Hardware wake-and-go mechanism with look-ahead polling
US8171476B2 (en) * 2008-02-01 2012-05-01 International Business Machines Corporation Wake-and-go mechanism with prioritization of threads
US8788795B2 (en) * 2008-02-01 2014-07-22 International Business Machines Corporation Programming idiom accelerator to examine pre-fetched instruction streams for multiple processors
US8732683B2 (en) * 2008-02-01 2014-05-20 International Business Machines Corporation Compiler providing idiom to idiom accelerator
US8250396B2 (en) * 2008-02-01 2012-08-21 International Business Machines Corporation Hardware wake-and-go mechanism for a data processing system
US8516484B2 (en) * 2008-02-01 2013-08-20 International Business Machines Corporation Wake-and-go mechanism for a data processing system
US8145849B2 (en) 2008-02-01 2012-03-27 International Business Machines Corporation Wake-and-go mechanism with system bus response
US8725992B2 (en) 2008-02-01 2014-05-13 International Business Machines Corporation Programming language exposing idiom calls to a programming idiom accelerator
US8640141B2 (en) * 2008-02-01 2014-01-28 International Business Machines Corporation Wake-and-go mechanism with hardware private array
US8225120B2 (en) * 2008-02-01 2012-07-17 International Business Machines Corporation Wake-and-go mechanism with data exclusivity
US20110067015A1 (en) * 2008-02-15 2011-03-17 Masamichi Takagi Program parallelization apparatus, program parallelization method, and program parallelization program
US8615647B2 (en) * 2008-02-29 2013-12-24 Intel Corporation Migrating execution of thread between cores of different instruction set architecture in multi-core processor and transitioning each core to respective on / off power state
US8751211B2 (en) * 2008-03-27 2014-06-10 Rocketick Technologies Ltd. Simulation using parallel processors
US8776030B2 (en) * 2008-04-09 2014-07-08 Nvidia Corporation Partitioning CUDA code for execution by a general purpose processor
US9678775B1 (en) * 2008-04-09 2017-06-13 Nvidia Corporation Allocating memory for local variables of a multi-threaded program for execution in a single-threaded environment
GB0808576D0 (en) * 2008-05-12 2008-06-18 Xmos Ltd Compiling and linking
FR2931269A1 (fr) * 2008-05-16 2009-11-20 Ateji Soc Par Actions Simplifi Procede et systeme de developpement de programmes paralleles
US9223677B2 (en) 2008-06-11 2015-12-29 Arm Limited Generation of trace data in a multi-processor system
WO2009153619A1 (en) * 2008-06-19 2009-12-23 Freescale Semiconductor, Inc. A system, method and computer program product for debugging a system
US20110099552A1 (en) * 2008-06-19 2011-04-28 Freescale Semiconductor, Inc System, method and computer program product for scheduling processor entity tasks in a multiple-processing entity system
US8966490B2 (en) * 2008-06-19 2015-02-24 Freescale Semiconductor, Inc. System, method and computer program product for scheduling a processing entity task by a scheduler in response to a peripheral task completion indicator
US8572577B2 (en) * 2008-06-20 2013-10-29 International Business Machines Corporation Monitoring changes to data within a critical section of a threaded program
US8332825B2 (en) * 2008-06-26 2012-12-11 Microsoft Corporation Dynamically monitoring application behavior
US8516454B2 (en) * 2008-07-10 2013-08-20 Rocketick Technologies Ltd. Efficient parallel computation of dependency problems
US9032377B2 (en) * 2008-07-10 2015-05-12 Rocketick Technologies Ltd. Efficient parallel computation of dependency problems
JP2010026851A (ja) * 2008-07-22 2010-02-04 Panasonic Corp コンパイラによる最適化方法
US8028113B2 (en) * 2008-08-15 2011-09-27 International Business Machines Corporation Methods and systems for deadlock-free allocation of memory
EP2316072A1 (en) * 2008-08-18 2011-05-04 Telefonaktiebolaget L M Ericsson (publ) Data sharing in chip multi-processor systems
US8230442B2 (en) 2008-09-05 2012-07-24 International Business Machines Corporation Executing an accelerator application program in a hybrid computing environment
US8755515B1 (en) 2008-09-29 2014-06-17 Wai Wu Parallel signal processing system and method
US8504344B2 (en) * 2008-09-30 2013-08-06 Cadence Design Systems, Inc. Interface between a verification environment and a hardware acceleration engine
US20100095286A1 (en) * 2008-10-10 2010-04-15 Kaplan David A Register reduction and liveness analysis techniques for program code
US8418146B2 (en) * 2008-11-26 2013-04-09 Microsoft Corporation Sampling techniques for dynamic data-race detection
GB0823329D0 (en) * 2008-12-22 2009-01-28 Geotate Bv Position signal sampling method and apparatus
US9274930B2 (en) * 2008-12-22 2016-03-01 Microsoft Technology Licensing, Llc Debugging system using static analysis
KR101511273B1 (ko) * 2008-12-29 2015-04-10 삼성전자주식회사 멀티 코어 프로세서를 이용한 3차원 그래픽 렌더링 방법 및시스템
US8527734B2 (en) * 2009-01-23 2013-09-03 International Business Machines Corporation Administering registered virtual addresses in a hybrid computing environment including maintaining a watch list of currently registered virtual addresses by an operating system
US9286232B2 (en) * 2009-01-26 2016-03-15 International Business Machines Corporation Administering registered virtual addresses in a hybrid computing environment including maintaining a cache of ranges of currently registered virtual addresses
US8843880B2 (en) * 2009-01-27 2014-09-23 International Business Machines Corporation Software development for a hybrid computing environment
US8255909B2 (en) * 2009-01-28 2012-08-28 International Business Machines Corporation Synchronizing access to resources in a hybrid computing environment
US20100191923A1 (en) * 2009-01-29 2010-07-29 International Business Machines Corporation Data Processing In A Computing Environment
US9170864B2 (en) * 2009-01-29 2015-10-27 International Business Machines Corporation Data processing in a hybrid computing environment
US8533727B2 (en) * 2009-02-16 2013-09-10 Inchron Gmbh Method for analysing the real-time capability of a system
US8205117B2 (en) * 2009-02-25 2012-06-19 Hewlett-Packard Development Company, L.P. Migratory hardware diagnostic testing
JP5316128B2 (ja) * 2009-03-17 2013-10-16 トヨタ自動車株式会社 故障診断システム、電子制御ユニット、故障診断方法
US20100242014A1 (en) * 2009-03-17 2010-09-23 Xiaohan Zhu Symmetric multi-processor operating system for asymmetric multi-processor architecture
US8239847B2 (en) * 2009-03-18 2012-08-07 Microsoft Corporation General distributed reduction for data parallel computing
US8886919B2 (en) * 2009-04-16 2014-11-11 International Business Machines Corporation Remote update programming idiom accelerator with allocated processor resources
US8082315B2 (en) * 2009-04-16 2011-12-20 International Business Machines Corporation Programming idiom accelerator for remote update
US8145723B2 (en) * 2009-04-16 2012-03-27 International Business Machines Corporation Complex remote update programming idiom accelerator
US8230201B2 (en) 2009-04-16 2012-07-24 International Business Machines Corporation Migrating sleeping and waking threads between wake-and-go mechanisms in a multiple processor data processing system
US8843927B2 (en) * 2009-04-23 2014-09-23 Microsoft Corporation Monitoring and updating tasks arrival and completion statistics without data locking synchronization
US8413108B2 (en) * 2009-05-12 2013-04-02 Microsoft Corporation Architectural data metrics overlay
US9378062B2 (en) * 2009-06-18 2016-06-28 Microsoft Technology Licensing, Llc Interface between a resource manager and a scheduler in a process
US8719831B2 (en) * 2009-06-18 2014-05-06 Microsoft Corporation Dynamically change allocation of resources to schedulers based on feedback and policies from the schedulers and availability of the resources
DE102009025572A1 (de) * 2009-06-19 2010-12-23 Wolfgang Pree Gmbh Eine Methode zur Entwicklung von garantiert korrekten Echtzeitsystemen
US8914799B2 (en) * 2009-06-30 2014-12-16 Oracle America Inc. High performance implementation of the OpenMP tasking feature
FR2948206B1 (fr) * 2009-07-15 2011-08-05 Commissariat Energie Atomique Dispositif et procede pour l'execution distribuee de traitements de donnees numeriques
JP5452125B2 (ja) 2009-08-11 2014-03-26 クラリオン株式会社 データ処理装置及びデータ処理方法
US8566804B1 (en) * 2009-08-13 2013-10-22 The Mathworks, Inc. Scheduling generated code based on target characteristics
US8990783B1 (en) 2009-08-13 2015-03-24 The Mathworks, Inc. Scheduling generated code based on target characteristics
US8381194B2 (en) 2009-08-19 2013-02-19 Apple Inc. Methods and apparatuses for selective code coverage
US8392403B2 (en) * 2009-09-18 2013-03-05 Microsoft Corporation Management of data and computation in data centers
US9430353B2 (en) * 2009-10-26 2016-08-30 Microsoft Technology Licensing, Llc Analysis and visualization of concurrent thread execution on processor cores
US9594656B2 (en) 2009-10-26 2017-03-14 Microsoft Technology Licensing, Llc Analysis and visualization of application concurrency and processor resource utilization
US8359588B2 (en) * 2009-11-25 2013-01-22 Arm Limited Reducing inter-task latency in a multiprocessor system
US8392929B2 (en) * 2009-12-15 2013-03-05 Microsoft Corporation Leveraging memory isolation hardware technology to efficiently detect race conditions
US8826234B2 (en) * 2009-12-23 2014-09-02 Intel Corporation Relational modeling for performance analysis of multi-core processors
WO2011083459A1 (en) * 2010-01-08 2011-07-14 Daniel Geist Utilizing temporal assertions in a debugger
US8516467B2 (en) * 2010-01-29 2013-08-20 Nintendo Co., Ltd. Method and apparatus for enhancing comprehension of code time complexity and flow
US9417905B2 (en) * 2010-02-03 2016-08-16 International Business Machines Corporation Terminating an accelerator application program in a hybrid computing environment
US8578132B2 (en) * 2010-03-29 2013-11-05 International Business Machines Corporation Direct injection of data to be transferred in a hybrid computing environment
US8612952B2 (en) 2010-04-07 2013-12-17 International Business Machines Corporation Performance optimization based on data accesses during critical sections
US8959496B2 (en) * 2010-04-21 2015-02-17 Microsoft Corporation Automatic parallelization in a tracing just-in-time compiler system
US9015443B2 (en) 2010-04-30 2015-04-21 International Business Machines Corporation Reducing remote reads of memory in a hybrid computing environment
US8756590B2 (en) * 2010-06-22 2014-06-17 Microsoft Corporation Binding data parallel device source code
US8972995B2 (en) * 2010-08-06 2015-03-03 Sonics, Inc. Apparatus and methods to concurrently perform per-thread as well as per-tag memory access scheduling within a thread and across two or more threads
US9652365B2 (en) * 2010-08-24 2017-05-16 Red Hat, Inc. Fault configuration using a registered list of controllers
US20120240224A1 (en) * 2010-09-14 2012-09-20 Georgia Tech Research Corporation Security systems and methods for distinguishing user-intended traffic from malicious traffic
US8990551B2 (en) 2010-09-16 2015-03-24 Microsoft Technology Licensing, Llc Analysis and visualization of cluster resource utilization
US20120096445A1 (en) * 2010-10-18 2012-04-19 Nokia Corporation Method and apparatus for providing portability of partially accelerated signal processing applications
US8656496B2 (en) * 2010-11-22 2014-02-18 International Business Machines Corporations Global variable security analysis
US8832659B2 (en) * 2010-12-06 2014-09-09 University Of Washington Through Its Center For Commercialization Systems and methods for finding concurrency errors
US8959501B2 (en) * 2010-12-14 2015-02-17 Microsoft Corporation Type and length abstraction for data types
GB2486485B (en) 2010-12-16 2012-12-19 Imagination Tech Ltd Method and apparatus for scheduling the issue of instructions in a microprocessor using multiple phases of execution
US20120160272A1 (en) * 2010-12-23 2012-06-28 United Microelectronics Corp. Cleaning method of semiconductor process
KR101785116B1 (ko) * 2010-12-24 2017-10-17 한양대학교 산학협력단 모뎀 하드웨어에 독립적인 라디오 어플리케이션을 위한 소프트웨어 정의 라디오 단말 장치
US8856764B2 (en) * 2011-01-25 2014-10-07 International Business Machines Corporation Distributed static analysis of computer software applications
US8566831B2 (en) 2011-01-26 2013-10-22 International Business Machines Corporation Execution of work units in a heterogeneous computing environment
US8726245B2 (en) * 2011-01-28 2014-05-13 International Business Machines Corporation Static analysis of computer software applications having a model-view-controller architecture
DE102011004363B4 (de) * 2011-02-18 2023-10-05 Airbus Operations Gmbh Steuervorrichtung zum Steuern von Netzwerkteilnehmern, Verfahren zum Betreiben eines Computernetzwerks und Computernetzwerk
US8533720B2 (en) 2011-02-25 2013-09-10 International Business Machines Corporation Offloading work from one type to another type of processor based on the count of each type of service call instructions in the work unit
US9189283B2 (en) * 2011-03-03 2015-11-17 Hewlett-Packard Development Company, L.P. Task launching on hardware resource for client
US8621430B2 (en) 2011-03-03 2013-12-31 International Business Machines Corporation Method for code transformation supporting temporal abstraction of parameters
GB2489278B (en) * 2011-03-24 2019-12-25 Advanced Risc Mach Ltd Improving the scheduling of tasks to be performed by a non-coherent device
US8650542B1 (en) * 2011-03-25 2014-02-11 The Mathworks, Inc. Hierarchical, self-describing function objects
WO2012134322A1 (en) * 2011-04-01 2012-10-04 Intel Corporation Vectorization of scalar functions including vectorization annotations and vectorized function signatures matching
US9128748B2 (en) * 2011-04-12 2015-09-08 Rocketick Technologies Ltd. Parallel simulation using multiple co-simulators
US8949777B2 (en) * 2011-04-22 2015-02-03 Intel Corporation Methods and systems for mapping a function pointer to the device code
US8855194B2 (en) * 2011-05-09 2014-10-07 Texas Instruments Incorporated Updating non-shadow registers in video encoder
US9043363B2 (en) * 2011-06-03 2015-05-26 Oracle International Corporation System and method for performing memory management using hardware transactions
US9069545B2 (en) * 2011-07-18 2015-06-30 International Business Machines Corporation Relaxation of synchronization for iterative convergent computations
US8918770B2 (en) * 2011-08-25 2014-12-23 Nec Laboratories America, Inc. Compiler for X86-based many-core coprocessors
GB2495959A (en) 2011-10-26 2013-05-01 Imagination Tech Ltd Multi-threaded memory access processor
US8219684B1 (en) 2011-11-02 2012-07-10 Google Inc. Redundant data requests with cancellation
US9043765B2 (en) * 2011-11-09 2015-05-26 Microsoft Technology Licensing, Llc Simultaneously targeting multiple homogeneous and heterogeneous runtime environments
US8615614B2 (en) * 2011-11-30 2013-12-24 Freescale Semiconductor, Inc. Message passing using direct memory access unit in a data processing system
US9367687B1 (en) * 2011-12-22 2016-06-14 Emc Corporation Method for malware detection using deep inspection and data discovery agents
KR101885211B1 (ko) * 2012-01-27 2018-08-29 삼성전자 주식회사 Gpu의 자원 할당을 위한 방법 및 장치
US9686152B2 (en) 2012-01-27 2017-06-20 Microsoft Technology Licensing, Llc Techniques for tracking resource usage statistics per transaction across multiple layers of protocols
US8793697B2 (en) * 2012-02-23 2014-07-29 Qualcomm Incorporated Method and system for scheduling requests in a portable computing device
US8949809B2 (en) 2012-03-01 2015-02-03 International Business Machines Corporation Automatic pipeline parallelization of sequential code
US8910137B2 (en) 2012-04-13 2014-12-09 International Business Machines Corporation Code profiling of executable library for pipeline parallelization
US8838861B2 (en) 2012-05-09 2014-09-16 Qualcomm Incorporated Methods and apparatuses for trace multicast across a bus structure, and related systems
US9928109B2 (en) 2012-05-09 2018-03-27 Nvidia Corporation Method and system for processing nested stream events
DE102012011584A1 (de) * 2012-06-13 2013-12-19 Robert Bosch Gmbh Ressourcen-Managementsystem fürAutomatisierungsanlagen
US8904371B2 (en) * 2012-06-19 2014-12-02 Telefonaktiebolaget L M Ericsson (Publ) Data handling among actors in a dataflow programming environment
RU2012127578A (ru) 2012-07-02 2014-01-10 ЭлЭсАй Корпорейшн Анализатор применимости программного модуля для разработки и тестирования программного обеспечения для многопроцессорных сред
RU2012127581A (ru) * 2012-07-02 2014-01-10 ЭлЭсАй Корпорейшн Генератор исходного кода для разработки и тестирования программного обеспечения для многопроцессорных сред
EP2706420B1 (de) * 2012-09-05 2015-03-18 Siemens Aktiengesellschaft Verfahren zum Betreiben eines Automatisierungsgerätes
US9904542B2 (en) 2012-11-06 2018-02-27 Coherent Logix, Incorporated Multiprocessor programming toolkit for design reuse
CN104871140B (zh) 2012-11-09 2018-06-19 相干逻辑公司 对于多处理器系统的实时分析和控制
US9021426B2 (en) * 2012-12-04 2015-04-28 International Business Machines Corporation Streamlining hardware initialization code
US20140181830A1 (en) * 2012-12-26 2014-06-26 Mishali Naik Thread migration support for architectually different cores
US9519568B2 (en) 2012-12-31 2016-12-13 Nvidia Corporation System and method for debugging an executing general-purpose computing on graphics processing units (GPGPU) application
US20140195834A1 (en) * 2013-01-04 2014-07-10 Microsoft Corporation High throughput low latency user mode drivers implemented in managed code
US9811319B2 (en) 2013-01-04 2017-11-07 Microsoft Technology Licensing, Llc Software interface for a hardware device
US9323543B2 (en) 2013-01-04 2016-04-26 Microsoft Technology Licensing, Llc Capability based device driver framework
US9207969B2 (en) * 2013-01-25 2015-12-08 Microsoft Technology Licensing, Llc Parallel tracing for performance and detail
US8762916B1 (en) * 2013-02-25 2014-06-24 Xilinx, Inc. Automatic generation of a data transfer network
US8924193B2 (en) * 2013-03-14 2014-12-30 The Mathworks, Inc. Generating variants from file differences
US9471456B2 (en) * 2013-05-15 2016-10-18 Nvidia Corporation Interleaved instruction debugger
US10802876B2 (en) * 2013-05-22 2020-10-13 Massachusetts Institute Of Technology Multiprocessor scheduling policy with deadline constraint for determining multi-agent schedule for a plurality of agents
GB2514618B (en) * 2013-05-31 2020-11-11 Advanced Risc Mach Ltd Data processing systems
IL232836A0 (en) * 2013-06-02 2014-08-31 Rocketick Technologies Ltd Efficient parallel computation of dependency problems
US9292419B1 (en) * 2013-06-04 2016-03-22 The Mathworks, Inc. Code coverage and confidence determination
US9697003B2 (en) * 2013-06-07 2017-07-04 Advanced Micro Devices, Inc. Method and system for yield operation supporting thread-like behavior
WO2015050594A2 (en) * 2013-06-16 2015-04-09 President And Fellows Of Harvard College Methods and apparatus for parallel processing
US9075624B2 (en) 2013-06-24 2015-07-07 Xilinx, Inc. Compilation of system designs
CN105453068A (zh) * 2013-07-31 2016-03-30 慧与发展有限责任合伙企业 使用分布式缓存的数据流处理
US10372590B2 (en) * 2013-11-22 2019-08-06 International Business Corporation Determining instruction execution history in a debugger
US20150195383A1 (en) * 2014-01-08 2015-07-09 Cavium, Inc. Methods and systems for single instruction multiple data programmable packet parsers
GB2524063B (en) 2014-03-13 2020-07-01 Advanced Risc Mach Ltd Data processing apparatus for executing an access instruction for N threads
US9733981B2 (en) * 2014-06-10 2017-08-15 Nxp Usa, Inc. System and method for conditional task switching during ordering scope transitions
US10061591B2 (en) 2014-06-27 2018-08-28 Samsung Electronics Company, Ltd. Redundancy elimination in single instruction multiple data/thread (SIMD/T) execution processing
US10061592B2 (en) 2014-06-27 2018-08-28 Samsung Electronics Co., Ltd. Architecture and execution for efficient mixed precision computations in single instruction multiple data/thread (SIMD/T) devices
US9182990B1 (en) * 2014-07-01 2015-11-10 Google Inc. Method and apparatus for detecting execution of unsupported instructions while testing multiversioned code
US9672029B2 (en) * 2014-08-01 2017-06-06 Vmware, Inc. Determining test case priorities based on tagged execution paths
US10148547B2 (en) 2014-10-24 2018-12-04 Tektronix, Inc. Hardware trigger generation from a declarative protocol description
US9338076B1 (en) 2014-10-24 2016-05-10 Tektronix, Inc. Deriving hardware acceleration of decoding from a declarative protocol description
US20160170767A1 (en) * 2014-12-12 2016-06-16 Intel Corporation Temporary transfer of a multithreaded ip core to single or reduced thread configuration during thread offload to co-processor
US9280389B1 (en) * 2014-12-30 2016-03-08 Tyco Fire & Security Gmbh Preemptive operating system without context switching
US9996354B2 (en) 2015-01-09 2018-06-12 International Business Machines Corporation Instruction stream tracing of multi-threaded processors
US20160224327A1 (en) * 2015-02-02 2016-08-04 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Linking a Program with a Software Library
US9652817B2 (en) 2015-03-12 2017-05-16 Samsung Electronics Co., Ltd. Automated compute kernel fusion, resizing, and interleave
US11119903B2 (en) * 2015-05-01 2021-09-14 Fastly, Inc. Race condition testing via a scheduling test program
US10102031B2 (en) 2015-05-29 2018-10-16 Qualcomm Incorporated Bandwidth/resource management for multithreaded processors
US9910760B2 (en) * 2015-08-07 2018-03-06 Nvidia Corporation Method and apparatus for interception of synchronization objects in graphics application programming interfaces for frame debugging
US10095641B2 (en) 2015-09-23 2018-10-09 Hanan Potash Processor with frames/bins structure in local high speed memory
US10067878B2 (en) 2015-09-23 2018-09-04 Hanan Potash Processor with logical mentor
US9977693B2 (en) 2015-09-23 2018-05-22 Hanan Potash Processor that uses plural form information
US10061511B2 (en) 2015-09-23 2018-08-28 Hanan Potash Computing device with frames/bins structure, mentor layer and plural operand processing
US10140122B2 (en) 2015-09-23 2018-11-27 Hanan Potash Computer processor with operand/variable-mapped namespace
CN108139870B (zh) 2015-10-09 2021-08-06 奥奇系统公司 模块化设备和操作方法
US10534697B2 (en) * 2015-10-27 2020-01-14 Sap Se Flexible configuration framework
US9678788B2 (en) * 2015-11-10 2017-06-13 International Business Machines Corporation Enabling poll/select style interfaces with coherent accelerators
GB2547252B (en) * 2016-02-12 2019-12-11 Advanced Risc Mach Ltd Graphics processing systems
US10860499B2 (en) 2016-03-22 2020-12-08 Lenovo Enterprise Solutions (Singapore) Pte. Ltd Dynamic memory management in workload acceleration
US10884761B2 (en) 2016-03-22 2021-01-05 Lenovo Enterprise Solutions (Singapore) Pte. Ltd Best performance delivery in heterogeneous computing unit environment
US10203747B2 (en) 2016-03-22 2019-02-12 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Workload placement based on heterogeneous compute performance per watt
US11093286B2 (en) * 2016-04-26 2021-08-17 Hanan Potash Computing device with resource manager and civilware tier
US10303466B1 (en) * 2016-09-07 2019-05-28 Amazon Technologies, Inc. Semantic annotations in source code
US10177795B1 (en) 2016-12-29 2019-01-08 Amazon Technologies, Inc. Cache index mapping
KR102712450B1 (ko) * 2017-01-23 2024-10-04 삼성전자주식회사 복수의 프로세서들 사이에 데이터를 처리하는 방법 및 전자 장치
US20180285241A1 (en) * 2017-03-28 2018-10-04 Carnegie Mellon University Energy-interference-free debugger for intermittent energy-harvesting systems
US20180331973A1 (en) * 2017-05-09 2018-11-15 Microsoft Technology Licensing, Llc Increasing virtual machine availability during server updates
US10282274B2 (en) * 2017-06-14 2019-05-07 Microsoft Technology Licensing, Llc Presenting differences between code entity invocations
US10732634B2 (en) 2017-07-03 2020-08-04 Baidu Us Llc Centralized scheduling system using event loop for operating autonomous driving vehicles
US10635108B2 (en) * 2017-07-03 2020-04-28 Baidu Usa Llc Centralized scheduling system using global store for operating autonomous driving vehicles
US20190042390A1 (en) * 2017-08-01 2019-02-07 Microsoft Technology Licensing, Llc Focused execution of traced code in a debugger
GB2565770B (en) 2017-08-15 2019-09-18 Advanced Risc Mach Ltd Data processing systems
US20190057017A1 (en) * 2017-08-16 2019-02-21 Microsoft Technology Licensing, Llc Correlation Of Function Calls To Functions In Asynchronously Executed Threads
US10474600B2 (en) * 2017-09-14 2019-11-12 Samsung Electronics Co., Ltd. Heterogeneous accelerator for highly efficient learning systems
EP3707864A4 (en) 2017-11-06 2021-08-18 Pensando Systems Inc. NETWORK SYSTEM WITH MATCH PROCESSING UNIT FOR TABLE-BASED ACTIONS
US10437619B2 (en) * 2017-12-12 2019-10-08 Arch Systems Inc. System and method for physical machine monitoring and analysis
JP6955163B2 (ja) * 2017-12-26 2021-10-27 富士通株式会社 情報処理装置、情報処理方法及びプログラム
US11263158B2 (en) * 2018-02-22 2022-03-01 Pensando Systems Inc. Programmable computer IO device interface
US10636112B2 (en) * 2018-03-28 2020-04-28 Intel Corporation Graphics processor register data re-use mechanism
JP7236811B2 (ja) * 2018-03-30 2023-03-10 株式会社デンソー 情報処理装置
US11237946B2 (en) * 2018-05-03 2022-02-01 Sap Se Error finder tool
US11468338B2 (en) 2018-09-11 2022-10-11 Apple Inc. Compiling models for dedicated hardware
US12020168B2 (en) * 2018-09-11 2024-06-25 Apple Inc. Compiling models for dedicated hardware
EP3629271A1 (en) * 2018-09-28 2020-04-01 Marc Brandis AG Electronic device and method for analyzing a transaction-processing system
EP3825844B1 (en) * 2018-10-19 2024-06-05 Nippon Telegraph And Telephone Corporation Data processing system, central processing unit, and data processing method
US11126532B1 (en) * 2018-11-14 2021-09-21 Teledyne Lecroy, Inc. Method and apparatus for a parallel, metadata-based trace analytics processor
US10824538B2 (en) * 2019-01-22 2020-11-03 Oracle International Corporation Scalable incremental analysis using caller and callee summaries
US11836256B2 (en) * 2019-01-24 2023-12-05 International Business Machines Corporation Testing adversarial robustness of systems with limited access
US11169886B2 (en) * 2019-01-29 2021-11-09 Sap Se Modification of temporary database pages
WO2020185752A1 (en) 2019-03-12 2020-09-17 Arch Systems Inc. System and method for network communication monitoring
US11782816B2 (en) * 2019-03-19 2023-10-10 Jens C. Jenkins Input/output location transformations when emulating non-traced code with a recorded execution of traced code
US11281560B2 (en) * 2019-03-19 2022-03-22 Microsoft Technology Licensing, Llc Input/output data transformations when emulating non-traced code with a recorded execution of traced code
US11657162B2 (en) * 2019-03-22 2023-05-23 Intel Corporation Adversarial training of neural networks using information about activation path differentials
US11036546B1 (en) 2019-04-16 2021-06-15 Xilinx, Inc. Multi-threaded shared memory functional simulation of dataflow graph
US11138019B1 (en) 2019-05-23 2021-10-05 Xilinx, Inc. Routing in a compilation flow for a heterogeneous multi-core architecture
US11204745B2 (en) * 2019-05-23 2021-12-21 Xilinx, Inc. Dataflow graph programming environment for a heterogenous processing system
US10802807B1 (en) 2019-05-23 2020-10-13 Xilinx, Inc. Control and reconfiguration of data flow graphs on heterogeneous computing platform
US10860766B1 (en) 2019-05-23 2020-12-08 Xilinx, Inc. Compilation flow for a heterogeneous multi-core architecture
US11727265B2 (en) * 2019-06-27 2023-08-15 Intel Corporation Methods and apparatus to provide machine programmed creative support to a user
US11516234B1 (en) * 2019-07-08 2022-11-29 Cisco Technology, Inc. In-process correlation through class field injection
US11068364B2 (en) * 2019-07-12 2021-07-20 Intelliflash By Ddn, Inc. Predictable synchronous data replication
US10949332B2 (en) 2019-08-14 2021-03-16 Microsoft Technology Licensing, Llc Data race analysis based on altering function internal loads during time-travel debugging
US11216446B2 (en) * 2019-08-29 2022-01-04 Snowflake Inc. Identifying software regressions based on query retry attempts in a database environment
US11016849B2 (en) * 2019-09-04 2021-05-25 Red Hat, Inc. Kernel software raid support for direct-access file systems
CN111427816A (zh) * 2020-03-04 2020-07-17 深圳震有科技股份有限公司 一种amp系统核间通讯方法、计算机设备及存储介质
US11216259B1 (en) * 2020-03-31 2022-01-04 Xilinx, Inc. Performing multiple functions in single accelerator program without reload overhead in heterogenous computing system
US11693795B2 (en) 2020-04-17 2023-07-04 Texas Instruments Incorporated Methods and apparatus to extend local buffer of a hardware accelerator
US20210382888A1 (en) * 2020-06-08 2021-12-09 Mongodb, Inc. Hedged reads
US11611588B2 (en) * 2020-07-10 2023-03-21 Kyndryl, Inc. Deep learning network intrusion detection
US11360918B1 (en) * 2020-12-21 2022-06-14 Otis Elevator Company Real-time processing system synchronization in a control system
US11604752B2 (en) 2021-01-29 2023-03-14 Arm Limited System for cross-routed communication between functional units of multiple processing units
DE102021102460A1 (de) 2021-02-03 2022-08-04 Ford Global Technologies, Llc Verfahren zur Durchführung einer Simulation
US20230004365A1 (en) * 2021-06-24 2023-01-05 Marvell Asia Pte Ltd Multistage compiler architecture
US11467811B1 (en) * 2021-06-24 2022-10-11 Marvell Asia Pte Ltd Method and apparatus for generating metadata by a compiler
US11537457B2 (en) * 2021-06-25 2022-12-27 Intel Corporation Low latency remoting to accelerators
US11941291B2 (en) * 2021-09-02 2024-03-26 Micron Technology, Inc. Memory sub-system command fencing
US12112193B2 (en) * 2021-10-29 2024-10-08 Blackberry Limited Thread state transitions
US20220191003A1 (en) * 2021-12-10 2022-06-16 Tamas Mihaly Varhegyi Complete Tree Structure Encryption Software
KR20230092151A (ko) * 2021-12-17 2023-06-26 삼성전자주식회사 스토리지 장치 및 이의 동작 방법
CN114398019B (zh) * 2022-01-24 2024-02-23 广州文石信息科技有限公司 屏幕更新请求的处理方法、装置及电子墨水屏设备
US20230244461A1 (en) * 2022-02-02 2023-08-03 SambaNova Systems, Inc. Configurable Access to a Reconfigurable Processor by a Virtual Function
US12026005B2 (en) * 2022-10-18 2024-07-02 Sap Se Control mechanism of extract transfer and load (ETL) processes to improve memory usage

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6857084B1 (en) * 2001-08-06 2005-02-15 Lsi Logic Corporation Multiprocessor system and method for simultaneously placing all processors into debug mode
TW200511126A (en) * 2003-01-16 2005-03-16 Ibm Dynamic allocation of computer resources based on thread type
US6941492B1 (en) * 2002-02-05 2005-09-06 Emc Corporation Debugging tool for efficient switching between targets in a multi-processor environment
TW200632742A (en) * 2004-09-28 2006-09-16 Intel Corp Method and apparatus for varying energy per instruction according to the amount of available parallelism

Family Cites Families (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US117274A (en) * 1871-07-25 Improvement in barrel-heads
JP2738692B2 (ja) * 1988-01-29 1998-04-08 株式会社日立製作所 並列化コンパイル方法
EP0396833A1 (en) * 1989-05-12 1990-11-14 International Business Machines Corporation Trace facility for use in a multiprocessing environment
JP3208870B2 (ja) * 1992-10-30 2001-09-17 株式会社日立製作所 データ分割パタンの評価方法
US5692193A (en) 1994-03-31 1997-11-25 Nec Research Institute, Inc. Software architecture for control of highly parallel computer systems
US5799142A (en) * 1994-09-12 1998-08-25 Nec Corporation Debugging method and debugging system for multi-task programs
US6170051B1 (en) * 1997-08-01 2001-01-02 Micron Technology, Inc. Apparatus and method for program level parallelism in a VLIW processor
US6539339B1 (en) * 1997-12-12 2003-03-25 International Business Machines Corporation Method and system for maintaining thread-relative metrics for trace data adjusted for thread switches
US6115763A (en) 1998-03-05 2000-09-05 International Business Machines Corporation Multi-core chip providing external core access with regular operation function interface and predetermined service operation services interface comprising core interface units and masters interface unit
US20060117274A1 (en) 1998-08-31 2006-06-01 Tseng Ping-Sheng Behavior processor system and method
US20040154027A1 (en) * 1998-10-14 2004-08-05 Jean-Jacques Vandewalle Method and means for managing communications between local and remote objects in an object oriented client server system in which a client application invokes a local object as a proxy for a remote object on the server
JP2000132404A (ja) * 1998-10-22 2000-05-12 Matsushita Electric Ind Co Ltd 命令列最適化装置
US6480818B1 (en) * 1998-11-13 2002-11-12 Cray Inc. Debugging techniques in a multithreaded environment
US6636950B1 (en) * 1998-12-17 2003-10-21 Massachusetts Institute Of Technology Computer architecture for shared memory access
JP2000293498A (ja) * 1999-04-05 2000-10-20 Nec Corp 分散環境におけるリモートデバッグシステムおよび記録媒体
US20020065864A1 (en) 2000-03-03 2002-05-30 Hartsell Neal D. Systems and method for resource tracking in information management environments
US6748583B2 (en) * 2000-12-27 2004-06-08 International Business Machines Corporation Monitoring execution of an hierarchical visual program such as for debugging a message flow
US6862694B1 (en) * 2001-10-05 2005-03-01 Hewlett-Packard Development Company, L.P. System and method for setting and executing breakpoints
US7047395B2 (en) * 2001-11-13 2006-05-16 Intel Corporation Reordering serial data in a system with parallel processing flows
US7318164B2 (en) * 2001-12-13 2008-01-08 International Business Machines Corporation Conserving energy in a data processing system by selectively powering down processors
US7080283B1 (en) * 2002-10-15 2006-07-18 Tensilica, Inc. Simultaneous real-time trace and debug for multiple processing core systems on a chip
US7765532B2 (en) * 2002-10-22 2010-07-27 Oracle America, Inc. Inducing concurrency in software code
US7243264B2 (en) * 2002-11-01 2007-07-10 Sonics, Inc. Method and apparatus for error handling in networks
US7444546B2 (en) * 2003-04-17 2008-10-28 Arm Limited On-board diagnostic circuit for an integrated circuit
US7114042B2 (en) * 2003-05-22 2006-09-26 International Business Machines Corporation Method to provide atomic update primitives in an asymmetric heterogeneous multiprocessor environment
US7743382B2 (en) * 2003-11-03 2010-06-22 Ramal Acquisition Corp. System for deadlock condition detection and correction by allowing a queue limit of a number of data tokens on the queue to increase
EP1569104A3 (en) * 2004-01-09 2006-05-03 Interuniversitair Microelektronica Centrum Vzw An automated method for performing parallelization of sequential code and a computerized system adapted therefore
JP3901180B2 (ja) * 2004-06-30 2007-04-04 日本電気株式会社 プログラム並列化装置及びその方法並びにプログラム
US7721069B2 (en) * 2004-07-13 2010-05-18 3Plus1 Technology, Inc Low power, high performance, heterogeneous, scalable processor architecture
EP1815332A4 (en) * 2004-09-07 2009-07-15 Starent Networks Corp PROCESS CHECKPOINTING AND MIGRATION IN DATA PROCESSING SYSTEMS
GB0420442D0 (en) * 2004-09-14 2004-10-20 Ignios Ltd Debug in a multicore architecture
JP2006227706A (ja) * 2005-02-15 2006-08-31 Matsushita Electric Ind Co Ltd プログラム開発装置およびプログラム開発プログラム
US7665073B2 (en) * 2005-04-18 2010-02-16 Microsoft Corporation Compile time meta-object protocol systems and methods
US7689867B2 (en) * 2005-06-09 2010-03-30 Intel Corporation Multiprocessor breakpoint
US7827551B2 (en) * 2005-09-21 2010-11-02 Intel Corporation Real-time threading service for partitioned multiprocessor systems
US7793278B2 (en) * 2005-09-30 2010-09-07 Intel Corporation Systems and methods for affine-partitioning programs onto multiple processing units
US8490065B2 (en) * 2005-10-13 2013-07-16 International Business Machines Corporation Method and apparatus for software-assisted data cache and prefetch control
US9081609B2 (en) * 2005-12-21 2015-07-14 Xerox Corporation Image processing system and method employing a threaded scheduler
US8533680B2 (en) * 2005-12-30 2013-09-10 Microsoft Corporation Approximating finite domains in symbolic state exploration
US9038040B2 (en) * 2006-01-25 2015-05-19 International Business Machines Corporation Method for partitioning programs between a general purpose core and one or more accelerators
US20070250820A1 (en) * 2006-04-20 2007-10-25 Microsoft Corporation Instruction level execution analysis for debugging software
GB0613275D0 (en) * 2006-07-04 2006-08-16 Codeplay Software Ltd Distributed computer system
US20090150872A1 (en) * 2006-07-04 2009-06-11 George Russell Dynamic code update
US20080046875A1 (en) * 2006-08-16 2008-02-21 Gad Haber Program Code Identification System and Method
GB2443277B (en) * 2006-10-24 2011-05-18 Advanced Risc Mach Ltd Performing diagnostics operations upon an asymmetric multiprocessor apparatus
US9229726B2 (en) * 2006-10-26 2016-01-05 International Business Machines Corporation Converged call flow and web service application integration using a processing engine
US20080108899A1 (en) * 2006-11-06 2008-05-08 Nahi Halmann Hand-held ultrasound system with single integrated circuit back-end
EP2006784A1 (en) * 2007-06-22 2008-12-24 Interuniversitair Microelektronica Centrum vzw Methods for characterization of electronic circuits under process variability effects
US9223677B2 (en) * 2008-06-11 2015-12-29 Arm Limited Generation of trace data in a multi-processor system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6857084B1 (en) * 2001-08-06 2005-02-15 Lsi Logic Corporation Multiprocessor system and method for simultaneously placing all processors into debug mode
US6941492B1 (en) * 2002-02-05 2005-09-06 Emc Corporation Debugging tool for efficient switching between targets in a multi-processor environment
TW200511126A (en) * 2003-01-16 2005-03-16 Ibm Dynamic allocation of computer resources based on thread type
TW200632742A (en) * 2004-09-28 2006-09-16 Intel Corp Method and apparatus for varying energy per instruction according to the amount of available parallelism

Also Published As

Publication number Publication date
US20080098262A1 (en) 2008-04-24
US20080114937A1 (en) 2008-05-15
US7809989B2 (en) 2010-10-05
EP2076837B1 (en) 2010-10-13
GB2443277B (en) 2011-05-18
US20080215768A1 (en) 2008-09-04
MY144449A (en) 2011-09-30
CN101529391B (zh) 2011-06-15
DE602007009857D1 (de) 2010-11-25
IL197314A0 (en) 2009-12-24
US8190807B2 (en) 2012-05-29
JP2010507855A (ja) 2010-03-11
WO2008050076A1 (en) 2008-05-02
US20080098208A1 (en) 2008-04-24
KR20090082254A (ko) 2009-07-29
US8250549B2 (en) 2012-08-21
US20080098207A1 (en) 2008-04-24
GB0709182D0 (en) 2007-06-20
TW200821938A (en) 2008-05-16
EP2076837A1 (en) 2009-07-08
JP5054115B2 (ja) 2012-10-24
CN101529391A (zh) 2009-09-09
IL197314A (en) 2012-12-31
GB2443277A (en) 2008-04-30
KR101325229B1 (ko) 2013-11-04

Similar Documents

Publication Publication Date Title
TWI407374B (zh) 依據一非對稱之多處理器設備執行診斷操作
US9223677B2 (en) Generation of trace data in a multi-processor system
US7600155B1 (en) Apparatus and method for monitoring and debugging a graphics processing unit
Edelstein et al. Multithreaded Java program test generation
JP3571976B2 (ja) デバッグ装置及び方法並びにプログラム記録媒体
US20070226740A1 (en) Method and apparatus for global breakpoint for parallel debugging on multiprocessor systems
US7711990B1 (en) Apparatus and method for debugging a graphics processing unit in response to a debug instruction
US20090037888A1 (en) Simulation of program execution to detect problem such as deadlock
US20030177476A1 (en) Debugging multiple threads or processes
JP5905911B2 (ja) シングルステップ実行を用いる診断コード
JP5329983B2 (ja) デバッグ支援装置
US7823019B2 (en) Debug circuitry
CN104866443A (zh) 可中断存储独占
US10162324B2 (en) Method for manipulating a control program of a control device
US8108840B2 (en) Method for enhancing debugger performance of hardware assisted breakpoints
US8468393B2 (en) Triggering diagnostic operations within a data processing apparatus
JP2009175960A (ja) 仮想マルチプロセッサシステム
US8881106B2 (en) Debugging parallel software using speculatively executed code sequences in a multiple core environment
US20080098403A1 (en) Data flow execution of methods in sequential programs
US8695000B1 (en) Data transfer protection in a multi-tasking modeling environment having a protection mechanism selected by user via user interface
GB2500707A (en) Memory access control in a multiprocessor system
JP2000181748A (ja) マルチメモリ空間プログラムのデバッグシステムおよびそのデバッグ方法
US20150082083A1 (en) Information processing system and information processing method
Olivier et al. Debugging distributed shared memory applications
JPH11167500A (ja) エミュレータ装置のイベント回路及びデバッグシステム