Real Time HPC
Enterprises have been using High Performance Computing (HPC) and Compute Grids to solve advanced computational problems for some time now. Some of the common HPC application examples include:
- Calculation of risk in business using Monte-Carlo simulation
- Proactive fraud detection
- Search and distribution of multi-dimensional data
- Distributed offline data warehousing
Typically these applications were designed to run in batch mode and had SLAs that allowed results to be returned within hours. As companies realize that the information provided by these applications can be strategically important for immediate decision making as well as improving the user experience, they seek to improve the SLAs for their HPC applications and move toward real time or near real time response times. All HPC applications are either computationally or data intensive. Because of this most of the solutions use a Compute Grid and/or a Data Grid.
Compute Grids
The primary requirement of HPC applications is to split, distribute and aggregate the results from hundreds or thousands of tasks running in parallel. There are many commercial products and open source software that enable this both for Java and .Net platforms. Grid Dynamics has expertise with many HPC compute grids including :
- Condor, DataSynapse, GridGain, Microsoft HPC++, Platform LSF, Sun Grid Engine
Data Grids
A side effect of distributing tasks onto multiple machines is that it introduces a huge bottleneck on data access because there will be multiple nodes accessing some common data. Using a data grid layer in front of the common data is one of the proven approaches that can dramatically increase performance. Grid Dynamics has expertise in many of these technologies, available for all the common programming language platforms:
- For Java applications, Oracle Coherence, GemStone and GigaSpaces XAP are the most famous In-Memory Data Grids (IMDGs) and, hence, can be used as distributed caches.
- For .Net applications, there are NCache, ScaleOut or Microsoft’s new Velocity distributed cache (currently available as a Community Technology Preview).
- For C++, PHP, Ruby or Python applications, memcached is a popular choice.
Our Expertise
Grid Dynamics has been involved in many projects helping customers to create real time HPC applications using all of these platforms. We created a next generation fraud detection system for a major Internet payment processing company. The system featured an analytical application with over 1TB of data and running real-time fraud detection algorithms with 40 ms latency and over 200 per second throughput. These response times and transaction rates made it possible to change fraud detection from a back office, batch process to one in which fraud attempts can be detected almost immediately. The combination of Grid Dynamics’ technical expertise and best practices, along with our Technology Adoption Roadmap, can deliver innovative solutions that can make your HPC applications real time.
Contact us today for more information or to arrange for an initial assessment of your requirements.