Download Research Tools
Question: What precocious five-year old is writing parallel code to make the most efficient use of multi-core processors?
Answer: The Barcelona Supercomputing Center (BSC)–Microsoft Research Centre in Barcelona, Spain, also known as BSCMSRC by those who enjoy trying to pronounce acronyms that contain no vowels.
From left to right: Andrew Blake, managing director, Microsoft Research Cambridge; Fabrizio Gagliardi, director, Microsoft Research Connections EMEA; Maria Ribera, dean of Barcelona School of Informatics; Rick Rashid, senior vice president of Microsoft Research; Antoni Giró, president, Rector of Technical University of Catalonia - Universitat Politècnica de Catalunya; and Mateo Valero, director, Barcelona Supercomputing Center
Okay, so it was a trick question. But the Centre, which celebrates its fifth anniversary on November 2, 2011, truly is a precocious operation, producing code that makes it easy for programmers to develop parallel-processing software. This is vital because everything—from smart phones and tablets, to PCs and supercomputers—is sprouting extra cores so users can do more. A joint venture of BSC and Microsoft Research, the BSCMSRC brings together the expertise of hardware and software researchers from BSC and software mavens from Microsoft Research.
One technology that the BSCMSRC researchers have been looking at is transactional memory (TM). TM makes it easier to write parallel programs that frequently share data, a process that otherwise requires complex and unwieldy programs. The Centre has developed sophisticated TM applications to date, QuakeTM and Atomic Quake. These applications, which are based on the open-source Quake game server, will be useful in evaluating TM-equipped chips. As part of the €4 million VELOX project funded by the European Commission, BSCMSRC has coordinated the development of a fully integrated TM system that includes hardware simulators, language runtime systems, and compiler support alongside the new TM applications.
BSCMSRC researchers have also developed a dataflow programming model called StarsS, in which data that is produced and consumed in applications automatically “flows” at program runtime. This frees the programmer from explicitly architecting data movements in his or her application and makes it much easier to develop software. BSCMSRC researchers are integrating the StarsS programming model with the Barrelfish research OS, a new message-passing, open-source operating system being developed by Microsoft Research and ETH Zurich.
“BSC’s expertise in computer architecture has been a great fit with our expertise in programming language implementation,” notes Tim Harris, senior researcher at Microsoft Research Cambridge. “This cross-disciplinary approach has led to proposals for new, general-purpose hardware features to accelerate the language runtime systems that underpin modern languages such as Haskell and C#.”
In marking the BSCMSRC’s fifth anniversary, BSC Director Mateo Valero commented “I am proud of the impact of the work done by a very young team at the Centre in our five years of existence. With the multidisciplinary competences of our research personnel, the Centre is in a unique position to influence both hardware and software design. I am also very happy to see Microsoft Research being a major actor in our little Silicon Port at Barcelona in the Mediterranean.”
Fabrizio Gagliardi, Microsoft Research Connections director for Europe, the Middle East, and Africa—and Mateo’s counterpart in this adventure—adds, “Our collaboration with Mateo and his team of computer architects goes a long time back and was the foundation for this joint endeavor. I am very pleased and proud for the results of this collaboration and the resonance and the impact that this is having worldwide.”
—Kenji Takeda, Solutions Architect and Technical Manager, Microsoft Research Connections EMEA
The Microsoft Biology Foundation (MBF) has undergone a significant transformation since it was first released. Over time, it’s become clear that a new name was also in order. So today, I am pleased to announce that MBF will now be known as .NET Bio. In addition to the new name, .NET Bio will also have a new location: the Outercurve Foundation. This move is the next logical step in the life of the project: transferring its ownership to a nonprofit foundation that is dedicated to open-source software underscores our community-led philosophy; while Microsoft will continue to contribute to the code, it will do so as one among a growing community of users and contributors.
About .NET Bio
.NET Bio is a bioinformatics toolkit that was built using the Microsoft 4.0 .NET Framework. It is designed for use by developers, researchers, and scientists, making it simpler to build applications to meet the needs of life scientists. This open-source platform features a library of commonly used bioinformatics functions plus applications built upon that framework, and can be extended by using any Microsoft .NET language, including C#, F#, Visual Basic .NET, and IronPython. Users can perform a range of tasks with .NET Bio, including:
Like other frameworks (for example, BioJava and BioPython), .NET Bio can help reduce the level of effort that is required to implement bioinformatics applications through the provision of a range of pre-written functionality.
In addition to enhancements to the performance and capacity of the basic features contained in the previous version, the new version will provide a range of new features and demo applications. This includes:
.NET Bio is now in use by both academic and commercial organizations—including Microsoft—worldwide.
—Simon Mercer, Director of Health of Wellbeing, Microsoft Research Connections
Computers are everywhere, controlling everything from phones and traffic lights to airplanes and buildings. And inside each computer is software: line after line of complex code that tells the program, and any attached hardware, what to do.
It’s amazing how the world has come to rely on software.
Testing is a vital step in software development, but it’s hard to test every possible path through millions of lines of code. For example, in 2003 the northeastern United States and Canada experienced a blackout that affected more than 50 million people due to an obscure problem in the energy management system software. It was admitted afterwards that even extensive testing would not have found this problem. So we need more formal methods to determine such program behavior in advance. This software verification—the science of deducing whether a program will execute correctly—is crucial for reliability in complex programs.
Much of the existing work in software verification does not consider the processor design itself, which is a problem because new multi-core processors and more complex computer architectures are being designed for next-generation computing platforms—from mobile phones and tablet devices to cloud computing data centers. A new collaboration between Koç University in Turkey, Microsoft Research, and the Barcelona Supercomputer Centre is taking a unique multidisciplinary approach, bringing together world-leading researchers in computer architecture, formal methods, and systems to produce a coherent, end-to-end, robust methodology for computer architecture design.
Dr. Serdar Tasiran from Koç University leads the discussion with his research team: Hassan Salehe Matar, Cansu Erdogan, Umit Can Bekar, Omer Subasi, Zeynep Su Kurultay, and Emre Gul.
Research leader at Koç University, Serdar Taşıran, is excited about this new project, “After working together for many years, it is tremendous that we are beginning this formal collaboration between Microsoft Research and Barcelona Supercomputer Centre to look at the whole problem of software verification from the processor-up.” This follows a strong history of working closely with Microsoft Research in Redmond, Cambridge, and India.
The team aims to create a holistic, robust approach to the development of novel computer architectures. This is required to simultaneously push the state-of-the-art while permitting application-driven scenarios to be taken into account at an early stage in the hardware design.
Tim Harris, a senior researcher at Microsoft Research Cambridge, explains “Modern programming languages such as F# rely on multiple layers of software for activities such as garbage collection and managing parallel work items. This collaboration will help us develop new hardware techniques to accelerate these activities, while ensuring that the correctness of programs is not compromised."
Mateo Valero, director of Barcelona Supercomputing Center, adds, “This collaboration simultaneously targets the three requirements that modern multi-core computing faces today: processors should be fast and efficient, they should be easy to program, and they should compute in a verifiable and correct way."
Fabrizio Gagliardi, director of Microsoft Research Connections Europe, the Middle East, and Africa (EMEA), is delighted. “This is a strong partnership that brings together world experts in software verification and computer architecture to solve this hugely challenging problem,” he says. “We look forward to this project paving the way to more reliable software on tomorrow’s hardware.”