Masthead Logo
Masthead Masthead


University of Tokyo and Sun Launch Joint Research Projects

Collaboration seeks to improve efficiency of Fortress, Ruby and JRuby languages

University of Tokyo logo
April 2008

Collaborations between universities and industry can prove fruitful for all involved. These efforts can help define the future of information technology, and help transform research outcomes into real products and competitive advantage. With its roots in the academic community, Sun has always fostered a close relationship with researchers in academia, national labs, and nonprofit organizations.

Now, a new collaboration between Sun and the University of Tokyo hopes to spawn innovation in two key high-performance computing (HPC) and Web-based programming languages. One project will work to develop a library based on skeletal parallel programming in Fortress, an HPC programming language designed by Sun. The other will implement a multiple virtual machine (MVM) environment on Ruby and JRuby, an open source Java code implementation of the increasingly popular Ruby programming language, with the hopes of increasing those programs' efficiency.

"We are delighted to be backing the work at the University of Tokyo," said Jim Parkinson, Sun's vice president of Developer, Tools and Services. "We expect this research to help enable a quantum leap in the scaling abilities of modern Web frameworks like Ruby on Rails."

We expect this research to help enable a quantum leap in the scaling abilities of modern Web frameworks like Ruby on Rails.
— Jim Parkinson
Sun VP, Developer, Tools and Services

Announced in February at Sun's Worldwide Education & Research Conference, these research projects are the direct result of the joint development agreement signed by the University of Tokyo and Sun in June 2005 to establish a new university-corporate collaboration model. The research projects will be the first international collaboration that comes out of the Proprius21 scheme advocated by the university for producing visible results from research collaborations with private enterprises.

"We are very pleased to announce the commencement of two research projects with Sun Microsystems," said Koichi Yamada, managing director of the University of Tokyo. "We believe our close relationship can create knowledge contributing to both industrial and academic fields."

Development of a Library Based on Fortress Skeletal Parallel Programming

In the first project, a group led by Professor Masato Takeichi and Associate Professor Zhenjiang Hu at the University of Tokyo's Graduate School of Information Science and Technology will collaborate with Dr. Guy Steele and his team at Sun Labs to develop a library based on skeletal parallel programming in Fortress. The collaborative research is expected to significantly enhance the convenience of parallel programming. The results will be disclosed under an OSI-approved license.

Skeletal parallelism is a programming method that uses pre-defined components, or "skeletons," extracted from general-purpose parallel processing constructs to make parallelization processes simpler and more scalable, while shielding programmers from such complexities as task communication and synchronization. In addition, the use of constructive algorithmic is being studied to mathematically understand the structure of programs to facilitate program generation and improve the efficiency through program transformation.

Fortress is a new programming language designed for HPC with high programmability. It is being created to do for Fortran what Java-based technologies have done for C by enabling highly productive programming constructs. In the University of Tokyo-Sun project, the wide-ranging language constructs of Fortress and the knowledge gained from the study of skeletal parallel programming are expected to produce a synergy effect. Once the theoretical and implementation issues of the programming language are clearly defined, development of a library will be attempted.

The collaborative research is scheduled to continue until the end of March 2009. For the first year, Sun will contribute funding to the research, which will be conducted at Sun Labs and the University of Tokyo. The university will hire a postdoctoral researcher to conduct the research.

A multiple virtual machine (MVM) environment on Ruby and JRuby is expected to enable greater application performance.
Implementation of an MVM Environment on Ruby and JRuby

In the second project, a group led by Professor Ikuo Takeuchi at the University of Tokyo's Graduate School of Information Science and Technology will collaborate with Sun's director of Web technologies, Tim Bray, and members of Sun's JRuby team to implement an MVM environment on both Ruby and JRuby. The MVM environment is expected to make Ruby programs run more efficiently than was previously possible. The results of the research are scheduled to be open sourced via the broader community of Ruby developers, which could inspire further innovations.

The Ruby programming language was released to the public in 1995 and gained widespread adoption in 2006. A multipurpose language that focuses on simplicity and productivity, it combines the best features of many compiled and interpreted languages, such as easy development of large programs, rapid prototyping, almost-real-time development, and compact code. Ruby is a reflective, dynamic, and interpreted object-oriented scripting language. JRuby is a Java programming language implementation of the Ruby language syntax, core libraries, and standard libraries.

JRuby offers all of the advantages of Ruby, plus interoperability with Java platform applications and access to the full range of Java platform functionality. JRuby and the Java platform are a compelling combination that developers can apply to any programming situation.

Previously, running more than one application simultaneously on Ruby required multiple interpreters, leading to excessive memory consumption. The MVM environment proposed by the University of Tokyo-Sun collaboration could generate multiple VM instances on a single interpreter, allowing applications to run more efficiently.

The collaborative research aims to clarify such technical issues as the definition of common interfaces for using MVM and parallelization of VM instances and memory sharing, and then to implement technologies that can be used on Ruby and JRuby. While Ruby has already been widely in use in commercial and other environments, the research on MVM will further enhance its performance and utility.

The collaborative research is scheduled to continue until the end of September 2009. For the first year, Sun will contribute funding to the research. In addition to the principal researchers from Sun's JRuby team and Professor Takeuchi's group, various other researchers and programmers will be invited to join in this research.

Collaborative Research in a New University-Corporate Relations Model

The University of Tokyo has been advocating Proprius21 — a scheme designed to produce visible results from research collaborations with private enterprises — which has proven successful with many private enterprises in Japan. The joint research agreement with Sun is the first instance of the Proprius21 scheme being applied to a non-Japanese enterprise, and the two initial projects represent the first overseas research collaboration under this scheme.

For many years, the University of Tokyo and Sun have been collaborating in IT research in such areas as microprocessors and high-speed networking. With the inception of the latest collaborative research, the two organizations are strengthening their relationships even further.

"We'll be exploring the possibility of conducting joint R&D into next-generation technologies in the fields of digital campuses, e-learning, and computer sciences," says Emil Sarpa, director of Sun's External Research Office. "Everyone will benefit."