Algorithmique parallèle du texte : du modèle systolique au modèle CGM

Nous avons tous l'intuition qu'un travail peut etre realise en beaucoup moins de temps s'il est reparti entre plusieurs personnes ou sur plusieurs machines. Cette notion se nomme le parallelisme qui peut se definir comme l'etat de ce qui se developpe dans la meme direction ou en meme temps. C'est naturellement que la notion de parallelisme a ete appliquee aux ordinateurs. De ce fait, il a ete possible de repondre aux besoins de puissance necessaire a la realisation de projets gourmands en temps de calculs et en taille memoire. Le parallelisme combine a une algorithmique performante permet de gagner du temps afin de repondre au mieux a d'importants besoins. Il rompt avec l'approche classique qui consiste a gagner de la vitesse en effectuant plus rapidement chaque operation, approche bornee par les lois de la physique. La notion de parallelisme a donc grandement contribue a la multiplication des modeles informatiques. Nous nous interesserons au modele systolique et au modele parallele a gros grains baptise (Coarse Grained Multicomputers). Le modele CGM a ete propose par F. Dehne et al. et il possede des proprietes qui le rendent tres interessant d'un point de vue pratique. Il est parfaitement adapte a la modelisation des architectures existantes pour lesquelles le nombre de processeurs peut etre de plusieurs milliers et la taille des donnees peut atteindre plusieurs milliards d'octets. Un algorithme developpe pour ce modele est constitue de calculs locaux utilisant, si possible, des algorithmes sequentiels optimaux et de rondes de communication dont le nombre doit etre independant de la taille des donnees a traiter. Le modele CGM est donc tres interessant d'un point de vue economique. En effet, ce modele est independant des architectures reelles et permet de reutiliser des algorithmes sequentiels efficaces, ce qui le rend tres portable. Dans cette these nous nous interessons a des problemes d'algorithmique du texte. Ces problemes peuvent ameliorer la compression de donnees ou bien etre utilises en bio-informatique. Ainsi, nous proposons des solutions CGM aux problemes de recherche de la plus longue sous-suite croissante, de la plus longue sous-suite commune a deux mots, du plus long suffixe repete en chaque caractere d'un mot et de repetitions. Pour cela, nous sommes partis de solutions systoliques existantes que nous avons adaptees au modele CGM. Le but de ce travail est en fait double. D'une part, nous proposons pour la premiere fois des solutions CGM a ces quatre problemes. D'autre part, nous montrons comment des solutions systoliques peuvent etre derivees en algorithmes CGM. En effet, de nombreux problemes ont ete etudies sur des architectures systoliques, c'est a dire des machines dediees, non reutilisables pour d'autres problemes. Le modele CGM quant a lui permet de travailler avec des machines peu couteuses et reutilisables a souhaits. De plus, l'experience acquise au cours de ces travaux nous permet d'avoir une bonne idee des solutions systoliques adaptables au modele CGM. Ceci pourrait permettre de consolider le pont existant entre modeles a grains fins et modeles a gros grains. Nous finissons cette these par une discussion sur l'equilibrage de charge des solutions proposees et sur la predictivite de l'adaptation d'autres solutions systoliques au modele CGM.

[1]  Jean Frédéric Myoupo,et al.  All-to-All Broadcasting Algorithms on Honeycomb Networks and Applications , 1999, Parallel Process. Lett..

[2]  Albert Chan,et al.  Coarse grained parallel maximum matching in convex bipartite graphs , 1999, Proceedings 13th International Parallel Processing Symposium and 10th Symposium on Parallel and Distributed Processing. IPPS/SPDP 1999.

[3]  Welf Löwe,et al.  On Linear Schedules of Task Graphs for Generalized LogP-Machines , 1997, Euro-Par.

[4]  Patrice Quinton,et al.  The systematic design of systolic arrays , 1987 .

[5]  Afonso Ferreira,et al.  A Randomized BSP/CGM Algorithm for the Maximal Independent Set Problem , 1999, Parallel Process. Lett..

