Pr. Michel Raynal

Membre de l'Institut Universitaire de France
(French University Fellow)

 
Professional
Activities
Scientific Achievements
Point of View
 

Professional Activities

 

1. What is research? What is teaching? A personal view

Our concern as a professor is how to combine research and teaching activities. This section presents personal views (that consequently are both partial and questionable). The style is voluntarily informal and I am aware of that the way this view is exposed is a little bit schematic or even provocative.

 

Research

To me “research” is an adventure, both personal and collective, of intellectual nature. We are working in a scientific domain (basically, “informatics” can be abstracted as the science of operations), and our concern is to set and answer questions (specifically, given a set of operations, what can be computed, and -if any- which is the best solution). More generally, our task is to think –within our scientific domain- for the long run0F1. (I basically share the point of view expressed by Odeh Goldreich in his essai “On our duties as scientists”1F2.) For us, application domains are more important because they ask for new solutions, than for their today economical value. We never have to forget that “it is not by improving the candle technology that electrical lamps have been discovered, understood and mastered”.

 

Teaching

For Henri Lebesgue (1875-1941) “teaching” was the activity of “penser à haute voix devant les étudiants” (“To teach  is to think loud  in front of students”). It is not a quiz exercise. I share that view. Of course new technologies (e.g., embedded in a new programming language) have to be taught, but ultimately, a pupil does not learn how to write in reading explanatory leaflets of washing machines, but in reading great authors from the literature. This means that our lectures have to provide the students with (1) enough food for their brain in order they be able to address and correctly solve the problems they will encounter, and (2) enough background knowledge and indsight  for them to still have a job in twenty years! To quote Lamport: “Teaching is not an accumulation of facts”2F3. Students are our “products”, and, due to what they learned, each generation of students gives rise to a new way of thinking when they are going to work in a company, each generation entailing its “small revolution” in the software industry. That is our main impact on the society. Each new student generation makes the industry moves to better knowledge and better practices. That is why teaching is fundamental. And the teaching activity is difficult because we have to teach in a way as simple as possible and simplicity is very difficult to reach (as Blaise Pascal wrote “I am sorry for having written such a long letter, I had not enough time to write a shorter one”). This motivated me to write a great lot of survey papers on emerging topics.

 

 2   My view of computer science and distributed computing

 

Informatics can be defined as the meeting point between mathematics and technology. Roughly speaking, its two components, computer science and computer engineering, can be seen as complementary facets: computer science is to understand, computer engineering is to build. In other words, we are concerned with a science of abstraction, namely, creating the right model for a problem and devising the appropriate mechanizable techniques to solve it. This is particularly true in (fault-tolerant/dynamic/large-scale/etc.) distributed computing where finding models that are realistic while remaining abstract enough to be tractable, was, is and still remains a real challenge.

       Distributed computing was born in the late seventies when people started taking into account the intrinsic characteristics of physically distributed systems. The field then emerged as a specialized research area distinct from networks, operating systems and parallelism. Its birth certificate is usually considered as the publication in 1978 of Lamport’s most celebrated paper “Time, clocks and the ordering of events in a distributed system”. Since then, several high level journals and (mainly ACM and IEEE) conferences are devoted to distributed computing.

 

     Distributed computing arises when one has to solve a problem in terms of entities (usually called processes, agents, sensors, peers, actors, processors, nodes, etc.) such that each entity has only a partial knowledge of the many parameters involved in the problem that has to be solved. While parallelism and real-time can be characterized by the words efficiency and on time computing, respectively, distributed computing can be characterized by the word uncertainty. This uncertainty is created by asynchrony, failures, unstable behaviours, non-monotony, system dynamism, mobility, low computing capability, scalability requirements, etc. Mastering one form or another of uncertainty is pervasive in all distributed computing problems. Finally, as the aim of a theory is to codify knowledge in order it can be transmitted (to students, engineers, practitioners, etc), research in distributed computing theory is fundamental. When something works we must know why it works, and when something does not work ... we must know why it does not work.

 

 

3   Why research in distributed computing is fundamental

 

Looking to the past to appreciate the future

