KR101413049B1 - 그래프 기반 계산에서의 계산 자원의 관리 - Google Patents
그래프 기반 계산에서의 계산 자원의 관리 Download PDFInfo
- Publication number
- KR101413049B1 KR101413049B1 KR1020087030136A KR20087030136A KR101413049B1 KR 101413049 B1 KR101413049 B1 KR 101413049B1 KR 1020087030136 A KR1020087030136 A KR 1020087030136A KR 20087030136 A KR20087030136 A KR 20087030136A KR 101413049 B1 KR101413049 B1 KR 101413049B1
- Authority
- KR
- South Korea
- Prior art keywords
- data processing
- processing element
- processing elements
- elements
- graph
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5066—Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
-
- 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Stored Programmes (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Complex Calculations (AREA)
- Apparatus For Radiation Diagnosis (AREA)
- Magnetic Resonance Imaging Apparatus (AREA)
- Medicines That Contain Protein Lipid Enzymes And Other Medicines (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Executing Machine-Instructions (AREA)
- Advance Control (AREA)
- Multi Processors (AREA)
- Debugging And Monitoring (AREA)
Abstract
Description
Claims (119)
- 그래프 기반 계산(graph-based computation)을 실행하는 방법에 있어서,링크 요소(linking element)에 의해 데이터 처리 요소가 결합되는 계산 그래프의 사양(specification)을 받아들이는 단계;상기 데이터 처리 요소를, 적어도 제1 세트가 상기 데이터 처리 요소를 복수 개 포함하는 세트로 분할하는 단계;각각의 상기 세트에 상이한 계산 자원을 할당하는 단계; 및할당된 상기 계산 자원을 이용하여 상기 데이터 처리 요소에 대응하는 계산을 수행하는 단계를 포함하는, 상기 계산 그래프에 따라 데이터를 처리하는 단계를 포함하고,상기 데이터 처리 요소의 제1 세트에 할당된 상기 계산 자원 중 하나는, 하류측 데이터 처리 요소와 연관된 함수를 호출함으로써, 상류측 데이터 처리 요소의 출력으로부터의 데이터 흐름과 연관된 작업 요소를 상기 하류측 데이터 처리 요소의 입력으로 전달하며, 상기 상류측 데이터 처리 요소와 상기 하류측 데이터 처리 요소는 양자 모두 상기 데이터 처리 요소의 제1 세트 내에 있는, 그래프 기반 계산을 실행하는 방법.
- 제1항에 있어서,상기 세트에 할당된 하나 이상의 상기 계산 자원은 프로세스를 포함하는, 그래프 기반 계산을 실행하는 방법.
- 제1항에 있어서,각각의 상기 링크 요소는 상류측 데이터 처리 요소의 출력에서부터 하류측 데이터 처리 요소의 입력으로의 데이터 흐름과 연관되는, 그래프 기반 계산을 실행하는 방법.
- 제3항에 있어서,상기 데이터를 처리하는 단계는, 상기 세트의 하나 이상의 세트에 대하여, 상기 세트 내의 상기 데이터 처리 요소를 결합시키는 상기 링크 요소에 의해 정해지는 시퀀스에 따라 상기 세트 내의 상기 데이터 처리 요소에 대응하는 계산을 수행하는 단계를 포함하는, 그래프 기반 계산을 실행하는 방법.
- 삭제
- 제1항에 있어서,상기 함수는, 상기 작업 요소가 상기 상류측 데이터 처리 요소에 연관된 함수에 의해 기입된 기억 지점으로부터 상기 작업 요소를 읽어들이는, 그래프 기반 계산을 실행하는 방법.
- 제6항에 있어서,상기 상류측 데이터 처리 요소에 연관된 함수 및 상기 하류측 데이터 처리 요소에 연관된 함수는, 동일한 프로세스에 의해 호출되는, 그래프 기반 계산을 실행하는 방법.
- 제1항에 있어서,상기 데이터를 처리하는 단계는, 각각의 세트 내의 개개의 상기 데이터 처리 요소에 연관된 각각의 활동의 정도(quantity of activity)의 특성을 기술하는 정보를 유지하는 단계를 더 포함하는, 그래프 기반 계산을 실행하는 방법.
- 제8항에 있어서,각각의 상기 활동의 정도는 각각의 상기 데이터 처리 요소에 따라 처리된 데이터의 양을 포함하는, 그래프 기반 계산을 실행하는 방법.
- 제8항에 있어서,각각의 상기 활동의 정도는 각각의 상기 데이터 처리 요소에 대응하는 계산을 수행하는 상기 세트에 할당된 계산 자원에 의해 소비된 시간의 양을 포함하는, 그래프 기반 계산을 실행하는 방법.
- 제1항에 있어서,상기 세트 내의 상기 데이터 처리 요소는 상기 계산 그래프의 연결된 방향성 서브그래프(connected directed subgraph)를 형성하는, 그래프 기반 계산을 실행하는 방법.
- 제11항에 있어서,상기 서브그래프는 트리(tree)를 포함하는, 그래프 기반 계산을 실행하는 방법.
- 제11항에 있어서,복수의 입력을 갖는 상기 세트 내의 각각의 상기 데이터 처리 요소에 대하여, 그 데이터 처리 요소의 입력에 링크된 상류측 데이터 처리 요소의 전부가 또한 그 세트 내에 있는, 그래프 기반 계산을 실행하는 방법.
- 제11항에 있어서,서브그래프에 상류측 요소를 갖지 않는 서브그래프 내의 상기 데이터 처리 요소에 대한 제어 메시지의 수신에 응답하여, 상기 제어 메시지를 상기 서브그래프의 외측에 전파하기 전에, 상기 서브그래프 내의 각각의 상기 데이터 처리 요소에 대한 상태 정보를 비휘발성 기억부에 저장하기 위해, 상기 서브그래프 내의 다른 데이터 처리 요소의 각각에 연관된 함수를 호출하는 단계를 더 포함하는, 그래프 기반 계산을 실행하는 방법.
- 제14항에 있어서,상기 서브그래프 내의 각각의 상기 데이터 처리 요소에 대한 상태 정보는 하나의 파일에 저장되는, 그래프 기반 계산을 실행하는 방법.
- 제1항에 있어서,상기 데이터 처리 요소는 미리결정된 정도의 병렬 계산(parallelism)을 갖는, 그래프 기반 계산을 실행하는 방법.
- 제16항에 있어서,상기 세트 내의 각각의 상기 데이터 처리 요소는 동일한 정도의 병렬 계산을 갖는, 그래프 기반 계산을 실행하는 방법.
- 제1항에 있어서,상기 계산 그래프의 상기 사양은 각각의 상기 데이터 처리 요소에 연관된 실행 단계(phase of execution)를 나타내는, 그래프 기반 계산을 실행하는 방법.
- 제18항에 있어서,상기 세트 내의 각각의 상기 데이터 처리 요소는 동일한 실행 단계에 연관되는, 그래프 기반 계산을 실행하는 방법.
- 삭제
- 삭제
- 삭제
- 그래프 기반 계산을 실행하는 시스템에 있어서,링크 요소에 의해 데이터 처리 요소가 결합되는 계산 그래프의 사양을 받아들이고, 또한 상기 데이터 처리 요소를, 적어도 제1 세트가 상기 데이터 처리 요소를 복수 개 포함하는 세트로 분할하기 위한 회로를 포함하는 사전 실행(pre-execution) 모듈; 및각각의 상기 세트에 상이한 계산 자원을 할당하고, 또한 할당된 상기 계산 자원을 이용하여 상기 데이터 처리 요소에 대응하는 계산을 수행하는 것을 포함한, 상기 계산 그래프에 따라 데이터를 처리하기 위한 회로를 포함하는 실행 모듈을 포함하고,상기 데이터 처리 요소의 제1 세트에 할당된 상기 계산 자원 중 하나는, 하류측 데이터 처리 요소와 연관된 함수를 호출함으로써, 상류측 데이터 처리 요소의 출력으로부터의 데이터 흐름과 연관된 작업 요소를 상기 하류측 데이터 처리 요소의 입력으로 전달하며, 상기 상류측 데이터 처리 요소와 상기 하류측 데이터 처리 요소는 양자 모두 상기 데이터 처리 요소의 제1 세트 내에 있는, 그래프 기반 계산을 실행하는 시스템.
- 제23항에 있어서,상기 세트에 할당된 하나 이상의 상기 계산 자원은 프로세스를 포함하는, 그래프 기반 계산을 실행하는 시스템.
- 제23항에 있어서,각각의 세트 내의 개개의 상기 데이터 처리 요소에 연관된 각각의 활동의 정도의 특성을 기술하는 정보를 유지하기 위한 회로를 포함하는 런타임 모니터링 모듈을 더 포함하는, 그래프 기반 계산을 실행하는 시스템.
- 그래프 기반 계산을 실행하는 시스템에 있어서,링크 요소에 의해 데이터 처리 요소가 결합되는 계산 그래프의 사양을 받아들이기 위한 수단;상기 데이터 처리 요소를, 적어도 제1 세트가 상기 데이터 처리 요소를 복수 개 포함하는 세트로 분할하는 수단;각각의 상기 세트에 상이한 계산 자원을 할당하는 수단; 및할당된 상기 계산 자원을 이용하여 상기 데이터 처리 요소에 대응하는 계산을 수행하는 것을 포함한, 상기 계산 그래프에 따라 데이터를 처리하는 수단을 포함하고,상기 데이터 처리 요소의 제1 세트에 할당된 상기 계산 자원 중 하나는, 하류측 데이터 처리 요소와 연관된 함수를 호출함으로써, 상류측 데이터 처리 요소의 출력으로부터의 데이터 흐름과 연관된 작업 요소를 상기 하류측 데이터 처리 요소의 입력으로 전달하며, 상기 상류측 데이터 처리 요소와 상기 하류측 데이터 처리 요소는 양자 모두 상기 데이터 처리 요소의 제1 세트 내에 있는, 그래프 기반 계산을 실행하는 시스템.
- 제26항에 있어서,상기 세트에 할당된 하나 이상의 상기 계산 자원은 프로세스를 포함하는, 그래프 기반 계산을 실행하는 시스템.
- 제26항에 있어서,각각의 세트 내의 개개의 상기 데이터 처리 요소에 연관된 각각의 활동의 정도의 특성을 기술하는 정보를 유지하는 수단을 더 포함하는, 그래프 기반 계산을 실행하는 시스템.
- 제23항에 있어서,각각의 상기 링크 요소는 상류측 데이터 처리 요소의 출력에서부터 하류측 데이터 처리 요소의 입력으로의 데이터 흐름과 연관되는, 그래프 기반 계산을 실행하는 시스템.
- 제29항에 있어서,상기 데이터를 처리하는 것은, 상기 세트의 하나 이상의 세트에 대하여, 상기 세트 내의 상기 데이터 처리 요소를 결합시키는 상기 링크 요소에 의해 정해지는 시퀀스에 따라 상기 세트 내의 상기 데이터 처리 요소에 대응하는 계산을 수행하는 것을 포함하는, 그래프 기반 계산을 실행하는 시스템.
- 제30항에 있어서,상기 함수는, 상기 작업 요소가 상기 상류측 데이터 처리 요소에 연관된 함수에 의해 기입된 기억 지점으로부터 상기 작업 요소를 읽어들이는, 그래프 기반 계산을 실행하는 시스템.
- 제31항에 있어서,상기 상류측 데이터 처리 요소에 연관된 함수 및 상기 하류측 데이터 처리 요소에 연관된 함수는, 동일한 프로세스에 의해 호출되는, 그래프 기반 계산을 실행하는 시스템.
- 제25항에 있어서,각각의 상기 활동의 정도는 각각의 상기 데이터 처리 요소에 따라 처리된 데이터의 양을 포함하는, 그래프 기반 계산을 실행하는 시스템.
- 제25항에 있어서,각각의 상기 활동의 정도는 각각의 상기 데이터 처리 요소에 대응하는 계산을 수행하는 세트에 할당된 계산 자원에 의해 소비된 시간의 양을 포함하는, 그래프 기반 계산을 실행하는 시스템.
- 제23항에 있어서,세트 내의 상기 데이터 처리 요소는 상기 계산 그래프의 연결된 방향성 서브그래프를 형성하는, 그래프 기반 계산을 실행하는 시스템.
- 제35항에 있어서,상기 서브그래프는 트리를 포함하는, 그래프 기반 계산을 실행하는 시스템.
- 제35항에 있어서,복수의 입력을 갖는 세트 내의 각각의 상기 데이터 처리 요소에 대하여, 그 데이터 처리 요소의 입력에 링크된 상류측 데이터 처리 요소의 전부가 또한 그 세트 내에 있는, 그래프 기반 계산을 실행하는 시스템.
- 제35항에 있어서,상기 데이터를 처리하는 것은, 서브그래프에 상류측 요소를 갖지 않는 서브그래프 내의 데이터 처리 요소에 대한 제어 메시지의 수신에 응답하여, 상기 제어 메시지를 상기 서브그래프의 외측에 전파하기 전에, 상기 서브그래프 내의 각각의 상기 데이터 처리 요소에 대한 상태 정보를 비휘발성 기억부에 저장하기 위해, 상기 서브그래프 내의 다른 데이터 처리 요소의 각각에 연관된 함수를 호출하는 것을 포함하는, 그래프 기반 계산을 실행하는 시스템.
- 제38항에 있어서,상기 서브그래프 내의 각각의 상기 데이터 처리 요소에 대한 상태 정보는 하나의 파일에 저장되는, 그래프 기반 계산을 실행하는 시스템.
- 제23항에 있어서,상기 데이터 처리 요소는 미리결정된 정도의 병렬 계산을 갖는, 그래프 기반 계산을 실행하는 시스템.
- 제40항에 있어서,세트 내의 각각의 상기 데이터 처리 요소는 동일한 정도의 병렬 계산을 갖는, 그래프 기반 계산을 실행하는 시스템.
- 제23항에 있어서,상기 계산 그래프의 상기 사양은 각각의 상기 데이터 처리 요소에 연관된 실행 단계를 나타내는, 그래프 기반 계산을 실행하는 시스템.
- 제42항에 있어서,세트 내의 각각의 상기 데이터 처리 요소는 동일한 실행 단계에 연관되는, 그래프 기반 계산을 실행하는 시스템.
- 제26항에 있어서,각각의 상기 링크 요소는 상류측 데이터 처리 요소의 출력에서부터 하류측 데이터 처리 요소의 입력으로의 데이터 흐름과 연관되는, 그래프 기반 계산을 실행하는 시스템.
- 제44항에 있어서,상기 데이터를 처리하는 수단은, 상기 세트의 하나 이상의 세트에 대하여, 상기 세트 내의 상기 데이터 처리 요소를 결합시키는 상기 링크 요소에 의해 정해지는 시퀀스에 따라 상기 세트 내의 상기 데이터 처리 요소에 대응하는 계산을 수행하기 위한 수단을 포함하는, 그래프 기반 계산을 실행하는 시스템.
- 제45항에 있어서,상기 함수는, 상기 작업 요소가 상기 상류측 데이터 처리 요소에 연관된 함수에 의해 기입된 기억 지점으로부터 상기 작업 요소를 읽어들이는, 그래프 기반 계산을 실행하는 시스템.
- 제46항에 있어서,상기 상류측 데이터 처리 요소에 연관된 함수 및 상기 하류측 데이터 처리 요소에 연관된 함수는, 동일한 프로세스에 의해 호출되는, 그래프 기반 계산을 실행하는 시스템.
- 제28항에 있어서,각각의 상기 활동의 정도는 각각의 상기 데이터 처리 요소에 따라 처리된 데이터의 양을 포함하는, 그래프 기반 계산을 실행하는 시스템.
- 제28항에 있어서,각각의 상기 활동의 정도는 각각의 상기 데이터 처리 요소에 대응하는 계산을 수행하는 세트에 할당된 계산 자원에 의해 소비된 시간의 양을 포함하는, 그래프 기반 계산을 실행하는 시스템.
- 제26항에 있어서,세트 내의 상기 데이터 처리 요소는 상기 계산 그래프의 연결된 방향성 서브그래프를 형성하는, 그래프 기반 계산을 실행하는 시스템.
- 제50항에 있어서,상기 서브그래프는 트리를 포함하는, 그래프 기반 계산을 실행하는 시스템.
- 제50항에 있어서,복수의 입력을 갖는 세트 내의 각각의 상기 데이터 처리 요소에 대하여, 그 데이터 처리 요소의 입력에 링크된 상류측 데이터 처리 요소의 전부가 또한 그 세트 내에 있는, 그래프 기반 계산을 실행하는 시스템.
- 제50항에 있어서,상기 데이터를 처리하는 수단은, 서브그래프에 상류측 요소를 갖지 않는 서브그래프 내의 데이터 처리 요소에 대한 제어 메시지의 수신에 응답하여, 상기 제어 메시지를 상기 서브그래프의 외측에 전파하기 전에, 상기 서브그래프 내의 각각의 상기 데이터 처리 요소에 대한 상태 정보를 비휘발성 기억부에 저장하기 위해, 상기 서브그래프 내의 다른 데이터 처리 요소의 각각에 연관된 함수를 호출하기 위한 수단을 더 포함하는, 그래프 기반 계산을 실행하는 시스템.
- 제53항에 있어서,상기 서브그래프 내의 각각의 상기 데이터 처리 요소에 대한 상태 정보는 하나의 파일에 저장되는, 그래프 기반 계산을 실행하는 시스템.
- 제26항에 있어서,상기 데이터 처리 요소는 미리결정된 정도의 병렬 계산을 갖는, 그래프 기반 계산을 실행하는 시스템.
- 제55항에 있어서,세트 내의 각각의 상기 데이터 처리 요소는 동일한 정도의 병렬 계산을 갖는, 그래프 기반 계산을 실행하는 시스템.
- 제26항에 있어서,상기 계산 그래프의 상기 사양은 각각의 상기 데이터 처리 요소에 연관된 실행의 단계를 나타내는, 그래프 기반 계산을 실행하는 시스템.
- 제57항에 있어서,세트 내의 각각의 상기 데이터 처리 요소는 동일한 실행 단계에 연관되는, 그래프 기반 계산을 실행하는 시스템.
- 제1항에 있어서,상기 계산 자원 중 하나는, 하류측 데이터 처리 요소와 연관된 함수를 호출함으로써, 제2의 상류측 데이터 처리 요소의 출력으로부터의 데이터 흐름과 연관된 작업 요소를 상기 하류측 데이터 처리 요소의 입력으로 전달하는, 그래프 기반 계산을 실행하는 방법.
- 제59항에 있어서,상기 계산 자원 중 하나는, 제1의 상류측 데이터 처리 요소의 출력으로부터의 데이터 흐름과 연관된 작업 요소와 제2의 상류측 데이터 처리 요소의 출력으로부터의 데이터 흐름과 연관된 작업 요소를 동시에 전달하는, 그래프 기반 계산을 실행하는 방법.
- 제1항에 있어서,상기 하류측 데이터 처리 요소의 입력으로 전달되는 작업 요소는, 전달될 전체 수의 작업 요소 중 선택된 서브세트인, 그래프 기반 계산을 실행하는 방법.
- 제61항에 있어서,상기 선택된 서브세트 내에 있지 않은 작업 요소는 제2의 하류측 데이터 처리 요소로 전달되는, 그래프 기반 계산을 실행하는 방법.
- 제1항에 있어서,데이터 처리 요소의 세트 내에 있는 각각의 데이터 처리 요소는 데이터 처리 요소의 단지 하나의 세트 내에 있는, 그래프 기반 계산을 실행하는 방법.
- 제1항에 있어서,상기 하류측 데이터 처리 요소와 연관된 함수는 상기 하류측 데이터 처리 요소와 연관된 계산을 수행하는 계산 함수(compute function)인, 그래프 기반 계산을 실행하는 방법.
- 제64항에 있어서,상기 계산은, 상기 데이터 처리 요소와 연관된 상태 변수를 갱신하는 것, 기억된 작업 요소를 변환하는 것, 새로운 작업 요소를 생성하는 것, 또는 데이터를 보다 하류측의 데이터 처리 요소로 통신하는 것 중 적어도 하나를 포함하는, 그래프 기반 계산을 실행하는 방법.
- 제1항에 있어서,데이터 처리 요소의 각각의 세트 내에서 각각의 데이터 처리 요소와 연관된 활동의 정도를 추적하는 단계를 더 포함하는, 그래프 기반 계산을 실행하는 방법.
- 제23항에 있어서,상기 계산 자원 중 하나는, 하류측 데이터 처리 요소와 연관된 함수를 호출함으로써, 제2의 상류측 데이터 처리 요소의 출력으로부터의 데이터 흐름과 연관된 작업 요소를 상기 하류측 데이터 처리 요소의 입력으로 전달하는, 그래프 기반 계산을 실행하는 시스템.
- 제67항에 있어서,상기 계산 자원 중 하나는, 제1의 상류측 데이터 처리 요소의 출력으로부터의 데이터 흐름과 연관된 작업 요소와 제2의 상류측 데이터 처리 요소의 출력으로부터의 데이터 흐름과 연관된 작업 요소를 동시에 전달하는, 그래프 기반 계산을 실행하는 시스템.
- 제23항에 있어서,상기 하류측 데이터 처리 요소의 입력으로 전달되는 작업 요소는, 전달될 전체 수의 작업 요소 중 선택된 서브세트인, 그래프 기반 계산을 실행하는 시스템.
- 제69항에 있어서,상기 선택된 서브세트 내에 있지 않은 작업 요소는 제2의 하류측 데이터 처리 요소로 전달되는, 그래프 기반 계산을 실행하는 시스템.
- 제23항에 있어서,데이터 처리 요소의 세트 내에 있는 각각의 데이터 처리 요소는 데이터 처리 요소의 단지 하나의 세트 내에 있는, 그래프 기반 계산을 실행하는 시스템.
- 제23항에 있어서,상기 하류측 데이터 처리 요소와 연관된 함수는 상기 하류측 데이터 처리 요소와 연관된 계산을 수행하는 계산 함수인, 그래프 기반 계산을 실행하는 시스템.
- 제72항에 있어서,상기 계산은, 상기 데이터 처리 요소와 연관된 상태 변수를 갱신하는 것, 기억된 작업 요소를 변환하는 것, 새로운 작업 요소를 생성하는 것, 또는 데이터를 보다 하류측의 데이터 처리 요소로 통신하는 것 중 적어도 하나를 포함하는, 그래프 기반 계산을 실행하는 시스템.
- 제23항에 있어서,데이터 처리 요소의 각각의 세트 내에서 각각의 데이터 처리 요소와 연관된 활동의 정도를 추적하는 것을 더 포함하는, 그래프 기반 계산을 실행하는 시스템.
- 제26항에 있어서,상기 계산 자원 중 하나는, 하류측 데이터 처리 요소와 연관된 함수를 호출함으로써, 제2의 상류측 데이터 처리 요소의 출력으로부터의 데이터 흐름과 연관된 작업 요소를 상기 하류측 데이터 처리 요소의 입력으로 전달하는, 그래프 기반 계산을 실행하는 시스템.
- 제75항에 있어서,상기 계산 자원 중 하나는, 제1의 상류측 데이터 처리 요소의 출력으로부터의 데이터 흐름과 연관된 작업 요소와 제2의 상류측 데이터 처리 요소의 출력으로부터의 데이터 흐름과 연관된 작업 요소를 동시에 전달하는, 그래프 기반 계산을 실행하는 시스템.
- 제26항에 있어서,상기 하류측 데이터 처리 요소의 입력으로 전달되는 작업 요소는, 전달될 전체 수의 작업 요소 중 선택된 서브세트인, 그래프 기반 계산을 실행하는 시스템.
- 제77항에 있어서,상기 선택된 서브세트 내에 있지 않은 작업 요소는 제2의 하류측 데이터 처리 요소로 전달되는, 그래프 기반 계산을 실행하는 시스템.
- 제26항에 있어서,데이터 처리 요소의 세트 내에 있는 각각의 데이터 처리 요소는 데이터 처리 요소의 단지 하나의 세트 내에 있는, 그래프 기반 계산을 실행하는 시스템.
- 제26항에 있어서,상기 하류측 데이터 처리 요소와 연관된 함수는 상기 하류측 데이터 처리 요소와 연관된 계산을 수행하는 계산 함수인, 그래프 기반 계산을 실행하는 시스템.
- 제80항에 있어서,상기 계산은, 상기 데이터 처리 요소와 연관된 상태 변수를 갱신하는 것, 기억된 작업 요소를 변환하는 것, 새로운 작업 요소를 생성하는 것, 또는 데이터를 보다 하류측의 데이터 처리 요소로 통신하는 것 중 적어도 하나를 포함하는, 그래프 기반 계산을 실행하는 시스템.
- 제26항에 있어서,데이터 처리 요소의 각각의 세트 내에서 각각의 데이터 처리 요소와 연관된 활동의 정도를 추적하는 것을 더 포함하는, 그래프 기반 계산을 실행하는 시스템.
- 데이터 처리 요소에 할당되어 계산을 수행하는데 이용될 수 있는 계산 자원을 제공하는 컴퓨터 시스템을 이용하여 그래프 기반 계산을 실행하는 방법에 있어서,링크 요소에 의해 데이터 처리 요소가 결합되는 계산 그래프의 사양을 받아들이는 단계로서, 각각의 상기 링크 요소는 상류측 데이터 처리 요소의 출력으로부터 하류측 데이터 처리 요소의 입력으로의 데이터 흐름과 연관되는, 계산 그래프의 사양을 받아들이는 단계;각각의 데이터 처리 요소가 폴딩 가능(foldable)한지 또는 폴딩 불가능(non-foldable)한지를 결정하는 단계로서, 모든 폴딩 가능한 데이터 처리 요소는 폴딩 가능한 데이터 처리 요소의 대응하는 계산을 호출하기 위해 사용되는 컴퓨터 인터페이스를 포함하며, 모든 폴딩 불가능한 데이터 처리 요소는 폴딩 불가능한 데이터 처리 요소의 대응하는 계산을 호출하기 위해 사용되는 컴퓨터 인터페이스를 포함하지 않는, 결정 단계;상기 폴딩 가능한 데이터 처리 요소를 데이터 처리 요소의 하나 이상의 세트로 분할하는 단계로서, 데이터 처리 요소의 세트 중 적어도 하나가 복수의 상기 폴딩 가능한 데이터 처리 요소를 포함하는, 분할 단계;상기 컴퓨터 시스템의 상이한 계산 자원을 데이터 처리 요소의 각각의 세트에 할당하는 단계; 및할당된 상기 계산 자원을 이용하여 상기 데이터 처리 요소에 대응하는 계산을 수행하는 단계를 포함하는, 상기 계산 그래프에 따라 데이터를 처리하는 단계를 포함하고,상기 데이터 처리 요소의 세트 중 하나에 할당되는 상기 계산 자원 중 하나는, 폴딩 가능한 하류측 데이터 처리 요소와 연관된 함수를 호출함으로써, 제1의 폴딩 가능한 상류측 데이터 처리 요소의 출력으로부터의 데이터 흐름과 연관된 작업 요소를 폴딩 가능한 하류측 데이터 처리 요소의 입력으로 전달하며, 상기 제1의 폴딩 가능한 상류측 데이터 처리 요소와 상기 폴딩 가능한 하류측 데이터 처리 요소는 데이터 처리 요소의 동일한 세트 내에 있는, 그래프 기반 계산을 실행하는 방법.
- 제83항에 있어서,적어도 하나의 데이터 처리 요소가 폴딩 가능하고 적어도 하나의 데이터 처리 요소는 폴딩 불가능하다고 결정하는 단계를 더 포함하는, 그래프 기반 계산을 실행하는 방법.
- 제83항에 있어서,데이터 처리 요소의 세트에 할당되는 상기 계산 자원 중 적어도 하나는 프로세스를 포함하는, 그래프 기반 계산을 실행하는 방법.
- 제83항에 있어서,데이터 처리 요소의 각각의 세트 내에서 각각의 데이터 처리 요소와 연관된 각각의 활동의 정도의 특성을 기술하는 정보를 유지하는 단계를 더 포함하는, 그래프 기반 계산을 실행하는 방법.
- 제83항에 있어서,상기 데이터를 처리하는 단계는, 상기 데이터 처리 요소의 세트 중 적어도 하나에 대하여, 상기 데이터 처리 요소의 세트 내의 상기 데이터 처리 요소를 결합시키는 상기 링크 요소에 의해 정해지는 시퀀스에 따라 상기 데이터 처리 요소의 세트 내의 상기 데이터 처리 요소에 대응하는 계산을 수행하는 단계를 포함하는, 그래프 기반 계산을 실행하는 방법.
- 제83항에 있어서,상기 하류측 데이터 처리 요소와 연관된 함수는, 상기 작업 요소가 상기 상류측 데이터 처리 요소에 연관된 함수에 의해 기입된 기억 지점으로부터 상기 작업 요소를 읽어들이는, 그래프 기반 계산을 실행하는 방법.
- 제88항에 있어서,상기 상류측 데이터 처리 요소에 연관된 함수를 호출하는 프로세스는 상기 하류측 데이터 처리 요소와 연관된 함수를 호출하는 프로세스인, 그래프 기반 계산을 실행하는 방법.
- 제83항에 있어서,복수의 입력을 갖는 데이터 처리 요소의 세트 내의 임의의 데이터 처리 요소에 대하여, 그 데이터 처리 요소의 입력에 링크된 상류측 데이터 처리 요소의 전부가 또한 그 데이터 처리 요소의 세트 내에 있는, 그래프 기반 계산을 실행하는 방법.
- 제83항에 있어서,각각의 상기 데이터 처리 요소는 미리결정된 정도의 병렬 계산을 갖는, 그래프 기반 계산을 실행하는 방법.
- 제91항에 있어서,데이터 처리 요소의 세트 내의 상기 데이터 처리 요소 모두는 동일한 정도의 병렬 계산을 갖는, 그래프 기반 계산을 실행하는 방법.
- 제83항에 있어서,상기 계산 그래프의 사양은 각각의 상기 데이터 처리 요소에 연관된 실행 단계를 나타내는, 그래프 기반 계산을 실행하는 방법.
- 제93항에 있어서,데이터 처리 요소의 세트 내의 각각의 상기 데이터 처리 요소는 동일한 실행 단계에 연관되는, 그래프 기반 계산을 실행하는 방법.
- 그래프 기반 계산을 실행하기 위한 컴퓨터 프로그램을 저장한 컴퓨터 판독가능 매체로서,상기 컴퓨터 프로그램은 컴퓨터 시스템으로 하여금, 제1항 내지 제4항, 제6항 내지 제19항, 제59항 내지 제66항, 및 제83항 내지 제94항 중 어느 한 항의 방법을 수행하도록 하기 위한 명령을 포함하는, 그래프 기반 계산을 실행하기 위한 컴퓨터 프로그램을 저장한 컴퓨터 판독가능 매체.
- 그래프 기반 계산을 실행하는 시스템에 있어서,사전 실행 모듈; 및실행 모듈을 포함하고,상기 사전 실행 모듈은:링크 요소에 의해 데이터 처리 요소가 결합되는 계산 그래프의 사양을 받아들이는 동작으로서, 각각의 상기 링크 요소는 상류측 데이터 처리 요소의 출력으로부터 하류측 데이터 처리 요소의 입력으로의 데이터 흐름과 연관되는, 계산 그래프의 사양을 받아들이는 동작;각각의 데이터 처리 요소가 폴딩 가능한지 또는 폴딩 불가능한지를 결정하는 동작으로서, 모든 폴딩 가능한 데이터 처리 요소는 폴딩 가능한 데이터 처리 요소의 대응하는 계산을 호출하기 위해 사용되는 컴퓨터 인터페이스를 포함하며, 모든 폴딩 불가능한 데이터 처리 요소는 폴딩 불가능한 데이터 처리 요소의 대응하는 계산을 호출하기 위해 사용되는 컴퓨터 인터페이스를 포함하지 않는, 결정 동작; 및상기 폴딩 가능한 데이터 처리 요소를 데이터 처리 요소의 하나 이상의 세트로 분할하는 동작으로서, 데이터 처리 요소의 세트 중 적어도 하나가 복수의 상기 폴딩 가능한 데이터 처리 요소를 포함하는, 분할 동작을 수행하기 위한 회로를 포함하고,상기 실행 모듈은:상기 컴퓨터 시스템의 상이한 계산 자원을 데이터 처리 요소의 각각의 세트에 할당하는 동작; 및할당된 상기 계산 자원을 이용하여 상기 데이터 처리 요소에 대응하는 계산을 수행하는 동작을 포함하는, 상기 계산 그래프에 따라 데이터를 처리하는 동작을 수행하기 위한 회로를 포함하고,상기 데이터 처리 요소의 세트 중 하나에 할당되는 상기 계산 자원 중 하나는, 폴딩 가능한 하류측 데이터 처리 요소와 연관된 함수를 호출함으로써, 제1의 폴딩 가능한 상류측 데이터 처리 요소의 출력으로부터의 데이터 흐름과 연관된 작업 요소를 폴딩 가능한 하류측 데이터 처리 요소의 입력으로 전달하며, 상기 제1의 폴딩 가능한 상류측 데이터 처리 요소와 상기 폴딩 가능한 하류측 데이터 처리 요소는 데이터 처리 요소의 동일한 세트 내에 있는, 그래프 기반 계산을 실행하는 시스템.
- 제96항에 있어서,적어도 하나의 데이터 처리 요소가 폴딩 가능하고 적어도 하나의 데이터 처리 요소는 폴딩 불가능한, 그래프 기반 계산을 실행하는 시스템.
- 제96항에 있어서,데이터 처리 요소의 세트에 할당되는 상기 계산 자원 중 적어도 하나는 프로세스를 포함하는, 그래프 기반 계산을 실행하는 시스템.
- 제96항에 있어서,상기 데이터를 처리하는 것은, 데이터 처리 요소의 각각의 세트 내에서 각각의 데이터 처리 요소와 연관된 각각의 활동의 정도의 특성을 기술하는 정보를 유지하는 것을 포함하는, 그래프 기반 계산을 실행하는 시스템.
- 제96항에 있어서,상기 데이터를 처리하는 것은, 상기 데이터 처리 요소의 세트 중 적어도 하나에 대하여, 상기 데이터 처리 요소의 세트 내의 상기 데이터 처리 요소를 결합시키는 상기 링크 요소에 의해 정해지는 시퀀스에 따라 상기 데이터 처리 요소의 세트 내의 상기 데이터 처리 요소에 대응하는 계산을 수행하는 것을 포함하는, 그래프 기반 계산을 실행하는 시스템.
- 제96항에 있어서,상기 하류측 데이터 처리 요소와 연관된 함수는, 상기 작업 요소가 상기 상류측 데이터 처리 요소에 연관된 함수에 의해 기입된 기억 지점으로부터 상기 작업 요소를 읽어들이는, 그래프 기반 계산을 실행하는 시스템.
- 제101항에 있어서,상기 상류측 데이터 처리 요소에 연관된 함수를 호출하는 프로세스는 상기 하류측 데이터 처리 요소와 연관된 함수를 호출하는 프로세스인, 그래프 기반 계산을 실행하는 시스템.
- 제96항에 있어서,복수의 입력을 갖는 데이터 처리 요소의 세트 내의 임의의 데이터 처리 요소에 대하여, 그 데이터 처리 요소의 입력에 링크된 상류측 데이터 처리 요소의 전부가 또한 그 데이터 처리 요소의 세트 내에 있는, 그래프 기반 계산을 실행하는 시스템.
- 제96항에 있어서,각각의 상기 데이터 처리 요소는 미리결정된 정도의 병렬 계산을 갖는, 그래프 기반 계산을 실행하는 시스템.
- 제104항에 있어서,데이터 처리 요소의 세트 내의 상기 데이터 처리 요소 모두는 동일한 정도의 병렬 계산을 갖는, 그래프 기반 계산을 실행하는 시스템.
- 제96항에 있어서,상기 계산 그래프의 사양은 각각의 상기 데이터 처리 요소에 연관된 실행 단계를 나타내는, 그래프 기반 계산을 실행하는 시스템.
- 제106항에 있어서,데이터 처리 요소의 세트 내의 각각의 상기 데이터 처리 요소는 동일한 실행 단계에 연관되는, 그래프 기반 계산을 실행하는 시스템.
- 그래프 기반 계산을 실행하는 시스템에 있어서,링크 요소에 의해 데이터 처리 요소가 결합되는 계산 그래프의 사양을 받아들이기 위한 수단으로서, 각각의 상기 링크 요소는 상류측 데이터 처리 요소의 출력으로부터 하류측 데이터 처리 요소의 입력으로의 데이터 흐름과 연관되는, 계산 그래프의 사양을 받아들이기 위한 수단;각각의 데이터 처리 요소가 폴딩 가능(foldable)한지 또는 폴딩 불가능(non-foldable)한지를 결정하기 위한 수단으로서, 모든 폴딩 가능한 데이터 처리 요소는 폴딩 가능한 데이터 처리 요소의 대응하는 계산을 호출하기 위해 사용되는 컴퓨터 인터페이스를 포함하며, 모든 폴딩 불가능한 데이터 처리 요소는 폴딩 불가능한 데이터 처리 요소의 대응하는 계산을 호출하기 위해 사용되는 컴퓨터 인터페이스를 포함하지 않는, 결정 수단;상기 폴딩 가능한 데이터 처리 요소를 데이터 처리 요소의 하나 이상의 세트로 분할하기 위한 수단으로서, 데이터 처리 요소의 세트 중 적어도 하나가 복수의 상기 폴딩 가능한 데이터 처리 요소를 포함하는, 분할 수단;상기 컴퓨터 시스템의 상이한 계산 자원을 데이터 처리 요소의 각각의 세트에 할당하기 위한 수단; 및할당된 상기 계산 자원을 이용하여 상기 데이터 처리 요소에 대응하는 계산을 수행하는 것을 포함하는, 상기 계산 그래프에 따라 데이터를 처리하기 위한 수단을 포함하고,상기 데이터 처리 요소의 세트 중 하나에 할당되는 상기 계산 자원 중 하나는, 폴딩 가능한 하류측 데이터 처리 요소와 연관된 함수를 호출함으로써, 제1의 폴딩 가능한 상류측 데이터 처리 요소의 출력으로부터의 데이터 흐름과 연관된 작업 요소를 폴딩 가능한 하류측 데이터 처리 요소의 입력으로 전달하며, 상기 제1의 폴딩 가능한 상류측 데이터 처리 요소와 상기 폴딩 가능한 하류측 데이터 처리 요소는 데이터 처리 요소의 동일한 세트 내에 있는, 그래프 기반 계산을 실행하는 시스템.
- 제108항에 있어서,적어도 하나의 데이터 처리 요소가 폴딩 가능하고 적어도 하나의 데이터 처리 요소는 폴딩 불가능한, 그래프 기반 계산을 실행하는 시스템.
- 제108항에 있어서,데이터 처리 요소의 세트에 할당되는 상기 계산 자원 중 적어도 하나는 프로세스를 포함하는, 그래프 기반 계산을 실행하는 시스템.
- 제108항에 있어서,상기 데이터를 처리하는 것은, 데이터 처리 요소의 각각의 세트 내에서 각각의 데이터 처리 요소와 연관된 각각의 활동의 정도의 특성을 기술하는 정보를 유지하는 것을 포함하는, 그래프 기반 계산을 실행하는 시스템.
- 제108항에 있어서,상기 데이터를 처리하는 것은, 상기 데이터 처리 요소의 세트 중 적어도 하나에 대하여, 상기 데이터 처리 요소의 세트 내의 상기 데이터 처리 요소를 결합시키는 상기 링크 요소에 의해 정해지는 시퀀스에 따라 상기 데이터 처리 요소의 세트 내의 상기 데이터 처리 요소에 대응하는 계산을 수행하는 것을 포함하는, 그래프 기반 계산을 실행하는 시스템.
- 제108항에 있어서,상기 하류측 데이터 처리 요소와 연관된 함수는, 상기 작업 요소가 상기 상류측 데이터 처리 요소에 연관된 함수에 의해 기입된 기억 지점으로부터 상기 작업 요소를 읽어들이는, 그래프 기반 계산을 실행하는 시스템.
- 제113항에 있어서,상기 상류측 데이터 처리 요소에 연관된 함수를 호출하는 프로세스는 상기 하류측 데이터 처리 요소와 연관된 함수를 호출하는 프로세스인, 그래프 기반 계산을 실행하는 시스템.
- 제108항에 있어서,복수의 입력을 갖는 데이터 처리 요소의 세트 내의 임의의 데이터 처리 요소에 대하여, 그 데이터 처리 요소의 입력에 링크된 상류측 데이터 처리 요소의 전부가 또한 그 데이터 처리 요소의 세트 내에 있는, 그래프 기반 계산을 실행하는 시스템.
- 제108항에 있어서,각각의 상기 데이터 처리 요소는 미리결정된 정도의 병렬 계산을 갖는, 그래프 기반 계산을 실행하는 시스템.
- 제116항에 있어서,데이터 처리 요소의 세트 내의 상기 데이터 처리 요소 모두는 동일한 정도의 병렬 계산을 갖는, 그래프 기반 계산을 실행하는 시스템.
- 제108항에 있어서,상기 계산 그래프의 사양은 각각의 상기 데이터 처리 요소에 연관된 실행 단계를 나타내는, 그래프 기반 계산을 실행하는 시스템.
- 제118항에 있어서,데이터 처리 요소의 세트 내의 각각의 상기 데이터 처리 요소는 동일한 실행 단계에 연관되는, 그래프 기반 계산을 실행하는 시스템.
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US11/434,623 | 2006-05-16 | ||
| US11/434,623 US7870556B2 (en) | 2006-05-16 | 2006-05-16 | Managing computing resources in graph-based computations |
| PCT/US2007/068946 WO2007137034A2 (en) | 2006-05-16 | 2007-05-15 | Managing computing resources in graph-based computations |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| KR20090018113A KR20090018113A (ko) | 2009-02-19 |
| KR101413049B1 true KR101413049B1 (ko) | 2014-06-30 |
Family
ID=38713244
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020087030136A Active KR101413049B1 (ko) | 2006-05-16 | 2007-05-15 | 그래프 기반 계산에서의 계산 자원의 관리 |
Country Status (8)
| Country | Link |
|---|---|
| US (1) | US7870556B2 (ko) |
| EP (1) | EP2021920B1 (ko) |
| JP (2) | JP2009537908A (ko) |
| KR (1) | KR101413049B1 (ko) |
| CN (2) | CN103778015B (ko) |
| AU (1) | AU2007253862C1 (ko) |
| CA (1) | CA2650143C (ko) |
| WO (1) | WO2007137034A2 (ko) |
Families Citing this family (82)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7877350B2 (en) * | 2005-06-27 | 2011-01-25 | Ab Initio Technology Llc | Managing metadata for graph-based computations |
| CN101501678B (zh) * | 2006-08-10 | 2013-10-16 | 起元科技有限公司 | 在基于图的计算中分配服务 |
| US8904391B2 (en) * | 2007-04-23 | 2014-12-02 | International Business Machines Corporation | Policy-based access control approach to staff activities of a business process |
| WO2009015342A1 (en) * | 2007-07-26 | 2009-01-29 | Ab Initio Technology Llc | Transactional graph-based computation with error handling |
| WO2009039352A1 (en) * | 2007-09-20 | 2009-03-26 | Ab Initio Technology Llc | Managing data flows in graph-based computations |
| US8069210B2 (en) * | 2008-10-10 | 2011-11-29 | Microsoft Corporation | Graph based bot-user detection |
| CN102232212B (zh) * | 2008-12-02 | 2015-11-25 | 起元技术有限责任公司 | 在数据管理系统中映射数据集的实例 |
| CN105843684B (zh) | 2009-02-13 | 2020-03-03 | 起元技术有限责任公司 | 管理任务执行 |
| KR20150038757A (ko) * | 2009-02-13 | 2015-04-08 | 아브 이니티오 테크놀로지 엘엘시 | 데이터 저장 시스템과의 통신 |
| US8266289B2 (en) * | 2009-04-23 | 2012-09-11 | Microsoft Corporation | Concurrent data processing in a distributed system |
| US8205113B2 (en) * | 2009-07-14 | 2012-06-19 | Ab Initio Technology Llc | Fault tolerant batch processing |
| KR101656813B1 (ko) * | 2009-09-16 | 2016-09-12 | 아브 이니티오 테크놀로지 엘엘시 | 데이터세트 요소의 매핑 |
| US8667329B2 (en) * | 2009-09-25 | 2014-03-04 | Ab Initio Technology Llc | Processing transactions in graph-based applications |
| US8549523B2 (en) | 2009-11-23 | 2013-10-01 | International Business Machines Corporation | Performing runtime analysis and control of folding identified threads by assuming context of another thread and executing in lieu of another thread folding tool |
| US8832663B2 (en) | 2009-11-23 | 2014-09-09 | International Business Machines Corporation | Thread serialization and disablement tool |
| CN107102848B (zh) * | 2009-12-14 | 2020-11-24 | 起元技术有限责任公司 | 规定用户界面元素 |
| US9665620B2 (en) | 2010-01-15 | 2017-05-30 | Ab Initio Technology Llc | Managing data queries |
| US8555265B2 (en) | 2010-05-04 | 2013-10-08 | Google Inc. | Parallel processing of data |
| CA2801573C (en) | 2010-06-15 | 2018-08-14 | Ab Initio Technology Llc | Dynamically loading graph-based computations |
| US20110314075A1 (en) * | 2010-06-18 | 2011-12-22 | Nokia Corporation | Method and apparatus for managing distributed computations within a computation space |
| EP2609507B1 (en) * | 2010-08-25 | 2019-05-15 | Ab Initio Technology LLC | Evaluating dataflow graph characteristics |
| CN103180826B (zh) | 2010-10-25 | 2017-04-05 | 起元技术有限责任公司 | 在代表计算机程序的数据流图中管理数据集对象 |
| WO2012097278A1 (en) | 2011-01-14 | 2012-07-19 | Ab Initio Technology Llc | Managing changes to collections of data |
| US9021299B2 (en) | 2011-02-18 | 2015-04-28 | Ab Initio Technology Llc | Restarting processes |
| US9116759B2 (en) | 2011-02-18 | 2015-08-25 | Ab Initio Technology Llc | Restarting data processing systems |
| US8782656B2 (en) * | 2011-02-24 | 2014-07-15 | International Business Machines Corporation | Analysis of operator graph and dynamic reallocation of a resource to improve performance |
| US9116955B2 (en) | 2011-05-02 | 2015-08-25 | Ab Initio Technology Llc | Managing data queries |
| US8606615B2 (en) * | 2011-06-27 | 2013-12-10 | Bank Of America Corporation | System for managing and tracking an inventory of elements |
| US9503512B2 (en) | 2012-03-21 | 2016-11-22 | Intertrust Technologies Corporation | Distributed computation systems and methods |
| JP6004818B2 (ja) * | 2012-08-07 | 2016-10-12 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 並列化方法、システム、及びプログラム |
| US10489360B2 (en) | 2012-10-17 | 2019-11-26 | Ab Initio Technology Llc | Specifying and applying rules to data |
| 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 |
| US9811233B2 (en) | 2013-02-12 | 2017-11-07 | Ab Initio Technology Llc | Building applications for configuring processes |
| US11061539B2 (en) | 2013-03-15 | 2021-07-13 | The Mathworks, Inc. | Reference nodes in a computational graph |
| AU2014257132B2 (en) | 2013-04-23 | 2018-03-29 | Ab Initio Technology Llc | Controlling tasks performed by a computing system |
| CN106170762B (zh) | 2013-12-05 | 2020-01-14 | 起元技术有限责任公司 | 管理包括子图的数据流图所用的接口 |
| WO2015085291A1 (en) | 2013-12-06 | 2015-06-11 | Ab Initio Technology Llc | Source code translation |
| CN104954823B (zh) * | 2014-03-31 | 2018-06-15 | 华为技术有限公司 | 一种图计算预处理的装置、方法及系统 |
| AU2015289442B2 (en) | 2014-07-18 | 2019-07-11 | Ab Initio Technology Llc | Managing lineage information |
| US9330199B2 (en) | 2014-07-21 | 2016-05-03 | Facebook, Inc. | Striping of directed graphs and nodes with improved functionality |
| EP3189420B1 (en) | 2014-09-02 | 2023-08-23 | AB Initio Technology LLC | Managing execution state of components in a graph-based program specification for controlling their associated tasks |
| US9747112B2 (en) | 2014-09-02 | 2017-08-29 | Ab Initio Technology, Llc | Managing invocation of tasks |
| US9785419B2 (en) * | 2014-09-02 | 2017-10-10 | Ab Initio Technology Llc | Executing graph-based program specifications |
| WO2016036824A1 (en) * | 2014-09-02 | 2016-03-10 | Ab Initio Technology Llc | Visually specifying subsets of components in graph-based programs through user interactions |
| US9830343B2 (en) * | 2014-09-02 | 2017-11-28 | Ab Initio Technology Llc | Compiling graph-based program specifications |
| US9933918B2 (en) | 2014-09-02 | 2018-04-03 | Ab Initio Technology Llc | Specifying control and data connections in graph-based programs |
| KR20170046777A (ko) * | 2014-09-02 | 2017-05-02 | 아브 이니티오 테크놀로지 엘엘시 | 데이터 처리 태스크의 제어 |
| US9760406B2 (en) | 2014-09-02 | 2017-09-12 | Ab Initio Technology Llc | Controlling data processing tasks |
| US9626393B2 (en) | 2014-09-10 | 2017-04-18 | Ab Initio Technology Llc | Conditional validation rules |
| JP6375201B2 (ja) * | 2014-10-24 | 2018-08-15 | 株式会社野村総合研究所 | データフローの自動並列化システム |
| US9880818B2 (en) * | 2014-11-05 | 2018-01-30 | Ab Initio Technology Llc | Application testing |
| US10055333B2 (en) | 2014-11-05 | 2018-08-21 | Ab Initio Technology Llc | Debugging a graph |
| US10437819B2 (en) | 2014-11-14 | 2019-10-08 | Ab Initio Technology Llc | Processing queries containing a union-type operation |
| JP6413789B2 (ja) * | 2015-01-22 | 2018-10-31 | 富士通株式会社 | ジョブ管理プログラム、ジョブ管理方法及びジョブ管理装置 |
| US10417281B2 (en) | 2015-02-18 | 2019-09-17 | Ab Initio Technology Llc | Querying a data source on a network |
| WO2016154460A1 (en) * | 2015-03-24 | 2016-09-29 | Kyndi, Inc. | Cognitive memory graph indexing, storage and retrieval |
| US20160342396A1 (en) * | 2015-05-20 | 2016-11-24 | Ab lnitio Technology LLC | Visual program specification and compilation of graph-based computation |
| US10657134B2 (en) | 2015-08-05 | 2020-05-19 | Ab Initio Technology Llc | Selecting queries for execution on a stream of real-time data |
| JP6598981B2 (ja) * | 2015-08-11 | 2019-10-30 | アビニシオ テクノロジー エルエルシー | データ処理グラフのコンパイル |
| US10425273B2 (en) | 2015-09-03 | 2019-09-24 | Hitachi, Ltd. | Data processing system and data processing method |
| KR102204887B1 (ko) * | 2015-10-28 | 2021-01-19 | 구글 엘엘씨 | 연산 그래프 수정 |
| US11151446B2 (en) * | 2015-10-28 | 2021-10-19 | Google Llc | Stream-based accelerator processing of computational graphs |
| SG11201803929YA (en) | 2015-12-21 | 2018-06-28 | Ab Initio Technology Llc | Sub-graph interface generation |
| JP6698177B2 (ja) * | 2016-05-17 | 2020-05-27 | アビニシオ テクノロジー エルエルシー | 再構成可能な分散処理 |
| CN110268422B (zh) * | 2017-03-24 | 2023-12-01 | 谷歌有限责任公司 | 利用强化学习的设备布局优化 |
| EP4198731B1 (en) * | 2017-03-29 | 2025-07-30 | Ab Initio Technology LLC | Systems and methods for performing data processing operations using variable level parallelism |
| US10817310B2 (en) | 2017-09-01 | 2020-10-27 | Ab Initio Technology Llc | Executing graph-based program specifications |
| US11423083B2 (en) | 2017-10-27 | 2022-08-23 | Ab Initio Technology Llc | Transforming a specification into a persistent computer program |
| US11188434B2 (en) | 2017-12-08 | 2021-11-30 | Ab Initio Technology Llc | Systems and methods for monitoring execution of structured query language (SQL) queries |
| US10559276B2 (en) * | 2018-02-03 | 2020-02-11 | Facebook Technologies, Llc | Apparatus, system, and method for mitigating motion-to-photon latency in head-mounted displays |
| CN110297699B (zh) | 2018-03-23 | 2021-09-14 | 华为技术有限公司 | 调度方法、调度器、存储介质及系统 |
| US12032631B2 (en) | 2018-05-30 | 2024-07-09 | Ab Initio Technology Llc | Systems and methods for dataflow graph optimization |
| US10978176B2 (en) | 2018-06-29 | 2021-04-13 | pulseData Inc. | Machine learning systems and methods for predicting risk of renal function decline |
| CN114008594A (zh) * | 2019-07-17 | 2022-02-01 | 谷歌有限责任公司 | 调度计算图上的操作 |
| US11093223B2 (en) | 2019-07-18 | 2021-08-17 | Ab Initio Technology Llc | Automatically converting a program written in a procedural programming language into a dataflow graph and related systems and methods |
| GB202004594D0 (en) | 2020-03-30 | 2020-05-13 | Microsoft Technology Licensing Llc | Partitioning for an execution pipeline |
| DE112022000878T5 (de) | 2021-01-31 | 2024-02-15 | Ab Initio Technology Llc | Datensatzmultiplexer für datenverarbeitungssystem |
| CA3209125A1 (en) | 2021-01-31 | 2022-08-04 | Ab Initio Technology Llc | Data processing system with manipulation of logical dataset groups |
| WO2024086674A1 (en) * | 2022-10-18 | 2024-04-25 | The Regents Of The University Of California | Systems and methods for subgraph matching using active learning |
| US20240168758A1 (en) * | 2022-10-21 | 2024-05-23 | C Squared Ip Holdings Llc | Systems and methods of automatically constructing directed acyclic graphs (dags) |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4491909A (en) * | 1981-03-18 | 1985-01-01 | International Business Machines Corporation | Data processing system having shared memory |
| US20020129340A1 (en) * | 1999-10-28 | 2002-09-12 | Tuttle Douglas D. | Reconfigurable isomorphic software representations |
Family Cites Families (27)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4972314A (en) | 1985-05-20 | 1990-11-20 | Hughes Aircraft Company | Data flow signal processor method and apparatus |
| JPH04227589A (ja) * | 1990-08-10 | 1992-08-17 | Sharp Corp | データフロープログラムの割付け装置および割付け方法 |
| US5694546A (en) | 1994-05-31 | 1997-12-02 | Reisman; Richard R. | System for automatic unattended electronic information transport between a server and a client by a vendor provided transport software with a manifest list |
| US5768594A (en) * | 1995-07-14 | 1998-06-16 | Lucent Technologies Inc. | Methods and means for scheduling parallel processors |
| US5996019A (en) * | 1995-07-19 | 1999-11-30 | Fujitsu Network Communications, Inc. | Network link access scheduling using a plurality of prioritized lists containing queue identifiers |
| US7028088B1 (en) * | 1996-04-03 | 2006-04-11 | Scientific-Atlanta, Inc. | System and method for providing statistics for flexible billing in a cable environment |
| US5966072A (en) | 1996-07-02 | 1999-10-12 | Ab Initio Software Corporation | Executing computations expressed as graphs |
| US6330008B1 (en) | 1997-02-24 | 2001-12-11 | Torrent Systems, Inc. | Apparatuses and methods for monitoring performance of parallel computing |
| US6110220A (en) * | 1997-02-24 | 2000-08-29 | Lucent Technologies Inc. | Concurrent hardware-software co-synthesis of hard real-time aperiodic and periodic specifications of embedded system architectures |
| US5933640A (en) | 1997-02-26 | 1999-08-03 | Digital Equipment Corporation | Method for analyzing and presenting test execution flows of programs |
| US5999729A (en) | 1997-03-06 | 1999-12-07 | Continuum Software, Inc. | System and method for developing computer programs for execution on parallel processing systems |
| US6088716A (en) | 1997-04-28 | 2000-07-11 | Ab Initio Software Corporation | Method for preventing buffer deadlock in dataflow computations |
| US6437796B2 (en) | 1998-02-17 | 2002-08-20 | Sun Microsystems, Inc. | Multiple processor visibility search system and method |
| US6480876B2 (en) | 1998-05-28 | 2002-11-12 | Compaq Information Technologies Group, L.P. | System for integrating task and data parallelism in dynamic applications |
| US6675189B2 (en) | 1998-05-28 | 2004-01-06 | Hewlett-Packard Development Company, L.P. | System for learning and applying integrated task and data parallel strategies in dynamic applications |
| US6101599A (en) * | 1998-06-29 | 2000-08-08 | Cisco Technology, Inc. | System for context switching between processing elements in a pipeline of processing elements |
| SE515820C3 (sv) | 1998-09-01 | 2001-12-11 | Ericsson Telefon Ab L M | Mobiltelefonapparat och metod för vidarekoppling av samtal |
| US6983463B1 (en) * | 1998-10-02 | 2006-01-03 | Microsoft Corporation | Network independent profiling of applications for automatic partitioning and distribution in a distributed computing environment |
| US6608628B1 (en) | 1998-11-06 | 2003-08-19 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration (Nasa) | Method and apparatus for virtual interactive medical imaging by multiple remotely-located users |
| US6449711B1 (en) | 1999-02-04 | 2002-09-10 | Sun Microsystems, Inc. | Method, apparatus, and article of manufacture for developing and executing data flow programs |
| US6748440B1 (en) * | 1999-05-12 | 2004-06-08 | Microsoft Corporation | Flow of streaming data through multiple processing modules |
| US6584581B1 (en) * | 1999-12-06 | 2003-06-24 | Ab Initio Software Corporation | Continuous flow checkpointing data processing |
| US6848100B1 (en) | 2000-03-31 | 2005-01-25 | Intel Corporation | Hierarchical software path profiling |
| US6813761B1 (en) | 2000-06-30 | 2004-11-02 | Microsoft Corporation | Methods for enhancing flow analysis |
| GB2376094A (en) | 2001-05-30 | 2002-12-04 | Ibm | Flexible navigation of a workflow graph in a data processing system |
| JP3719509B2 (ja) * | 2002-04-01 | 2005-11-24 | 株式会社ソニー・コンピュータエンタテインメント | シリアル演算パイプライン、演算装置、算術論理演算回路およびシリアル演算パイプラインによる演算方法 |
| US7167850B2 (en) | 2002-10-10 | 2007-01-23 | Ab Initio Software Corporation | Startup and control of graph-based computation |
-
2006
- 2006-05-16 US US11/434,623 patent/US7870556B2/en active Active
-
2007
- 2007-05-15 JP JP2009511202A patent/JP2009537908A/ja active Pending
- 2007-05-15 KR KR1020087030136A patent/KR101413049B1/ko active Active
- 2007-05-15 AU AU2007253862A patent/AU2007253862C1/en active Active
- 2007-05-15 CN CN201310424248.6A patent/CN103778015B/zh active Active
- 2007-05-15 EP EP07783766.4A patent/EP2021920B1/en active Active
- 2007-05-15 WO PCT/US2007/068946 patent/WO2007137034A2/en active Application Filing
- 2007-05-15 CN CN2007800170903A patent/CN101443733B/zh active Active
- 2007-05-15 CA CA2650143A patent/CA2650143C/en active Active
-
2013
- 2013-09-27 JP JP2013201721A patent/JP5940503B2/ja active Active
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4491909A (en) * | 1981-03-18 | 1985-01-01 | International Business Machines Corporation | Data processing system having shared memory |
| US20020129340A1 (en) * | 1999-10-28 | 2002-09-12 | Tuttle Douglas D. | Reconfigurable isomorphic software representations |
Also Published As
| Publication number | Publication date |
|---|---|
| WO2007137034A2 (en) | 2007-11-29 |
| WO2007137034A9 (en) | 2009-01-15 |
| EP2021920A2 (en) | 2009-02-11 |
| CA2650143C (en) | 2017-06-13 |
| HK1122627A1 (en) | 2009-05-22 |
| EP2021920A4 (en) | 2013-01-23 |
| JP5940503B2 (ja) | 2016-06-29 |
| CN101443733B (zh) | 2013-10-30 |
| CN103778015A (zh) | 2014-05-07 |
| AU2007253862B2 (en) | 2012-07-12 |
| JP2009537908A (ja) | 2009-10-29 |
| US7870556B2 (en) | 2011-01-11 |
| US20070271381A1 (en) | 2007-11-22 |
| KR20090018113A (ko) | 2009-02-19 |
| AU2007253862C1 (en) | 2013-03-21 |
| AU2007253862A1 (en) | 2007-11-29 |
| JP2014029718A (ja) | 2014-02-13 |
| WO2007137034A3 (en) | 2008-10-30 |
| CN103778015B (zh) | 2017-06-09 |
| CA2650143A1 (en) | 2007-11-29 |
| CN101443733A (zh) | 2009-05-27 |
| EP2021920B1 (en) | 2017-03-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR101413049B1 (ko) | 그래프 기반 계산에서의 계산 자원의 관리 | |
| CN105164638B (zh) | 控制由计算系统执行的任务 | |
| Pautasso et al. | Parallel computing patterns for grid workflows | |
| JP6763072B2 (ja) | データ処理グラフのコンパイル | |
| JPWO2008120367A1 (ja) | 並列化プログラム生成方法、並列化プログラム生成装置、及び並列化プログラム生成プログラム | |
| KR20090089327A (ko) | 파이프라인 컴퓨터 처리의 병렬화를 위한 방법 및 시스템 | |
| JP2005508029A (ja) | リコンフィギュアラブルアーキテクチャのためのプログラム変換方法 | |
| Zimmermann et al. | An approach to machine-independent parallel programming | |
| Ruggiero | Throttle Mechanisms for the Manchester Dataflow Machine | |
| JP4946323B2 (ja) | 並列化プログラム生成方法、並列化プログラム生成装置、及び並列化プログラム生成プログラム | |
| AU2012241069B2 (en) | Managing computing resources in graph-based computations | |
| Krebs et al. | A translation framework from RVC-CAL dataflow programs to OpenCL/SYCL based implementations | |
| HK1122627B (en) | Managing computing resources in graph-based computations | |
| HK1192782A (en) | Managing computing resources in graph-based computations | |
| Arafath et al. | A novel instruction scheduling scheme for clustered VLIW architecture | |
| HK1192782B (en) | Managing computing resources in graph-based computations | |
| Falk et al. | Integrated modeling using finite state machines and dataflow graphs | |
| Anders | Complexity analysis of code generation for the SCAD machine | |
| Gebrewahid et al. | Actor fission transformations for executing dataflow programs on manycores | |
| Sells | A Code Architecture to Streamline the Missile Simulation Life Cycle | |
| Sobral et al. | A SCOOPP evaluation on packing parallel objects in run-time | |
| CHᴀIᴍᴏᴠ | Performance Analysis of Many-Task Runtimes | |
| Monjau et al. | Analysing non-functional requirements of embedded systems | |
| Kempf et al. | Simulation of scientific programs on parallel architectures with MIMESIS environment | |
| HK1256053B (en) | Data processing graph compilation |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PA0105 | International application |
Patent event date: 20081210 Patent event code: PA01051R01D Comment text: International Patent Application |
|
| PG1501 | Laying open of application | ||
| N231 | Notification of change of applicant | ||
| PN2301 | Change of applicant |
Patent event date: 20100323 Comment text: Notification of Change of Applicant Patent event code: PN23011R01D |
|
| A201 | Request for examination | ||
| PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 20111122 Comment text: Request for Examination of Application |
|
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20130605 Patent event code: PE09021S01D |
|
| E701 | Decision to grant or registration of patent right | ||
| PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20140327 |
|
| GRNT | Written decision to grant | ||
| PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20140623 Patent event code: PR07011E01D |
|
| PR1002 | Payment of registration fee |
Payment date: 20140623 End annual number: 3 Start annual number: 1 |
|
| PG1601 | Publication of registration | ||
| FPAY | Annual fee payment |
Payment date: 20170613 Year of fee payment: 4 |
|
| PR1001 | Payment of annual fee |
Payment date: 20170613 Start annual number: 4 End annual number: 4 |
|
| FPAY | Annual fee payment |
Payment date: 20180612 Year of fee payment: 5 |
|
| PR1001 | Payment of annual fee |
Payment date: 20180612 Start annual number: 5 End annual number: 5 |
|
| FPAY | Annual fee payment |
Payment date: 20190613 Year of fee payment: 6 |
|
| PR1001 | Payment of annual fee |
Payment date: 20190613 Start annual number: 6 End annual number: 6 |
|
| PR1001 | Payment of annual fee |
Payment date: 20220614 Start annual number: 9 End annual number: 9 |
|
| PR1001 | Payment of annual fee |
Payment date: 20240617 Start annual number: 11 End annual number: 11 |
|
| PR1001 | Payment of annual fee |
Payment date: 20250616 Start annual number: 12 End annual number: 12 |