[6]  Mike Paterson,et al.  A Faster Algorithm Computing String Edit Distances , 1980, J. Comput. Syst. Sci..

[7]  Shane S. Sturrock,et al.  Time Warps, String Edits, and Macromolecules – The Theory and Practice of Sequence Comparison . David Sankoff and Joseph Kruskal. ISBN 1-57586-217-4. Price £13.95 (US$22·95). , 2000 .

[8]  Michael A. Arbib,et al.  An Introduction to Formal Language Theory , 1988, Texts and Monographs in Computer Science.

[9]  Alfred V. Aho,et al.  The Design and Analysis of Computer Algorithms , 1974 .

[10]  Tero Harju,et al.  Combinatorics on Words , 2004 .

[11]  Jean Frédéric Myoupo,et al.  Improved Linear Systolic Algorithms for Substring Statistics , 1997, Inf. Process. Lett..

[12]  Dan I. Moldovan,et al.  Parallel processing - from applications to systems , 1993 .

[13]  Jean Berstel,et al.  A Characterization of Overlap-Free Morphisms , 1993, Discret. Appl. Math..

[14]  Ralph Duncan,et al.  A survey of parallel computer architectures , 1990, Computer.

[15]  Afonso Ferreira,et al.  Efficient Parallel Graph Algorithms for Coarse-Grained Multicomputers and BSP , 2002, Algorithmica.

[16]  David Semé Algorithmique parallele pour des problemes de reconnaissance de formes et de motifs sur les modeles systolique et bsr , 1999 .

[17]  Claus Rick,et al.  New Algorithms for the Longest Common Subsequence Problem , 1994 .

[18]  Jayadev Misra A Technique of Algorithm Construction on Sequences , 1978, IEEE Transactions on Software Engineering.

[19]  Daniel S. Hirschberg,et al.  Algorithms for the Longest Common Subsequence Problem , 1977, JACM.

[20]  Wojciech Rytter,et al.  Efficient parallel algorithms , 1988 .

[21]  Gil Utard,et al.  READ2: Put disks at network level , 2003 .

[22]  Ahmad Wabbi Architectures paralleles systoliques pour la compression de donnees et la manipulation des sous-chaines , 1998 .

[23]  Christophe Cérin,et al.  An efficient parallel solution for the longest increasing subsequence problem , 1993, Proceedings of ICCI'93: 5th International Conference on Computing and Information.

[24]  Thierry Garcia,et al.  A Coarse-Grained Multicomputer Algorithm for the Longest Repeated Suffix Ending at Each Point in a Word , 2003, ICCSA.

[25]  Lawrence Snyder,et al.  Type architectures, shared memory, and the corollary of modest potential , 1986 .

[26]  Isabelle Guérin Lassous,et al.  List Ranking on a Coarse Grained Multiprocessor , 1999 .

[27]  Chris J. Scheiman,et al.  LogGP: incorporating long messages into the LogP model—one step closer towards a realistic model for parallel computation , 1995, SPAA '95.

[28]  D. P. Lopresti Discounts for dynamic programming with applications in VLSI processor arrays , 1987 .

[29]  H. T. Kung The Structure of Parallel Algorithms , 1980, Adv. Comput..

[30]  Richard M. Karp,et al.  Parallel Algorithms for Shared-Memory Machines , 1991, Handbook of Theoretical Computer Science, Volume A: Algorithms and Complexity.

[31]  Abhiram G. Ranade,et al.  How to emulate shared memory , 1991, 28th Annual Symposium on Foundations of Computer Science (sfcs 1987).

[32]  Gregory Kucherov,et al.  On Maximal Repetitions in Words , 1999, FCT.

[33]  Mikhail J. Atallah,et al.  Efficient Parallel Algorithms for String Editing and Related Problems , 1990, SIAM J. Comput..

[34]  Dominique Lavenier,et al.  An integrated 2D systolic array for spelling correction , 1993, Integr..

[35]  Kurt Mehlhorn,et al.  Deterministic Simulation of Idealized Parallel Computers on More Realistic Ones , 1986, SIAM J. Comput..

