Léo Ramos Chaves / Revista Pesquisa FAPESPThere is a maxim in the field of computing known as Moore’s Law, which states that the processing capacity of computer chips doubles every 18 months, allowing them to carry out calculations ever more quickly. The theory was proposed in 1965 by Gordon Earl Moore, cofounder of Intel, one of the biggest chip manufacturers in the world. It was a fascination with computational speed that influenced Siang Wun Song, a computer science researcher at the Institute of Mathematics and Statistics of the University of São Paulo (IME-USP), to choose his field—parallel computing—in the early 1970s.
Parallel computing is the simultaneous use of several processors to jointly perform a computational task with the aim of reducing the time it takes. “At that time, it might have seemed like a strange field to choose, since there were only five parallel computers in the world,” recalls Song. He points out, however, that the quest for greater computational speed made parallel computing a natural path to follow. Now, he highlights, even cell phones have more than one processor.
Song was born in Shanghai, China, and moved to Brazil when he was 15 years old. His father, a university professor, wanted to give his children a better-quality education, choosing Brazil after it was suggested by one of his students. When he landed in São Paulo, he spoke English, Mandarin, and two other dialects from his country of origin.
“It was a confusion of languages, but that made moving to Brazil easier,” Song said in an interview with Pesquisa FAPESP. He has been married for 50 years to his wife Ping Ping, a systems analyst who left her job to go with her husband to Pittsburgh, USA, where he studied his PhD. He has three children—Alexandre, Alice, and Arlene—and is a grandfather to Julie, Nicole, Clara, Arthur, and Olivia.
Age 80
Field of expertise
Computer Science
Institution
Institute of Mathematics and Statistics at the University of São Paulo (IME-USP)
Educational background
Bachelor’s degree in electrical engineering and master’s degree in applied mathematics from USP, and a PhD in computer science from Carnegie Mellon University, USA
What is parallel computing?
It is the use of a large number of processors to perform a single computational task, with the aim of reducing its execution time. In the late 1970s, when I completed my PhD in this field, parallel computing was practically unheard of. Things have changed now. Even our everyday cell phones are equipped with two or more processors. Over time, it has become the rule, rather than the exception. Throughout my career, most of my research and publications have related to parallel algorithms. A parallel computer has a large number of processors. For them to solve a given problem, a parallel algorithm is needed to tell each processor what it should do to, so that together they can achieve the solution. For example, a parallel algorithm can split a problem into subproblems, each of which can be solved by one processor.
What are the advantages of parallel computing?
It reduces how long it takes to solve a computational problem. Ideally, a parallel algorithm using n processors can solve a problem n times faster than a single processor would. But this is not always possible, since not every problem can be easily parallelized. I’ll give you a few examples. If it takes one worker 10 days to paint a long wall, then 10 workers can paint the same wall in just one day. This is a task that is said to be trivially parallelizable. But what about digging a well? If it takes one worker 10 days to dig a well, having 10 workers does not help. This task cannot be divided. Consider now the problem of digging the tunnel between England and France. Two teams, one English and one French, dig from each country towards the other until they meet somewhere in the middle. This cuts construction time in half. But can it be improved? I don’t know. The moral of the story: for parallel computing to solve a problem well, you need a good parallel algorithm.
What attracted you to this field?
In the early 1970s, when there were only about five parallel computers in the world, it probably seemed like a strange decision. But with the growing demand for speed, parallel computing was a natural path because it allowed for the simultaneous use of several processors. If a task is parallelizable, then significant gains can be achieved. The difficulty lies in figuring out how to parallelize tasks.
After I finished my PhD in the USA, I was one of the first to bring parallel computing research to Brazil
Would you say you were a pioneer in the study of parallel computing in Brazil?
Yes. After completing my PhD in the USA, I returned to Brazil in 1981 and I was one of the first researchers to bring this new field of knowledge to the country. At the time, parallel computing was not well known here. I created the Parallel and Distributed Computing Laboratory [LCPD] at IME-USP, where I taught for over 50 years. With financial aid from the European Union via the ITDC [Information Technologies in Developing Countries] program, we were able to acquire a parallel machine, the Parsytec PowerXplorer, which was the first of its kind at IME. I remember it cost US$212,000 in 1994, the equivalent of $427,000 in today’s values. The machine was fundamental to several research projects and was used in numerous master’s and PhD studies.
When did you discover your calling for computing?
Ever since I was a child, I have been curious about building things. That’s why I applied to the Polytechnic School at the University of São Paulo [Poli-USP]. I would have applied to the ITA [Technological Institute of Aeronautics] but I couldn’t because I wasn’t yet a Brazilian citizen. To my surprise, I came second in the entrance exam. The person who placed first was also accepted by the ITA and chose to go there. So I ended up being first in the Poli-USP 1966 entrance exam and received the Michelangelo Prize, awarded by an emporium owned by Miguel Colassuono [mayor of São Paulo from 1973 to 1975]. The prize was a drawing table or a set of Kern compasses—I chose the latter. At Poli-USP, everybody studied the same subjects in the first two years, and then in the second or third year, you selected your field of specialization. I chose electronics, which had a strong emphasis on mathematics. That was useful when I later decided to switch to computer science.
Why did you decide to switch?
In my second year at Poli-USP, I took the numerical calculation course taught by Professor Valdemar Setzer. I learned to program in Fortran [the computer language of the time] and used it to write programs to solve mathematical problems using numerical calculation. I used USP’s first computer, an IBM 1620, which was a punch-card machine. I was fascinated by it all. Professor Setzer later invited me to do a fellowship at USP’s Electronic Computing Center [CCE]. It was the beginning of computing at the university. The first computing researchers in the state were trained using the IBM 1620 at the CCE, originally called the Numerical Calculation Center. It was a talent incubator. After I finished the course at Poli-USP, Professor Setzer offer me a position as an auxiliary professor at IME’s Department of Applied Mathematics. That was in 1971. The contract, which required no public application process, had to be periodically renewed. I applied for an assistant professor position in 1975 after earning my master’s degree. To do this, I needed Brazilian citizenship, although nowadays USP hires foreign teachers.
What fascinated you about computing?
I was excited by the speed and the possibilities of programming a computer to solve a wide range of problems. To get an idea of the speed involved, think about how long it takes a machine to multiply two numbers. On the IBM 1620, it took 4.96 milliseconds, meaning it was possible to do 200 multiplications in one second. Today, the Frontier supercomputer performs 1.68 x 10^18 [168 followed by 16 zeros] multiplications per second. This fascination with speed is what influenced me to study parallel computing.
When was it that you began dedicating your studies to the field?
It was during my PhD. I started my master’s degree at IME-USP in 1971, under the supervision of Professor Setzer as part of the applied mathematics program. Although the topic of my dissertation was computer science, the discipline was not yet accredited by the MEC [Ministry of Education]. I therefore had to satisfy the requirements of the master’s degree in applied mathematics. My dissertation was about building an interpreter for Lisp, a programming language widely used in symbolic processing, as a natural language, and in artificial intelligence. In 1976, I secured a place to study a PhD in computer science at Carnegie Mellon University in Pittsburgh, USA, one of the most renowned institutions in the world in this field. The application process was rigorous and highly competitive. To impress the admissions team, I submitted my dissertation about Lisp, even though it was in Portuguese. To my surprise, I was accepted and ended up being the first Brazilian to do a doctorate at the university’s Department of Computer Science. I received a FAPESP grant to cover the tuition fees. I chose to focus on parallel computing in my first year, and Professor Hsiang-Tsung Kung agreed to be my advisor. He was such a workaholic that he had a sleeping bag in his office. Sometimes he stayed there overnight. He once tried to schedule a meeting on Christmas Eve, but it didn’t go ahead after several team members refused. Something else interesting about that period of time: although the internet didn’t exist yet, the university had one of the first computer networks in the world, called ARPANET. We used email and message boards. There were bulletin boards where you could list things for sale, like on a social network. The Coca-Cola vending machine was connected to ARPANET. I was exposed to so much new technology during my PhD.
![](https://revistapesquisa.fapesp.br/wp-content/uploads/2024/05/RPF-entrevista-siang-wun-song-IME-USP-2024-01-site-01-800.jpg)
Personal archive
The researcher in his office at IME-USP in the mid-2010sPersonal archiveWhat did you do when you got back to Brazil?
I came back in August 1981 and the following year I took over as head of the Department of Applied Mathematics at IME. At that time, there was no Department of Computer Science, which would only be created in 1987. The interesting thing is that in the early 1980s, Brazilian companies were already assembling microcomputers. In 1984, I led a project approved by FAPESP to purchase a microcomputer. We acquired IME’s first microcomputer, a Nexus 1600, from Scopus, a company created by three of my colleagues from Poli-USP. I called one of them and managed to get us a discount. With 704 kilobytes of memory, the machine had no hard disk, just two floppy disks.
How was USP’s first internet network implemented?
The first local network at ME-USP was installed in 1993, with funding from FAPESP through a project I led, connecting 286 workstations and microcomputers. The technology used at the time was coaxial cable, with a maximum range of 180 meters. The cables were only installed in rooms that had microcomputers, making expansion difficult. The general services staff at IME helped with the installation. In 2000, the institution’s first wireless network was implemented, with funding from an additional FAPESP grant within a thematic project, also under my lead. It was one of the first wireless networks installed in Brazilian universities, if not the first, with four wireless gateways. The total budget was R$23,500, which was a lot of money at the time.
What did you learn from your time as IME director?
I was in charge between 1998 and 2002. It was a very valuable experience that taught me a lot. Unlike when I was a researcher, as a director I dealt with hundreds of people, including faculty, staff, and students. I learned more in depth about how the university worked. The IME has one of the lowest ratios of nonfaculty to faculty staff at the university. Some departments had so few employees that when one took vacation, there would only be one or two left to cover the entire department. My four years in the position were a highly rewarding experience. I faced several strikes during my time in charge. There was even a bomb threat—made during an exam week, if I’m not mistaken. We had to evacuate every building and wait outside while the bomb squad searched them from top to bottom. In the end, it was a false alarm.
You were at IME at the turn of the millennium, when people were worried about the Millennium Bug and the chaos it might cause to computing systems around the world. What memories do you have from that time?
All of USP’s corporate data, such as payroll, student information, and financial data, used to be processed on a large computer that the university leased. In the early 1990s, work began to gradually migrate data processing to a client-server approach, where modern workstations would act as servers and personal computers would be the clients. This monumental effort was carried out by a team of around 50 systems analysts from the Department of Information Technology [DI]. The first system to begin operating was named Fênix and dealt with graduate data. Between 1995 and 1998, I was director of the DI. During my tenure, we launched the Jupiter system to process undergraduate student data. Other systems—Mars for human resources and Mercury for finance—continued to be developed and later entered into operation. This migration to a modern platform, carried out by a competent team, was the reason that we experienced no problems with the much-feared Millennium Bug.
What are the most important projects you have participated in at IME?
In addition to the EU project that allowed us to purchase USP’s first parallel computer, I led a series of projects funded by FAPESP and the CNPq [Brazilian National Council for Scientific and Technological Development] related to the institute’s IT infrastructure. As well as enabling us to install wired and wireless computer networks, we were able to equip the IT Laboratory with numerous workstations [servers] and microcomputers. Another important project was funded by FINEP [Brazilian Funding Authority for Studies and Projects], enabling the construction of a building to house the Free Software Competence Center [CCSL] and research laboratories.
I was fascinated by the speed and the possibilities of programming a computer to solve a wide range of problems
You participate in the “Internet of the Future INCT” project. What exactly does it do?
I work on a subproject [“Parallel algorithms and heuristics for smart cities problems”] of the National Institutes of Science and Technology program, with the objective of creating algorithms to solve smart city problems using graph theory [a branch of mathematics that studies the relationships between objects of a given set, associating them through structures called graphs]. One of our most significant results was the development of a parallel algorithm for the minimum spanning tree problem. A graph consists of a set of vertices and edges. An edge can connect two vertices; and there can be weights on the edges. Many problems can be modeled with graphs. For example, a vertex can represent a city and an edge can represent a road that connects two cities. A minimum spanning tree is a subset of a graph, that remains connected, with a minimum sum of edges. We published the results at an IEEE [Institute of Electrical and Electronics Engineers] conference in the United States and received the award for best article at the event.
Despite your involvement in research and leadership positions, you never stopped teaching?
I always liked teaching. For me, it’s a pleasure to see a student learn something new. I am now a senior professor at IME and despite having officially retired, I continue to teach undergraduates in computer science. But I no longer supervise graduate students. My relationship with my students has always been very good. In 2023, I celebrated my 53rd year as a professor at IME. I must have taught around 115 groups and a total of approximately 4,500 students. Interestingly, I taught two students in the early 1970s who later got married. I supervised the young man’s master’s degree. And years later, I taught one of their daughters. Every year that passes, I get older, but my students remain the same age.
What work would you highlight from your academic publishing?
I would pick two. The first [“An efficient parallel garbage collection system and its correctness”] was published in the proceedings of the 18th IEEE Annual Symposium on Foundations of Computer Science in 1977, a time when few Brazilians had papers accepted at this prestigious event. The topic, concurrent garbage collection, sparked enormous interest. Garbage collection is a computational method for recycling allocated memory that is no longer being used. The processor has to stop executing a program to perform garbage collection. Concurrent garbage collection, however, uses an additional processor while the other continues running the program in parallel. There are still articles being published about it to this day.
What is your perspective on the technological evolution we have seen in computing?
I have been closely following the way computers are built over the last 50 years. They originally used valves and occupied an entire floor. Then came the transistor generation. The IBM 1620 that I used at USP was one of the first computers of that era. Electronic components, such as transistors, resistors. and capacitors, were discreet but still took up quite a lot of space. In the age of silicon-based integrated circuits, electronic components came to be integrated on a tiny chip. This is what is known as microelectronics, in which the MOS transistor is the building block, the basic element for building the processor and memory. The transistor is the foundation for the on-off switch, the resistor, the capacitor, and the logic gates. In 1978, the first NMOS transistors, an evolution of MOS, had dimensions of around 25 micrometers. The first integrated circuits or chips contained a few thousand transistors. The transistor has since been decreasing in size every year and the number of transistors that fit on a chip has been doubling every 18 to 24 months—the well-known Moore’s Law. Today’s transistors are only 7 nanometers. To get an idea of the scale of this miniaturization, imagine that the chip contains a geographic region. If in 1978 it contained an area the size of Greater São Paulo, today it can contain the entire planet. This analogy explains the incredible advancement we are experiencing. It is estimated that in a few years we will have transistors as small as five or even three nanometers. But the era of the silicon transistor is at its end—and Moore’s Law will no longer apply. New technologies are on the horizon. One of the most promising is quantum computing. But even before that, there are several candidate materials to replace silicon, such as graphene, cubic boron arsenide, and others.
What is your opinion on computer science teaching and research in Brazil?
Development of the field is closely linked to graduate studies in computer science. Over the last five decades, the number of these graduate courses has been growing year on year in Brazil. We now have 85 graduate programs offering a total of 123 courses, comprising 68 academic master’s degrees, 41 doctorates, and 14 professional master’s degrees. In 2005, only two computer science programs were rated at grade 6 or 7, classifying them as world-class. In the 2019–2022 three-year period, this number had jumped to 10, of which seven received grade 7, the maximum. Programs awarded grades 6 and 7 receive extra funding, which is positive, but there are still many grade 3 and 4 programs, some of which find it very difficult to improve. I believe that these programs could be given some sort of financial incentive to improve their performance.
I always liked teaching. In 2023, I celebrated my 53rd year as a teacher at USP. I must have taught around 4,500 students
You are Chinese. What led your family to Brazil?
I was born in Shanghai during World War II. When I was six years old, my family moved to Hong Kong. I attended elementary and middle school there. In Hong Kong, they speak Cantonese. Since I only spoke the Shanghainese dialect, I started studying at a school that taught classes in Mandarin, the official language of China, which is more similar to Shanghainese. I then moved to a school that taught in Cantonese, and in my last four years of study, I attended a very prestigious school called Wah Yan College, run by Irish Jesuits, where the classes were taught in English. It was a concoction of different dialects and languages that left a lasting impression on me. As a child, I already spoke two dialects—Shanghainese and Cantonese—in addition to Mandarin and English. This made it easier for me to adapt when we moved to Brazil.
And how was the move?
We came to Brazil in 1959, when I was 15 years old. My parents wanted to give me and my siblings better opportunities in terms of higher education. In Hong Kong there were very few universities and they were all expensive. My father studied and then worked as a professor at the Law School of Aurora University in Shanghai, founded by French Jesuits. Some of his former students were working abroad. When he decided to emigrate, he asked them for advice on where to go. Two of them—one who worked in Luxembourg and the other in Saigon, Vietnam—suggested possible jobs for him in those two countries. During these negotiations, the former student from Vietnam found a new job in São Paulo, and he invited my father to join him. So we all came here. My father’s first job was at a French company in Taubaté called Mecânica Pesada. That allowed us to settle in Brazil as permanent residents.
What was it like arriving in such a different country?
I had to adapt. I spent a year at Colégio Nossa Senhora do Carmo learning Portuguese and preparing for the adaptation exams, which include Brazilian history, Portuguese, and many other subjects that were not included in my school curriculum in Hong Kong. My knowledge of English was essential to learning Portuguese. I passed the adaptation exams and enrolled in the third year of high school at a public school: Colégio Estadual de São Paulo in Parque Dom Pedro.
Have you been back to China?
Since arriving in Brazil, I have only been to China three times, all to present my work at scientific conferences. The first time was in 2000. On all my trips, I made sure to visit Shanghai, where I even went to see the building where I grew up. I owe a lot of who I am and what I have achieved to the generosity of this country, Brazil, which welcomed me with open arms and where I was able to attend a free, high-quality public school and university. And where there are funding agencies, such as FAPESP, CNPq, and CAPES [Brazilian Federal Agency for Support and Evaluation of Graduate Education], which allowed me to advance my career.