One of main problems in the fifties, sixties and even seventies, was to to produce efficient programs. It appears that to attain this goal, researchers have spent lots of efforts in establishing strong results in algorithms and formal languages. The benefit is obvious. The results in algorithms and formal languages allowed us to replace tricks by scientific solutions based on systematic approaches. Now, thanks to their lectures on formal languages and algorithms students know what can be done, what cannot be done, and what can be done efficiently.

    The same analysis holds for lock-based concurrency. The problem of mastering multiprogramming was addressed in the late sixties and early seventies. Thanks to the work of  pioneers such as Brinch Hansen, Dijkstra and Hoare (among others), basic concepts to master lock-based synchronization were developed (e.g., semaphores and monitors) and an associated methodology based on invariants was developed3F4. Thanks to these results, students know how to manage and cope with multithreaded computing, and how to analyze multi-process programs in failure-free environments.

    Today, it is an obvious fact that languages and synchronization are useful, and, due to the lots of associated results (e.g., the fact that the classes of deterministic FSA and the class of non-deterministic FSA are equivalent) that they are among the elements that set up informatics as a science4F5. We cannot imagine mastering object-oriented programming or software engineering without relying on the scientific background accumulated in language theory, synchronization and other basic domains. The actual advances in software engineering is (partially) an implicit output of these early results. The moral of the story is that we have to do today research in the basics of distributed computing if we want to be able to master future applications, to known what can be done, what cannot be done, what can be done efficiently, etc., despite physical program distribution, asynchrony, failures, mobility, dynamism, unstable behavior, scalability requirements, etc. We have to go from tricks to a scientific knowledge that can be transmitted to and exploited by engineers.

 

Why DC is fundamental5F6

The computational universe surrounding us today is clearly very different from that envisioned by designers forty years ago. Even the most futuristic visions of that time of supercomputing and parallel machines (which have guided the research and absorbed a consequent part of the research funding) are far from today’s computational realities. More specifically, computing devices are conquering the world. They are spreading out everywhere (and we could now nearly say that a high speed train or a plane is a sophisticated local area network with “additional devices”).

    The today computational realities are characterized by communities of networked entities communicating with each other, cooperating towards common tasks or the solution to a shared problem, and acting partially in an autonomous way. Said, differently, today computational world is inherently distributed. So, while there are lots of successful Internet-based distributed applications (e.g., Peer-to-Peer, clouds), understanding the fundamentals of distributed computing still remains an open question. Distributed software with provable guarantees is needed and is a pre-requisite if we want to master the future of distributed applications.

 

 

4  A recent “ranking”

 

A distributed computing-oriented article titled “The Theoretic Center of Computer Science” that appeared in the December 2007 issue of ACM Sigact News (Vol. 38, No. 4) ranks my name in the top 10 of the most central authors of the Principles of Distributed Computing area, in its “all-time” ranking (that includes only two Europeans, R. Guerraoui from EPFL, Lausanne, and myself).

 

 

5   Scientific and professional activities

 

Member of the editorial board of the following journals

-  IEEE Transactions on Parallel and Distributed Systems (since 2006).

-  IEEE Transactions on Computers (since 2010).

Journal of Parallel and Distributed Computing (since 2005).

Journal of Computer Systems Science and Engineering (since 1998).

Foundations of Computing and Decision Sciences (since 1995).

 

Reviewer for journals and books

-  I regularly review papers submitted to international journals. These journals include: Journal of the  ACM (JACM), Information and Computation, Distributed Computing, ACM Transactions on Computer Systems (ACM TOCS), ACM Transactions on Programming Languages and Systems (ACM TOPLAS), ACM Transactions on Database Systems (ACM TODS), Journal of Algorithms, Journal of Systems and Software (JSS), Journal of Computer and System Science (JCSS), Information Processing Letters (IPL), Parallel Processing Letters (PPL), IEEE Transactions on Computers (IEEE TC), IEEE Transactions on Parallel and Distributed Systems (IEEE TPDS), IEEE Transactions on Knowledge and Data Engineering (IEEE TKDE), IEEE Transactions on Software Engineering (IEEE TSE), IEEE Transactions on Dependable and Secure Computing (IEEE TDSC), Science of Computer Programming (SCP), Theoretical Computer Science (TCS), Theory of Computing Systems (TCS), The Computer Journal.

