The Week in HPC Research
We’ve scoured the journals and conference proceedings to bring you the top research stories of the week. This diverse set of items includes the remarkable mechanics of bone structure; details about UCSD’s Research CyberInfrastructure (RCI) Program; an efficient approach for Monte Carlo integration on GPUs; an implementation of the lattice Boltzmann method on GPU clusters; and a cloud computing programming model that focuses on predictable performance.
Understanding Bone’s Resilience
A marvel of evolution, bone structure is remarkably strong and resilient, thanks to a combination of collagen (a soft, flexible biomolecule) and the mineral hydroxyapatite (which provides support). The exact pairing of these two substances has long evaded researchers, until now. Recently a team of scientists from MIT revealed how the two materials combine to form a structure that is “simultaneously hard, tough and slightly flexible.”
Using a supercomputer, the researchers were able to model bone structure down to the atomic level to determine its basic building blocks. What they saw was fibers of collagen, strengthened with hydroxyapatite crystals. To determine the accuracy of their model, they compared the results with prior studies of real bone. They also carried out tests on their virtual fibers with different levels of collagen versus mineral, to assess the impact of stress and strain. The tests showed that the mineral crystals were able to withstand four times more stress than the collagen matrix.
“In this arrangement of tiny hydroxyapatite grains embedded in the collagen matrix, the two materials can each contribute the best of their properties. Hydroxyapatite takes most of the forces in the material, whereas collagen takes most of the stretching,” explained Mark Buehler, the project’s lead scientist, an associate professor of civil and environmental engineering (CEE) at MIT.
Thanks to recent advances in supercomputing, modeling work that would have taken years of compute time even a few years ago was completed in just months. The research could lead to a better understanding of brittle bone diseases like osteoporosis. The next step, according to Buehler, is to recreate bone-like materials in lab.
The findings were published this week in the journal Nature Communications.
UCSD’s Research CyberInfrastructure (RCI) Program
UC San Diego established its Research CyberInfrastructure (RCI) Program in 2009 to support the scientific research activities of its campus. Earlier this month, Richard Moore, Deputy Director of the San Diego Supercomputer Center, discussed the program’s progress at the 5th Annual University of Massachusetts and New England Area Librarian e-Science Symposium in Shrewsbury, Mass.
In his address titled “UCSD’s Research CyberInfrastructure (RCI) Program: Enabling Research Thru Shared Services,” Moore presented an overview of the work the Research CyberInfrastructure (RCI) Program is doing to support researchers at the University of California San Diego.
The integrated cyberinsfrastructure includes datacenter colocation, networking, centralized storage, data curation, research computing, as well as technical expertise. Moore says the program will:
- Increase competitiveness of UCSD researchers.
- Realize cost efficiencies and improve service via economies of scale and shared services.
- Preserve UCSD’s digital intellectual property.
- Save energy/$ and effectively use datacenter capital investments (colocation)
In order to better serve its research community, UCSD undertook a survey of the campus’s principal investigators (PIs). Moore provides a peek at some of the noteworthy findings of the soon-to-be-published report.
The interviews were undertaken with a broad sample of approximately 50 representative PIs. Asked where their data was coming from, the responses showed that about 50 percent was from campus instruments, 30 percent from simulations, 20 percent from field instruments, with roughly 15 percent resulting from other external sources. The percentages reflect the number of PIs not the amount of data and since individual PIs use multiple solutions, percentages total more than 100 percent.
A significant finding was the importance of stability and long-term planning. Responses show real interest in user adoption, but only if there is a strong commitment on the campus side that includes keeping prices down for a definite period of time. The survey also reflects the need for a high performance and sustainable storage service.
Monte Carlo Integration on GPUs
Researchers Rida Assaf and Dr. E. de Doncker from the College of Engineering and Applied Sciences at Western Michigan University (WMU) are exploring an efficient approach for Monte Carlo integration on GPUs.
As Assaf explains, Monte Carlo simulations are employed in many fields, including computer-aided design (e.g., automotive safety), finite elements (using tessellations), molecular modeling, particle physics, finance (cash flow, mortgage obligations), psychology/biometrics (e.g. analysis of taste testing), and statistics.
Their experiment employed the NVIDIA Tesla M2090 GPU card, which enables 665 gigaflops peak double-precision floating point performance, or 1,331 gigaflops peak single precision. Each card has 512 CUDA cores, 6 GB of GDDR5 memory and a memory bandwidth of 177 GB/sec (with error-correcting turned off).
The team leveraged the GPUs for several DICE functions, often used in nuclear physics for modeling the behavior of particle interactions. They found that the program achieved speedups of up to 181 compared to sequential execution, tested on different functions.
In the future, the researchers plan to take on multicore and distributed computations using the cluster at the High Performance Computational Science Laboratory (HPCS), Department of Computer Science at WMU.
LBM for GPU Clusters
The lattice Boltzmann method (LBM) holds tremendous promise for the challenging discipline of computational fluid dynamics. It reduces to a regular data parallel procedure making it a good fit for high performance computations. While there have been many efficient implementations of the lattice Boltzmann method for the GPU, there has not been as much work done with multi-GPU and GPU cluster implementations. However, GPU LBM solvers that can perform large scale simulations will be a big boon to researchers. So say a group of French researchers, who for these reasons, decided to undertake an MPI-CUDA implementation of the lattice Boltzmann method.
They’ve written a paper in the Parallel Computing journal describing an efficient LBM implementation for CUDA GPU clusters. They note that their “solver consists of a set of MPI communication routines and a CUDA kernel specifically designed to handle three-dimensional partitioning of the computation domain.” The performance and measurement work were carried out on a cluster using up to 24 GPUs. The final analysis showed that peak performance as well as weak and strong scalability are satisfactory, “both in terms of data throughput and parallelisation efficiency.”
Fig. 6. Communication phase — shape The upper part of the graph outlines the path followed by data leaving the sub-domain handled by GPU 0. For each face of the sub-domain, the out-going densities are written by the GPU to pinned buffers in host memory. The associated MPI process then copies the relevant densities into the edge buffers and sends both face and edge buffers to the corresponding MPI processes. The lower part of the graph describes the path followed by data entering the sub-domain handled by GPU 1. Once the reception of in-coming densities for faces and edges is completed, the associated MPI process copies the relevant data for each face of the sub-domain into pinned host memory buffers, which are read by the GPU during kernel execution. Source.
Cloud Programming for Predictable Performance
The International Journal of Grid and Distributed Computing includes an interesting study, titled “BSPCloud: A Hybrid Distributed-memory and Shared-memory Programming Model.”
A group of researchers from Shanghai University and China Telecom Corporation Ltd. write that “current programming models for cloud computing mainly focus on improving the efficiency of the cloud computing platforms but little has been done on the performance predictability of models.” In light of this, they are investigating a new programming model for cloud computing, called BSPCloud, that leverages multicore architectures while also providing predictable performance.
The team explain that “BSPCloud uses a hybrid of distributed-memory and shared-memory bulk synchronous parallel (BSP) programming model. Computing tasks are first divided into a set of coarse granularity bulks which are computed by the distributed-memory BSP model, and each coarse granularity bulk is further divided into a set of bulk threads which are computed by the shared-memory BSP model.”
The paper presents a proof-of-concept BSPCloud parallel programming library implemented in java. The researchers use the BSPCloud library on matrix multiplication, while the performance predictability and speedup are evaluated in the cloud platform. The results show the speedup and scalability of BSPCloud in different configurations.