Abstract
The combined use of mice that have genetic mutations (transgenic mouse models) of human pathology and advanced neuroimaging methods (such as magnetic resonance imaging) has the potential to radically change how we approach disease understanding, diagnosis and treatment. Morphological changes occurring in the brain of transgenic animals as a result of the interaction between environment and genotype can be assessed using advanced image analysis methods, an effort described as ‘mouse brain phenotyping’. However, the computational methods involved in the analysis of high-resolution brain images are demanding. While running such analysis on local clusters is possible, not all users have access to such infrastructure and even for those that do, having additional computational capacity can be beneficial (e.g. to meet sudden high throughput demands). In this paper we use a commercial cloud platform for brain neuroimaging and analysis. We achieve a registration-based multi-atlas, multi-template anatomical segmentation, normally a lengthy-in-time effort, within a few hours. Naturally, performing such analyses on the cloud entails a monetary cost, and it is worthwhile identifying strategies that can allocate resources intelligently. In our context a critical aspect is the identification of how long each job will take. We propose a method that estimates the complexity of an image-processing task, a registration, using statistical moments and shape descriptors of the image content. We use this information to learn and predict the completion time of a registration. The proposed approach is easy to deploy, and could serve as an alternative for laboratories that may require instant access to large high-performance-computing infrastructures. To facilitate adoption from the community we publicly release the source code.
Keywords
1. Introduction
The introduction of cloud computing has affected how high-performance-computing resources are purchased, allocated, and managed. While previously access to such resources required either the purchase of advanced clusters or the participation in grid services, with commercial clouds, super-computing-level resources are available to everyone. Although initially they were targeted at enterprise users, the use of commercial clouds for research applications is gaining momentum. This transition is expected to facilitate research where large data repositories need to be processed (‘big data’). An application domain that will benefit from this paradigm change is the large-scale analysis of imaging data. Images arising from biological or medical domains (e.g. magnetic resonance imaging (MRI) of the brain) are characterized by high acquisition cost, large resolution, and complex analysis pipelines (i.e. the sequence of image-processing steps). However, since the same pipeline is applied to each dataset they are ideally suited for large data parallelization.
The advent of MRI methods for the study of the brain has significantly advanced our understanding of how this important organ functions in health and disease. In typical studies, subjects are divided in two or more groups, based on experimental design. Each subject is then scanned (possibly several times) with a particular scanning protocol to obtain one or several imaging volumes that reflect the underlying anatomy of the brain or brain tissue status or composition. At the next phase, imaging data must be analyzed to extract several features that improve our understanding of the effects of specific genetic variations or disease on the brain.
An example of an analysis is to identify differences in the volume of specific brain regions among the subjects and groups from brain MRI volumes. While an expert can manually delineate these structures in each subject’s volume, this process is highly time-consuming (six to ten hours depending on imaging resolution and number of structures) and introduces observer variability. Thus, computational solutions that automatically segment the anatomy within the brain are highly desirable.
One approach that has been particularly popular in the literature is a registration-based atlas propagation (Figure 1). Assuming the existence of an atlas

Registration-based propagation of labels from an intensity volume atlas
Recently, it has been suggested that it is best to use multiple atlases when performing a registration-based label propagation (Heckemann et al., 2006) to account for variability between the subject population and the atlas. In this context several registrations are performed and the best atlas is identified, usually the one most similar to the subject, to propagate the labels. Alternatively, all atlases are used in a fusion-based segmentation approach (Heckemann et al., 2006; Jia et al., 2012). In recognition that obtaining multiple atlases is demanding and that atlases may not always reflect population variability, several intermediate templates are also used. These templates are either previous subjects, or even synthetic MRI volumes created by learning the variability between previously processed subject populations (Jia et al., 2012). As Figure 2 illustrates, in this case all subjects