-   I am regularly contacted  to review book proposals by Wiley & Sons, Springer and   Kluwer Academic Press.

 

International collaboration

I have co-authored articles with 119 co-authors (as cited by DBLP) all over the World. These include:

 

-  Israel: Yehuda Afek (Tel Aviv university), Roy Friedman, Yoram Moses, Shmuel Zaks (The Technion, Haifa, Israel), Gadi Taubenfeld (Herzliya).

-  Europe: Ozalp Babaoglu (Università di Bologna, Italy), Roberto Baldoni and Francisco Quaglia (Università La Sapienza, Roma, Italy), Jerzy Brezinsky (University of Poznan, Poland), Paul Ezilchelvan (University of Newcastle, UK), Antonio Fernandez (University del Rey Juan Carlos, Madrid, Spain), Cristof Fetzer (Dresden University, Germany), José Ramon Gonzalez de Mendivil (Univesity of Pamplona, Spain), Rachid Guerraoui and André Schiper (EPFL, Switzerland), Luis Rodrigues and Paulo Verissimo (Lisbon, Portugal),

-  US and Canada: Divy Agrawal and Amr El Abbadi (Santa Barbara), Mustaque Ahamad (GeorgiaTech), Ajoy Datta (University of Las Vegas), Vijay Garg (Austin, TX), Eli Gafni (UCLA), Ajay Ksemkalyani (University of Chicago), Masaaki Mizuno (Kansas State University), Gil Neiger (Intel, Portland, Oregon), Rob Netzer (when he was at Brown university), Ravi Prakash (University of TX, Richardson), Mukesh Singhal (Kentucky university), Sam Toueg (University of Toronto), K. Vidyasankar (University of Newfoundland, Canada).

-  Latin and South America: Sergio Rajsbaum (UNAM Mexico), Fabiola Greve and Raimundo Macedo (Federal university of Salvador de Bahia, Brazil), Francisco Brasileiro (Campina Grande).

-  Asia: Makoto Takizawa (Tokyo Denki University), Yoshifumi Manabe (NTT, Tokyo), Jiannong Cao (Hong-Kong Polytechnic University).

-  I obtained with most of the previous researchers bi-national grants which allowed us to visit each other and produce new results. The corresponding countries are Israel, USA (NSF agreement with CNRS or INRIA), Italy, Portugal, Brazil, Mexico, Japan and Hong-Kong.

 

 

Steering committee member  Recent past:

-  Vice-chair (2000-2002) and then chair (2002-2004) of the steering committee of DISC (Symposium on DIStributed Computing). During my chairing period, DISC became an EATCS symposium (European Association for Theoretical Computer Science). Moreover, with Alex Shvartsman (who was then the DISC SC vice-chair), we started discussions with ACM, in order that the Dijkstra prize becomes a prize jointly awarded by both DISC and PODC. This succeeded and, for the first time, the Dijkstra prize  was given during the DISC 2007 symposium.

-   Steering committee  member of SIROCCO (Colloquium on Structural InfoRmatiOn and Communication COmplexity)6F7: 2005-2008.

 

Steering committee member  Current:

-  ACM PODC (Symposium on Principles of Distributed Computing): “member at large” for a three year term, elected during the plenary meeting at PODC 2006.

-  IEEE ICDCS (Int’l Conference on Distributed Computing Systems), SC member since 2006 (I was the conference chair of ICDCS 2006).

-    ICDCN (Int’l Conference on Distributed Computing and Networking), since 2004.

-  ACM PODC and DISC are considered as the top conferences specialized in the theory and the principles of distributed computing. IEEE ICDCS is considered as one the best from a more applied point of view. ICDCN is a relatively new conference whose aim is to become the distributed computing first venue in Asia.

 

Invited talks/keynote speeches in the recent past

-  6th Int’l Conference EUROPAR, Munich, 2000. Logical instantaneity and causal order: Springer-Verlag LNCS #1900, pp. 13-20. Europar is considered as the first European venue for parallelism.

-  6th Int’l Workshop on Distributed Computing (IWDC is now the ICDCN conference), Kolkata (India), 2004: The notion of veto number for distributed agreement problems. Springer-Verlag LNCS #3326, pp. 315-325.

