Add research questions
This commit is contained in:
parent
52c9075a5b
commit
731563866a
Binary file not shown.
@ -67,7 +67,8 @@ Repeated \acrshortpl{mcs} minimize $H$.
|
||||
From an implementor's perspective, the \acrshort{cpm} has a great advantage over other approaches:
|
||||
Since updates happen on a square lattice and changes in energy can be calculated locally, it lends itself well to distributed programming.
|
||||
\acrfull{cis}~\cite{berghoff2020} is a parallel implementation of the \acrshort{cpm} based on the \acrfull{nastja} framework~\cite{berghoff2018}.
|
||||
\acrshort{nastja} offers an abstraction layer for implementing stencil codes using \acrfull{mpi}, making it possible to leverage large-scale parallelism for \acrshort{cis}.
|
||||
\acrshort{nastja} offers an abstraction layer for implementing stencil codes using \acrfull{mpi}, making it possible to leverage large-scale parallelism.
|
||||
A stencil defines an update function for each lattice site which only takes the site's neighbors as inputs.
|
||||
\acrshort{nastja} divides the simulation domain into blocks.
|
||||
After the stencil is computed for each block, the \emph{halo}, i.e.\ the boundary region between blocks is exchanged such that each block has the data necessary to compute the stencil again.
|
||||
|
||||
@ -178,6 +179,13 @@ In the context of \acrshort{nastja}, this means an increased number of halo exch
|
||||
In order to reduce the number of halo exchanges, one could increase the width of the halo which allows the \acrshort{ecm} simulation to run for multiple time steps between halo exchanges.
|
||||
As this approach necessarily leads to diminishing returns as the halo data gets bigger, an efficient configuration needs to be investigated.
|
||||
|
||||
\paragraph{Integration with \acrshort{nastja}}
|
||||
|
||||
Since \acrshort{cis} is implemented in \acrshort{nastja}, my implementation of the \acrshort{ecm} model will be implemented in \acrshort{nastja} as well.
|
||||
This implies the requirement that the model time steps can be represented as a stencil, i.e.\ that the update function for each lattice only depends on its neighbors.
|
||||
In short, my model will have to exhibit the characteristics necessary to model the \acrshort{ecm} collagen networks while
|
||||
Both the discrete particle method and \acrshort{lbm} listed above fulfill this requirement.
|
||||
|
||||
\paragraph{Implementation Performance}
|
||||
|
||||
As \acrshort{cis} is designed to large and therefore compute-heavy simulations, it is worthwhile to measure the and optimize the computational resources needed by my implementation.
|
||||
@ -185,6 +193,37 @@ Since the discrete particle method is a dense approach, it should be possible to
|
||||
In particular, it might prove useful to run the \acrshort{cpm} on \acrshortpl{cpu} and the \acrshort{ecm} model of \acrshortpl{gpu}.
|
||||
I will experiment with these techniques and evaluate the possible improvements.
|
||||
|
||||
\paragraph{Test Setup for Benchmarking}
|
||||
|
||||
In order to benchmark my implementation I will need to develop a common test setup as a base for comparisons.
|
||||
At first, I will investigate the efficiency of the \acrshort{ecm} model implementation without the \acrshort{cpm} coupling.
|
||||
Then, I will develop a test setup involving a \acrshort{cpm} coupled with my own model, as this introduces additional factors influencing the results.
|
||||
|
||||
\subsection{Research Questions}
|
||||
|
||||
My work can be structured into three parts:
|
||||
|
||||
\paragraph{How can \acrshort{ecm} viscoelasticity be modeled in \acrshort{cis}?}
|
||||
|
||||
\acrshort{ecm} viscoelasticity plays an important role in cell behavior and collective cell behavior.
|
||||
I will develop a theoretical model based on a square lattice such that it can be coupled with the \acrshort{cpm}.
|
||||
Requirements for this model are the ability to simulate viscoelastic behavior and that it can be represented as a stencil.
|
||||
|
||||
\paragraph{How is the model implemented in \acrshort{nastja}?}
|
||||
|
||||
Given the stencil representation of my model, I will develop a distributed implementation using the \acrshort{nastja} framework.
|
||||
For this implementation I will employ techniques such as vectorization and \acrshort{gpu} programming to achieve greater performance.
|
||||
I will report implementation efforts and difficulties.
|
||||
This process ties back in with the development of the \acrshort{ecm} model as implementing it might reveal inconsistencies.
|
||||
|
||||
\paragraph{How do implementation techniques benchmark against each other?}
|
||||
|
||||
I will compare different implementations of my model with each other by benchmarking them on a common test setup.
|
||||
By varying parameters, e.g.\ block size and number of ranks, I can find which configuration works best for which implementation.
|
||||
I will observe network and rank scaling behavior to further improve my implementation.
|
||||
|
||||
\section{Timeline}
|
||||
|
||||
\newpage
|
||||
|
||||
\begin{refcontext}[sorting=nyt]
|
||||
|
Loading…
x
Reference in New Issue
Block a user