A multi-atlas (
As the number of subjects (
It is clear that this analysis is computationally demanding and is just an example of the many complex neuroimaging analysis pipelines used throughout the community (Kim et al., 2009; Antoniu et al., 2010). Traditionally, the majority of such analyses have occurred in single powerful workstations with limited throughput. Recently, since non-linear registration of volume pairs (as well as the majority of image analysis pipelines) is suitable for efficient data parallelism, the use of computing clusters to achieve higher throughput has been proposed (see the reviews of Dinov et al., 2010; Frisoni et al., 2011).
In recognition that some researchers may not have access to these options, the scientific community reacted by establishing consortia (e.g. LONI, neuGRID, outGRID, CBRAIN) that aim at making distributed (grid) computing available for neuroscience and neuroimaging research (Dinov et al., 2010; Frisoni et al., 2011). These grid-level services usually provide a user-friendly graphical interface for designing and putting together any image analysis pipeline, with respect to both tools and data. However, for executing this process seamlessly, access to the computer grid associated with the consortia underwriting these efforts is assumed.
Unfortunately, users that have limited or no access to powerful computer grids or clusters are left with limited computational options. Even users that do have access to such consortia or local clusters can in some cases benefit from having additional computational capacity (for example, increasing throughput to meet a deadline). The users can configure and install the underlying computational framework of LONI on another grid environment or the cloud (e.g. they can install the NITRC environment on Amazon EC2, http://www.nitrc.org/plugins/mwiki/index.php/nitrc:User_Guide_-_NITRC_Computational_Environment), but they have to export the image analysis pipeline as a virtual machine and take care of the details of its execution and the management of the cloud resources. To manage the workflow there exist several systems (Soma-workflow (Laguitton et al., 2011), Megha Workflow Management System (Pandey et al., 2009), Gridbus (Buyya and Venugopal, 2004), Cloudbus (Buyya et al., 2009), Aneka (Vecchiola et al., 2009), CometCloud (Kim and Parashar, 2011)), and several demonstrations of those for imaging applications are available (Kim et al., 2009; Antoniu et al., 2010). However, managing such systems (e.g. installation on the cloud environment, and configuration of services) and deployment of jobs may prove challenging and time-consuming for most users. Admittedly, these limitations might explain why cloud computing has not been adopted by the broad neuroscience and neuroimaging community for compute-intensive analyses.
In this paper, we use a commercial cloud computing platform (PiCloud,
relies on a general-purpose cloud environment and not on dedicated grids and clusters;
utilizes the PiCloud platform, which offers flexible, simple, and transparent allocation of computational resources via a Python application programming interface;
is based on Python, which is simpler for building complicated image analysis pipelines than other solutions (e.g. using C or C++ programming languages) as others have also found (Millman and Brett, 2007);
is sufficiently easy to be adopted and extended by non-computer-experts;
allocates cloud resources efficiently to minimize monetary cost; and
incorporates a method to learn and predict execution time by taking into account the image content to facilitate resource allocation.
We demonstrate our findings using data from mouse phenotyping experiments, with the goal of identifying morphological differences between two different population groups. Our cloud-based neuroimaging pipeline identifies such differences in several anatomical parts of the mouse brain. Furthermore, using the same imaging data and execution times we show that it is possible to reduce monetary cost by intelligently allocating resources. This paper builds upon our previous work (Minervini et al., 2012), where we first propose the use of commercial clouds (PiCloud) for neuroimaging.
The rest of this paper is organized as follows: in Section 2.1 we outline the proposed image analysis pipeline, and in Section 2.2 we describe the proposed cloud implementation. Section 2.3 details the proposed framework for intelligent resource allocation on the cloud. Section 3 outlines implementation details and presents and discusses our experimental findings, while, finally, Section 4 offers conclusions and directions for future work.
2. Proposed methods
2.1. Registration-based brain anatomical segmentation pipeline
To demonstrate the potential of high throughput processing on the cloud we implement a typical example of a compute-intensive analysis: a multi-atlas, multi-template anatomical segmentation such as the one illustrated in Figure 2. We rely on a highly accurate non-linear registration algorithm to match a moving volume (e.g. a subject
where
The results of each registration are linear (affine) registration parameters as well as forward (subject-to-template, or template-to-atlas) and inverse (template-to-subject, or atlas-to-template) warp fields (essentially voxel-to-voxel mappings) (Avants et al., 2008). Using the inverse warp field and affine parameters obtained we estimate
Finally, we combine all intermediate segmentations (
2.2. Proposed cloud implementation
To translate our image analysis pipeline to the cloud we use the PiCloud platform. This platform provides the user with transparent access to cloud resources currently supplied by Amazon Web Services (AWS). A Python library and middleware (implemented as an API) enables the use of cloud storage and computational power directly via the Python interpreter. It relieves the user from dealing with several issues such as virtual servers, connections, resource scaling, job scheduling, and billing, which may prevent non-computer-experts from using cloud computing services.
Among the types of service offered by PiCloud (as of July 2013), we consider the following:
c1 core type, offering 1 compute unit, 300 MB of memory, and low I/O performance at US$0.05/hour;
c2 core type, offering 2.5 compute units, 800 MB of memory, and moderate I/O performance at US$0.13/hour;
f2 core type, offering 5.5 compute units, 3.7 GB of memory, and moderate I/O performance at US$0.22/hour;
m1 core type, offering 3.25 compute units, 8 GB of memory, and high I/O performance at US$0.30/hour,
where core types are similar to what Amazon refers to as instances, a compute unit refers to the AWS definition of equivalent CPU capacity of a 1.0–1.2 GHz 2007 Opteron or 2007 Xeon processor, and I/O performance refers to internal communication within the cloud infrastructure. Each core type can be used in two modes: on-demand or real-time core provisioning. PiCloud charges on a per millisecond rate and not for the full hour when using on-demand cores.
The PiCloud service can provide a virtually unlimited number of cores, hence not imposing any strict limits on the total number of potential jobs parallelized simultaneously. This, coupled with the fact that the jobs are self-contained, translates into a high speedup of the overall process.
Subject to resource availability and internal proprietary resource management, any job executed on demand on PiCloud is placed in a queue, incurring a variable (unknown to the user) waiting time. Allocating a priori a job for real-time operation guarantees immediate execution, with a fixed waiting time. If the usage meets a certain per hour minimum (
We configure a Ubuntu GNU/Linux virtual machine (actually a Linux Container) following the PiCloud instructions for setting an environment to include customized libraries and applications required for our operation. We optimize (by enabling multi-threading) and compile the ANTs toolkit, which offers registration (ANTS), warping (WarpImageMultiTransform), and label fusion (ImageMath), and other stand-alone applications. Furthermore, NeuroDebian (
We use Python scripts to execute the workflow illustrated in Figure 3 for a given set of input volumes (subjects, templates, and atlases). More specifically:
We use the PiCloud file storage interface, in particular the
We use Python wrapper functions, an abstract example of which is shown in Listing 1, that execute the components of the image analysis pipeline for each input dataset: they retrieve the input data (subjects, templates, or atlases) from cloud storage to a node, run the applications (registration or fusion) composing the pipeline as subprocesses, and finally save the output files on cloud storage.
A single Python instruction of the PiCloud library
We retrieve the output data (e.g. labeled subjects

Schematic of the workflow that performs the strategy of Figure 2 for a given set of data (subjects, templates, and atlases).

Example abstract code illustrating a part of the proposed cloud implementation, discussed in Section 2.2.
Once all jobs have completed (registrations and fusions), we download to our local workstation all final labeled volumes (
To execute jobs on the PiCloud system (via the
More critically, most approaches do require an estimate of the execution time for each job and application to make efficient and accurate allocation and scheduling decisions (Kim et al., 2009; Garg et al., 2010). Typically, these estimates are obtained by analytical modeling of the underlying source code (which is not always available), or using empirical and historical data of each job and application type (Albers et al., 2009; Kim et al., 2009; Garg et al., 2010; Matsunaga and Fortes, 2010). However, when the job to be executed (in our case a registration) is homogeneous (i.e. the same job and parameters are executed on different data of the same size), we would have to rely on an average estimate of execution time (Smith et al., 1998; Kapadia et al., 1999; Li et al., 2009). Unfortunately, this option underperforms when the execution time depends on the actual data content (not only their size) and involves non-linear iterative components. Image registration is a perfect example of a highly non-linear process that iterates until a numerical minimum is found and thus is highly dependent on the input volumes. In fact, the expected convergence time varies largely among volume pairs (Kim et al., 2009).
Thus, in order to intelligently allocate resources in an environment that is composed of similar jobs but where the data content changes, an approach that utilizes this data dependence to more accurately estimate execution time is necessary.
2.3. Predicting the execution time of image analysis applications
Here we propose for the first time a learning-based method, which utilizes prior history of execution times and actual imaging data to learn a model that relates image content and execution time for each individual registration. Although we focus on registration, our formulation is general enough to accommodate several image analysis applications that involve iterative optimization components. It may be utilized wherever estimates of execution time are needed (e.g. in any resource management framework; see Kim et al., 2009; Garg et al., 2010).
To showcase the effect of accurate prediction of execution time from a resource management perspective we consider a proof-of-concept problem: minimizing the total cost of performing a multi-atlas, multi-template segmentation for a set of subjects, templates, and atlases. Under certain assumptions (e.g. ignoring total completion time, or makespan, and not incorporating the unknown to the user wait time for on-demand cores) this optimization reduces to minimizing the individual cost of each registration. The main innovation is the method to accurately predict the execution time of non-linear processes. Once a good estimate of time is available it can be incorporated into any complex optimization and resource-scheduling process.
For convenience of presentation and without loss of generality, we refer to a registration between a subject
where
Unfortunately, the execution time of an application is not known a priori and a model to estimate it is necessary. We model the execution time
where
Most works in the literature related to scheduling or resource-provisioning would assume either the worst-case scenario for the number of cycles needed for an application (by source code profiling; see Li et al., 2009), or they would rely on a historical average estimate (Smith et al., 1998; Kapadia et al., 1999), or learned models of the usage of computational resources for an application (Albers et al., 2009; Matsunaga and Fortes, 2010). For the same application (e.g. a registration) with data size equal for each case, this means that the execution time is estimated either using a constant (a worst-case value is assumed) or as the historical mean (or maximum) of previous executions for the same core type. However, in this context this will not lead to good allocation, because it does not take into account the effect of the actual data content on the execution time of the application (e.g. how many iterations it takes to converge).
We propose that in the context of non-linear image registration, we can actually model the application component more accurately by incorporating the image content within the formulation as
where
For simplicity but without loss of generality, we can assume that all jobs are executed with the same parameters:
It is known that intensity-based registration algorithms utilize local similarity metrics, such as normalized cross-correlation, mean squared error, and normalized mutual information, to drive the registration process (Avants et al., 2008). Thus, the similarity of two volumes should affect how fast and easy it will be to register them. Figure 4(top) provides a motivating example, showing color-coded local correlation values (using a

Distribution of local correlation is related to execution time (top). The local correlation values vary spatially in this slice view between different volume pairs
Based on this motivation, we proceed by modeling
In order to reflect the contribution to time of processing the original volumes hierarchically, using
On the basis of this volume
The above statistical features do not take into account the topological distribution of correlated areas. Thus, we also adopt several easy-to-compute topological 3D shape descriptors introduced in the discrete space (a voxel representation) of binary volumes. We obtain the binary volume
Sphericity
where
Discrete compactness
where
Fill
where
For each new registration we compute the local correlation volume
We use supervised learning approaches to obtain models of the execution time
We linearize equation (6) by taking the logarithm on each side; therefore we proceed by modeling
The first type of regression analysis we consider is a simple linear model, which expresses execution time (actually, the logarithm of time) as a linear combination of the input features:
where
To see if some features (in their extracted level) are more important than others, we optimize the number of features employed by the linear model using a feature selection strategy widely adopted for sparse approximations, in order to discard unnecessary predictors and obtain a possibly more interpretable model (Andrle et al., 2004). We explicitly impose the maximum allowed representation error
In addition to the linear model, we also investigate possible non-linear relations between execution time and features, using random forest regression (Breiman, 2001) and SVR (Drucker et al., 1996; Smola and Schölkopf, 2004). Random forest regression (Breiman, 2001) uses an ensemble of
On the other hand, from the area of maximum margin classifiers, SVR (Drucker et al., 1996) is a statistical learning method for the computation of a regression function from labeled training data. We first use the basic linear formulation of SVR, that operates in the original
where
Linear kernel:
Gaussian kernel:
Sigmoid kernel:
Polynomial kernel:
The parameters of the SVR learning algorithm (
We use different regression models in order to maximally cover the advantages offered by each one in recovering/interpreting the underlying data structure. For example, the linear model albeit simple is generally able to produce good, interpretable results (especially with the addition of a feature selection step) and can be easily extended to process data in an online fashion, thus updating the model on the fly with every new addition of data. On the other hand, SVR methods are able to accommodate for non-linear dependencies, even though the generated models rarely have a real-world interpretation and a considerable amount of time has to be allocated to the delicate task of parameter tuning. Finally, random forest also allows for non-linearity and additionally can accommodate categorical variables in the model (e.g. if we were to use one model to describe all possible parameter and environment setups) while also providing a natural feature selection mechanism (variable importance estimation). Again, the selection of the model may be time-consuming since many realizations of the random forest are computed for the same parameters and the best model is kept.
In the following section we present the performance of the proposed prediction approaches compared to the classical one of using the historical mean of execution time.
3. Results and discussion
3.1. Experimental setup
To demonstrate the potential of our approach, in this paper we use imaging data from small animal (mouse) phenotyping experiments. We use a total of
Parameters for all ANTs-based registrations are normalized cross-correlation as similarity criterion in a window of size
We execute the image analysis pipeline using the proposed PiCloud implementation only on ‘real-time’ cores. Thus, six jobs (registration between atlas and templates) are required for the first part of the analysis, and 120 jobs (registration between templates and subjects), for the second part. Also, 20 fusion jobs are necessary. Each job is assigned to a core instance on the PiCloud, with locks to complete the registration processes (126 jobs) before launching the fusion jobs. The benefit of using ‘real-time’ cores is that each instance (and job) is launched simultaneously after a fixed provisioning time.
To compare the gain in efficiency by parallelizing this process using the PiCloud platform, we also execute the same process on a local workstation (eight core 3.4 GHz Intel Core i7 and 16 GB RAM) using one (serially) or eight cores (parallel) without any optimization.
3.2. Phenotyping findings
Figure 5 shows a 3D rendering of four structures of interest for one of our subjects. Collectively Table 1 shows average (and standard deviation) volume sizes for the four areas of interest, which are obtained by measuring the number of voxels that have a given label number in the labeled subject volume

A 3D rendering of brain anatomy for one of our subjects. Four different anatomical structures are labeled and shown with different colors, while the brain volume is reported as semi-transparent gray.
Morphological phenotyping results for the two mouse lines used where structure volumes are shown as mean (standard deviation), and *, *** indicate significant difference at the 0.05, 0.005 levels, respectively.
3.3. Computational results
In this section we present our findings related to the computational aspects of the process as well as the results of the learning-based modeling of the execution time. All models use the previously defined probability densities and the topological features of the local correlation volumes at all
As depicted in Figure 3, the workflow assumes that the user uploads the input data to the cloud and, upon completion, downloads the output data. We measure the upload and download rate from our site in Italy to PiCloud (hosted in East Coast AWS) at 3.7 and 7 Mbit/s respectively. Assuming on average 3 MB for each volume, the total times spent uploading and downloading data are 2.9 min and 69 s respectively, since we upload 27 volumes and download only 20 volumes (the final labeled subjects). Average times (for intra-cloud data transfer and processing time) for each non-linear registration as well as monetary cost are shown in Table 2. Observe that with respect to processing time, data transfer time is negligible, demonstrating the compute-intensive characteristics of this analysis, making it ideal for data parallelism, which is known to scale efficiently.
Average times and cost per non-linear registration on cloud and local workstation shown as mean (standard deviation).
This accounts for time spent moving around data within the PiCloud infrastructure, reflecting both network-level I/O latency and also latency to the local (node) storage. For reference, input data size =
Costs according to PiCloud pricing of July 2013.
The makespan of the overall process (in our context the execution time of the longest registration job for the first part of the analysis, followed by the longest registration for the second part, and finally the longest fusion job) for our study on PiCloud requires 8, 5.1, and 4.2 hours for c2, m1, and f2 core types, respectively. On the other hand, using all eight cores on the local workstation requires a total of 18 hours. The total time at the workstation without any parallelization (one core) requires over 140 hours (approximately six days). As the number of registrations or the time to perform a registration increase (higher resolution, different parameters) the local workstation is not able to handle the load.
Considering a hypothetical experiment (a similar one is described in Jia et al., 2012) with
To showcase the potential of the proposed learning framework for predicting execution time of non-linear registration (for minimizing cost), we use real execution times and the 120 volume pairs of the second stage of the registration process (the right-hand part of the graph in Figure 2). These registrations are executed in all possible core services (c2, f2, m1) and thus we collect 360 execution times in total. For reference, the total cost of executing all 120 registrations on c2, f2, and m1 is US$17.2, US$18.1, and US$30.1, respectively. In the following we refer only to c2 and f2, because m1 is more expensive than f2 and slower in all cases. Since for each registration we know the actual execution time at c2 or f2 core service, using equation (2) we identify the optimal scenario of assigning a registration to the core type that minimizes cost. We label this assignment as
Subsequently we use the volume pairs and execution times for each core service to train all the models described in Section 2.3. We use the same similarity criterion (correlation) and the same neighborhood size (cube of five voxels) as those used for ANTs registrations to obtain
To test the accuracy of predicting the execution time of an unseen volume pair
Regression model parameters used in the experiments.
We repeat this process first on execution times of the c2 core and then for the f2 core, and using equation (2) we estimate the core assignment
Using such evaluation criteria allows us to compare the performance of the different models when predicting the execution time of a new registration. We use MAPE since this indicator is widely adopted to determine the quality of estimation, especially in the case of time series forecasts, and allows us to evaluate directly any differences in time prediction between core types. (If we were to use actual times this comparison would not be possible since one core type is faster than the other.)
Given the estimated core assignment
Estimating the execution times of non-linear registration processes as accurately as possible is an important aspect of resource provisioning when considering allocation for monetary cost minimization and also for job scheduling. Table 4 outlines the main results obtained regarding the execution time estimation and provides a comparison with the historical mean. (SVR with sigmoid and polynomial kernel report low performance in all experiments, and are excluded from the comparison.) Overall, the MAPE in predicting the execution time of our learning-based approach using a linear model is 17.6% and 15.5% for the c2 and f2 core services respectively. On the other hand, using simply the mean of historical data, the error is 30.1% and 28.7% respectively. Thus, our approach provides almost a 50% improvement over current practice. It appears that a linear model describes the relationship between the features used and execution time well, and offers comparable performance in both training and testing sets, indicating good generalization. The reduced linear model with feature selection (using on average six features) does not improve performance, demonstrating the importance of all features (statistical and topological extracted at all resolution levels). The other non-linear models do not seem to provide any benefit in terms of testing performance. While random forest does offer the lowest training error (
Cross-validated results of regression analysis for c2 and f2 core type execution times, reported as MAPE.
The first direct application of estimating the job execution times is job allocation. When using the PiCloud platform, the central question is to which type of core to allocate each individual job. We are interested in the overall allocation performance (percentage-wise, how many jobs are allocated to the same type of core as in the best case) and the specific allocation performance (percentage-wise, for each core type, the allocation accuracy as compared to the best case). The complete results are depicted in Table 5. The linear model agrees with the best case in 77.5% of the cases, whereas using the historical mean to drive decisions results in an overall agreement of only 50%. Remarkably, the historical mean agrees less than 3% in f2 allocations with respect to the best case. Such biased behavior is not observed with the linear model. Overall, all of the proposed models offer superior performance compared to the historical mean, and the random forest offers the highest accuracy among all (88.3%). It appears that there is slightly higher accuracy when allocating to c2 rather than f2 core type. However, this is not due to less accuracy in the model (no such difference in execution time prediction was observed before) but because there are fewer allocations to f2 in the best case (32% jobs are allocated to f2, while 68% are allocated to c2). Finally, it appears here that all models perform similarly and sometimes better than the linear model. This is due to the fact that the allocation accuracy is a byproduct of a cost decision. That is, after execution time prediction, the allocation is decided according to cost. Most of the difference in the execution time (estimation error) is masked by the non-linear pricing strategy of real-time cores of PiCloud. On average, as shown in Table 2, a registration takes 37 min on a f2 core. This is remarkably close to the 60% of the hour (36 min) decision threshold for real-time core charge. Thus, what matters for allocation purposes, at least for f2 core type, is whether both real and predicted execution times are below or above this threshold, and not exactly how accurate the time prediction is. However, if the pricing strategy changes one would expect these accuracy figures to change as well, and this is the compelling reason for reporting prediction time as well, since execution time is the input to any decision problem.
Cross-validated results for resource allocation accuracy.
Overall accuracy denotes the percentage of correct allocations with respect to the best case.
c2 (resp. f2) allocation accuracy denotes the percentage of correct c2 (resp. f2) allocations with respect to the best case.
Encouraged by the performance indicators obtained when estimating execution times and allocations, we apply our model to the estimation of the monetary cost of using the PiCloud platform and illustrate the potential monetary gains for intelligently allocating resources. We use the proposed approach to drive core allocations which in turn reduce total monetary cost as seen in the bar plot of Figure 6 (for clarity not all variations are shown). The proposed approaches offer a cost close to the best-case scenario. In the same figure the blue line shows the average execution time of each case. Overall, driving decisions using any of the proposed approaches results in an average execution time of 47.1 min on par with the 46.4 min of the best case. Thus, adopting any of the proposed approaches one can achieve both lower cost and better performance compared to using the c2 service (longer time), the f2 service (more costly), or the historical mean (more costly and longer time). Naturally, the prediction accuracy will improve by adding more data and a more advanced similarity model (one that is still computationally efficient to estimate).

Cost (relative to assigning all registrations to the f2 core type) and average time of all registrations for various allocation scenarios.
Several conclusions can be drawn from these findings. The linear, random forest and SVR + Gaussian kernel models perform very well in terms of time and cost estimation, leading to an approximate 12–15% cost reduction compared with ‘All f2’: the most expensive solution. We emphasize that all proposed methods offer quantitatively better results than the historical mean. This leads to the conclusion that inquiry into the content of the input image data has a great importance for execution time estimation and, ultimately, cost prediction and optimization. This approach seems to provide more insight into the correct allocation patterns than only using data dimension and/or historical information.
In this paper we use a few data points but we can assess how the methods will behave when applied to larger datasets. Assuming the availability of a large number of independent and homogeneous jobs we expect the result of the historical mean to improve significantly. Of course, this setting also implies that the results obtained by the proposed methods will improve as well. Although the difference between the historical mean solution and the proposed solutions may decrease in this case, still we expect the proposed ones to always outperform the naive historical mean approach and provide a more reliable time estimation mechanism, for example for scheduling applications. Conversely, if we consider a more complicated setup (such as more core types, more complex imposed cost function), a more heterogeneous set of imaging volumes, or an application where accurate time prediction is critical (such as the scheduling of large time-dependent workflows of imaging applications), the results of the proposed solutions will perform well while we expect a degradation in the results of the historical mean.
4. Conclusions
In this paper we demonstrate that offloading intensive analyses to the cloud is possible and beneficial, since they are ideally suited to data parallelism (i.e. they are compute-intensive and not limited by inter-process or intra-cloud communication). While the PiCloud platform is convenient and facilitates the use of cloud infrastructures, it is possible to implement similar pipelines using other libraries if the user so chooses. Nevertheless, no matter what environment is used (cloud, cluster, or multi-core workstations) optimizing resource allocation is necessary and the proposed framework for incorporating data dependency does improve the efficiency of resource allocation methods. While here we demonstrate this potential using simple similarity-driven features (statistics of their distribution and topological shape descriptors) for estimating the computational burden of non-linear registrations, more sophisticated methods can be developed. It is clear that the more volumes are registered the more accurate our estimation will be. We are currently developing methods to integrate this prediction process seamlessly, and to extend it to predicting execution time of other core neuroimaging analysis steps (e.g. segmentation). We will release in the public domain all source code material to facilitate adoption by users that are interested in performing such an analysis on the PiCloud platform. Although here we rely on mouse data, the same code and approach can be used with any brain MRI data (human or other), and can be easily extended to accommodate different pipelines as well. With this paper our goal is to provide a compelling example of how the cloud paradigm is used to create powerful and comprehensive image analysis pipelines that are simple to use and available to a large community of scientists, thus increasing the democratization of science. The possibility to perform hundreds of parallel executions at a fraction of the cost of owning a workstation opens the possibility to many laboratories around the world to develop state-of-the-art image analysis pipelines, without having to rely only or at all on (shared) distributed computing facilities.
Footnotes
Acknowledgements
The authors would like to thank Alberto Galbusera for assistance with data collection, and PiCloud Inc., particularly Ken Elkabany, for providing technical assistance.
Funding
This work was partially supported by a Marie Curie Action: ‘Reintegration Grant’ (grant number 256534) of the EU’s Seventh Framework Programme (FP7).
Author biographies
Massimo Minervini received BSc and MSc degrees in Computer Science from the University of Bari, Italy, in 2008 and 2010, respectively. He is currently pursuing a PhD in Computer Science and Engineering at the IMT Institute for Advanced Studies, Lucca, Italy, investigating application-aware image compression for plant phenotyping. His research interests include data compression, computer vision, machine learning, and applications to life science.
Cristian Rusu received a PhD in Signal Processing from the University Politehnica of Bucharest, Romania, in 2012. He is currently a post-doctoral researcher with the Pattern Recognition and Image Analysis group at the IMT Institute for Advanced Studies, Lucca, Italy. His current research interests include signal processing, numerical linear algebra, sparse representations, dictionary learning, and applications to image processing.
Mario Damiano obtained a BSc in Biomedical Engineering from the University of Pisa, Italy, in 2008 with a thesis on algebraic reconstruction techniques in CT images. In 2011 he earned an MSc in Clinical Engineering from the University of Trieste and became a research assistant at the Italian Institute of Technology, developing pipelines for the morphological analysis of CNS rodent models in MRI. He is now pursuing a specialist Master in Management of Clinical Engineering at the University of Trieste, focusing on the maintenance of medical devices and health technology assessment.
Valter Tucci graduated in Psychology in 2000 at the University of Padua, Italy, studying the cardiovascular changes associated with NREM and REM sleep states in humans. He received a PhD in Sleep Medicine from the University of Genoa, Italy, in 2004, investigating the physiological and cognitive traits of narcoleptic patients. Between 2003 and 2008 he was a post-doctoral researcher and then investigator scientist at the Medical Research Council Harwell, Oxford, UK, where he focused on behavioral and cognitive phenotyping of mouse models. In 2008 he was awarded the medal ‘Mente & Cervello’ and the medal by the President of the Italian Republic as ‘Young Investigator’. He is currently team leader of the Neurobehavioural Genetics Group at the Italian Institute of Technology in Genoa, Italy. His research is focused on the analysis of the effects that genetic and epigenetic mechanisms exert on sleep and cognition.
Angelo Bifone is the Director of the Center for Neuroscience and Cognitive Systems of the Italian Institute of Technology in Rovereto, Italy. He received a PhD in Physics from the Scuola Normale Superiore in Pisa, Italy, and a Master in Business Administration from the University of Bologna. He trained and worked at the University of Berkeley, CA, at the University of Leiden, The Netherlands, and at the Institute of Cancer Research, London, UK. Before joining the Italian Institute of Technology in 2010, he headed the Neuroimaging Department of the GlaxoSmithKline Medicines Research Center in Verona, Italy, for eight years. His main research focus is MRI, and its application to the study of brain structure and function.
Alessandro Gozzi received an MSc degree in Biotechnology and a PhD in Biomedical Imaging from the University of Verona, Italy. He later joined GlaxoSmithKline, a research-based pharmaceutical company, where he developed and implemented functional MRI methods to probe pharmacological mechanisms in preclinical models of CNS disorders. During his research, he has identified and described the circuital substrates modulated by centrally active substances belonging to different pharmacological classes, and within multiple areas of experimental neuroscience (schizophrenia, depression, drug addiction, etc.). He is currently group leader at the Istituto Italiano di Tecnologia in Rovereto, Italy, where he leads an MRI laboratory equipped with a preclinical 7 Tesla scanner for in vivo mouse neuroimaging. His research interests focus on the application of advanced functional and structural MRI methods to describe healthy and pathological neurofunctional states, and the investigation of circuital basis of behavior.
Sotirios A Tsaftaris is with the IMT Institute for Advanced Studies, Lucca, Italy, where he is the Director of the Pattern Recognition and Image Analysis Unit. Previously, he held a joint research assistant professor appointment with the Departments of Electrical Engineering and Computer Science and Radiology at Northwestern University, IL, USA. Currently, he maintains an adjunct appointment with Northwestern. He has published extensively, particularly in interdisciplinary fields, with almost 90 journal and conference papers in his active record. His research interests are medical image analysis, computational biology, machine learning, and large-scale analysis of imaging data. Professor Tsaftaris is a Murphy Fellow, a Marie Curie Fellow, and a Fellow of the Alexander S Onassis Public Benefit Foundation.