-   Int’l workshop on Dynamic Distributed Systems (satellite workshop of IEEE ICDCS), Lisbon, 2006: From static distributed systems to dynamic systems.

-   10th Int’l Conference on Principles of Distributed Systems, Bordeaux, 2006 (OPODIS’06). In search of the holy Grail: looking for the weakest failure detector for wait-free set agreement: Springer-Verlag LNCS#4305, pp. 1-17. (The other invited speakers were Amir Pnueli and Butler Lampson, both winner of theTuring award).

-  6th Int’l IEEE Symposium on Network Computing and Applications, Boston, 2006 (NCA’06). Eventual leader service in unreliable asynchronous systems: why? How? IEEE Computer Press, pp. 11-21.

-   21th Int’l Symposium on Distributed Computing, Cyprus, 2007 (DISC’07): A subjective visit to selected topics in distributed computing, Springer-Verlag LNCS #4731, pp. 5-6. (The other invited speaker wasDavid Peleg from the Weizmann Institute).

-   22th Int’l IEEE Conference on Advanced Information Networking and Applications (AINA’08), Okinawa, Japan, 2008: Synchronization is coming back, but is it the same? IEEE Computer Press, pp. 1-10.

-  Workshop on Theoretical Aspects of Dynamic Distributed Systems (TADDS’09) in conjunction with DISC 2009. Elche (Spain), 2009: How to implement a shared memory in a dynamic system? Which are the constraints?

 

 

 

Conference tutorials in the recent past

-  IEEE Conference Dependable Systems and Networks, Florence, 2004. 5-hour tutorial on Detecting Crash Failures in Asynchronous Distributed Systems: What? Why ? How ?

-   2nd Latin-American Symposium on Dependable Computing, Salvador de Bahia, Brazil, 2005: 6-hour tutorial on Fault-tolerant techniques for concurrent objects.

-  5ième Colloque franco-africain de recherche en informatique (CARI’08), Rabat, 2008: tutoriel de 6 heures sur l’Introduction au calcul sans-attente (wait-free computing).

-  IEEE Conference Dependable Systems and Networks, Lisbon, 2009. 5-hour tutorial on Modern synchronization: facing the net effect of asynchrony and failures.

 

PhD committees

-   Since 1980, I have been a member of more than 140 PhD committees in France and in more than 15 foreign countries.

 

Conferences PODC, DISC, ICDCS and SIROCCO

-  ACM PODC: PC member 2001, 2004, 2006. SC member since 2006. (I have been solicited to chair the PC of PODC 2005, but I had to decline due to health problems).

 

-  The workshop on Distributed Algorithm (WDAG) became the int’l symposium on Distributed Computing (DISC) in 1996. PODC and DISC are recognized as the top conferences in the theory of distributed computing. Thanks to Jan van Leuween, I was involved in WDAG-DISC since its second edition, 1987. Since then, in one way or another, I spent lot of time and energy to have DISC a world leader conference.

