ARL researchers win first place in international software design contest

October 15, 2014

By Joyce M. Conant, ARL Public Affairs

Story Highlights

  • ARL researchers addressed the challenge of speeding up the original emulator
  • The techniques developed for the contest are designed to address the programming challenges of next generation computing devices
  • Increasing Soldier capabilities using mobile hand-held computing and achieving maximum performance with emerging heterogeneous computer systems

Two researchers from the U.S. Army Research Laboratory's Computational and Information Sciences Directorate were recently notified that they won first place in an international software design contest and will receive this recognition at the 12th ACM-IEEE International Conference on Formal Methods and Models for System Design, or MEMOCODE, which is scheduled to be held in Switzerland on October 19-21, 2014.

According to the conference website, MEMOCODE's main agenda is to bring together researchers in software design, hardware design, as well as hardware/software codesign, and exchange ideas, research results, lessons learned from each other and apply them to each other's areas. They want to emphasize the importance of models and methodologies in correct system design, and provide a platform for researchers and industry practitioners who work in any or all components of the system stack – hardware, firmware, middleware, software, architecture and applications. David Richie and James Ross, both at CISD, won for their submission, Cycle-Accurate 8080 Emulation Using an ARM11 Processor with Dynamic Binary Translation.

"We described the investigation of methods for cycle-accurate emulation of an Intel 8080 CPU using a low-power ARM11 CPU. Source-level optimizations and several threaded dispatch designs were explored, as well as an extreme optimization technique using direct register mapping and dynamic binary translation between the two Instruction Set Architectures," said Ross. "The cycle efficiency of the fastest design is nearly as fast as the original 8080 processor."

The team explained that an emulator is a computer program that allows a computer to behave like a different type of computer. Emulators are used for many purposes, from running old software on modern computers to virtualization technologies that allow software portability across an increasingly diverse world of computing hardware.

"The ability to emulate one computer with another efficiently allows the user-experience to be transparent," said Richie. "The software developed for the contest translates machine instructions in a particularly fast and accurate manner. By improving the performance and accuracy of the translated instructions, the software can be run in a very energy-efficient manner."

ARL researchers addressed the challenge of speeding up the original emulator by first applying software optimization techniques and then exploring a faster design for an interpreter executing the program one instruction at a time. The fastest emulator was designed using an aggressive technique called dynamic binary translation, in which the stream of machine instructions comprising the original program is translated directly into instructions for the modern processor when the program is run. This technique allowed the emulator to execute the program at nearly the same efficiency as the original processor.

The techniques developed for the contest are designed to address the programming challenges of next generation computing devices.

Song Park, who is the team lead that heard about the contest, said he is excited and thrilled for their work in software design to be recognized at the ACM-IEEE international conference. He said top challenges in computing have been related to software and that the recent trend to heterogeneous systems is exacerbating the issue.

"This award represents expertise in computer science research that demonstrates ARL's leadership in emerging architectures optimization. I saw the MEMOCODE design contest as an opportunity to showcase the cutting edge research and development that the team is conducting in novel approaches to parallel programmability and performance for heterogeneous systems," said Park. "This project establishes foundation for multiple promising future work areas in software portability, dynamic optimization and binary parallelization that can support new architectures. In the long term, we envision enabling individual Soldiers with ubiquitous and intelligent computing."

Dale Shires, chief of ARL's Computing Architectures Branch, Computational Sciences Division in CISD is proud of his team and the strides they are making to increase Soldiers' capabilities with computer systems.

"We have a tendency to take computers and computing for granted, but achieving software portability coupled with good performance is not trivial. Song's team is doing some very interesting work in performance portability and code optimization to tackle this problem. We've been privileged to work with David Richie with Brown Deer Technology and James Ross with Engility Corporation for some time and they are an integral part of our Advanced Computing research team," said Shires. "The novel ideas they and Song's team bring to this problem are paving the way for both increasing Soldier capabilities using mobile hand-held computing and achieving maximum performance with emerging heterogeneous computer systems."

 

Last Update / Reviewed: October 15, 2014