Developing parallelized computing applications for cloud-based scientific computing

In solving engineering and scientific problems using numerical methods, we often rely on specialized numerical computing software such as Matlab. Such software provides an ease of use that is not available in general purpose programming languages such as Pascal or C, but comes at a high cos...

Full description

Saved in:
Bibliographic Details
Main Author: Wee, Choon Kiat.
Other Authors: Damodaran Murali
Format: Final Year Project
Language:English
Published: 2010
Subjects:
Online Access:http://hdl.handle.net/10356/40651
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Nanyang Technological University
Language: English
Description
Summary:In solving engineering and scientific problems using numerical methods, we often rely on specialized numerical computing software such as Matlab. Such software provides an ease of use that is not available in general purpose programming languages such as Pascal or C, but comes at a high cost, low performance, and limited flexibility. The use of the high level general purpose programming language, Python, provides a free, easy to use, and powerful alternative to these specialized numerical computing software. In addition, numerical solutions to engineering and scientific problems often requires high performance computing systems. Computing clusters of varying sizes can be used to solve these problems, but will require the use of parallelized codes to effectively harness the power of such computing resources. Traditional computing clusters used within a university requires a high capital and upkeep cost, and may not run efficiently due to the lack of sufficient workload to keep the cluster occupied. Cloud computing services available today through the internet, provides us with near limitless computing resources complete with storage, memory, and CPU time, on an on-demand basis. This present us with the opportunity to dynamically assemble a high performance computing cluster to meet any adhoc computing needs.