Processing

Please wait...

Settings

Settings

Goto Application

1. WO1997023826 - OVERPARTITIONING SYSTEM AND METHOD FOR INCREASING CHECKPOINTS IN COMPONENT-BASED PARALLEL APPLICATIONS

Publication Number WO/1997/023826
Publication Date 03.07.1997
International Application No. PCT/US1996/019706
International Filing Date 11.12.1996
Chapter 2 Demand Filed 11.07.1997
IPC
G06F 9/50 2006.01
GPHYSICS
06COMPUTING; CALCULATING OR COUNTING
FELECTRIC DIGITAL DATA PROCESSING
9Arrangements for program control, e.g. control units
06using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
46Multiprogramming arrangements
50Allocation of resources, e.g. of the central processing unit
CPC
G06F 2209/5017
GPHYSICS
06COMPUTING; CALCULATING; COUNTING
FELECTRIC DIGITAL DATA PROCESSING
2209Indexing scheme relating to G06F9/00
50Indexing scheme relating to G06F9/50
5017Task decomposition
G06F 9/5027
GPHYSICS
06COMPUTING; CALCULATING; COUNTING
FELECTRIC DIGITAL DATA PROCESSING
9Arrangements for program control, e.g. control units
06using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
46Multiprogramming arrangements
50Allocation of resources, e.g. of the central processing unit [CPU]
5005to service a request
5027the resource being a machine, e.g. CPUs, Servers, Terminals
Applicants
  • AB INITIO SOFTWARE CORPORATION [US]/[US]
Inventors
  • STANFILL, Craig
  • LASSER, Cliff
  • LORDI, Robert
Agents
  • LAND, John
Priority Data
08/570,58511.12.1995US
Publication Language English (EN)
Filing Language English (EN)
Designated States
Title
(EN) OVERPARTITIONING SYSTEM AND METHOD FOR INCREASING CHECKPOINTS IN COMPONENT-BASED PARALLEL APPLICATIONS
(FR) SYSTEME ET PROCEDE DE SURCLOISONNEMENT PERMETTANT D'AUGMENTER LES POINTS DE REPRISE DANS DES APPLICATIONS PARALLELES BASEES SUR DES PROGRAMMES CONSTITUANTS
Abstract
(EN)
Two methods for partitioning the work to be done by a computer program into smaller pieces so that checkpoints may be done more frequently. Initially, a parallel task starts with one or more input data sets having $i(q) initial partitions, divides the input data sets into $i(p) partitions by some combination of partitioning elements ($i(i.e.), partitioners/gatherers), runs an instance of a component program on each of the $i(p) partitions of the data, and produces one or more sets of output files, with each set being considered a partitioned data set. The invention is applied to such a task to create a new, 'overpartitioned' task as follows: (1) the partitioner is replaced with an 'overpartitioner' which divides its $i(q) inputs into $i(n)* $i(p) partitions, for some integer factor $i(n); (2) the component program is run in a series of $i(n) execution phases, with $i(p) instances of the component program bein run at any time. In each phase, each instance of the component program will read one overpartition of the input data and produce one partition of output data; (3) at the end of each of the $i(n) execution phases, the system is quiescent and may be checkpointed. A first embodiment explicitly overpartitions input data by using known partitioner programs, communication channels, and gatherer programs to produce overpartitioned intermediate files. The second embodiment dynamically overpartitions input data by arranging for the component programs to consecutively read contiguous subsets of the original input data.
(FR)
La présente invention concerne deux procédés permettant de cloisonner le travail devant être effectué par un programme informatique en groupes plus petits afin que des points de reprise puissent être mis en oeuvre plus fréquemment. Au départ, une tâche parallèle commence avec une ou plusieurs séries de données d'entrée ayant q partitions initiales, divise les séries de données d'entrée en p partitions grâce à une certaine combinaison d'éléments de cloisonnement (par ex. cloisonneurs/rassembleurs), réalise une instance d'un programme constituant sur chacune des p partitions des données et produit une ou plusieurs séries de fichiers de sortie, chaque série étant considérée comme une série de données cloisonnée. La présente invention est appliquée à une telle tâche afin de créer une nouvelle tâche surcloisonnée de la manière suivante: (1) le cloisonneur est remplacé par un 'surcloisonneur' qui divise ses q entrées en n* p partitions pour un certain facteur entier n; (2) le programme constituant est réalisé dans une série de n phases d'exécution, p instances du programme constituant étant réalisées à n'importe quel moment. Dans chaque phase, chaque instance du programme constituant va lire une surpartition des données d'entrée et produire une partition de données de sortie; (3) à la fin de chacune des n phases d'exécution, le système est quiescent et peut être jalonné de points de reprise. Dans un premier mode de réalisation, les données d'entrée sont explicitement surcloisonnées à l'aide de programmes de cloisonnement, de voies de communication et de programmes rassembleurs connus pour produire des fichiers intermédiaires surcloisonnés. Dans un deuxième mode de réalisation, des données d'entrée sont surcloisonnées de manière dynamique par le fait que les programmes constituants lisent consécutivement des sous-séries contiguës des données d'entrée initiales.
Latest bibliographic data on file with the International Bureau