{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Parallelizing analysis\n", "\n", "As we approach the exascale barrier, researchers are handling increasingly large volumes of molecular dynamics (MD) data. Whilst MDAnalysis is a flexible and relatively fast framework for complex analysis tasks in MD simulations, implementing a parallel computing framework would play a pivotal role in accelerating the time to solution for such large datasets.\t\n", "\n", "This document illustrates how you can run your own analysis scripts in parallel with MDAnalysis.\n", "\n", "**Last executed:** Sep 23, 2020 with MDAnalysis 2.0.0-dev0\n", "\n", "**Last updated:** August 2020\n", "\n", "**Minimum version of MDAnalysis:** 2.0.0\n", "\n", "**Packages required:**\n", " \n", "* MDAnalysis (Michaud-Agrawal *et al.*, 2011, Gowers *et al.*, 2016)\n", "* MDAnalysisData\n", "* dask (https://dask.org/)\n", "* dask.distributed (https://distributed.dask.org/en/latest/) \n", "* joblib (https://joblib.readthedocs.io/en/latest/)" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "ExecuteTime": { "end_time": "2021-05-19T07:55:53.072604Z", "start_time": "2021-05-19T07:55:51.221816Z" } }, "outputs": [], "source": [ "import MDAnalysis as mda\n", "from MDAnalysisData.adk_equilibrium import fetch_adk_equilibrium\n", "\n", "import numpy as np\n", "import pandas as pd\n", "import seaborn as sns\n", "import matplotlib.pyplot as plt\n", "%matplotlib inline" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Background\n", "\n", "In MDAnalysis, most implemented analysis methods are based on `AnalysisBase`, which provides a generic API for users to write their own trajectory analysis. However, this framework only takes single-core power of the PC by iterating through the trajectory and running a frame-wise analysis. Below we aim to first explore some possible simple implementations of parallelism, including using multiprocessing and dask. We will also discuss the acceleration approaches that should be considered, ranging from your own multiple-core laptops/desktops to distributed clusters." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Loading files" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The test files we will be working with here feature adenylate kinase (AdK), a phosopho-transferase enzyme. (Beckstein *et al.*, 2009). The trajectory has 4187 frames, which will take quite some time to run the analysis on with the conventional serial (single-core) approach.\n", "\n", "Note: downloading these datasets from MDAnalysisData may take some time." ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "ExecuteTime": { "end_time": "2021-05-19T07:55:53.340500Z", "start_time": "2021-05-19T07:55:53.074122Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "4187\n" ] } ], "source": [ "adk = fetch_adk_equilibrium()\n", "u = mda.Universe(adk.topology, adk.trajectory)\n", "protein = u.select_atoms('protein')\n", "print(len(u.trajectory))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Radius of gyration\n", "For a detail description of this analysis, read [Writing your own trajectory](https://mdanalysis.org/UserGuide/examples/analysis/custom_trajectory_analysis.html).\n", "\n", "Here is a common form of single-frame method that we can normally see inside `AnalysisBase`. It may contain both some dynamic parts that changes along time either implicitly or explicitly (e.g. `AtomGroup`) and some static parts (e.g. a reference frame)." ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "ExecuteTime": { "end_time": "2021-05-19T07:55:53.351000Z", "start_time": "2021-05-19T07:55:53.345828Z" } }, "outputs": [], "source": [ "def radgyr(atomgroup, masses, total_mass=None):\n", " # coordinates change for each frame\n", " coordinates = atomgroup.positions\n", " center_of_mass = atomgroup.center_of_mass()\n", " \n", " # get squared distance from center\n", " ri_sq = (coordinates-center_of_mass)**2\n", " # sum the unweighted positions\n", " sq = np.sum(ri_sq, axis=1)\n", " sq_x = np.sum(ri_sq[:,[1,2]], axis=1) # sum over y and z\n", " sq_y = np.sum(ri_sq[:,[0,2]], axis=1) # sum over x and z\n", " sq_z = np.sum(ri_sq[:,[0,1]], axis=1) # sum over x and y\n", " \n", " # make into array\n", " sq_rs = np.array([sq, sq_x, sq_y, sq_z])\n", " \n", " # weight positions\n", " rog_sq = np.sum(masses*sq_rs, axis=1)/total_mass\n", " # square root and return\n", " return np.sqrt(rog_sq)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Serial Analysis\n", "\n", "Below is the serial version of the analysis that we normally use." ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "ExecuteTime": { "end_time": "2021-05-19T07:55:55.642314Z", "start_time": "2021-05-19T07:55:53.353316Z" } }, "outputs": [], "source": [ "result = []\n", "for frame in u.trajectory:\n", " result.append(radgyr(atomgroup=protein,\n", " masses=protein.masses,\n", " total_mass=np.sum(protein.masses)))" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "ExecuteTime": { "end_time": "2021-05-19T07:55:56.510574Z", "start_time": "2021-05-19T07:55:55.643897Z" }, "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "result = np.asarray(result)\n", "\n", "labels = ['all', 'x-axis', 'y-axis', 'z-axis']\n", "serial = pd.DataFrame(result, columns=labels)\n", "serial[\"Frame\"] = serial.index\n", "serial = serial.melt(id_vars=\"Frame\", var_name=\"Axis\",\n", " value_name=\"Radius of gyration (Å)\")\n", "sns.lineplot(data=serial, x=\"Frame\", y=\"Radius of gyration (Å)\",\n", " hue=\"Axis\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Parallelization in a simple per-frame fashion" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Frame-wise form of the function\n", "\n", "The coordinates of the ``atomgroup`` analysed change with each frame of the trajectory. We need to explicitly point the analysis function to the frame that needs to be analysed with a ``frame_index``: `atomgroup.universe.trajectory[frame_index]` in order to update the positions (and any other dynamic per-frame information) appropriately. Therefore, the first step to making the ``radgyr`` function parallelisable is to add a ``frame_index`` argument." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "ExecuteTime": { "end_time": "2021-05-19T07:55:56.517923Z", "start_time": "2021-05-19T07:55:56.512423Z" } }, "outputs": [], "source": [ "def radgyr_per_frame(frame_index, atomgroup, masses, total_mass=None):\n", " \n", " # index the trajectory to set it to the frame_index frame\n", " atomgroup.universe.trajectory[frame_index]\n", " \n", " # coordinates change for each frame\n", " coordinates = atomgroup.positions\n", " center_of_mass = atomgroup.center_of_mass()\n", " \n", " # get squared distance from center\n", " ri_sq = (coordinates-center_of_mass)**2\n", " # sum the unweighted positions\n", " sq = np.sum(ri_sq, axis=1)\n", " sq_x = np.sum(ri_sq[:,[1,2]], axis=1) # sum over y and z\n", " sq_y = np.sum(ri_sq[:,[0,2]], axis=1) # sum over x and z\n", " sq_z = np.sum(ri_sq[:,[0,1]], axis=1) # sum over x and y\n", " \n", " # make into array\n", " sq_rs = np.array([sq, sq_x, sq_y, sq_z])\n", " \n", " # weight positions\n", " rog_sq = np.sum(masses*sq_rs, axis=1)/total_mass\n", " # square root and return\n", " return np.sqrt(rog_sq)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Parallelization with dask\n", "\n", "[Dask](https://docs.dask.org/en/latest/) is a flexible library for parallel computing in Python. It provides advanced parallelism for analytics and has been integrated or utilized in many scientific softwares. It can be scaled from one single computer to a cluster of computers inside a HPC center.\n", "\n", "Dask has a dynamic task scheduling system with synchronous (single-threaded), threaded, multiprocessing and distributed schedulers. The wrapping function in dask, `dask.delayed`, mimics for loops and wraps Python code into a Dask graph. This code can then be easily run in parallel, and visualized with `dask.visualize()` to examine if the task is well distributed. The code inside `dask.delayed` is not run immediately on execution, but pushed into a job queue waiting for submission. You can read more on [dask website](https://docs.dask.org/en/latest/delayed.html).\n", "\n", "\n", "Comaring to `multiprocssing`, the downside of `multiprocessing` is that it is mostly focused on single-machine multicore parallelism (without extra manager). It is hard to operate on multimachine conditions. Below are two simple examples to use Dask to achieve the same task as `multiprocessing` does.\n", "\n", "The API of `dask` is similar to `multiprocessing`. It also creates a pool of workers for your single machine with the given resources.\n", "\n", "Note: The threaded scheduler in Dask (similar to `threading` in Python) should not be used as it will mess up with the state (timestep) of the trajectory." ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "ExecuteTime": { "end_time": "2021-05-19T07:55:56.710794Z", "start_time": "2021-05-19T07:55:56.522314Z" } }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import dask\n", "import dask.multiprocessing\n", "dask.config.set(scheduler='processes')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Below is how you can utilize `dask.distributed` module to build a local cluster.\n", "\n", "Note: this is not really needed for your laptop/desktop. Using dask.distributed may even slow down the performance, but it provides a diagnostic dashboard that can provide valuable insight on performance and progress.\n", "\n", "See limitations here: https://distributed.dask.org/en/latest/limitations.html" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "ExecuteTime": { "end_time": "2021-05-19T07:55:58.104948Z", "start_time": "2021-05-19T07:55:56.713531Z" } }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\n", "\n", "
\n", "

Client

\n", "\n", "
\n", "

Cluster

\n", "
    \n", "
  • Workers: 4
  • \n", "
  • Cores: 8
  • \n", "
  • Memory: 16.00 GiB
  • \n", "
\n", "
" ], "text/plain": [ "" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from dask.distributed import Client\n", "\n", "client = Client()\n", "client" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "First we have to create a list of jobs and transform them with `dask.delayed()` so they can be processed by Dask." ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "ExecuteTime": { "end_time": "2021-05-19T07:56:00.898684Z", "start_time": "2021-05-19T07:55:58.107694Z" } }, "outputs": [], "source": [ "job_list = []\n", "for frame_index in range(u.trajectory.n_frames):\n", " job_list.append(dask.delayed(radgyr_per_frame(frame_index,\n", " atomgroup=protein,\n", " masses=protein.masses,\n", " total_mass=np.sum(protein.masses))))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Then we simply use `dask.compute()` to get a list of ordered results." ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "ExecuteTime": { "end_time": "2021-05-19T07:56:03.051189Z", "start_time": "2021-05-19T07:56:00.901242Z" } }, "outputs": [], "source": [ "result = dask.compute(job_list)" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "ExecuteTime": { "end_time": "2021-05-19T07:56:04.000766Z", "start_time": "2021-05-19T07:56:03.055891Z" } }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "daskproc = pd.DataFrame(result[0], columns=labels)\n", "daskproc[\"Frame\"] = daskproc.index\n", "daskproc = daskproc.melt(id_vars=\"Frame\", var_name=\"Axis\",\n", " value_name=\"Radius of gyration (Å)\")\n", "sns.lineplot(data=daskproc, x=\"Frame\", y=\"Radius of gyration (Å)\",\n", " hue=\"Axis\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can also use the old `radgyr` function because `dask` is more flexible on the input arguments.\n", "\n", "Note: the associated timestamp of `protein` will change during the trajectory iteration, so the processes are always aware which timestep the trajectory is in and change the `protein` (e.g. its coordinates) accordingly." ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "ExecuteTime": { "end_time": "2021-05-19T07:56:06.700406Z", "start_time": "2021-05-19T07:56:04.002913Z" } }, "outputs": [], "source": [ "job_list = []\n", "for frame in u.trajectory:\n", " job_list.append(dask.delayed(radgyr(atomgroup=protein,\n", " masses=protein.masses,\n", " total_mass=np.sum(protein.masses))))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Then we again use `dask.compute()` to get a list of ordered results." ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "ExecuteTime": { "end_time": "2021-05-19T07:56:09.533983Z", "start_time": "2021-05-19T07:56:06.703391Z" } }, "outputs": [], "source": [ "result = dask.compute(job_list)" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "ExecuteTime": { "end_time": "2021-05-19T07:56:10.592973Z", "start_time": "2021-05-19T07:56:09.536502Z" } }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "daskproc2 = pd.DataFrame(result[0], columns=labels)\n", "daskproc2[\"Frame\"] = daskproc2.index\n", "daskproc2 = daskproc2.melt(id_vars=\"Frame\", var_name=\"Axis\",\n", " value_name=\"Radius of gyration (Å)\")\n", "sns.lineplot(data=daskproc2, x=\"Frame\", y=\"Radius of gyration (Å)\",\n", " hue=\"Axis\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can also use Dask dashboard (with dask.distributed.Client) to examine how jobs are distributed along all the workers. Each green bar below represents one job, i.e. running `radgyr` on one frame of the trajectory" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "
\n", " \n", "![Dask task stream](../images/parallel_analysis/per_frame_dask.png)\n", "\n", "
\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## See Also\n", "\n", "The parallel version of MDAnalysis is still under development. For existing solutions and some implementations of parallel analysis, go to [PMDA](https://www.mdanalysis.org/pmda/). PMDA (Shujie *et al.*, 2019) applies the aforementioned split-apply-combine scheme with Dask. In the future, it may provide a framework that consolidates all the parallelisation schemes described in this tutorial." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## References\n", "\n", "[1] Oliver Beckstein, Elizabeth J. Denning, Juan R. Perilla, and Thomas B. Woolf.\n", "Zipping and Unzipping of Adenylate Kinase: Atomistic Insights into the Ensemble of OpenClosed Transitions.\n", "Journal of Molecular Biology, 394(1):160–176, November 2009.\n", "00107.\n", "URL: https://linkinghub.elsevier.com/retrieve/pii/S0022283609011164, doi:10.1016/j.jmb.2009.09.009.\n", "\n", "[2] Richard J. Gowers, Max Linke, Jonathan Barnoud, Tyler J. E. Reddy, Manuel N. Melo, Sean L. Seyler, Jan Domański, David L. Dotson, Sébastien Buchoux, Ian M. Kenney, and Oliver Beckstein.\n", "MDAnalysis: A Python Package for the Rapid Analysis of Molecular Dynamics Simulations.\n", "Proceedings of the 15th Python in Science Conference, pages 98–105, 2016.\n", "00152.\n", "URL: https://conference.scipy.org/proceedings/scipy2016/oliver_beckstein.html, doi:10.25080/Majora-629e541a-00e.\n", "\n", "[3] Naveen Michaud-Agrawal, Elizabeth J. Denning, Thomas B. Woolf, and Oliver Beckstein.\n", "MDAnalysis: A toolkit for the analysis of molecular dynamics simulations.\n", "Journal of Computational Chemistry, 32(10):2319–2327, July 2011.\n", "00778.\n", "URL: http://doi.wiley.com/10.1002/jcc.21787, doi:10.1002/jcc.21787.\n", "\n", "[4] Max Linke Shujie Fan, Ioannis Paraskevakos, Richard J. Gowers, Michael Gecht, and Oliver Beckstein.\n", "PMDA - Parallel Molecular Dynamics Analysis.\n", "In Chris Calloway, David Lippa, Dillon Niederhut, and David Shupe, editors, Proceedings of the 18th Python in Science Conference, 134 – 142. 2019.\n", "doi:10.25080/Majora-7ddc1dd1-013." ] } ], "metadata": { "kernelspec": { "display_name": "Python (mda-user-guide)", "language": "python", "name": "mda-user-guide" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.10" }, "toc": { "base_numbering": 1, "nav_menu": {}, "number_sections": false, "sideBar": true, "skip_h1_title": false, "title_cell": "Table of Contents", "title_sidebar": "Contents", "toc_cell": false, "toc_position": {}, "toc_section_display": true, "toc_window_display": true } }, "nbformat": 4, "nbformat_minor": 4 }