From 89d27cb436274efea0f425cc22384306339a384c Mon Sep 17 00:00:00 2001 From: Emile Date: Sat, 23 Feb 2019 20:36:18 +0100 Subject: :art: updated the design once again --- src/index.html | 401 ++++++++++++++++++++++++++++++++------------------------- 1 file changed, 223 insertions(+), 178 deletions(-) (limited to 'src/index.html') diff --git a/src/index.html b/src/index.html index 730920c..5d6a1d0 100644 --- a/src/index.html +++ b/src/index.html @@ -1,208 +1,253 @@ - + - - - - + + + + - Galaxy Simulator + Galaxy Simulator - - + - - + + - + + + - + - - - - -
- -
-
- -
- -
-

Generation and Simulation

-

Generating star clusters and simulating the forces acting in them seemed like a good way to learn a lot of new programming concepts. You can find many of the results on this page and read the blogpost I update regularly by clicking on the button below.

- Read the Blogpost! -
- -
- -
- -
- -
-
-
What is this all?
-

How did this all begin? How are the star clusters simulated? How is the simulation so fast? Where can I learn more about this? Who are Julio Navarro, Carlos Frenk, Simon White, Josh Barnes and Piet Hut?

-
- -
- -
-
-

A galaxy is a gravitationally bound system of stars, stellar remnants, interstellar gas, dust, and dark matter.

-
- - Wikipedia - -
-
-
- -
-
-
Writeup
-

I wrote a writeup for people who want to implement this or just want to dive deeper into the rabbit hole. It contains the process of generating the star clusters and how the simulation efficiency can be increased alot.

-
- -
- -
-
-
Code
-

The complete project is currently split up into multiple docker containers representing a micro-service each. It is currently stored in git and is always happy if new post-request are made!

-
- -
- -
-
-
Generating
-

The Generator container generates stars using NFW containers. This makes it incredibly fast, because it is not bound to a machine, but can operate on a giant cluster.

-
- +
+
+
+
+ +
+ +
+ +
+
+ +
+
+ + -
-
-
Database
-

The current "Database" is a go array containing the galaxy stored in the form of a tree. This is not optimal, but it works and I'm working on a more scalable solution.

-
- -
-
-
-
Manager
-

The manager manages distributing stars to the simulator containers, it also collects the metrics from the Simulator containers and functions as a target for prometheus.

-
- +
+
+ +
+ +
+

Generation and Simulation

+

Generating star clusters and simulating the forces acting in them seemed like a good way to learn a lot of new programming concepts. You can find many of the results on this page and read the blogpost I update regularly by clicking on the button below.

+ Read the Blogpost! +
+
-
-
-
Simulator
-

The simulator container get's stars from the manager and calculates the forces acting on it. It then inserts the new star into the database.

-
- + +
+
+
+
+ Documentation +

+ Writeup +

+
Feb 3 2019
+

The complete project is documented so that everybody can access + and use it a a reference for other projects.

+ Read the writeup +
+ +
+
+
+
+
+ Tech +

+ Code +

+
Feb 3 2019
+

The simulator is completely writting in + go and can be found in the git. +

+ Read the code +
+ +
+
-
-
-
Traefik
-

Traefik ist used as a reverse proxy for some services such as the generator container. It also allows a lot of other services to work.

-
- + +
+
+
+
+ Tech +

+ Generator +

+
Feb 3 2019
+

+ The generator generates stars using the NFW profile. +

+ Read the code +
+ +
+
+
+
+
+ Storage +

+ Database +

+
Feb 3 2019
+

A PostgreSQL + database is used to store the stars. +

+ Read the code +
+ +
+
-
-
-
Monitoring
-

Monitoring is done by combining the power of Prometheus and Grafana using the other containers as targets to pull metrics from.

-
- + +
+
+
+
+ Tech +

+ Manager +

+
Feb 3 2019
+

+ The manager container distributes the stars that need to be processed by providing them + to the simulation services. +

+ Read the code +
+ +
+
+
+
+
+ Tech +

+ Simulator +

+
Feb 3 2019
+

+ The simulator continer gets stars from the manager, calculates their new position + and inserts them into the next timestep. +

+ Read the code +
+ +
+
-
-
-
Viewer
-

Viewing the galaxies that were generated in the form of scalable vector graphics

-
- + +
+
+
+
+ Load balancing +

+ Traefik +

+
Feb 3 2019
+

+ Routing traffic is done using Traefik, + "A reverse proxy / load balancer that's easy, dynamic, automatic, fast [...]" +

+ Read the code +
+ +
+
+
+
+
+ Monitoring +

+ Grafana + Prometheus +

+
Feb 3 2019
+

+ The metrics are pushed to prometheus and displayed in a nice dashboard using grafana. +

+ Read the code +
+ +
+
-
-
-
Social Media
-

- -

-
+ +
+
+
+
+ Visualizing +

+ Manager +

+
Feb 3 2019
+

+ The manager container distributes the stars that need to be processed by providing them + to the simulation services. +

+ Read the code +
+ +
+
- -
-
- - - + - + -- cgit 1.4.1