From 0791f507fcb89d8fe86c3d4d847a46fbaa11f7df Mon Sep 17 00:00:00 2001 From: Martin Polanka Date: Tue, 27 Dec 2016 21:08:48 +0100 Subject: [PATCH] Restruct --- Rewritten-docs.md | 32 +++++++++++++++++++++++++++----- 1 file changed, 27 insertions(+), 5 deletions(-) diff --git a/Rewritten-docs.md b/Rewritten-docs.md index f9ecc13..9c1c4e1 100644 --- a/Rewritten-docs.md +++ b/Rewritten-docs.md @@ -336,12 +336,9 @@ like "memory limit exceeded") and amount of awarded points. ### Solution concepts analysis -@todo: what problems were solved on abstract and highl levels, how they can be solved and what was the final solution +@todo: what problems were solved on abstract and high levels, how they can be solved and what was the final solution - -### Implementation analysis - -@todo: backend: what should be the structure, how many components and which one, mention scalability possibilities of current solution +#### Evaluation unit executed on backend @todo: describe possibilities of "piece of work" which can backend execute, how they can look like, describe our job and its tasks @@ -351,8 +348,19 @@ like "memory limit exceeded") and amount of awarded points. @todo: how to solve problem with specific worker environment, mention internal job variables + +### Implementation analysis + +Developing project like ReCodEx have to have some discussion over implementation details and how to solve some particular problems properly. This discussion is never ending story which is done through whole development process. Some of the most important implementation problems or interesting observations will be discussed in this chapter. + +#### General backend implementation + +@todo: backend: what should be the structure, how many components and which one, mention scalability possibilities of current solution + @todo: what type of communication within backend could be used, mention some frameworks, queue managers, protocols, which was considered +#### Fileserver + @todo: fileserver and why is separated @todo: mention hashing on fileserver and why this approach was chosen @@ -361,12 +369,16 @@ like "memory limit exceeded") and amount of awarded points. @todo: how can jobs be stored on fileserver, mainly mention that it is nonsence to store inputs and outputs within job archive +#### Broker + @todo: assigning of jobs to workers, which are possible algorithms, queues, which one was chosen @todo: how can jobs be sent over zeromq, mainly mention that files can be transported, but it is not feasible @todo: making action and reaction over zeromq more general and easily extensible, mention reactor and why is needed and what it solves +#### Worker + @todo: worker and its internal structure, why there are two threads and what they can do, mention also multiplatform approach during development @todo: execution of job on worker, how it is done, what steps are necessary and general for all jobs @@ -379,16 +391,22 @@ like "memory limit exceeded") and amount of awarded points. @todo: sandboxing, what possibilites are out there (linux, Windows), what are general and really needed features, mention isolate, what are isolate features +#### Monitor + @todo: how can progress status can be sent, why is there separate component of system (monitor) and why is this feature only optional @todo: monitor and what is done there, mention caching and why it is needed +#### General frontend implementation + @todo: communication between backend and frontend @todo: why is frontend divided into server and client part, mention possibilities of separated api @todo: what apis can be used on server frontend side, why rest in particular +#### API + @todo: php frameworks, why nette @todo: what database can be used, how it is mapped and used within code @@ -409,8 +427,12 @@ like "memory limit exceeded") and amount of awarded points. @todo: on demand loading of students submission, in-time loading of every other submission, why +#### Web-app + @todo: what technologies can be used on client frontend side, why react was used +@todo: please think about more stuff about api and web-app... thanks ;-) + Structure of the project ------------------------