Computing Japan visits the "C&C" research headquarters of NEC to report on projects underway there in parallel computing, machine translation, and multimedia groupware.

by Steven Myers

With approximately 1,100 scientists, and 1,600 staff in total, the NEC Research and Development Group constitutes one of the world's most advanced and diverse corporate research organizations. Since NEC first established its research laboratories in 1939, the R&D group has grown to span seven facilities in Japan, the US, and Germany. In addition to these seven main laboratories, the group maintains five additional centers, each devoted to the development of a specific technology (such as video, optical recording, and scientific computing). The director of the R&D group oversees all of these activities and reports directly to the NEC president.

In the 1980s, NEC coined the slogan "Computers and Communications!" (C&C) to describe its core business. The R&D group, which is responsible for developing the key technologies that will continue to drive NEC's core business "through the day after tomorrow, and beyond," divides its research activities into four main areas: materials, devices, C&C systems, and software.

Computing Japan visited NEC's Central Research Laboratories in Kawasaki (Kanagawa prefecture). This facility serves as the focal point for all of NEC's C&C research, and the work being done here has a strong multimedia and networking emphasis. Our tour and meetings were arranged by Dr. Satoshi Goto, general manager of the C&C Research Laboratories and Information Technology Laboratories. Dr. Goto first provided us with a thorough overview of the research in progress at Central Labs, then conducted us on a tour of the facilities. We were given presentations detailing three of the main R&D projects underway.

Enhanced parallelization

In the first lab that we visited, a group of about 8 to 10 scientists are working on the development of a microkernel-based, parallel OS (operating system) that breaks a task into threads (mini-tasks) which run simultaneously on separate processing elements(PEs). This parallel OS and associated software tools run on NEC's massively parallel Cenju-3 machine, which is made up of 256 PEs. Each PE contains a 75-MHz CPU and 64MB of memory -- for a total of 16GB of distributed RAM.

The group is building an OS in which applications are first passed to a scheduler that determines how tasks can be broken up most efficiently for parallel execution. The various parts of the program are then passed to distributed servers and executed in parallel. The OS kernel is extremely compact -- hence the term microkernel -- and contains only a minimum of functionality (such as managing the threads facilities and handling hardware-dependent operations).

Among the interesting subprojects underway in the lab is an effort to move the "parallelization of programs" up to the level of the application programmer. PCASE is a programming tool that translates sequential FORTRAN programs into parallel form, thus reducing the execution overhead incurred by invoking a "parallel scheduler" at run-time. The tool examines the FORTRAN source code to find loops and branches that can be farmed out to separate processors. Programmers control the parallelization through a graphical interface that provides information about how the execution of the program will be distributed among the PEs.

A second subproject recently begun at the lab focuses on the parallelization of the Java programming language for the Cenju-3. The goal is to place a Java byte-code interpreter (Java Virtual Machine) on each PE. This would allow individual threads from a compiled Java program to be dispersed among the PEs and run in a true parallel fashion (as opposed to the "illusion of parallelism" that threads provide on uni-processor machines). A key feature of this system is that all of the objects used in a program could be shared by all of the PEs and distributed throughout the machine's memory.

Language translation

At the next lab, we were given a demonstration of state-of-the-art machine translation/interpretation. Akitoshi Okumura leads a project called Intertalker, the object of which is to build a system that integrates speech recognition, machine translation, and speech synthesis for five different languages (Japanese, English, French, Spanish, and Korean).

Signals from input language utterances are converted into sentences using a dictionary (each language has a 500-word prototype dictionary). The sentences are then converted by accessing a kernel-type knowledge base, which generates a semantic net representation that can be used to produce the proper sentence structure in the target language. The target-language sentences are then synthesized and output to a speaker.

Readers of our previous articles on commercial machine translation (MT) products (Japanese-to-English MT programs in April, page 35, and English-to-Japanese MT programs in August, page 29--Ed.) know how awkward and unwieldy translation systems tend to be when used in a purely general domain. The NEC scientists have taken a more practical approach to this problem by building systems that are tailored to specific domains.

The two test domains being produced for Intertalker are a system for making concert ticket reservations and another for providing tour guide information. Each domain system has its own "script" containing sentence patterns in which users can substitute words from the system's dictionary.

Okumura and his group allowed us to try their system for ourselves -- an opportunity we don't often encounter when examining machine translation projects. We found the speech recognition capabilities of the system to be impressive, especially in its handling of faulty or ambiguous input. Likewise -- albeit working within the restricted domains -- the system was almost flawless in its translation. Some may consider this type of system to be but a small step when compared with the ultimate goal of a general-purpose MT product, but there is much to be said for using experimental technology to build a system that has a practical use in the real world.

Mermaid

The final stop on our tour of NEC's Central Research Labs was the Mermaid project, one of the company's better known R&D efforts. Begun in 1982, Mermaid has evolved into a multimedia groupware system that allows multiple PC and workstation clients to interact over ATM, ISDN and Ethernet/FDDI networks using text, graphics, images, pen input, voice, and video. Mermaid has spawned numerous commercial products over its 14-year history, and has been a tremendous success for NEC. The company has applied the technology to systems for multiparty conferencing, remote education, and multimedia games and karaoke.

One of the key features of Mermaid is the use of a VOD (video-on-demand) Agent, which is responsible for converting the ATM-MCU (Multipoint Control Unit) groupware protocol to the protocol that is used to communicate with the VOD server, and vice-versa. Essentially, any groupware message that makes a request of the VOD server is intercepted by the VOD Agent, which converts the message before passing it on to the VOD server, along with the conference ID and other conference information for that message.

For our demonstration, we were each seated at our own video-equipped workstation and given access to a groupware application for cooperative automobile design. Live video of the participants appeared in separate windows, and each participant could view and edit (via pen input) any window within the application. The current incarnation of the system is used widely throughout Japan and the rest of the world in universities, government organizations, hospitals, and financial organizations. Mermaid technology is also used in the much-heralded On-Line University project, a collaborative effort of some 20 of Japan's most prominent universities to conduct experiments in creating distributed multimedia environments for such applications as remote education and electronic libraries.

In spite of its longevity, the Mermaid project shows no signs of slowing down. Work is currently underway to extend the system for use on the Internet via IP (Internet protocol) Multicast, and for use in wireless networks and mobile terminal environments