[36]  Udi Manber,et al.  Introduction to algorithms - a creative approach , 1989 .

[37]  Steven Fortune,et al.  Parallelism in random access machines , 1978, STOC.

[38]  Alberto Apostolico,et al.  Fast Linear-Space Computations of Longest Common Subsequences , 1992, Theor. Comput. Sci..

[39]  Frank Thomson Leighton,et al.  Wafer-scale integration of systolic arrays , 1982, 23rd Annual Symposium on Foundations of Computer Science (sfcs 1982).

[40]  Afonso Ferreira,et al.  Scalable 2d convex hull and triangulation algorithms for coarse grained multicomputers , 1995, Proceedings.Seventh IEEE Symposium on Parallel and Distributed Processing.

[41]  I. Guérin-Lassous Algorithmes paralleles de traitement de graphes : une approche basee sur l'analyse experimentale , 1999 .

[42]  Gil Utard,et al.  Improving cluster IO performance with remote efficient access to distant device , 2002, 27th Annual IEEE Conference on Local Computer Networks, 2002. Proceedings. LCN 2002..

[43]  M. Waterman Mathematical Methods for DNA Sequences , 1989 .

[44]  Kiem-Phong Vo,et al.  Heaviest Increasing/Common Subsequence Problems , 1992, CPM.

[45]  Sung-Ryul Kim,et al.  Fully Scalable Fault-Tolerant Simulations for BSP and CGM , 2000, J. Parallel Distributed Comput..

[46]  Andrew Rau-Chaplin,et al.  Scalable parallel computational geometry for coarse grained multicomputers , 1996, Int. J. Comput. Geom. Appl..

[47]  Cameron Bruce Fraser,et al.  Subsequences and Supersequences of Strings , 1995 .

[48]  Maxime Crochemore,et al.  An Optimal Algorithm for Computing the Repetitions in a Word , 1981, Inf. Process. Lett..

[49]  Andrew Rau-Chaplin,et al.  Scalable parallel geometric algorithms for coarse grained multicomputers , 1993, SCG '93.

[50]  Torsten Suel,et al.  Towards efficiency and portability: programming with the BSP model , 1996, SPAA '96.

[51]  Edson Cáceres,et al.  A Parallel Wavefront Algorithm for Efficient Biological Sequence Comparison , 2003, ICCSA.

[52]  Jean Frédéric Myoupo,et al.  Efficient Parallel Computing of a Longest Common Subsequence of Three Strings , 1997, PPSC.

[53]  Vladimír Dancík,et al.  Expected length of longest common subsequences , 1994 .

[54]  David A. Patterson,et al.  Logp quantified: the case for low-overhead local area networks , 1995 .

[55]  Ivan Stojmenovic,et al.  Honeycomb Networks: Topological Properties and Communication Algorithms , 1997, IEEE Trans. Parallel Distributed Syst..

[56]  Jean Frédéric Myoupo,et al.  A Faster Linear Systolic Algorithm for Recovering a Longest Common Subsequence , 1997, Inf. Process. Lett..

[57]  Yves Robert,et al.  Algorithmes et architectures systoliques , 1989 .

[58]  Dan Gusfield,et al.  Algorithms on Strings, Trees, and Sequences - Computer Science and Computational Biology , 1997 .

[59]  Michael J. Flynn,et al.  Some Computer Organizations and Their Effectiveness , 1972, IEEE Transactions on Computers.

[60]  Leslie G. Valiant,et al.  A bridging model for parallel computation , 1990, CACM.

[61]  Maxime Crochemore Optimal Factor Transducers , 1985 .

[62]  Xiaotie Deng,et al.  A randomized parallel 3D convex hull algorithm for coarse grained multicomputers , 1995, SPAA '95.

[63]  Richard J. Lorentz,et al.  Linear Time Recognition of Squarefree Strings , 1985 .

[64]  Jean Frédéric Myoupo,et al.  Exact Computations of the Longest Repeated Suffix Ending at Each Point in a Word , 2002, Computers and Their Applications.

