Add research questions

This commit is contained in:
Paul Brinkmeier 2023-07-12 15:03:24 +02:00
parent 52c9075a5b
commit 731563866a
2 changed files with 40 additions and 1 deletions

Binary file not shown.

View File

@ -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]