| Literature DB >> 27279746 |
Anwar S Shatil1, Sohail Younas1, Hossein Pourreza2, Chase R Figley3.
Abstract
With larger data sets and more sophisticated analyses, it is becoming increasingly common for neuroimaging researchers to push (or exceed) the limitations of standalone computer workstations. Nonetheless, although high-performance computing platforms such as clusters, grids and clouds are already in routine use by a small handful of neuroimaging researchers to increase their storage and/or computational power, the adoption of such resources by the broader neuroimaging community remains relatively uncommon. Therefore, the goal of the current manuscript is to: 1) inform prospective users about the similarities and differences between computing clusters, grids and clouds; 2) highlight their main advantages; 3) discuss when it may (and may not) be advisable to use them; 4) review some of their potential problems and barriers to access; and finally 5) give a few practical suggestions for how interested new users can start analyzing their neuroimaging data using cloud resources. Although the aim of cloud computing is to hide most of the complexity of the infrastructure management from end-users, we recognize that this can still be an intimidating area for cognitive neuroscientists, psychologists, neurologists, radiologists, and other neuroimaging researchers lacking a strong computational background. Therefore, with this in mind, we have aimed to provide a basic introduction to cloud computing in general (including some of the basic terminology, computer architectures, infrastructure and service models, etc.), a practical overview of the benefits and drawbacks, and a specific focus on how cloud resources can be used for various neuroimaging applications.Entities:
Keywords: MRI; analysis; big data; cloud; cluster; grid; neuroimaging; supercomputer
Year: 2016 PMID: 27279746 PMCID: PMC4896536 DOI: 10.4137/MRI.S23558
Source DB: PubMed Journal: Magn Reson Insights ISSN: 1178-623X
Figure 1Basic diagram of cloud- or grid-based computing. Each of the service models discussed in this primer—ie, IaaS (Infrastructure as a Service), PaaS (Platform as a Service), SaaS (Software as a Service), and BiAaaS (Brain Imaging Analysis as a Service)—are depicted, with examples, from the lowest level of abstraction (left) to the highest level of abstraction (right) within the cloud. It should be noted that as a result of this abstraction, PaaS includes the underlying IaaS, and both SaaS and BiAaaS (which is really just a specialized instance of SaaS) include the underlying PaaS and IaaS necessary to run the particular application or analysis.
Figure 2Simplified diagrams to highlight the main features of (and differences between) single-core CPUs, multi-core CPUs, and GPUs. Although each of the ALUs in single- and multi-core CPUs are more powerful than those found in contemporary GPUs, the large number of ALUs (ie, hundreds or thousands) make GPUs well-suited for processing large numbers of operations that can be run in parallel.
Service models of Google and Amazon cloud computing solutions.
| SERVICE MODEL | AMAZON | |
|---|---|---|
| IaaS (Infrastructure as a Service) | Google Compute Engine (LP), Google Cloud SQL, Google Cloud Storage, etc. | DynamoDB, ElastiCache, RDS, etc. |
| SaaS (Software as a Service) | Google Docs, Google Prediction API, Google PageSpeed, Google Translate, Google BigQuery etc. | Cloud Search, SES, SNS etc. |
| PaaS (Platform as a Service) | Google App Engine | Appstream |
Partial list of cloud computing solutions and tools, their primary applications, and cost models (adapted in part from Tsaftaris).59
| SOLUTION NAME | DESCRIPTION | PRIMARY APPLICATION(S) | COST MODEL |
|---|---|---|---|
| cycle computing | Offering HPC clusters at an hourly rate based on Amazon Web Service (AWS) solutions | • Big jobs capable of using thousands of CPUs | • Hourly billing |
| StarCluster | An open source toolkit to automate building, configuring, and managing clusters of virtual machines on Amazon cloud | • Starting scientific computation in a cloud | • N/A |
| OpenCPU | The OpenCPU server provides HTTP API to run R programs remotely | • To run R programs on the cloud by installing the OpenCPU server | • N/A |
| CPUsage | Provides an environment to install and configure applications. It then packages and deploys the local environment to the cloud | • Starting scientific computation in a cloud | • Per minute billing |
| Wakari | A Python-based data analytics tool hosted in the cloud. Each Wakari node is configured with extensive Python packages and it is browser accessible | • To do Python-based data analysis | • Basic free and monthly |
| CBRAIN | A data processing platform specifically designed for neuroimaging research | • To do neuroimaging research | • Free for Compute Canada users |
| Compute canada | A cloud solution enabling users to install their own operating system and software | • Start scientific computing in a cloud | • Free for compute Canada users |
| PiCloud | Acts as middleware between users and Amazon Web Service (AWS), with the goal of streamlining and simplifying scientific computing in the cloud for end-users | • Run Python-based scientific computing in a cloud | • Sub-second billing for CPU time |