[65]  Sanjeev Saxena,et al.  Parallel algorithms for the longest common subsequence problem , 1997, Proceedings Fourth International Conference on High-Performance Computing.

[66]  Alfred V. Aho,et al.  Algorithms for Finding Patterns in Strings , 1991, Handbook of Theoretical Computer Science, Volume A: Algorithms and Complexity.

[67]  Yves Robert,et al.  A Systolic Array for the Longest Common Subsequence Problem , 1985, Inf. Process. Lett..

[68]  I. G. Lassous,et al.  Generating Random Permutations in the Framework of Parallel Coarse Grained Models , 2000 .

[69]  Donald E. Knuth,et al.  Fast Pattern Matching in Strings , 1977, SIAM J. Comput..

[70]  M. Crochemore Recherche linéaire d'un carré dans un mot , 1983 .

[71]  Alfred V. Aho,et al.  Bounds on the Complexity of the Longest Common Subsequence Problem , 1976, J. ACM.

[72]  Robert S. Boyer,et al.  A fast string searching algorithm , 1977, CACM.

[73]  Paul G. Spirakis,et al.  BSP vs LogP , 1996, SPAA '96.

[74]  Kai Hwang,et al.  Advanced computer architecture - parallelism, scalability, programmability , 1992 .

[75]  Jean Frédéric Myoupo,et al.  Star-Honey Meshes and Tori: Topological Properties, Communication Algorithms and Ring Embedding , 1999, OPODIS.

[76]  Edson Cáceres,et al.  Parallel dynamic programming for solving the string editing problem on a CGM/BSP , 2002, SPAA '02.

[77]  Mike Paterson,et al.  Longest Common Subsequences , 1994, MFCS.

[78]  H. T. Kung Why systolic architectures? , 1982, Computer.

[79]  Pu-chʿing Su Selected mathematical papers , 1983 .

[80]  Jeffrey D Ullma Computational Aspects of VLSI , 1984 .

[81]  Jean Frédéric Myoupo,et al.  A coarse-grained multicomputer algorithm for the longest common subsequence problem , 2003, Eleventh Euromicro Conference on Parallel, Distributed and Network-Based Processing, 2003. Proceedings..

[82]  Franco P. Preparata,et al.  Optimal Off-Line Detection of Repetitions in a String , 1983, Theor. Comput. Sci..

[83]  Michael L. Fredman,et al.  On computing the length of longest increasing subsequences , 1975, Discret. Math..

[84]  S. Lakshmivarahan,et al.  Parallel Sorting Algorithms , 1984, Adv. Comput..

[85]  D. Eppstein Efficient algorithms for sequence analysis with concave and convex gap costs , 1989 .

[86]  J. Kececioglu Exact and approximation algorithms for DNA sequence reconstruction , 1992 .

[87]  David Gries,et al.  The Science of Programming , 1981, Text and Monographs in Computer Science.

[88]  Selim G. Akl,et al.  Design and analysis of parallel algorithms , 1985 .

[89]  Jenq-Neng Hwang,et al.  Wavefront Array Processors-Concept to Implementation , 1987, Computer.

[90]  T. Garcia A work-optimal CGM algorithm for the longest increasing subsequence problem , 2001 .

[91]  Albert Chan,et al.  A Note on Coarse Grained Parallel Integer Sorting , 1999, Parallel Process. Lett..

[92]  D. V. Bhaskar Rao,et al.  Wavefront Array Processor: Language, Architecture, and Applications , 1982, IEEE Transactions on Computers.

[93]  Yen-Chun Lin New Systolic Arrays for the Longest Common Subsequence Problem , 1994, Parallel Comput..

[94]  Wojciech Rytter A Correct Preprocessing Algorithm for Boyer-Moore String-Searching , 1980, SIAM J. Comput..

[95]  Lynn Conway,et al.  Introduction to VLSI systems , 1978 .

[96]  David Semé An Efficient Algorithm on the BSR-Based Parallel Architecture for the k-LCS Problem , 1999, PDPTA.