CA2288892C - Procede permettant de prevenir un interblocage de tampons dans des calculs de flux de donnees - Google Patents
Procede permettant de prevenir un interblocage de tampons dans des calculs de flux de donnees Download PDFInfo
- Publication number
- CA2288892C CA2288892C CA002288892A CA2288892A CA2288892C CA 2288892 C CA2288892 C CA 2288892C CA 002288892 A CA002288892 A CA 002288892A CA 2288892 A CA2288892 A CA 2288892A CA 2288892 C CA2288892 C CA 2288892C
- Authority
- CA
- Canada
- Prior art keywords
- input
- data
- program
- inputs
- available
- 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.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
- G06F9/524—Deadlock detection or avoidance
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Small-Scale Networks (AREA)
- Input From Keyboards Or The Like (AREA)
- Computer And Data Communications (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Stored Programmes (AREA)
- Communication Control (AREA)
- Selective Calling Equipment (AREA)
- Complex Calculations (AREA)
- Multi Processors (AREA)
- Hardware Redundancy (AREA)
Abstract
L'invention concerne une technique permettant de prévenir un interblocage de tampons, destinée à des calculs de flux de données. L'invention met en oeuvre l'algorithme suivant: (1) prévoir un tampon supplémentaire pour chaque entrée de programme situé "en aval"; (2) partitionner les entrées de chaque programme situé en aval en ensembles d'entrées disjoints, de sorte que deux entrées se trouvent dans le même ensemble si et seulement si ces entrées proviennent, directement ou indirectement, d'un programme commun situé an amont; (3) essayer de lire des données dans un programme situé en aval à partir d'un programme situé "en amont" via une entrée I d'un ensemble d'entrées; (4) si aucune donnée n'est disponible à partir de l'entrée I, et si toute autre entrée J du même ensemble d'entrées comporte des données disponibles, lire ensuite dans le programme situé en aval des données provenant de chacune de ces entrées J, et stocker ces données dans le tampon supplémentaire correspondant à l'entrée J jusqu'à ce que les données disponibles soient épuisées pour ces entrées J, ou que des données soient disponibles pour l'entrée I.
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US08/847,909 US6088716A (en) | 1997-04-28 | 1997-04-28 | Method for preventing buffer deadlock in dataflow computations |
| US08/847,909 | 1997-04-28 | ||
| PCT/US1998/008559 WO1998049628A2 (fr) | 1997-04-28 | 1998-04-28 | Procede permettant de prevenir un interblocage de tampons dans des calculs de flux de donnees |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CA2288892A1 CA2288892A1 (fr) | 1998-11-05 |
| CA2288892C true CA2288892C (fr) | 2003-09-09 |
Family
ID=25301795
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CA002288892A Expired - Lifetime CA2288892C (fr) | 1997-04-28 | 1998-04-28 | Procede permettant de prevenir un interblocage de tampons dans des calculs de flux de donnees |
Country Status (12)
| Country | Link |
|---|---|
| US (1) | US6088716A (fr) |
| EP (1) | EP0985180B1 (fr) |
| JP (1) | JP3310304B2 (fr) |
| AT (1) | ATE321304T1 (fr) |
| AU (1) | AU7168598A (fr) |
| CA (1) | CA2288892C (fr) |
| CY (1) | CY1106438T1 (fr) |
| DE (1) | DE69833936T2 (fr) |
| DK (1) | DK0985180T3 (fr) |
| ES (1) | ES2256937T3 (fr) |
| PT (1) | PT985180E (fr) |
| WO (1) | WO1998049628A2 (fr) |
Families Citing this family (29)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5909681A (en) | 1996-03-25 | 1999-06-01 | Torrent Systems, Inc. | Computer system and computerized method for partitioning data for parallel processing |
| US7164422B1 (en) * | 2000-07-28 | 2007-01-16 | Ab Initio Software Corporation | Parameterized graphs with conditional components |
| US7167850B2 (en) | 2002-10-10 | 2007-01-23 | Ab Initio Software Corporation | Startup and control of graph-based computation |
| JP5271494B2 (ja) | 2003-06-25 | 2013-08-21 | アビニシオ テクノロジー エルエルシー | コンピュータ支援による計算グラフの並列化 |
| US20080052687A1 (en) * | 2003-11-03 | 2008-02-28 | Agustin Gonzales-Tuchmann | Development environment for data transformation applications |
| US7814242B1 (en) * | 2005-03-25 | 2010-10-12 | Tilera Corporation | Managing data flows in a parallel processing environment |
| US7877350B2 (en) * | 2005-06-27 | 2011-01-25 | Ab Initio Technology Llc | Managing metadata for graph-based computations |
| US7716630B2 (en) * | 2005-06-27 | 2010-05-11 | Ab Initio Technology Llc | Managing parameters for graph-based computations |
| US7822615B2 (en) * | 2005-06-27 | 2010-10-26 | Ab Initio Technology Llc | Translating expressions in a computing environment |
| US7231237B2 (en) * | 2005-08-31 | 2007-06-12 | Motorola, Inc. | Wireless communication device with strategically positioned antenna |
| US7870556B2 (en) * | 2006-05-16 | 2011-01-11 | Ab Initio Technology Llc | Managing computing resources in graph-based computations |
| CN101501678B (zh) | 2006-08-10 | 2013-10-16 | 起元科技有限公司 | 在基于图的计算中分配服务 |
| US9053072B2 (en) * | 2007-01-25 | 2015-06-09 | Hewlett-Packard Development Company, L.P. | End node transactions at threshold-partial fullness of storage space |
| EP2234017A3 (fr) | 2007-07-26 | 2010-10-27 | Ab Initio Technology LLC | Calcul à base de graphique transactionnel avec gestion des erreurs |
| US8595391B1 (en) * | 2008-03-14 | 2013-11-26 | Xilinx, Inc. | Automatic queue sizing for dataflow applications |
| US8112742B2 (en) * | 2008-05-12 | 2012-02-07 | Expressor Software | Method and system for debugging data integration applications with reusable synthetic data values |
| CN102317911B (zh) | 2009-02-13 | 2016-04-06 | 起元技术有限责任公司 | 管理任务执行 |
| US8667329B2 (en) * | 2009-09-25 | 2014-03-04 | Ab Initio Technology Llc | Processing transactions in graph-based applications |
| CN107066241B (zh) | 2010-06-15 | 2021-03-09 | 起元技术有限责任公司 | 用于动态加载基于图的计算的系统和方法 |
| US9003084B2 (en) | 2011-02-18 | 2015-04-07 | Ab Initio Technology Llc | Sorting |
| US8447901B2 (en) | 2011-02-18 | 2013-05-21 | Ab Initio Technology Llc | Managing buffer conditions through sorting |
| US9507682B2 (en) | 2012-11-16 | 2016-11-29 | Ab Initio Technology Llc | Dynamic graph performance monitoring |
| US10108521B2 (en) | 2012-11-16 | 2018-10-23 | Ab Initio Technology Llc | Dynamic component performance monitoring |
| US9274926B2 (en) | 2013-01-03 | 2016-03-01 | Ab Initio Technology Llc | Configurable testing of computer programs |
| CN106170762B (zh) | 2013-12-05 | 2020-01-14 | 起元技术有限责任公司 | 管理包括子图的数据流图所用的接口 |
| US10657134B2 (en) | 2015-08-05 | 2020-05-19 | Ab Initio Technology Llc | Selecting queries for execution on a stream of real-time data |
| SG11201803929YA (en) | 2015-12-21 | 2018-06-28 | Ab Initio Technology Llc | Sub-graph interface generation |
| JP7064367B2 (ja) * | 2018-03-30 | 2022-05-10 | 株式会社デンソー | デッドロック回避方法、デッドロック回避装置 |
| JP7039365B2 (ja) * | 2018-03-30 | 2022-03-22 | 株式会社デンソー | デッドロック回避方法、デッドロック回避装置 |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4298954A (en) * | 1979-04-30 | 1981-11-03 | International Business Machines Corporation | Alternating data buffers when one buffer is empty and another buffer is variably full of data |
| US5204965A (en) * | 1985-08-20 | 1993-04-20 | Schlumberger Technology Corporation | Data processing system using stream stores |
| JP2521016B2 (ja) * | 1991-12-31 | 1996-07-31 | インターナショナル・ビジネス・マシーンズ・コーポレイション | マルチメディア・デ―タ処理システム |
| DE4321776C1 (de) * | 1993-06-30 | 1994-12-08 | Siemens Ag | Verfahren zum Bilden und Analysieren von informationselementeorientierten Signalisierungsmeldungen in Kommunikationseinrichtungen |
| US5568614A (en) * | 1994-07-29 | 1996-10-22 | International Business Machines Corporation | Data streaming between peer subsystems of a computer system |
| US5790893A (en) * | 1996-06-05 | 1998-08-04 | International Business Machines Corporation | Segmented concurrent receive/transfer interface using shared RAM storage |
-
1997
- 1997-04-28 US US08/847,909 patent/US6088716A/en not_active Expired - Lifetime
-
1998
- 1998-04-28 AU AU71685/98A patent/AU7168598A/en not_active Abandoned
- 1998-04-28 JP JP54730298A patent/JP3310304B2/ja not_active Expired - Lifetime
- 1998-04-28 DE DE69833936T patent/DE69833936T2/de not_active Expired - Lifetime
- 1998-04-28 CA CA002288892A patent/CA2288892C/fr not_active Expired - Lifetime
- 1998-04-28 PT PT98918838T patent/PT985180E/pt unknown
- 1998-04-28 ES ES98918838T patent/ES2256937T3/es not_active Expired - Lifetime
- 1998-04-28 AT AT98918838T patent/ATE321304T1/de active
- 1998-04-28 DK DK98918838T patent/DK0985180T3/da active
- 1998-04-28 EP EP98918838A patent/EP0985180B1/fr not_active Expired - Lifetime
- 1998-04-28 WO PCT/US1998/008559 patent/WO1998049628A2/fr not_active Ceased
-
2006
- 2006-06-07 CY CY20061100744T patent/CY1106438T1/el unknown
Also Published As
| Publication number | Publication date |
|---|---|
| US6088716A (en) | 2000-07-11 |
| DK0985180T3 (da) | 2006-07-17 |
| JP3310304B2 (ja) | 2002-08-05 |
| EP0985180A4 (fr) | 2000-08-16 |
| DE69833936D1 (de) | 2006-05-11 |
| ATE321304T1 (de) | 2006-04-15 |
| EP0985180A1 (fr) | 2000-03-15 |
| WO1998049628A3 (fr) | 1999-03-11 |
| EP0985180B1 (fr) | 2006-03-22 |
| ES2256937T3 (es) | 2006-07-16 |
| PT985180E (pt) | 2006-07-31 |
| CY1106438T1 (el) | 2011-10-12 |
| AU7168598A (en) | 1998-11-24 |
| DE69833936T2 (de) | 2006-12-28 |
| JP2001500656A (ja) | 2001-01-16 |
| CA2288892A1 (fr) | 1998-11-05 |
| WO1998049628A2 (fr) | 1998-11-05 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CA2288892C (fr) | Procede permettant de prevenir un interblocage de tampons dans des calculs de flux de donnees | |
| US5546554A (en) | Apparatus for dynamic register management in a floating point unit | |
| US5107457A (en) | Stack data cache having a stack management hardware with internal and external stack pointers and buffers for handling underflow and overflow stack | |
| EP0061096B1 (fr) | Système de traitement de données pour traitement parallèle | |
| US5696940A (en) | Apparatus and method for sharing first-in first-out memory space between two streams of data | |
| KR100501289B1 (ko) | 입력/출력 서브-프로세서와의 비동기 인터페이스를 통한 입력/출력 성능 개선 방법 | |
| US4123795A (en) | Control system for a stored program multiprocessor computer | |
| EP0059810B1 (fr) | Système de traitement de données numériques microprogrammé utilisant une commande de sous-programme multiphase pour fonctionnement simultané | |
| US4320455A (en) | Queue structure for a data processing system | |
| US9740495B2 (en) | Implementing out of order processor instruction issue queue | |
| EP0439920B1 (fr) | Système et procédé de gestion de mémoire dans un microordinateur | |
| JPH05225153A (ja) | 高レベル命令の並列処理装置及び並列処理方法 | |
| US4943915A (en) | Apparatus and method for synchronization of a coprocessor unit in a pipelined central processing unit | |
| US6629114B2 (en) | Method, system, and computer program product for managing a re-usable resource | |
| EP0419499B1 (fr) | ''talonnage'' vectoriel dans des ordinateurs a registres vectoriels | |
| US5218706A (en) | Data flow processor with next destination node determination | |
| Dhamdhere | Register assignment using code placement techniques | |
| EP1020801A2 (fr) | Allocation dynamique d'intervalles de temps et suivi des demandes de mémoire multiples | |
| US8593465B2 (en) | Handling of extra contexts for shader constants | |
| US5386586A (en) | System and method for construction of lists of deferred service requests | |
| EP0953905B1 (fr) | Procédé et dispositif pour commuter des tâches | |
| US5430846A (en) | List-based buffering mechanism for buffering data between processes in a data processing system | |
| EP0183877B1 (fr) | Micro-ordinateur pour des processus dépendant du temps | |
| JPS58181168A (ja) | 自律型プロセツサアレイ方式 | |
| JPS60215248A (ja) | 情報処理方式 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| EEER | Examination request | ||
| MKEX | Expiry |
Effective date: 20180430 |