PC chair: 1989 (Springer LNCS #312), 1995 (Springer LNCS #972).

PC member: 1987, 1990, 1993, 1996, 2006, 2008.

SC member: 2000-2004.

 

- IEEE ICDCS. The IEEE Int’l Conference on Distributed Computing Systems was created in 1981. I have been involved in ICDCS since the very beginning (one of my very first papers was at the first ICDCS!).

PC member: 1990, 1993, 1995, 1998, 2000, 2004, 2007, 2009.

Chair of the track “Distributed Algorithms and Methods”: 1994.

Chair of the track “Distributed Synchronization”: 1999.

Chair of the track “Formal models and theory”: 2005.

Chair of the track “Theoretical foundations”: 2008.

Program chair: 2002. Conference chair: 2006. Workshop co-chair: 2002, 2010.

Int’l liaison chair: 2003, 2009. Award committee chair: 2004.  Worshop co-chair: 2010.

 

- SIROCCO. This conference is on complexity and the interplay between communication and computation. Its proceedings are published in the Springer Verlag LNCS series.

PC co-chair (with Andrzej Pelc): 2005. PC member: 2007.

Guest co-editor (with Andrzej Pelc and David Peleg) of a special issue of TCS (Theoretical Computer Science) devoted to Communication Complexity (Vol. 384, 2007). This issue includes the revised and improved versions of the best papers of SIROCCO 2005.

 

Other conferences

I have been involved in more than 120 program committees of int’l conferences, workshops, summer/winter schools. Here a subset of them is listed.

-  ICDCN (Int’l Conf. on Distributed Computing and Networking). PC : 2006, 2009. Conference chair: 2005, 2010.

-  IEEE DSN (Int’l Conf. on Dependable Systems and Networks). PC : 2000, 2001, 2002, 2004.

-  IEEE SRDS (Symposium on Reliable Distributed Systems). PC: 1996, 1998, 2001, 2002, 2003, 2005.

-  OPODIS (Int’l Symposium on Principles of Distributed Systems). PC 2006. Program chair: 2009.

-  IEEE FTDCS (Int’l workshop on Future Trends of Distributed Computing Systems). PC: 1995. Program Chair: 1995, 2003.

-  IEEE SPDP (Symposium on Parallel and Distributed Systems). PC: 1993, 1995.

- IEEE IPDPS satellite workshop on Fault-tolerance in Parallel and Distributed Systems. PC: 1996, 1997, 1999,          2000, 2002, 2004.

IEEE ICA3P2 (Int’l Conf. on Algorithms and Architecture for Parallel Processing). PC: 1995, 1997, 2002, 2007.

- IEEE ISORC (Int’l Symposium on Object-oriented Real-time Distributed Computing). Conference chair: 2002. Program chair: 1999. PC: 2003, 2006.

-  IEEE PRDC (Pacific Rim Dependable Computing).  PC: 2002, 2004, 2006. Int’l liaison chair: 2005.

-  IEEE NCA (Int’l Symposium. on Network Computing and Applications). PC: 2001, 2003, 2004, 2006.

- PaCT (Int’l Conference on Parallel Computing Technologies). PC: 2001, 2003, 2005, 2007, 2009. (This conference is organized in Russia every two years.)

-  EUROPAR (European Conference on Parallelism). PC: 1999, 2001.

-  LADC (Latin-American Conference on Dependable Computing). PC: 2004, 2005, 2009.

- IEEE AINA (Int’l Conference on Advanced Information Networking and Applications). PC: 2003, 2004, 2006. Int’l liaison co-chair: 2005.

-  MFSC (Int’l Symposium on Mathematical Foundations of Computer Science), PC: 2009.

-  COCOA Annual Int’l Conference on Combinatorial Optimization and Applications), PC: 2009.

 

Birthday celebration The distributed computing community has celebrated my 60th birthday with a symposium that was part the international conference DISC 2009, which was held in Spain, september 2009. This is recorded in the DISC’09 proceedings, Springer-Verlag LNCS #5805, pages 3-5.

 

 

1 To better understand a part of the the duality researcher/engineer, I sometimes parallel it with the duality historian/journalist. The job of a historian is to analyze and relate events in time, in order to provide us with a continuous, consistent and global view of things that have happened. Differently, the job of a journalist is to relate (and sometimes analyze) the last events that occurred. Similarly to a historian, the job of a professor is to work and investigate scientific domains in order to provide the students with a deep and global view of these domains. Obtaining a view of a domain that allows us to provide students with a deep scientific background requires a strong involvement in research. As for a journalist who, differently from a historian, works with “today” facts/inputs, the job of an engineer (differently from a theory researcher) depends highly on the current (perishable) technology. Of course, this view is a little bit schematic, but nevertheless captures a difference in two extreme behaviors encountered in the scientific and engineering communities working in informatics.

2 http://www.wisdom.weizmann.ac.il/ oded/on-duties.html.

3 In “Teaching concurrency”, ACM Sigact NEWS, 40(1):58-62, 2009.

 

4 The origin of concurrent programming”, Springer-Verlag, 534 pages (2002), Edited by P. Brinch Hansen.

5 I have considered here only two domains (languages and synchronization). Of course, this list is not exhaustive. I could have taken similar examples in the domain such as algorithms, databases, computability, etc.

6Some ideas expressed in this paragraph have been first expressed by N. Santoro in the preface of his book “Design and analysis of distributed algorithms”, Wiley, 589 pages, 2007.

7The proceedings of both DISC,  SIROCCO and ICDCN are published in the LNCS series of Springer-Verlag.